把資料庫控制檔案備份到跟蹤檔案
==============================================
試驗一:把資料庫控制檔案備份到跟蹤檔案
==============================================
如果控制檔案被意外的刪除可以通過跟蹤檔案來建立,避免麻煩複雜的手工建立
試驗一:把資料庫控制檔案備份到跟蹤檔案
==============================================
如果控制檔案被意外的刪除可以通過跟蹤檔案來建立,避免麻煩複雜的手工建立
(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/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- oracle uncatalog資料庫備份檔案Oracle資料庫
- 【LOG】Oracle資料庫清理日誌、跟蹤檔案利器Oracle資料庫
- SQL SERVER備份資料庫檔案(使用SSMS)SQLServer資料庫SSM
- Dedecms備份的資料檔案位置及備份資料庫的方法資料庫
- 【RMAN】Oracle中如何備份控制檔案?備份控制檔案的方式有哪幾種?Oracle
- 遠端備份資料庫和檔案的方法資料庫
- Git跟蹤與提交檔案Git
- .gitignore忽略跟蹤指定檔案Git
- 雲備份和同步檔案資料
- oracle 控制檔案及引數檔案何時自動備份Oracle
- git刪除未跟蹤檔案Git
- git列出跟蹤的檔案列表Git
- git clean清除未跟蹤檔案Git
- 檔案資料同步備份工具:ChronoSync for MacMac
- rsync同步和備份檔案到本地
- sql檔案備份SQL
- 【備份】RMAN中對控制檔案的幾種備份方法
- 轉:使用 Tkprof 分析 ORACLE 跟蹤檔案Oracle
- git列出所有已經跟蹤檔案Git
- Laravel 資料庫及專案檔案自動備份指北 (spatie/Laravel-backup)Laravel資料庫
- Networker備份windows檔案Windows
- Linux基楚操作指引【檔案改名、檔案備份、檔案刪除】Linux
- Mysql中備份資料檔案中/*!*/的含義MySql
- 如何在 Git 中取消檔案的跟蹤Git
- 把“點檔案”放到版本控制中
- DG備庫手動管理 新增資料檔案
- 怎麼把本地資料庫檔案上傳到雲伺服器ecs資料庫伺服器
- Linux實現定時備份MySQL資料庫並刪除30天前的備份檔案LinuxMySql資料庫
- win10如何備份桌面檔案 win10怎樣備份桌面檔案Win10
- python 備份檔案,從 D盤 到Z盤。並且保留15天的檔案Python
- ManagerDB 備份檔案管理與異地備份
- 【/proc/檔案淺析】另類辦法恢復資料檔案和控制檔案
- Oracle DG備庫手動管理新增資料檔案Oracle
- 從備份片中恢復某個指定得歸檔或者資料檔案
- git 刪除已經新增到git跟蹤的檔案或資料夾Git
- 織夢資料庫配置檔案-DedeCMS織夢資料庫檔案在哪裡資料庫
- python保留7天備份檔案Python
- RMAN備份恢復典型案例——資料檔案存在壞快
- 透過修改控制檔案scn推進資料庫scn資料庫