Time of Update: 2018-12-03
24.查詢資料表空間使用方式select a.tablespace_name, round(a.abytes / 1024 / 1024) totalmb, round((a.abytes - f.fbytes) / 1024 / 1024) usedmb, round(f.fbytes / 1024 / 1024) freemb, (1 - round(f.fbytes / a.abytes, 2)) * 100 "%USED",
Time of Update: 2018-12-03
##################### CREATE/ALTER TABLE #######################alter table table_name drop column column_name ;---drop columnalter table table_name set unused (col1,col2,...);---- 設定列無效,這個比較快。alter table table_name drop unused columns;---
Time of Update: 2018-12-03
服務啟動的是後台進程,這類似 於Unix中的守護進程。當Oracle資料庫服務啟動時,系統中沒有典型的Oracle進程運行。相反,該服務進程等待來自SQL*Plus的最初連 接,這引起一個前台進程啟動並建立該系統全域地區SGA的後台進程。當Oracle資料庫關閉時,所有建立的進程被終止。但是該進程自身仍在繼續運行,等 待下一個串連請求和啟動命令。這就是當我們通過Windows中的Oracle Service啟動了資料庫實 例,但在SQL*Plus或Oracle企業管理器中關閉了資料庫執行個體後,
Time of Update: 2018-12-03
Oracle 使用時間長了, 新增了許多user 和tablespace. 需要清理一下對於單個user和tablespace 來說, 可以使用如下命令來完成。 步驟一: 刪除userdrop user ×× cascade說明: 刪除了user,只是刪除了該user下的schema objects,是不會刪除相應的tablespace的。步驟二: 刪除tablespaceDROP TABLESPACE tablespace_name INCLUDING CONTENTS AND
Time of Update: 2018-12-03
有些時候需要將Oracle的多個資料檔案以及記錄檔重定位或者遷移到新的分區或新的位置,比如磁碟空間不足,或因為特殊需求。對於這種情形可以採取批量遷移的方式將多個資料檔案或者記錄檔實現一次性遷移。當然備份恢複也是其中的方式之一。本文主要描述如何使用批量方式來遷移資料檔案,記錄檔。如需要也可以將整個資料庫遷移到新的位置以及重新命名資料庫。1、環境及需求 robin@SZDB:~> cat /etc/issue Welcome to SUSE Linux Enterprise
Time of Update: 2018-12-03
合理的為資料庫表上建立戰略性索引,可以極大程度的提高了查詢效能。但事實上日常中我們所建立的索引並非戰略性索引,恰恰是大量冗餘或是根本沒有用到的索引耗用了大量的儲存空間,導致DML效能低下。Oracle 提供了索引監控特性來初略判斷未使用到的索引。本文描述如何使用Oracle 索引的監控。 1、冗餘索引的弊端 大量冗餘和無用的索引導致整個資料庫效能低下,耗用了大量的CPU與I/O開銷,具體表現如下: a、耗用大量的儲存空間(索引段的維護與管理)
Time of Update: 2018-12-03
Oracle 11g RAC中,發現oc4j以及gsd服務都處於offline狀態,這是Oracle 11g RAC預設情形。即便如此,並不影響資料庫的使用,因為 oc4j 是用於WLM 的一個資源, WLM在 11.2.0.2 才可用。GSD則是用於支援dbca,srvctl,oem等的互動工具。本文描述將這兩個服務切換到online。1、環境 [root@linux2 ~]# cat /etc/issue Enterprise Linux Enterprise Linux
Time of Update: 2018-12-03
Oracle RAC 用戶端容錯移轉(failover),當採用TAF方式時,對於已經建立串連的用戶端,在串連的執行個體或節點出現故障時,用戶端無需再次發出串連請求,仍然可以繼續之前的資料庫操作,此稱之為透明容錯移轉。本文描述基於Oracle 10g rac,用戶端TAF方式的容錯移轉並給出樣本。 下面是一些關於這方面的基礎參考連結: 有關負監聽配置,載均衡(load balance)以及Oracle service請參考 ORACLE RAC 監聽配置
Time of Update: 2018-12-03
Oracle RAC 叢集最突出的表現就是高可用性,這些內容主要包括load balance以及failover,通過這些技術使得單點故障不影響用戶端端應用程式對資料庫的正常訪問,以及通過建立service實現節點間負載平衡。本文主要描述Oracle 10g rac環境下的Oracle failover測試。 下面是一些關於這方面的基礎參考或相關連結: 有關負監聽配置,載均衡(load balance)以及Oracle service請參考 ORACLE RAC 監聽配置
Time of Update: 2018-12-03
最近有同事在使用傳統的imp工具匯入資料時,總是提示收到skipping table的提示,也就是表被跳過,而不是被重建。即使是將目標資料庫上的表對象刪除,仍然無法匯入。因此記錄一下,供大家參考。 1、匯入時的skipping table提示oracle@SZDB:~> imp goex_admin/xxx file=sy-trans-20130509-2.DMP log=tmp.log full=y ignore=y show=yImport: Release 10.2.0.3.
Time of Update: 2018-12-03
在開發環境及UAT環境經常碰到需要清除歸檔日誌的情形,對於這個問題方法有很多。可以直接使用rm方式清除歸檔日誌,也可以使用find命令來尋找合格記錄來清除歸檔日誌,或者直接寫個shell指令碼來搞定。這樣在DEV或者UAT還可以,但是在Prod環境還是建議使用RMAN提供的命令來搞定比較妥當。因為rm,find方式刪除了實際的歸檔日誌也釋放了空間,但對應的儲存在控制檔案中的歸檔資訊並沒有徹底清除。依舊佔用著一些空間未能及時清除而需要控制檔案通過age
Time of Update: 2018-12-03
最近在匯出schema層級的資料時被hang住,不得不停止當前的匯出作業,如果你有類似的問題,請繼續往下看。 1、問題描述 匯出整個schema時資料庫被hang住,如下所示 符號">"是由SecureCRT設定的每300秒發送一次 oracle@Dev-DB-04:~> expdp goex_admin/xxx directory=db_dump_dir dumpfile=gobo2.dmp logfile=gobo2.log
Time of Update: 2018-12-03
在缺乏的視覺化檢視來監控資料庫效能的情形下,常用的指令碼就派上用場了,下面提供幾個關於Oracle效能相關的指令碼供大家參考。以下指令碼均在Oracle 10g測試通過,Oracle 11g可能要做相應調整。 1、尋找最多BUFFER_GETS開銷的SQL 陳述式--filename: top_sql_by_buffer_gets.sql--Identify heavy SQL (Get the SQL with heavy BUFFER_GETS)SET LINESIZE 190COL
Time of Update: 2018-12-03
通常情況下,在Oracle RAC
Time of Update: 2018-12-03
匯出(匯入)要使用到 %ORACLE_HOME%/db_1/BIN/exp.exe(imp.exe)可以配置環境變數path,然後直接使用exp命令-------------------------------------------------------------------------------------------· 匯出 : 匯出表,匯出方案,匯出資料庫exp命令匯出,常用選項有: userid: 用於指定執行匯出操作的使用者名稱,口令,連接字串tables:
Time of Update: 2018-12-03
不論是單一實例還是RAC,對於非預設連接埠下(1521)的監聽器,pmon進程不會將service/instance註冊到監聽器,即不會實現動態註冊。與單一實例相同,RAC非預設連接埠的監聽器也是通過設定參數local_listener來達到目的。除此之外,還可以對執行個體進行遠程註冊,以達到負載平衡的目的。這是通過一個參數remote_listener來實現。 有關Oracle 網路設定相關基礎以及概念性的問題請參考: 配置ORACLE 用戶端串連到資料庫
Time of Update: 2018-12-03
Oracle RAC 負載平衡使得從用戶端發起的串連能夠有效地分配到監聽器負載較小的執行個體上。有兩種方式實現用戶端負載平衡,一是通過配置用戶端的load_balance,一是通過設定管理員端的remote_listener參數。兩種方式各有優劣,而且兩者並不相互排斥,因此可以結合兩種方式來更加有效實現負載平衡。本文將描述兩者結合的使用方式(oralce 10g rac)。 有關用戶端與服務端負載平衡的單獨測試請參考: Oracle
Time of Update: 2018-12-03
一、MySQL與Oracle資料庫如何處理Clob,Blob資料類型(1)不通資料庫中對應clob,blob的類型如下: MySQL中:clob對應text,blob對應blob DB2/Oracle中:clob對應clob,blob對應blob(2)domain中對應的類型: clob對應String,blob對應byte[] clob對應java.sql.Clob,blob對應java.sql.Blob(3)hibernate設定檔中對應類型: clob-->clob
Time of Update: 2018-12-03
truncate,delete,drop的異同點 同:truncate和不帶where子句的delete, 以及drop都會刪除表內的資料 異: 1. truncate和 delete只刪除資料不刪除表的結構(定義) drop語句將刪除表的結構被依賴的約束(constrain),觸發器(trigger),索引(index); 依賴於該表的預存程序/函數將保留,但是變為invalid狀態. 2.delete語句是dml,這個操作會放到rollback
Time of Update: 2018-12-03
這個問題一般是因為資料檔案丟失或損壞導致,可以嘗試以下步驟:1、進入CMD,執行set ORACLE_SID=fbms,確保串連到正確的SID;2、運行sqlplus "/as sysdba" SQL>shutdown immediate 停止服務 SQL>startup 啟動服務,觀察啟動時有無資料檔案載入報錯,並記住出錯資料檔案標號 SQL>shutdown immediate