在使用RMAN從AUTOBACKUP中恢復SPFILE,可能會碰到這個錯誤,這裡簡單總結一下。
在RMAN恢復SPFILE過程中,可能遇到下面的錯誤:
RMAN> restore spfile from autobackup;
Starting restore at 27-6月-07
using target database controlfile instead of recovery catalog
allocated channel: ORA_DISK_1
channel ORA_DISK_1: sid=9 devtype=DISK
channel ORA_DISK_1: looking for autobackup on day: 20070627
channel ORA_DISK_1: looking for autobackup on day: 20070626
channel ORA_DISK_1: looking for autobackup on day: 20070625
channel ORA_DISK_1: looking for autobackup on day: 20070624
channel ORA_DISK_1: looking for autobackup on day: 20070623
channel ORA_DISK_1: looking for autobackup on day: 20070622
channel ORA_DISK_1: looking for autobackup on day: 20070621
channel ORA_DISK_1: no autobackup in 7 days found
RMAN-00571: ===========================================================
RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============
RMAN-00571: ===========================================================
RMAN-03002: failure of restore command at 06/27/2007 17:54:30
RMAN-06172: no autobackup found or specified handle is not a valid copy or piece
一般來說,可能是下面三種情況之一。
第一種情況是沒有配置CONTROLFILE AUTOBACKUP。
也就是說,在數據庫中根本就沒有自動備份的文件,恢復當然也是不可能的了。
第二種情況也比較常見,就是RMAN默認尋找7天內的自動備份,如果7天內沒有發生自動備份,那麼RMAN也無法找到這個文件。
這種情況的相應解決方法有兩種,一種是RESTORE SPFILE FROM AUTOBACKUP UNTIL TIME ‘SYSDATE – N’的方法。
另一種是RESTORE SPFILE FROM AUTOBACKUP MAXDAYS N。
第三種情況也比較常見,而且更加隱蔽。 這種情況是由於AUTOBACKUP的默認設置發生了變化。
由於這種情況在錯誤信息中看不到提示,所有很容易被忽略掉。 由於在數據庫目前只是通過RMAN的默認配置進行啟動,且啟動到 NOMOUNT狀態,因此RMAN的所有配置都無法獲得,RMAN在嘗試尋找AUTOBACKUP的時候,只會到默認路徑下去尋找默認的格式,因此,如果以前修改過AUTOBACKUP的格式和路徑,那麼在恢復之前需要進行重新的設置。
AUTOBACKUP的存儲路徑在alert文件中可以找到。 進行了設置後,就可以通過RMAN進行恢復了:
RMAN> set controlfile autobackup format for device type disk to '/data1/backup/testdata/%F';
executing command: SET CONTROLFILE AUTOBACKUP FORMAT
RMAN> restore spfile from autobackup;
Starting restore at 27-6月-07
channel ORA_DISK_1
channel ORA_DISK_1: looking for autobackup on day: 20070627
channel ORA_DISK_1: autobackup found: /data1/backup/testdata/c-2270762593-20070627-00
channel ORA_DISK_1: SPFILE restore from autobackup complete
Finished restore at 27-6月-07
如果不好確定恢復的格式或者明確想要恢復某個自動備份,那麼還有一種方式更為直接,可以直接給出需要恢復的AUTOBACKUP的路徑和文件名:
RMAN> restore spfile from '/data1/backup/testdata/c-2270762593-20070626-01';
Starting restore at 27-6月-07
channel ORA_DISK_1
channel ORA_DISK_1: autobackup found: /data1/backup/testdata/c-2270762593-20070626-01
channel ORA_DISK_1: SPFILE restore from autobackup complete
Finished restore at 27-6月-07
RMAN-06172: no autobackup found
最新推荐文章于 2021-04-07 05:50:42 发布