RMAN-06026报错解决方法
?環境:oracle 11g rac asm for linux 6.7
?
將系統備份,準備恢復至備機上,將pfile備份拷貝至備機
1.刪除備機的現有庫
sql> shutdown immediate
sql> startup mount restrict
sql> drop database;
?
2.使用spfile創建pfile
sql>create pfile from spfile='/home/oracle/pfileogg.ora';
?
3.修改pfile,并使用pfile啟動數據庫至nomount
sql>startup nomount pfile='PFILE路徑';
?
4.使用rman恢復控制文件,并啟動至mount狀態
rman target /
rman> restore controlfile from 'controlfile備份';
rman>sql 'alter database mount';
rman>catalog start with '備份位置';
?
5.恢復數據文件時遇到如下報錯:
?
rman> restore database;
?
RMAN-06026: some targets not found - aborting restore
RMAN-06023: no backup or copy of datafile 4 found to restore
RMAN-06023: no backup or copy of datafile 3 found to restore
RMAN-06023: no backup or copy of datafile 2 found to restore
RMAN-06023: no backup or copy of datafile 1 found to restore
?
?
檢查過備份文件,發現都是存在的,根本沒有問題。最后檢查發現是incarnation的問題,因為對該數據庫做過了一次恢復,做了resetlogs操作。
解決方法:重置數據庫的incarnation到2,然后還原數據庫,問題解決。
關于incarnation的資料,可以參考官方資料7.6.2 Point-in-Time Recovery and Database Incarnations: Concepts
?
rman>list incarnation;
List of Database Incarnations
DB Key? Inc Key DB Name? DB ID??????????? STATUS? Reset SCN? Reset Time
------- ------- -------- ---------------- --- ---------- ----------
1?????? 1?????? OGG????? 2941743472?????? PARENT? 1????????? 17-SEP-11
2?????? 2?????? OGG????? 2941743472?????? PARENT? 995548???? 24-FEB-14
3?????? 3?????? OGG????? 2941743472?????? CURRENT 1070775??? 26-FEB-14
rman>reset database to? incarnation 2;
rman>restore database;
rman>recover database;
恢復完成,以resetlogs參數open成功。
?
恢復后查找了一些incarnation的資料
官方解釋如下:
Listing Database Incarnations
Each time an OPEN RESETLOGS operation is performed on a database, this operation creates a new?incarnation?of the database. Database incarnations and their effect on database recovery are explained in"Database Incarnations".
?
源文檔 <http://docs.oracle.com/cd/E11882_01/backup.112/e10642/rcmreprt.htm>
Database Incarnations
A database incarnation is created whenever you open the database with the
RESETLOGS option. After complete recovery, you can resume normal operations
without an OPEN RESETLOGS. After a DBPITR or recovery with a backup control file,
however, you must open the database with the RESETLOGS option, thereby creating a
new incarnation of the database. The database requires a new incarnation to avoid
confusion when two different redo streams have the same SCNs, but occurred at
different times. If you apply the wrong redo to your database, then you corrupt it.
The existence of multiple incarnations of a single database determines how RMAN
treats backups that are not in the current incarnation path. Usually, the current
database incarnation is the correct one to use. Nevertheless, in some cases resetting the
database to a previous incarnation is the best approach. For example, you may be
dissatisfied with the results of a point-in-time recovery that you have performed and
want to return the database to a time before the RESETLOGS. An understanding of
database incarnations is helpful to prepare for such situations.
?
總結了一下,主要是該測試環境的數據庫之前恢復過一次,并且resetlogs了,第二次重新恢復的時候會遇到此問題,所以將incarnation恢復至之前一個就正常了。
?
轉載于:https://www.cnblogs.com/fengaix6/p/7491065.html
總結
以上是生活随笔為你收集整理的RMAN-06026报错解决方法的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: python练习9-7
- 下一篇: CentOS6.9 下编译安装MySQL