oracle中可以利用 rman 還原歸檔日志到某個時間點:
1、理解還原與恢復(fù)
恢復(fù)(recover): 將備份之后的歸檔日志apply到數(shù)據(jù)庫,也就根據(jù)歸檔日志的事務(wù)將數(shù)據(jù)庫刷新到特定或最新狀態(tài)(通常在還原之后操作)。對于歸
檔日志中那些已提交的事務(wù)進(jìn)行前滾,未提交的事務(wù)進(jìn)行回滾。
還原歸檔日志: 還原歸檔日志是位于還原數(shù)據(jù)庫與恢復(fù)數(shù)據(jù)庫之間的這么一個過程。它會將那些在備份歸檔日志時使用delete [all] input方式
刪除的歸檔日志還原到缺省的歸檔位置。在還原數(shù)據(jù)庫之后,如果要做recover,也就是作介質(zhì)恢復(fù)那就需要用到歸檔日志。那還原之后進(jìn)行
recover需要的歸檔日志在哪里呢?歸檔日志在指定的歸檔路徑那里,那到底有沒有呢?如果有,還原時出現(xiàn)提示,歸檔日志已經(jīng)在指定位置。
如果沒有,但是備份的歸檔備份集那里有,也行啊。備份集里包含備份片,也就是打包了歸檔日志。那既然打包就要解包,解包到缺省路徑
或指定路徑。這就是還原歸檔日志。
--演示環(huán)境
--為了較好的模擬還原歸檔日志,我們僅僅使用了一個特定的數(shù)據(jù)文件進(jìn)行copy方式備份,然后備份歸檔日志(備份時刪除歸檔日志)
--接下來破壞數(shù)據(jù)文件,還原數(shù)據(jù)文件,還原歸檔日志文件,恢復(fù)日志文件。
[oracle@linux3 ~]$ cat /etc/issue
Enterprise Linux Enterprise Linux Server release 5.5 (Carthage)
Kernel \r on an \m
[oracle@linux3 ~]$ sqlplus -V
SQL*Plus: Release 11.2.0.1.0 Production
a、備份數(shù)據(jù)文件及歸檔日志
RMAN> list backup of archivelog all; --->列出當(dāng)前數(shù)據(jù)庫已經(jīng)備份的歸檔日志
specification does not match any backup in the repository
RMAN> list backupset; --->列出當(dāng)前數(shù)據(jù)庫已存在的備份集
specification does not match any backup in the repository
SQL> select username,default_tablespace from dba_users where username='SCOTT'; -->查看用戶scott所在的表空間及數(shù)據(jù)文件