控制檔案備份關鍵是選擇備份時機

2022-09-17 19:12:12 字數 2262 閱讀 2390

其實在oracle資料庫中,對控制檔案進行備份是很簡單的一件事情,只需要通過一些簡短的命令即可以完成。根據筆者的經驗,在進行控制檔案備份作業時其關鍵的內容在於確定什麼時候需要進行備份,即在執行哪些操作後需要對控制檔案進行備份。而對於一些基本的備份操作,相對來說對於資料庫管理員不會有多的難度。為此筆者這裡就倒過來說,先簡單的談談如果對控制檔案進行備份。然後再給家詳細的分析一下,在什麼情況下應該對控制檔案進行備份。

一、控制檔案備份的方式。

在oracle資料庫中,對於控制檔案的備份主要有兩種方式,分別為二進位制檔案備份與文字檔案備份。這兩種備份方式不僅僅在於備份檔案格式的不同,而且其作用也有很的差異。如二進位制檔案備份下的控制檔案,資料庫系統可以直接拿來使用。即當資料庫控制檔案發生損壞時,只需要修改初始化引數指向這個備份的控制檔案即可。而文字檔案備份模式下,這個控制檔案是以文字檔案的模式儲存的,為此資料庫不能夠直接拿來使用。資料庫管理員之所以採用這個文字檔案備份模式,主要是為以後手工建立控制檔案提供乙個參考。對於這兩個備份方式的區別,資料庫管理員需要清楚,以方便根據自己的用途來選擇合適的備份方式。一般情況下,只需要進行二進位制檔案的備份方式即可。

如要對oracle資料庫的控制檔案執行備份的話,需要用到alter database backup controlfile to 'e:\controlfile.ctl.bk'命令。後面to指向的是備份檔案的儲存的路徑。在備份時,最好不要更改其副檔名。如上例所示,可以直接在原來控制檔案的名字後面加上乙個備份的字尾,以示區別。當以後需要用到這個控制檔案時,只需要講後面的字尾去掉即可。另外需要注意的是,如果在linux 作業系統上進行控制檔案的備份,需要注意他們之間路徑表達方式上的差異。如alter database backup controlfile to '/home/oracle/controlfile.ctl.bk'這條命令是在linux系統下對控制檔案進行備份的語句。不知道細心的讀者有沒有發現他們的不同?他們之間只有在路徑上的分隔符有所差異。在windows作業系統中,採用的是反斜桿\符號。而在linux系統中採用的則是/符號。在其他方面沒有絲毫差異。

如要對資料庫進行文字檔案備份(某些專家也將文字檔案備份叫做追蹤備份),也是一件比較簡單的事情。利用命令alter database backup controlfile to trace就表示啟動乙個追蹤備份。比較兩個備份語句的不同,發現在文字檔案中,缺少了乙個備份檔案的路徑名以及檔名。這主要是因為採用文字檔案備份時,這個備份檔案的路徑是有引數user_dump_des控制的。文字檔案備份完成後,資料庫管理員可以使用show parameter user_dump_des命令來查詢這個備份檔案儲存的位置。另外這個備份檔案的名字也是自動命名的。其基本的格式為sid_ora_pid.trc。其中這個sid表示建立這個跟蹤備份的使用者所採用的會話 id。pid則表示程序的id。一般情況下,這個目錄中有很多的文字備份檔案。資料庫管理員需要按建立的時間來排序,以確定自己建立的備份檔案。由於這個檔案是文字形式儲存的,而上面的二進位制檔案不同,可以直接利用記事本開啟檢視相關的內容。其實這個文字形式的備份檔案並不能夠代替二進位制形式的控制檔案。資料庫管理員主要是出於研究的目的才會用到這個文字形式的控制檔案。另外就是有時候需要手工建立控制檔案時,可以拿這個檔案進行參考。

總之,除非有特殊的目的,資料庫管理員還是直接以二進位制檔案形式進行備份為好。因為只有二進位制檔案在資料庫控制檔案損壞時可以直接拿來使用。而不用像檔案檔案那樣,需要藉此進行重建控制檔案的控制。

二、哪些因素會導致控制檔案的更改?

要選擇乙個備份控制檔案的時機,首先需要知道哪些因素會導致控制檔案的更改。然後再從中分析出備份控制檔案的合適時機。通常情況下,導致控制檔案更改的因素有很多。或者說,控制檔案基本上是時時刻刻都在更改的。若每次更改都備份控制檔案的話,顯然工作量會很。為此資料庫管理員需要抓住的是哪些對資料庫的啟動與執行具有實質性影響的更改。只抓關鍵,而不是眉毛鬍子一把抓。

一般來說,如果發生如下事件的話,則資料庫的控制檔案會發生改變。如當資料庫發生物理變化時,如刪除或者新增資料檔案時,資料庫系統會自動將這個資訊反映到控制檔案中。如當系統出現檢查點時間時,檢查點程序會自動修改控制檔案,以便資料檔案和重做日至檔案保持同步。如果資料庫採用的是歸檔模式,則歸檔程序會自動用歸檔日至檔名和日至序列號等資訊去修改控制檔案。使用rman備份工具時,rman的備份資訊會被記錄到控制檔案中。可見這些因素都在影響著控制檔案的更新。特別是檢查點程序。因為資料庫檢查點的時間間隔可能只有1小時,甚至更多。此時每發生乙個檢查點事件,就會更新控制檔案。如果每更新一次就做一次備份的話,那工作量就可想而知了。為此,要從以上這些因素中挑選一些必須要進行控制檔案備份的時機。

三、選擇控制檔案備份的合適時機。

oracle控制檔案備份關鍵是選擇備份

其實在oracle資料庫中,對控制檔案進行備份是很簡單的一件事情,只需要通過一些簡短的命令即可以完成。根據筆者的經驗,在進行控制檔案備份作業時其關鍵的內容在於確定什麼時候需要進行備份,即在執行哪些操作後需要對控制檔案進行備份。而對於一些基本的備份操作,相對來說對於資料庫管理員不會有多大的難度。為此筆...

Oracle RMAN備份之控制檔案備份

進入rman介面 1 2 3 rman target rman 修改控制檔案備份方式為自動備份 1 rman configure controlfile autobackupon 檢視控制檔案備份是否為自動備份 1 rman show controlfile autobackup 檢視控制檔案自動備...

控制檔案的備份

備份控制檔案建立指令碼 alter database 的這種備份一定要要歸檔模式下 alter database backup controlfile to trace as e control 備份二進位制的檔案 alter database backup controlfile to e con...