Oracle9i資料庫的Standby端執行備份,注意事項~

junsansi發表於2010-09-02

你大概從無數個人無數個地方聽說過,當部署了Dataguard後,可以考慮將資料庫的備份操作放在Standby端執行,呃,官方文件中也有這個說法(主要是考慮這樣能夠分擔主庫壓力),但實際操作時,還是有很多地方需要注意,Standby端建立備份,並不像Primary那樣簡單,特別是,當你使用的資料庫版本是9i。三思近來就遇到了這樣的需求,為一組ORACLE9I資料庫部署DATAGUARD,並且由於PRIMARY磁碟空間的原因,考慮將備份放到STANDBY端進行,不過實際操作中,還是遇到了一些問題。

官方文件中提供的注意事項如下:
● 強烈建議使用catalog,官方說法是must be。主要是由於備份在Standby端執行的話,如果仍然使用控制檔案記錄備份資訊,那這個資訊只能是記在Standby端的控制檔案,Primary並不知道,這樣恢復時會遇到多種問題,比如說Primary找不著備份集,10g之後還好一些,可以通過rman的catalog命令手動註冊備份集到控制檔案,但9i並沒有提供這一語法,倒是範了難,因此官方文件的描述是there is no way for primary database to konw about the standby backups unless these backup records are stored in the recovery catalog. 不過三思對此說法並不完全認同,俺個人認為,即使是記錄到控制中了,實在不行,通過dbms_backup_restore包應該也是可以恢復的,不過這種方式尚未及測試,俺認為應該是可行的。
● 不能備份Standby控制檔案,不知道它咋想的,也許是它認為Standby控制檔案是個備份的控制檔案;
● 不能通過映象複製或非RMAN備的Standby控制檔案來恢復Primary,Standby唯一能夠轉換成Primary的方式就是alter database activer standby database. But,一旦如此操作了,資料庫需要RESETLOGS,而9i下一旦RESETLOGS了,原有備份資訊自然也就沒用(有)了;
● 不能通過target連線Standby庫後再使用DUPLICATE命令建立其它Standby庫,DUPLICATE方式建立STANDBY庫必須在PRIMARY端執行;
● 不要嘗試將Standby庫註冊到recovery catalog. 因為Standby只是Primary的一個分支;
● 不能通過CONFIGURE命令修改SHOW中的預設設定,它會拼命的提示你:operation not allowed with a backup controlfile。

另外再補充一點,最好不要在Standby端控制檔案中開啟controlfile autobackup on,否則一旦涉及到資料庫結構的修改或備份操作,ALERT中會報出一堆的:
Control autobackup failed with following error :
ORA-00236: snapshot operation disallowed: mounted controlfile is a backup


 

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

相關文章