資料庫非一致性備份

楊奇龍發表於2010-05-08


概念:指在OPEN 狀態下備份資料庫所有資料檔案和控制檔案的方法。因為在OPEN 狀態下資料庫內容隨時都會改變,從而導致不同資料庫檔案的當前SCN值完全不同,所以開啟時的資料庫備份被稱為資料庫非一致性備份。
注意:非一致性備份只適用:ARCHIVELOG模式,而不適用與NOARCHIVELOG模式。

具體步驟:

一  列出要備份的資料檔案和控制檔案。

SQL> select name from v$datafile;

NAME                                                                           
--------------------------------------------------                             
F:\APP\YANG\ORADATA\ORACL\SYSTEM01.DBF                                         
F:\APP\YANG\ORADATA\ORACL\SYSAUX01.DBF                                         
F:\APP\YANG\ORADATA\ORACL\UNDOTBS01.DBF                                        
F:\APP\YANG\ORADATA\ORACL\USERS01.DBF                                          
F:\APP\YANG\ORADATA\ORACL\EXAMPLE01.DBF
                                        

二 開始備份資料庫。。將資料庫設定為備份模式,此時資料庫會發出全域性檢查點,並且會在所有的資料檔案頭上加鎖,以確保備份期間資料檔案的頭內容不會改變。

SQL> alter database begin backup;

資料庫已更改。

三。 備份所有資料檔案和控制檔案。需要注意的是由於在open狀態下,備份控制檔案時要用 ALTER DATABASE BACKUP CONTROLFILE 命令。

SQL> @f:\backup.sql

SQL> alter database backup controlfile to 'f:\lib\control.ctl' reuse;

資料庫已更改。

四。結束資料庫備份,在結束資料庫備份之後,為了保護資料庫檔案備份的同步性,還應該歸檔當前日誌檔案。

SQL> alter database end backup;

資料庫已更改。

SQL> alter system archive log current;

系統已更改。

back.sql指令碼的內容:

host copy F:\APP\YANG\ORADATA\ORACL\CONTROL01.CTL  f:\backup                   
host copy F:\APP\YANG\ORADATA\ORACL\CONTROL02.CTL  f:\backup                   
host copy F:\APP\YANG\ORADATA\ORACL\CONTROL03.CTL  f:\backup                   
host copy F:\APP\YANG\ORADATA\ORACL\EXAMPLE01.DBF  f:\backup                   
host copy F:\APP\YANG\ORADATA\ORACL\SYSAUX01.DBF  f:\backup                    
host copy F:\APP\YANG\ORADATA\ORACL\SYSTEM01.DBF  f:\backup                    
host copy F:\APP\YANG\ORADATA\ORACL\UNDOTBS01.DBF  f:\backup                   
host copy F:\APP\YANG\ORADATA\ORACL\USERS01.DBF  f:\backup
 

其實可以將其指令碼設定的更加最佳化,將步驟二,三 四都加入到該指令碼。有興趣的朋友可以試試。。。我就不做了。

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

相關文章