把資料庫控制檔案備份到跟蹤檔案
==============================================
試驗一:把資料庫控制檔案備份到跟蹤檔案
==============================================
如果控制檔案被意外的刪除可以通過跟蹤檔案來建立,避免麻煩複雜的手工建立
試驗一:把資料庫控制檔案備份到跟蹤檔案
==============================================
如果控制檔案被意外的刪除可以通過跟蹤檔案來建立,避免麻煩複雜的手工建立
(1) 備份跟蹤檔案
SQL> alter database backup controlfile to trace;
SQL> alter database backup controlfile to trace;
資料庫已更改。
(2) 檢視跟蹤檔案的位置
SQL> show parameter user_dump_dest;
(2) 檢視跟蹤檔案的位置
SQL> show parameter user_dump_dest;
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
user_dump_dest string D:\ORACLE\PRODUCT\10.2.0\ADMIN
\TEST\UDUMP
------------------------------------ ----------- ------------------------------
user_dump_dest string D:\ORACLE\PRODUCT\10.2.0\ADMIN
\TEST\UDUMP
(3) 確定跟蹤檔案的名稱
SQL> select a.spid from v$process a,v$session b
2 where a.addr=b.paddr and b.username='SYS';
2 where a.addr=b.paddr and b.username='SYS';
SPID
------------
3008
------------
3008
跟蹤檔案的名稱如下:test_ora_212.trc,test是例項名,212是伺服器程式對應的作業系統程式號。
上面的命令查詢到作業系統程式號。根據這個號去找相應的跟蹤檔案。這個跟蹤檔案原來是不存在的,只要執行了上面的備份
備份命令後才生成的。
上面的命令查詢到作業系統程式號。根據這個號去找相應的跟蹤檔案。這個跟蹤檔案原來是不存在的,只要執行了上面的備份
備份命令後才生成的。
(4) 檢視跟蹤檔案中與建立控制檔案相關的資訊,把這些資訊作為命令指令碼儲存。
(5) 然後down掉資料庫,刪除控制檔案。因為在資料庫開的時候是不能刪除控制檔案的。
(6) 把上面儲存的指令碼在nomount狀態下執行,系統就會根據控制檔案引數control_files的值來建立控制檔案。
注意: 跟蹤檔案裡提供了兩種建立控制檔案的指令碼,一種是 RESETLOGS;另一種是NORESETLOGS。
如果用第一種,那麼在開啟資料庫的時候要加引數 RESETLOGS。
ALTER DATABASE OPEN RESETLOGS;
如果用第二種不需要加引數 RESETLOGS。
(7) 跟蹤檔案建立好後shutdown。 然後根據建立控制檔案指令碼的型別來開啟資料庫。
如果用第一種,那麼在開啟資料庫的時候要加引數 RESETLOGS。
ALTER DATABASE OPEN RESETLOGS;
如果用第二種不需要加引數 RESETLOGS。
(7) 跟蹤檔案建立好後shutdown。 然後根據建立控制檔案指令碼的型別來開啟資料庫。
注意:只要有一個控制檔案的備份就可以恢復由於控制檔案損壞導致的資料庫失敗。由於控制檔案不能用記事本開啟直接編輯,
所以只要把控制檔案備份複製到資料庫控制檔案的相應多個位置上。然後執行命令:
alter database backup controlfile to trace noresetlogs;
這樣就會生成一個新的跟蹤檔案,這個檔案的日期最大,然後編輯這個文字跟蹤檔案,去掉註釋資訊,得到建立控制檔案的指令碼。
示例如下:
STARTUP NOMOUNT
CREATE CONTROLFILE REUSE DATABASE "TEST" NORESETLOGS ARCHIVELOG
MAXLOGFILES 16
MAXLOGMEMBERS 3
MAXDATAFILES 100
MAXINSTANCES 8
MAXLOGHISTORY 292
LOGFILE
GROUP 1 'F:\TEST\TEST\REDOLOGFILE\REDO01.LOG' SIZE 50M,
GROUP 2 'F:\TEST\TEST\REDOLOGFILE\REDO02.LOG' SIZE 50M,
GROUP 3 'F:\TEST\TEST\REDOLOGFILE\REDO03.LOG' SIZE 50M
DATAFILE
'F:\TEST\TEST\DATAFILESYSTEM01.DBF',
'F:\TEST\TEST\DATAFILEUNDOTBS01.DBF',
'F:\TEST\TEST\DATAFILESYSAUX01.DBF',
'F:\TEST\TEST\DATAFILEUSERS01.DBF',
'F:\SY\DF_SY.DBF'
CHARACTER SET ZHS16GBK
;
RECOVER DATABASE
ALTER SYSTEM ARCHIVE LOG ALL;
ALTER DATABASE OPEN;
ALTER SYSTEM ARCHIVE LOG ALL;
ALTER DATABASE OPEN;
所以備份控制檔案是很重要的事情,尤其是在資料庫的配置發生了變化時一定要備份控制檔案。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/23062014/viewspace-722723/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- Backup And Recovery User's Guide-備份控制檔案到跟蹤檔案GUIIDE
- 資料庫引數檔案控制檔案日誌檔案資料檔案跟蹤檔案等8大檔案的字典資料庫
- 控制檔案的跟蹤檔案全文
- RMAN備份資料檔案+控制檔案+歸檔日誌
- 檔案-跟蹤檔案
- 【備份恢復】利用 備份控制檔案到指定目錄下的控制檔案 恢復控制檔案
- 使用備份的控制檔案恢復資料庫資料庫
- rman備份-(1) 利用備份級恢復資料檔案和控制檔案
- RMAN說,我能備份(4)--RMAN備份資料檔案和控制檔案
- 備份控制檔案
- rman恢復資料庫--用備份的控制檔案資料庫
- 無處不在的Oracle資料庫控制檔案備份Oracle資料庫
- 請教關於利用跟蹤檔案重建控制檔案
- 備份之控制檔案備份
- Oracle跟蹤檔案trace檔案Oracle
- 不完全恢復(資料檔案備份--新建表空間--控制檔案備份--日誌歸檔檔案)
- 還原sqlserver資料庫備份檔案.bak的檔案SQLServer資料庫
- Oracle跟蹤檔案Oracle
- 【LOG】Oracle資料庫清理日誌、跟蹤檔案利器Oracle資料庫
- oracle uncatalog資料庫備份檔案Oracle資料庫
- 無備份丟失部分資料檔案和控制檔案恢復 [轉]
- 歸檔模式有備份丟失控制檔案和資料檔案後恢復模式
- Oracle資料庫控制檔案在備份恢復中的作用Oracle資料庫
- 控制檔案重建以及備份
- Backup And Recovery User's Guide-備份資料庫-使用RMAN備份控制檔案GUIIDE資料庫
- 使用舊的控制檔案備份來恢復控制檔案
- SQL SERVER備份資料庫檔案(使用SSMS)SQLServer資料庫SSM
- 解析listener跟蹤檔案
- git 忽略跟蹤檔案Git
- 尋找跟蹤檔案
- [zt] oracle跟蹤檔案與跟蹤事件Oracle事件
- oracle跟蹤檔案與跟蹤事件(zt)Oracle事件
- oracle跟蹤檔案和跟蹤事件(zt)Oracle事件
- oracle資料庫移動資料檔案、日誌檔案和控制檔案Oracle資料庫
- 【RMAN】Oracle中如何備份控制檔案?備份控制檔案的方式有哪幾種?Oracle
- Oracle 跟蹤檔案和檔案轉儲(dump)Oracle
- rename備庫資料檔案
- trace檔案備份控制檔案並執行恢復