The error RMAN-06571: datafile 78 does not have recoverable copy is reported in the migration script log. It is found that file 78 was dropped by offline. So re-build the control file, in the control file to remove the 78 File, re-control, the database can mount, after the mount data file is consistent, but open will report an error ora-600, abnormal downtime.
SYS @ mydbtst> alter database open;
Alter database open
*
ERROR at line 1:
ORA-01092: ORACLE instance terminated. Disconnection forced
ORA-00600: internal error code, arguments: [25025], [78], [], [], [], [], [],
[], [], [], [], []
Process ID: 6028
The Session ID is 521 Serial number: 15.
After checking, this file No. 78 is an undo file. The above processing method is feasible for processing General data files, but the above method cannot be used for undo files. The following processing method should be used. The specific processing method is as follows:
1. Add the management method manual:
......
*. Streams_pool_size = 134217728
*. Undo_retention = 3600
*. Undo_tablespace = 'undotbs1'
*. Undo_management = 'manual'
~
2. After startup, perform a recovery:
SYS @ mydbtst> startup pfile = '/tmp/pfile_bak.ora ';
ORACLE instance started.
Total System Global Area 2522189824 bytes
Fixed Size 2230912 bytes
Variable Size 1157629312 bytes
Database Buffers 1342177280 bytes
Redo Buffers 20152320 bytes
Database mounted.
ORA-01113: file 1 needs media recovery
ORA-01110: data file 1: '+ DG_DATA001/mydbtst/datafile/system.453.813666469'
SYS @ mydbtst> recover database using backup controlfile;
ORA-00279: change 9436796441761 generated at 08/01/2014 10:07:10 needed
Thread 1
ORA-00289: suggestion: + FRA_SMALL_MDG.
ORA-15173: entry 'archivelog 'does not exist in directory 'mydbtst'
ORA-00280: change 9436796441761 for thread 1 is in sequence #4 <requires the log of sequence #4, after checking v $ log and v $ logfile, confirm which redo log is put
Specify log: {<RET> = suggested | filename | AUTO | CANCEL}
+ DATA_SMALL_MDG/mydbtst/onlinelog/group_1.1156.854401821
Log applied.
Media recovery complete.
SYS @ mydbtst>
SYS @ mydbtst> alter database open;
Alter database open
*
ERROR at line 1:
The ORA-01589: must use RESETLOGS or NORESETLOGS option for database open
SYS @ mydbtst> alter database open resetlogs;
Database altered.
SYS @ mydbtst>
SYS @ mydbtst>
3. New undo
SYS @ mydbtst> create undo tablespace undo_new datafile '+ DG_DATA001/mydbtst/datafile/undo_new01.dbf' size 200 m;
Tablespace created.
SYS @ mydbtst>
4. check the undo segment of UNDOTBS1. Fortunately, I didn't find the undo segment of the needs recovery, so the undo segment parameter "_ initupted_rollback_segments" is not required to be skipped in the future.
SYS @ mydbtst> select tablespace_name, segment_name, status from dba_rollback_segs;
TABLESPACE_NAME SEGMENT_NAME STATUS
----------------------------------------------------------------------------
SYSTEM ONLINE
UNDOTBS1 _ syssmuw.3981220827 $ OFFLINE
UNDOTBS1 _ SYSSMU2_2541240231 $ OFFLINE
UNDOTBS1 _ SYSSMU3_4103266798 $ OFFLINE
UNDOTBS1 _ SYSSMU4_1110676785 $ OFFLINE
UNDOTBS1 _ SYSSMU5_3829116805 $ OFFLINE
UNDOTBS1 _ SYSSMU6_347720470 $ OFFLINE
UNDOTBS1 _ SYSSMU7_3507999319 $ OFFLINE
UNDOTBS1 _ syssmu8_00001584916 $ OFFLINE
UNDOTBS1 _ SYSSMU9_630455542 $ OFFLINE
UNDOTBS1 _ SYSSMU10_2221096320 $ OFFLINE
......
TABLESPACE_NAME SEGMENT_NAME STATUS
----------------------------------------------------------------------------
UNDO_NEW _ SYSSMU110_852046607 $ OFFLINE
UNDO_NEW _ syssmu111081868020771 $ OFFLINE
112 rows selected.
SYS @ mydbtst>
5. Because implicit parameter skipping is not required, you can directly drop the original undo:
SYS @ mydbtst> drop tablespace UNDOTBS1 including contents and datafiles;
Tablespace dropped.
6. Modify pfile to auto and the new undo_new
Cnsz181007: mydbtst> vi pfile_bak.ora
......
*. Streams_pool_size = 134217728
*. Undo_retention = 3600
*. Undo_tablespace = 'Undo _ new'
*. Undo_management = 'auto'
~
7. Restart with this pfile:
Cnsz181007: mydbtst> sqlplus "/as sysdba"
SQL * Plus: Release 11.2.0.3.0 Production on Fri Aug 1 11:59:56 2014
Copyright (c) 1982,201 1, Oracle. All rights reserved.
Connected to an idle instance.
SYS @ mydbtst> startup pfile = '/tmp/pfile_bak.ora ';
ORACLE instance started.
Total System Global Area 2522189824 bytes
Fixed Size 2230912 bytes
Variable Size 1157629312 bytes
Database Buffers 1342177280 bytes
Redo Buffers 20152320 bytes
Database mounted.
Database opened.
SYS @ mydbtst>