**Oracle恢復管理之重要參數DBID**
DBID,是數據庫標識符。每個數據庫都擁有一個編號,稱爲數據庫標識符(DBID).該編號是在創建數據庫時自動生成的,且Oracle不保證兩個同名的數據庫的DBID必然唯一的。所以Oracle提供$oracle_home/bin/nid命令,該命令能夠在修改數據庫名的同時自動生成新的DBID。在創建數據庫之後,DBID一般都是不會變的,除非使用命令nid修改。
下面是查詢DBID的方法:
1.查詢v$DATABASE.DBID字段
在數據庫正常工作時,查詢v$database.DBID字段是獲取DBID的最簡單方法,此方法必須先將實例至少啓動至MOUNT狀態。
SQL> select dbid from v$database;
2.查看控制文件自動備份的文件名
通過控制文件自動備份的文件名獲取,前提條件是沒有利用快速恢復區放置自動備份
確認是否使用快速恢復區,查詢語句(即db_recovery_file_dest參數爲空):
SQL > show parameter db_recovery_file_dest
打開控制文件自動備份功能:
RMAN>configure controlfile autobackup on;
根據默認設置,控制文件自動備份的路徑爲¥oracle_home/dbs目錄。備份文件的格式爲c-<DBID>-<YYYYMMDD>-<CC>,最後的<CC>代表一天中第幾次(十六進制)備份。發起備份,然後觀察控制文件自動備份的文件名,留意"Starting Control File and SPFILE Autobackup at"
4.3.執行相應的轉儲命令,查看數據庫各種文件的頭部
利用"alter system dump logfile"命令轉儲某個歸檔日誌至當前會話的追蹤文件:
獲取當前的會話跟蹤文件的路徑:
SQL> select value from v$diag_info where name='Default Trace File';
SQL> alter system dump logfile '/home/oracle/1_218_748028104.dbf';
根據查找出來的追蹤文件,通過grep命令,過濾出'db id'
grep -i 'db id' /u01/app/oracle/diag/rdbms/br/br/trace/br_ora_5301.trc
4.啓用了恢復編錄,通過查詢恢復編錄中的名爲DB的表
使用編錄方法,暫時不介紹,以後單獨一篇文章來說。