Oracle 資料庫常見檔案及相關操作

winston_DBA發表於2015-04-14

引數檔案:
(一般位於$ORACLE_HOME/dbs下)
1.引數檔案(init.ora)和伺服器引數檔案(spfile.ora)之間的相互建立:
create pfile from spfile;
create spfile from pfile;
2.設定spfile中的值
alter system set parametre=value
其中,comment為引數註釋資訊,可在v$parameter中update_comment中查到;
deffered為指定引數修改是立即生效(預設)還是隻對引數改變以後的會話生效。(有些引數只能以deffered方式修改)
scope為引數設定的作用域:memory為對當前例項立刻生效,重啟後失效;spfile為當前例項不立刻生效,重啟例項後生效;both為當前例項立刻生效且重啟例項不失效。
sid的設定一般用於RAC環境,用於指定引數生效於哪個例項。預設為sid=*,即對所有的例項均生效。
3.取消spfile值的設定
alter system reset parameter sid='sid | *';
4.spfile的故障修復
若spfile丟失,可透過引數檔案init.ora或者init.ora來生成。
若spfile損壞,可透過init.ora或者透過linux strings 命令將損壞的spfile檔案讀出,進行重構。

跟蹤檔案:
1.跟蹤檔案主要分為兩種:使用者指定生成的跟蹤檔案和伺服器自動生成的跟蹤檔案。
其中使用者指定生成的跟蹤檔案方式有三種:
DBMS_MONITOR:EXECUTE DBMS_MONITOR.SESSION_TRACE_ENABLE;
SQL_TRACE:alter session set sql_trace=true;
擴充跟蹤檔案,如10046事件擴充跟蹤:alter session set events '10046 trace name context forever, level 12';
伺服器生成的跟蹤檔案主要是由於發生了內部錯誤,後臺程式錯誤等故障,資料庫伺服器會自動生成跟蹤檔案,以便oracle supports的工作人員進行故障解決。
2.檢視跟蹤檔案的位置
show parameter dump_dest;
select * from v$diag_info;
查詢當前例項追蹤檔案的路徑指令碼:
select c.value || '/' || d.instance_name || '_ora_' || a.spid || '.trc' || case when e.value is not null then '_' || e.value end trace
from v$process a, v$session b , v$parameter c, v$instance d, v$parameter e
where a.addr=b.paddr and b.audsid=userenv('sessionid') and c.name='user_dump_dest' and e.name='tracefile_identifier';
3.對追蹤檔案新增標記
有時資料夾中追蹤檔案較多,可以透過alter session set tracefile_identifier='my_special_trace_file';語句來將當前會話的跟蹤檔名加上自己的“標記”。例如,此時的追蹤檔名變為:ORA11GR2_ora_4375.trc_my_special_tracefile。

警告檔案:
1.警告檔案從資料庫的建立到資料庫的刪除,一致存在。相當於資料庫的“編年史”,是檢視資料庫歷史的極其有用的檔案。
2.可以透過外部表將檔案內容讀入資料庫中進行日誌挖掘。
3.也可以透過adrci工具進行檢視編輯。
4.OEM中也會顯示重要的告警資訊。

口令檔案:
1.口令檔案主要用於sysdba或sysoper角色使用者進行遠端資料庫的管理工作,例如資料庫的啟動和關閉等。
2.口令檔案預設只存放sys使用者,若將某使用者賦予SYSDBA角色,則該使用者及其密碼也將出現在口令檔案中,具有遠端管理資料庫許可權。
3.口令檔案為二進位制檔案,可透過linux strings命令檢視其中內容。
4.關於口令檔案的引數設定:remote_login_passwordfile,包括三個值:none說明沒有密碼檔案;shared說明系統允許多個資料庫可以使用相同的密碼檔案;exclusive說明系統只有一個資料庫使用一個指定的密碼檔案(通常採用第三中方法)。
5.口令檔案在DBCA建立資料庫時會自動生成,也可以用orapwd建立口令檔案:orapwd file=orapw$ORACLE_SID password=oracle entries=5

控制檔案:
1.控制檔案是一個二進位制檔案(最多能增長到64m左右),主要內容有:整個資料庫的物理結構、所有資料檔案、REDO LOG檔案、歸檔模式下的日誌歸檔情況和rman備份時的catalog資訊等的資訊。
詳細內容可透過v$controlfile_record_section檢視檢視。
2.控制檔案通常透過多路儲存,方便資料庫發生災難恢復。控制檔案的丟失或損壞不是致命的,只是會使得資料庫的恢復難度加大。

重做日誌檔案:
1.重做日誌檔案是資料庫的事務日誌,主要記錄了資料庫的所有變化。重做日誌檔案主要用於例項恢復、介質恢復、備用資料庫處理(如data guard等)。
2.重做日誌檔案分為線上重做日誌檔案和歸檔重做日誌檔案。
3.線上重做日誌檔案至少有兩個日誌組(logfile group),每個日誌組至少有一個日誌成員(logfile member)。日誌成員之間彼此形成映象。
4.線上重做日誌檔案的特點:順序寫入、寫滿切換、迴圈複寫。
5.線上日誌組進行日誌切換時,會觸發檢查點程式進行檢查點的維護工作。例如,日誌檔案組1切換到日誌檔案組2,則切換前會觸發CKPT督促DBWn將日誌檔案組1所保護的改變對應的髒塊寫入磁碟,在寫入完成前,資料庫中的處理會出現掛起,此時oracle會盡可能將所有的處理能力都給DBWn。
6.透過日誌組切換的繁忙程度,也可以判斷出系統的業務繁忙程度。若日誌切換中出現過多的等待,可以透過增大日誌組檔案大小和增加日誌組數量來緩解。
7.歸檔重做日誌主要用於故障的恢復過程。每次發生日誌切換時,ARCn就會將發生切換的線上redo日誌檔案進行歸檔。

臨時檔案:
1.oracle臨時檔案是一種特殊檔案,oracle並不會對臨時表生成redo日誌(除了針對臨時檔案undo日誌生成的redo日誌)。所以,DBA在平時的備份中也不需要備份臨時檔案,因為即使備份了臨時檔案,沒有相關日誌,無法進行恢復操作。
2.oracle使用臨時檔案主要用於儲存大規模排序操作和雜湊操作的中間結果,永久物件不會儲存在臨時檔案中。

塊改變跟蹤檔案:
1.oracle 10g企業版新增檔案,主要用來記錄自上一次增量備份發生以來發生改變的塊,這樣,在使用RMAN進行備份時,只需要讀取該檔案,備份發生改變的塊即可,不用進行全庫掃描。(但是由於該特性在資料塊發生改變時,需要多進行一步寫入塊改變跟蹤檔案的操作,會增大資料庫的負荷,降低效能,在企業中要謹慎使用)
2.啟用塊改變跟蹤功能:alter database enable block change tracking using file '/u01/app/oracle/oradata/DB1/block_tracking.log';




來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/30167136/viewspace-1574358/,如需轉載,請註明出處,否則將追究法律責任。

相關文章