Oracle 不完全恢復遇到的ORA-600錯誤

a21178發表於2020-08-24

一個resetlogs恢復表的場景:

場景描述:

資料正常執行,由於表B丟失,此時進行一次不完全恢復,不完全恢復至scn1067392,然後進行open resetlogs開啟,此時開啟了一個新的化身線,在剛開啟後,又誤刪除了表A,此時想要恢復表A,將表A再次恢復至scn1067392,將表A進行恢復。

進行一次全備:

[oracle@server1 ~]$ rman target /RMAN> backup as compressed backupset database;

檢視資料庫當前化身線:

RMAN> list incarnationusing target database control file instead of recovery catalogList of Database IncarnationsDB Key  Inc Key DB Name  DB ID            STATUS  Reset SCN  Reset Time------- ------- -------- ---------------- --- ---------- ----------1       1       PROD     457994418        PARENT  1          24-AUG-132       2       PROD     457994418        CURRENT 925702     19-JUL-20

建立兩張表(A和B):

SQL> create table A as select * from dba_objects;Table created.SQL> insert into A select * from A;86958 rows created.SQL> create table B as select * from dba_objects;Table created.SQL> insert into B select * from B;86958 rows created.**進行幾次日誌切換:**SQL> alter system switch logfile;

檢視當前SCN:

SQL> select current_scn from v$database;CURRENT_SCN  1067392

清空表B資料:

SQL> truncate table B;Table truncated.

使用RMAN進行不完全恢復至1067392,將表B恢復:

啟動到mount狀態進行恢復RMAN> restore database;RMAN> recover database until scn 1067392;SQL> alter database open resetlogs;Database altered.SQL> select count(*) from B;    COUNT(*)   173914

檢視當前化身:

RMAN> list  incarnation;using target database control file instead of recovery catalogList of Database IncarnationsDB Key  Inc Key DB Name  DB ID            STATUS  Reset SCN  Reset Time------- ------- -------- ---------------- --- ---------- ----------1       1       PROD     457994418        PARENT  1          24-AUG-132       2       PROD     457994418        PARENT  925702     19-JUL-203       3       PROD     457994418        CURRENT 1067393    21-AUG-20**記錄一下Open resetlogs後的當前SCN:**SQL> select current_scn from v$database;CURRENT_SCN  1067920(和上面化身線的點還是很大距離的)**此時剛進行不完全恢復open resetlogs開啟後,我又把表A刪了:**SQL> truncate table A;Table truncated.

此時可以不完全恢復至  1067920,恢復表A

但是我嘗試再次恢復至SCN1067392,出現ORA-600錯誤:

(多次測試,恢復至與上一樣不完全恢復相同的SCN是必報的錯誤)

指定化身線2:

RMAN> reset database to incarnation 2;RMAN> restore database;RMAN> recover database until scn 1067392;SQL> alter database open resetlogs;alter database open resetlogs*ERROR at line 1:ORA-01092: ORACLE instance terminated. Disconnection forcedORA-00600: internal error code, arguments: [2898], [5], [12], [], [], [], [],[], [], [], [], []Process ID: 3633Session ID: 191 Serial number: 13

後臺警告日誌:

  Checker run found 2 new persistent data failures  ARC3: Archival startedARC0: STARTING ARCH PROCESSES COMPLETEerror 25319 happened during Queue table repartitioningStarting background process QMNCFri Aug 21 07:23:45 2020QMNC started with pid=27, OS id=3364 LOGSTDBY: Validating controlfile with logical metadataLOGSTDBY: Validation completeFri Aug 21 07:23:45 2020error 376 happened for queue:IX.STREAMS_QUEUE_TABLE during timed actCompleted: alter database openFri Aug 21 07:23:45 2020Dumping diagnostic data in directory=[cdmp_20200821072345], requested by (instance=1, osid=3342), summary=[incident=12166].Errors in file /oracle/app/diag/rdbms/prod/prod/trace/prod_mmon_3322.trc  (incident=12134):ORA-25319: Queue table repartitioning abortedIncident details in: /oracle/app/diag/rdbms/prod/prod/incident/incdir_12134/prod_mmon_3322_i12134.trcerror 25319 happened during Queue table repartitioningerror 376 happened for queue:IX.STREAMS_QUEUE_TABLE during timed actErrors in file /oracle/app/diag/rdbms/prod/prod/trace/prod_mmon_3322.trc  (incident=12135):ORA-25319: Queue table repartitioning abortedIncident details in: /oracle/app/diag/rdbms/prod/prod/incident/incdir_12135/prod_mmon_3322_i12135.trcDumping diagnostic data in directory=[cdmp_20200821072347], requested by (instance=1, osid=3322 (MMON)), summary=[incident=12134].error 25319 happened during Queue table repartitioningerror 376 happened for queue:IX.STREAMS_QUEUE_TABLE during timed actErrors in file /oracle/app/diag/rdbms/prod/prod/trace/prod_mmon_3322.trc  (incident=12136):ORA-25319: Queue table repartitioning abortedIncident details in: /oracle/app/diag/rdbms/prod/prod/incident/incdir_12136/prod_mmon_3322_i12136.trcDumping diagnostic data in directory=[cdmp_20200821072348], requested by (instance=1, osid=3322 (MMON)), summary=[incident=12135].error 25319 happened during Queue table repartitioning

使用RMAN啟動到mount狀態,檢視一下當前化身

[oracle@server1 ~]$ rman target /Recovery Manager: Release 11.2.0.4.0 - Production on Fri Aug 21 02:08:55 2020Copyright (c) 1982, 2011, Oracle and/or its affiliates.  All rights reserved.connected to target database (not started)RMAN> startup mount;Oracle instance starteddatabase mountedTotal System Global Area     830930944 bytesFixed Size                     2257800 bytesVariable Size                541068408 bytesDatabase Buffers             281018368 bytesRedo Buffers                   6586368 bytesRMAN> list  incarnation;using target database control file instead of recovery catalogList of Database IncarnationsDB Key  Inc Key DB Name  DB ID            STATUS  Reset SCN  Reset Time------- ------- -------- ---------------- --- ---------- ----------1       1       PROD     457994418        PARENT  1          24-AUG-132       2       PROD     457994418        PARENT  925702     19-JUL-203       3       PROD     457994418        ORPHAN  1067393    21-AUG-204       4       PROD     457994418        CURRENT 1067393    21-AUG-20**顯示當前已經出現一個分支。**

嘗試直接Open

[oracle@server1 ~]$ sqlplus / as sysdbaSQL*Plus: Release 11.2.0.4.0 Production on Fri Aug 21 02:11:03 2020Copyright (c) 1982, 2013, Oracle.  All rights reserved.Connected to:Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 - 64bit ProductionWith the Partitioning, OLAP, Data Mining and Real Application Testing optionsSQL> alter database open;Database altered.SQL> select count(*) from A;  COUNT(*)  173914

可以開啟,資料存在


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

相關文章