UPDATE : I say "Verify" in this (and the previous blog post) and not VALIDATE because VALIDATE has a different meaning in RMAN. See these posts RESTORE DATABASE VALIDATE and BACKUP VALIDATE
Continuing on my previous blog post, the question being "when you receive an RMAN Backup from another DBA, how do you confirm that the database can be restored and recovered to a Consistent Point In Time ?"
The quick steps, without actually running a RESTORE DATABASE command are :
1. Create a dummy parameter file with
a. DB_NAME the same as the source database
b. A different DB_UNIQUE_NAME (particulary if you have an existing database on the target server with the same DB_NAME)
c. CONTROL_FILE specifying a "temporary" location -- you will be removing the control files and restoring them to the actual desired target location when you choose to do a Full Restore
2. Restore the Controlfile
3. Remove all entries about RMAN Backups from the Controlfile (as it has a history of recent backups and may even be a Controlfile backup newer than the Database backup that is provided to you, capturing more recent backups
4. Catalog the set of Backup Pieces that you receive
5. Query the catalog that you now create in the Controlfile to check the ArchiveLogs vis-a-vis the Datafiles in the set of Backup Pieces.
So, I'll demonstrate them again in 19c and a Non-CDB database here. The source Database DB_NAME is "HEMANT" so I create in RTST parameter file with DB_NAME='HEMANT' and DB_UNIQUE_NAME='RTST'
I then restore the Controlfile, remove all entries of previous backups, CATALOG the Backup Pieces that I have received and then query the Controlfile. (The CATALOG START WITH updates the Controlfile with information from the Backup Pieces, although the REPORT SCHEMA command is from the database structure in the controlfile).
oracle19c>echo $ORACLE_SID RTST oracle19c>cat $ORACLE_HOME/dbs/initRTST.ora db_name = 'HEMANT' db_unique_name = 'RTST' control_files='/tmp/RTST_control.ctl' #enable_pluggable_database=true oracle19c> oracle19c>cd HEMANT_DB_Backup oracle19c>pwd /home/oracle/HEMANT_DB_Backup oracle19c>ls -l total 140504 -rw-r-----. 1 oracle oinstall 4390912 Sep 29 22:01 0cvbkgui_1_1 -rw-r-----. 1 oracle oinstall 58507264 Sep 29 22:01 0evbkh0d_1_1 -rw-r-----. 1 oracle oinstall 6381568 Sep 29 22:01 0fvbkh0k_1_1 -rw-r-----. 1 oracle oinstall 51978240 Sep 29 22:01 0gvbkh0r_1_1 -rw-r-----. 1 oracle oinstall 2179072 Sep 29 22:01 0hvbkh12_1_1 -rw-r-----. 1 oracle oinstall 1622016 Sep 29 22:01 0ivbkh13_1_1 -rw-r-----. 1 oracle oinstall 4863488 Sep 29 22:01 0jvbkh14_1_1 -rw-r-----. 1 oracle oinstall 2187264 Sep 29 22:01 0kvbkh14_1_1 -rw-r-----. 1 oracle oinstall 11763712 Sep 29 22:01 c-432411782-20200929-06 oracle19c> oracle19c>rman target / Recovery Manager: Release 19.0.0.0.0 - Production on Tue Sep 29 22:05:03 2020 Version 19.3.0.0.0 Copyright (c) 1982, 2019, Oracle and/or its affiliates. All rights reserved. connected to target database (not started) RMAN> startup nomount; Oracle instance started Total System Global Area 268434280 bytes Fixed Size 8895336 bytes Variable Size 201326592 bytes Database Buffers 50331648 bytes Redo Buffers 7880704 bytes RMAN> restore controlfile from '/home/oracle/HEMANT_DB_Backup/c-432411782-20200929-06'; Starting restore at 29-SEP-20 using target database control file instead of recovery catalog allocated channel: ORA_DISK_1 channel ORA_DISK_1: SID=20 device type=DISK channel ORA_DISK_1: restoring control file channel ORA_DISK_1: restore complete, elapsed time: 00:00:01 output file name=/tmp/RTST_control.ctl Finished restore at 29-SEP-20 RMAN> RMAN> alter database mount; Statement processed released channel: ORA_DISK_1 RMAN> RMAN> delete backup; allocated channel: ORA_DISK_1 channel ORA_DISK_1: SID=20 device type=DISK List of Backup Pieces BP Key BS Key Pc# Cp# Status Device Type Piece Name ------- ------- --- --- ----------- ----------- ---------- 12 12 1 1 AVAILABLE DISK /opt/oracle/product/19c/dbhome_1/dbs/0cvbkgui_1_1 13 13 1 1 AVAILABLE DISK /opt/oracle/product/19c/dbhome_1/dbs/c-432411782-20200929-03 14 14 1 1 AVAILABLE DISK /opt/oracle/product/19c/dbhome_1/dbs/0evbkh0d_1_1 15 15 1 1 AVAILABLE DISK /opt/oracle/product/19c/dbhome_1/dbs/0fvbkh0k_1_1 16 16 1 1 AVAILABLE DISK /opt/oracle/product/19c/dbhome_1/dbs/0gvbkh0r_1_1 17 17 1 1 AVAILABLE DISK /opt/oracle/product/19c/dbhome_1/dbs/0hvbkh12_1_1 18 18 1 1 AVAILABLE DISK /opt/oracle/product/19c/dbhome_1/dbs/0ivbkh13_1_1 19 19 1 1 AVAILABLE DISK /opt/oracle/product/19c/dbhome_1/dbs/0jvbkh14_1_1 20 20 1 1 AVAILABLE DISK /opt/oracle/product/19c/dbhome_1/dbs/0kvbkh14_1_1 21 21 1 1 AVAILABLE DISK /opt/oracle/product/19c/dbhome_1/dbs/c-432411782-20200929-05 Do you really want to delete the above objects (enter YES or NO)? YES RMAN-06207: warning: 10 objects could not be deleted for DISK channel(s) due RMAN-06208: to mismatched status. Use CROSSCHECK command to fix status RMAN-06210: List of Mismatched objects RMAN-06211: ========================== RMAN-06212: Object Type Filename/Handle RMAN-06213: --------------- --------------------------------------------------- RMAN-06214: Backup Piece /opt/oracle/product/19c/dbhome_1/dbs/0cvbkgui_1_1 RMAN-06214: Backup Piece /opt/oracle/product/19c/dbhome_1/dbs/c-432411782-20200929-03 RMAN-06214: Backup Piece /opt/oracle/product/19c/dbhome_1/dbs/0evbkh0d_1_1 RMAN-06214: Backup Piece /opt/oracle/product/19c/dbhome_1/dbs/0fvbkh0k_1_1 RMAN-06214: Backup Piece /opt/oracle/product/19c/dbhome_1/dbs/0gvbkh0r_1_1 RMAN-06214: Backup Piece /opt/oracle/product/19c/dbhome_1/dbs/0hvbkh12_1_1 RMAN-06214: Backup Piece /opt/oracle/product/19c/dbhome_1/dbs/0ivbkh13_1_1 RMAN-06214: Backup Piece /opt/oracle/product/19c/dbhome_1/dbs/0jvbkh14_1_1 RMAN-06214: Backup Piece /opt/oracle/product/19c/dbhome_1/dbs/0kvbkh14_1_1 RMAN-06214: Backup Piece /opt/oracle/product/19c/dbhome_1/dbs/c-432411782-20200929-05 RMAN> crosscheck backup; using channel ORA_DISK_1 crosschecked backup piece: found to be 'EXPIRED' backup piece handle=/opt/oracle/product/19c/dbhome_1/dbs/0cvbkgui_1_1 RECID=12 STAMP=1052394450 crosschecked backup piece: found to be 'EXPIRED' backup piece handle=/opt/oracle/product/19c/dbhome_1/dbs/c-432411782-20200929-03 RECID=13 STAMP=1052394452 crosschecked backup piece: found to be 'EXPIRED' backup piece handle=/opt/oracle/product/19c/dbhome_1/dbs/0evbkh0d_1_1 RECID=14 STAMP=1052394509 crosschecked backup piece: found to be 'EXPIRED' backup piece handle=/opt/oracle/product/19c/dbhome_1/dbs/0fvbkh0k_1_1 RECID=15 STAMP=1052394516 crosschecked backup piece: found to be 'EXPIRED' backup piece handle=/opt/oracle/product/19c/dbhome_1/dbs/0gvbkh0r_1_1 RECID=16 STAMP=1052394523 crosschecked backup piece: found to be 'EXPIRED' backup piece handle=/opt/oracle/product/19c/dbhome_1/dbs/0hvbkh12_1_1 RECID=17 STAMP=1052394530 crosschecked backup piece: found to be 'EXPIRED' backup piece handle=/opt/oracle/product/19c/dbhome_1/dbs/0ivbkh13_1_1 RECID=18 STAMP=1052394532 crosschecked backup piece: found to be 'EXPIRED' backup piece handle=/opt/oracle/product/19c/dbhome_1/dbs/0jvbkh14_1_1 RECID=19 STAMP=1052394532 crosschecked backup piece: found to be 'EXPIRED' backup piece handle=/opt/oracle/product/19c/dbhome_1/dbs/0kvbkh14_1_1 RECID=20 STAMP=1052394533 crosschecked backup piece: found to be 'EXPIRED' backup piece handle=/opt/oracle/product/19c/dbhome_1/dbs/c-432411782-20200929-05 RECID=21 STAMP=1052394534 Crosschecked 10 objects RMAN> delete expired backup; using channel ORA_DISK_1 List of Backup Pieces BP Key BS Key Pc# Cp# Status Device Type Piece Name ------- ------- --- --- ----------- ----------- ---------- 12 12 1 1 EXPIRED DISK /opt/oracle/product/19c/dbhome_1/dbs/0cvbkgui_1_1 13 13 1 1 EXPIRED DISK /opt/oracle/product/19c/dbhome_1/dbs/c-432411782-20200929-03 14 14 1 1 EXPIRED DISK /opt/oracle/product/19c/dbhome_1/dbs/0evbkh0d_1_1 15 15 1 1 EXPIRED DISK /opt/oracle/product/19c/dbhome_1/dbs/0fvbkh0k_1_1 16 16 1 1 EXPIRED DISK /opt/oracle/product/19c/dbhome_1/dbs/0gvbkh0r_1_1 17 17 1 1 EXPIRED DISK /opt/oracle/product/19c/dbhome_1/dbs/0hvbkh12_1_1 18 18 1 1 EXPIRED DISK /opt/oracle/product/19c/dbhome_1/dbs/0ivbkh13_1_1 19 19 1 1 EXPIRED DISK /opt/oracle/product/19c/dbhome_1/dbs/0jvbkh14_1_1 20 20 1 1 EXPIRED DISK /opt/oracle/product/19c/dbhome_1/dbs/0kvbkh14_1_1 21 21 1 1 EXPIRED DISK /opt/oracle/product/19c/dbhome_1/dbs/c-432411782-20200929-05 Do you really want to delete the above objects (enter YES or NO)? YES deleted backup piece backup piece handle=/opt/oracle/product/19c/dbhome_1/dbs/0cvbkgui_1_1 RECID=12 STAMP=1052394450 deleted backup piece backup piece handle=/opt/oracle/product/19c/dbhome_1/dbs/c-432411782-20200929-03 RECID=13 STAMP=1052394452 deleted backup piece backup piece handle=/opt/oracle/product/19c/dbhome_1/dbs/0evbkh0d_1_1 RECID=14 STAMP=1052394509 deleted backup piece backup piece handle=/opt/oracle/product/19c/dbhome_1/dbs/0fvbkh0k_1_1 RECID=15 STAMP=1052394516 deleted backup piece backup piece handle=/opt/oracle/product/19c/dbhome_1/dbs/0gvbkh0r_1_1 RECID=16 STAMP=1052394523 deleted backup piece backup piece handle=/opt/oracle/product/19c/dbhome_1/dbs/0hvbkh12_1_1 RECID=17 STAMP=1052394530 deleted backup piece backup piece handle=/opt/oracle/product/19c/dbhome_1/dbs/0ivbkh13_1_1 RECID=18 STAMP=1052394532 deleted backup piece backup piece handle=/opt/oracle/product/19c/dbhome_1/dbs/0jvbkh14_1_1 RECID=19 STAMP=1052394532 deleted backup piece backup piece handle=/opt/oracle/product/19c/dbhome_1/dbs/0kvbkh14_1_1 RECID=20 STAMP=1052394533 deleted backup piece backup piece handle=/opt/oracle/product/19c/dbhome_1/dbs/c-432411782-20200929-05 RECID=21 STAMP=1052394534 Deleted 10 EXPIRED objects RMAN> RMAN> list backup; specification does not match any backup in the repository RMAN> catalog start with '/home/oracle/HEMANT_DB_Backup/'; searching for all files that match the pattern /home/oracle/HEMANT_DB_Backup/ List of Files Unknown to the Database ===================================== File Name: /home/oracle/HEMANT_DB_Backup/0cvbkgui_1_1 File Name: /home/oracle/HEMANT_DB_Backup/0evbkh0d_1_1 File Name: /home/oracle/HEMANT_DB_Backup/0fvbkh0k_1_1 File Name: /home/oracle/HEMANT_DB_Backup/0gvbkh0r_1_1 File Name: /home/oracle/HEMANT_DB_Backup/0hvbkh12_1_1 File Name: /home/oracle/HEMANT_DB_Backup/0ivbkh13_1_1 File Name: /home/oracle/HEMANT_DB_Backup/0jvbkh14_1_1 File Name: /home/oracle/HEMANT_DB_Backup/0kvbkh14_1_1 File Name: /home/oracle/HEMANT_DB_Backup/c-432411782-20200929-06 Do you really want to catalog the above files (enter YES or NO)? YES cataloging files... cataloging done List of Cataloged Files ======================= File Name: /home/oracle/HEMANT_DB_Backup/0cvbkgui_1_1 File Name: /home/oracle/HEMANT_DB_Backup/0evbkh0d_1_1 File Name: /home/oracle/HEMANT_DB_Backup/0fvbkh0k_1_1 File Name: /home/oracle/HEMANT_DB_Backup/0gvbkh0r_1_1 File Name: /home/oracle/HEMANT_DB_Backup/0hvbkh12_1_1 File Name: /home/oracle/HEMANT_DB_Backup/0ivbkh13_1_1 File Name: /home/oracle/HEMANT_DB_Backup/0jvbkh14_1_1 File Name: /home/oracle/HEMANT_DB_Backup/0kvbkh14_1_1 File Name: /home/oracle/HEMANT_DB_Backup/c-432411782-20200929-06 RMAN> RMAN> report schema; RMAN-06139: warning: control file is not current for REPORT SCHEMA Report of database schema for database with db_unique_name RTST List of Permanent Datafiles =========================== File Size(MB) Tablespace RB segs Datafile Name ---- -------- -------------------- ------- ------------------------ 1 400 SYSTEM *** /opt/oracle/oradata/HEMANT/system.dbf 2 400 SYSAUX *** /opt/oracle/oradata/HEMANT/sysaux.dbf 3 200 UNDOTBS1 *** /opt/oracle/oradata/HEMANT/undotbs.dbf 4 10 USERS *** /opt/oracle/oradata/HEMANT/users01.dbf 5 10 INDX *** /opt/oracle/oradata/HEMANT/indx01.dbf 6 10 USERS *** /opt/oracle/oradata/HEMANT/users02.dbf 7 10 USERS *** /opt/oracle/oradata/HEMANT/users03.dbf 8 10 USERS *** /opt/oracle/oradata/HEMANT/users04.dbf 9 10 USERS *** /opt/oracle/oradata/HEMANT/users05.dbf 10 10 INDX *** /opt/oracle/oradata/HEMANT/indx02.dbf 11 10 INDX *** /opt/oracle/oradata/HEMANT/indx03.dbf RMAN> RMAN> quit Recovery Manager complete. oracle19c>sqlplus '/ as sysdba' SQL*Plus: Release 19.0.0.0.0 - Production on Tue Sep 29 22:07:56 2020 Version 19.3.0.0.0 Copyright (c) 1982, 2019, Oracle. All rights reserved. Connected to: Oracle Database 19c Enterprise Edition Release 19.0.0.0.0 - Production Version 19.3.0.0.0 SQL> SQL> alter session set nls_date_format='DD-MON-RR HH24:MI:SS'; Session altered. SQL> select file#, checkpoint_change#, checkpoint_time, completion_time 2 from v$backup_datafile 3 order by 1 4 / FILE# CHECKPOINT_CHANGE# CHECKPOINT_TIME COMPLETION_TIME ---------- ------------------ ------------------ ------------------ 0 463290 29-SEP-20 11:49:14 29-SEP-20 11:49:15 1 456249 29-SEP-20 11:48:29 29-SEP-20 11:48:34 2 457590 29-SEP-20 11:48:36 29-SEP-20 11:48:39 3 458680 29-SEP-20 11:48:43 29-SEP-20 11:48:47 4 459759 29-SEP-20 11:48:50 29-SEP-20 11:48:51 5 459765 29-SEP-20 11:48:51 29-SEP-20 11:48:52 6 459779 29-SEP-20 11:48:53 29-SEP-20 11:48:53 7 459759 29-SEP-20 11:48:50 29-SEP-20 11:48:51 8 459765 29-SEP-20 11:48:51 29-SEP-20 11:48:52 9 459779 29-SEP-20 11:48:53 29-SEP-20 11:48:53 10 458680 29-SEP-20 11:48:43 29-SEP-20 11:48:43 11 456249 29-SEP-20 11:48:29 29-SEP-20 11:48:29 12 rows selected. SQL> SQL> select file#, checkpoint_change#, checkpoint_time, completion_time 2 from v$backup_datafile 3 order by 2 4 / FILE# CHECKPOINT_CHANGE# CHECKPOINT_TIME COMPLETION_TIME ---------- ------------------ ------------------ ------------------ 1 456249 29-SEP-20 11:48:29 29-SEP-20 11:48:34 11 456249 29-SEP-20 11:48:29 29-SEP-20 11:48:29 2 457590 29-SEP-20 11:48:36 29-SEP-20 11:48:39 3 458680 29-SEP-20 11:48:43 29-SEP-20 11:48:47 10 458680 29-SEP-20 11:48:43 29-SEP-20 11:48:43 4 459759 29-SEP-20 11:48:50 29-SEP-20 11:48:51 7 459759 29-SEP-20 11:48:50 29-SEP-20 11:48:51 5 459765 29-SEP-20 11:48:51 29-SEP-20 11:48:52 8 459765 29-SEP-20 11:48:51 29-SEP-20 11:48:52 6 459779 29-SEP-20 11:48:53 29-SEP-20 11:48:53 9 459779 29-SEP-20 11:48:53 29-SEP-20 11:48:53 0 463290 29-SEP-20 11:49:14 29-SEP-20 11:49:15 12 rows selected. SQL> SQL> select sequence#, first_change#, next_change#-1, next_time 2 from v$backup_archivelog_details 3 order by sequence# 4 / SEQUENCE# FIRST_CHANGE# NEXT_CHANGE#-1 NEXT_TIME ---------- ------------- -------------- ------------------ 170 442901 448665 29-SEP-20 11:45:17 171 448666 450050 29-SEP-20 11:45:51 172 450051 451367 29-SEP-20 11:47:30 173 451368 454869 29-SEP-20 11:48:19 174 454870 457557 29-SEP-20 11:48:33 175 457558 457611 29-SEP-20 11:48:41 176 457612 459744 29-SEP-20 11:48:48 177 459745 459767 29-SEP-20 11:48:52 8 rows selected. SQL>
In this case, file#=0 is actually the Controlfile --- so it has the highest Checkpoint SCN and Time. As I noted in my previous post, it doesn't matter that the Controlfile is "newer" than the Datafiles. We need to check the Datafiles with the ArchiveLogs. So, we see that the datafiles have slightly different Checkpoint SCNs (the backup was created with FILESPERSET=2 so every pair of datafiles has a Checkpoint). The highest Datafile Checkpoint is 459779. But the ArchiveLogs end at 459767. Therefore, this database cannot be RECOVERed to a Consistent Point In Time.
SQL> shutdown immediate; ORA-01109: database not open Database dismounted. ORACLE instance shut down. SQL> SQL> quit Disconnected from Oracle Database 19c Enterprise Edition Release 19.0.0.0.0 - Production Version 19.3.0.0.0 oracle19c>ORACLE_SID=HEMANT;export ORACLE_SID oracle19c>ls -l $ORACLE_HOME/dbs/initHEMANT.ora -rw-r--r--. 1 oracle oinstall 693 Sep 28 23:05 /opt/oracle/product/19c/dbhome_1/dbs/initHEMANT.ora oracle19c>rman target / Recovery Manager: Release 19.0.0.0.0 - Production on Tue Sep 29 22:25:13 2020 Version 19.3.0.0.0 Copyright (c) 1982, 2019, Oracle and/or its affiliates. All rights reserved. connected to target database (not started) RMAN> RMAN> startup nomount; Oracle instance started Total System Global Area 1207958960 bytes Fixed Size 8895920 bytes Variable Size 318767104 bytes Database Buffers 872415232 bytes Redo Buffers 7880704 bytes RMAN> restore controlfile from '/home/oracle/HEMANT_DB_Backup/c-432411782-20200929-06'; Starting restore at 29-SEP-20 using target database control file instead of recovery catalog allocated channel: ORA_DISK_1 channel ORA_DISK_1: SID=20 device type=DISK channel ORA_DISK_1: restoring control file channel ORA_DISK_1: restore complete, elapsed time: 00:00:01 output file name=/opt/oracle/oradata/HEMANT/control01.ctl output file name=/opt/oracle/oradata/HEMANT/control02.ctl Finished restore at 29-SEP-20 RMAN> RMAN> alter database mount; released channel: ORA_DISK_1 Statement processed RMAN> crosscheck backup; allocated channel: ORA_DISK_1 channel ORA_DISK_1: SID=21 device type=DISK crosschecked backup piece: found to be 'EXPIRED' backup piece handle=/opt/oracle/product/19c/dbhome_1/dbs/0cvbkgui_1_1 RECID=12 STAMP=1052394450 crosschecked backup piece: found to be 'EXPIRED' backup piece handle=/opt/oracle/product/19c/dbhome_1/dbs/c-432411782-20200929-03 RECID=13 STAMP=1052394452 crosschecked backup piece: found to be 'EXPIRED' backup piece handle=/opt/oracle/product/19c/dbhome_1/dbs/0evbkh0d_1_1 RECID=14 STAMP=1052394509 crosschecked backup piece: found to be 'EXPIRED' backup piece handle=/opt/oracle/product/19c/dbhome_1/dbs/0fvbkh0k_1_1 RECID=15 STAMP=1052394516 crosschecked backup piece: found to be 'EXPIRED' backup piece handle=/opt/oracle/product/19c/dbhome_1/dbs/0gvbkh0r_1_1 RECID=16 STAMP=1052394523 crosschecked backup piece: found to be 'EXPIRED' backup piece handle=/opt/oracle/product/19c/dbhome_1/dbs/0hvbkh12_1_1 RECID=17 STAMP=1052394530 crosschecked backup piece: found to be 'EXPIRED' backup piece handle=/opt/oracle/product/19c/dbhome_1/dbs/0ivbkh13_1_1 RECID=18 STAMP=1052394532 crosschecked backup piece: found to be 'EXPIRED' backup piece handle=/opt/oracle/product/19c/dbhome_1/dbs/0jvbkh14_1_1 RECID=19 STAMP=1052394532 crosschecked backup piece: found to be 'EXPIRED' backup piece handle=/opt/oracle/product/19c/dbhome_1/dbs/0kvbkh14_1_1 RECID=20 STAMP=1052394533 crosschecked backup piece: found to be 'EXPIRED' backup piece handle=/opt/oracle/product/19c/dbhome_1/dbs/c-432411782-20200929-05 RECID=21 STAMP=1052394534 Crosschecked 10 objects RMAN> delete noprompt expired backup; using channel ORA_DISK_1 List of Backup Pieces BP Key BS Key Pc# Cp# Status Device Type Piece Name ------- ------- --- --- ----------- ----------- ---------- 12 12 1 1 EXPIRED DISK /opt/oracle/product/19c/dbhome_1/dbs/0cvbkgui_1_1 13 13 1 1 EXPIRED DISK /opt/oracle/product/19c/dbhome_1/dbs/c-432411782-20200929-03 14 14 1 1 EXPIRED DISK /opt/oracle/product/19c/dbhome_1/dbs/0evbkh0d_1_1 15 15 1 1 EXPIRED DISK /opt/oracle/product/19c/dbhome_1/dbs/0fvbkh0k_1_1 16 16 1 1 EXPIRED DISK /opt/oracle/product/19c/dbhome_1/dbs/0gvbkh0r_1_1 17 17 1 1 EXPIRED DISK /opt/oracle/product/19c/dbhome_1/dbs/0hvbkh12_1_1 18 18 1 1 EXPIRED DISK /opt/oracle/product/19c/dbhome_1/dbs/0ivbkh13_1_1 19 19 1 1 EXPIRED DISK /opt/oracle/product/19c/dbhome_1/dbs/0jvbkh14_1_1 20 20 1 1 EXPIRED DISK /opt/oracle/product/19c/dbhome_1/dbs/0kvbkh14_1_1 21 21 1 1 EXPIRED DISK /opt/oracle/product/19c/dbhome_1/dbs/c-432411782-20200929-05 deleted backup piece backup piece handle=/opt/oracle/product/19c/dbhome_1/dbs/0cvbkgui_1_1 RECID=12 STAMP=1052394450 deleted backup piece backup piece handle=/opt/oracle/product/19c/dbhome_1/dbs/c-432411782-20200929-03 RECID=13 STAMP=1052394452 deleted backup piece backup piece handle=/opt/oracle/product/19c/dbhome_1/dbs/0evbkh0d_1_1 RECID=14 STAMP=1052394509 deleted backup piece backup piece handle=/opt/oracle/product/19c/dbhome_1/dbs/0fvbkh0k_1_1 RECID=15 STAMP=1052394516 deleted backup piece backup piece handle=/opt/oracle/product/19c/dbhome_1/dbs/0gvbkh0r_1_1 RECID=16 STAMP=1052394523 deleted backup piece backup piece handle=/opt/oracle/product/19c/dbhome_1/dbs/0hvbkh12_1_1 RECID=17 STAMP=1052394530 deleted backup piece backup piece handle=/opt/oracle/product/19c/dbhome_1/dbs/0ivbkh13_1_1 RECID=18 STAMP=1052394532 deleted backup piece backup piece handle=/opt/oracle/product/19c/dbhome_1/dbs/0jvbkh14_1_1 RECID=19 STAMP=1052394532 deleted backup piece backup piece handle=/opt/oracle/product/19c/dbhome_1/dbs/0kvbkh14_1_1 RECID=20 STAMP=1052394533 deleted backup piece backup piece handle=/opt/oracle/product/19c/dbhome_1/dbs/c-432411782-20200929-05 RECID=21 STAMP=1052394534 Deleted 10 EXPIRED objects RMAN> RMAN> catalog start with '/home/oracle/HEMANT_DB_Backup/'; searching for all files that match the pattern /home/oracle/HEMANT_DB_Backup/ List of Files Unknown to the Database ===================================== File Name: /home/oracle/HEMANT_DB_Backup/0cvbkgui_1_1 File Name: /home/oracle/HEMANT_DB_Backup/0evbkh0d_1_1 File Name: /home/oracle/HEMANT_DB_Backup/0fvbkh0k_1_1 File Name: /home/oracle/HEMANT_DB_Backup/0gvbkh0r_1_1 File Name: /home/oracle/HEMANT_DB_Backup/0hvbkh12_1_1 File Name: /home/oracle/HEMANT_DB_Backup/0ivbkh13_1_1 File Name: /home/oracle/HEMANT_DB_Backup/0jvbkh14_1_1 File Name: /home/oracle/HEMANT_DB_Backup/0kvbkh14_1_1 File Name: /home/oracle/HEMANT_DB_Backup/c-432411782-20200929-06 Do you really want to catalog the above files (enter YES or NO)? YES cataloging files... cataloging done List of Cataloged Files ======================= File Name: /home/oracle/HEMANT_DB_Backup/0cvbkgui_1_1 File Name: /home/oracle/HEMANT_DB_Backup/0evbkh0d_1_1 File Name: /home/oracle/HEMANT_DB_Backup/0fvbkh0k_1_1 File Name: /home/oracle/HEMANT_DB_Backup/0gvbkh0r_1_1 File Name: /home/oracle/HEMANT_DB_Backup/0hvbkh12_1_1 File Name: /home/oracle/HEMANT_DB_Backup/0ivbkh13_1_1 File Name: /home/oracle/HEMANT_DB_Backup/0jvbkh14_1_1 File Name: /home/oracle/HEMANT_DB_Backup/0kvbkh14_1_1 File Name: /home/oracle/HEMANT_DB_Backup/c-432411782-20200929-06 RMAN> RMAN> restore database; Starting restore at 29-SEP-20 using channel ORA_DISK_1 channel ORA_DISK_1: starting datafile backup set restore channel ORA_DISK_1: specifying datafile(s) to restore from backup set channel ORA_DISK_1: restoring datafile 00001 to /opt/oracle/oradata/HEMANT/system.dbf channel ORA_DISK_1: restoring datafile 00011 to /opt/oracle/oradata/HEMANT/indx03.dbf channel ORA_DISK_1: reading from backup piece /home/oracle/HEMANT_DB_Backup/0evbkh0d_1_1 channel ORA_DISK_1: piece handle=/home/oracle/HEMANT_DB_Backup/0evbkh0d_1_1 tag=TAG20200929T114829 channel ORA_DISK_1: restored backup piece 1 channel ORA_DISK_1: restore complete, elapsed time: 00:00:07 channel ORA_DISK_1: starting datafile backup set restore channel ORA_DISK_1: specifying datafile(s) to restore from backup set channel ORA_DISK_1: restoring datafile 00002 to /opt/oracle/oradata/HEMANT/sysaux.dbf channel ORA_DISK_1: reading from backup piece /home/oracle/HEMANT_DB_Backup/0fvbkh0k_1_1 channel ORA_DISK_1: piece handle=/home/oracle/HEMANT_DB_Backup/0fvbkh0k_1_1 tag=TAG20200929T114829 channel ORA_DISK_1: restored backup piece 1 channel ORA_DISK_1: restore complete, elapsed time: 00:00:07 channel ORA_DISK_1: starting datafile backup set restore channel ORA_DISK_1: specifying datafile(s) to restore from backup set channel ORA_DISK_1: restoring datafile 00003 to /opt/oracle/oradata/HEMANT/undotbs.dbf channel ORA_DISK_1: restoring datafile 00010 to /opt/oracle/oradata/HEMANT/indx02.dbf channel ORA_DISK_1: reading from backup piece /home/oracle/HEMANT_DB_Backup/0gvbkh0r_1_1 channel ORA_DISK_1: piece handle=/home/oracle/HEMANT_DB_Backup/0gvbkh0r_1_1 tag=TAG20200929T114829 channel ORA_DISK_1: restored backup piece 1 channel ORA_DISK_1: restore complete, elapsed time: 00:00:07 channel ORA_DISK_1: starting datafile backup set restore channel ORA_DISK_1: specifying datafile(s) to restore from backup set channel ORA_DISK_1: restoring datafile 00004 to /opt/oracle/oradata/HEMANT/users01.dbf channel ORA_DISK_1: restoring datafile 00007 to /opt/oracle/oradata/HEMANT/users03.dbf channel ORA_DISK_1: reading from backup piece /home/oracle/HEMANT_DB_Backup/0hvbkh12_1_1 channel ORA_DISK_1: piece handle=/home/oracle/HEMANT_DB_Backup/0hvbkh12_1_1 tag=TAG20200929T114829 channel ORA_DISK_1: restored backup piece 1 channel ORA_DISK_1: restore complete, elapsed time: 00:00:01 channel ORA_DISK_1: starting datafile backup set restore channel ORA_DISK_1: specifying datafile(s) to restore from backup set channel ORA_DISK_1: restoring datafile 00005 to /opt/oracle/oradata/HEMANT/indx01.dbf channel ORA_DISK_1: restoring datafile 00008 to /opt/oracle/oradata/HEMANT/users04.dbf channel ORA_DISK_1: reading from backup piece /home/oracle/HEMANT_DB_Backup/0ivbkh13_1_1 channel ORA_DISK_1: piece handle=/home/oracle/HEMANT_DB_Backup/0ivbkh13_1_1 tag=TAG20200929T114829 channel ORA_DISK_1: restored backup piece 1 channel ORA_DISK_1: restore complete, elapsed time: 00:00:01 channel ORA_DISK_1: starting datafile backup set restore channel ORA_DISK_1: specifying datafile(s) to restore from backup set channel ORA_DISK_1: restoring datafile 00006 to /opt/oracle/oradata/HEMANT/users02.dbf channel ORA_DISK_1: restoring datafile 00009 to /opt/oracle/oradata/HEMANT/users05.dbf channel ORA_DISK_1: reading from backup piece /home/oracle/HEMANT_DB_Backup/0kvbkh14_1_1 channel ORA_DISK_1: piece handle=/home/oracle/HEMANT_DB_Backup/0kvbkh14_1_1 tag=TAG20200929T114829 channel ORA_DISK_1: restored backup piece 1 channel ORA_DISK_1: restore complete, elapsed time: 00:00:01 Finished restore at 29-SEP-20 RMAN> RMAN> list backup of archivelog all; List of Backup Sets =================== BS Key Size Device Type Elapsed Time Completion Time ------- ---------- ----------- ------------ --------------- 22 4.19M DISK 00:00:00 29-SEP-20 BP Key: 22 Status: AVAILABLE Compressed: YES Tag: TAG20200929T114730 Piece Name: /home/oracle/HEMANT_DB_Backup/0cvbkgui_1_1 List of Archived Logs in backup set 22 Thrd Seq Low SCN Low Time Next SCN Next Time ---- ------- ---------- --------- ---------- --------- 1 170 442901 29-SEP-20 448666 29-SEP-20 1 171 448666 29-SEP-20 450051 29-SEP-20 1 172 450051 29-SEP-20 451368 29-SEP-20 BS Key Size Device Type Elapsed Time Completion Time ------- ---------- ----------- ------------ --------------- 28 4.64M DISK 00:00:01 29-SEP-20 BP Key: 28 Status: AVAILABLE Compressed: YES Tag: TAG20200929T114852 Piece Name: /home/oracle/HEMANT_DB_Backup/0jvbkh14_1_1 List of Archived Logs in backup set 28 Thrd Seq Low SCN Low Time Next SCN Next Time ---- ------- ---------- --------- ---------- --------- 1 173 451368 29-SEP-20 454870 29-SEP-20 1 174 454870 29-SEP-20 457558 29-SEP-20 1 175 457558 29-SEP-20 457612 29-SEP-20 1 176 457612 29-SEP-20 459745 29-SEP-20 1 177 459745 29-SEP-20 459768 29-SEP-20 RMAN> RMAN> recover database until sequence 178; Starting recover at 29-SEP-20 using channel ORA_DISK_1 RMAN-00571: =========================================================== RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS =============== RMAN-00571: =========================================================== RMAN-03002: failure of recover command at 09/29/2020 22:31:03 RMAN-06556: datafile 6 must be restored from backup older than SCN 459768 RMAN> RMAN> restore archivelog all; Starting restore at 29-SEP-20 using target database control file instead of recovery catalog allocated channel: ORA_DISK_1 channel ORA_DISK_1: SID=255 device type=DISK RMAN-00571: =========================================================== RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS =============== RMAN-00571: =========================================================== RMAN-03002: failure of restore command at 09/29/2020 22:35:48 RMAN-06026: some targets not found - aborting restore RMAN-06025: no backup of archived log for thread 1 with sequence 178 and starting SCN of 459768 found to restore RMAN> restore archivelog until sequence 178; Starting restore at 29-SEP-20 using channel ORA_DISK_1 RMAN-00571: =========================================================== RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS =============== RMAN-00571: =========================================================== RMAN-03002: failure of restore command at 09/29/2020 22:36:17 RMAN-06026: some targets not found - aborting restore RMAN-06025: no backup of archived log for thread 1 with sequence 178 and starting SCN of 459768 found to restore RMAN> RMAN> list archivelog all; List of Archived Log Copies for database with db_unique_name HEMANT ===================================================================== Key Thrd Seq S Low Time ------- ---- ------- - --------- 9 1 178 A 29-SEP-20 Name: /opt/oracle/archivelog/HEMANT/1_178_1052392838.dbf RMAN> crosscheck archivelog all; released channel: ORA_DISK_1 allocated channel: ORA_DISK_1 channel ORA_DISK_1: SID=255 device type=DISK validation failed for archived log archived log file name=/opt/oracle/archivelog/HEMANT/1_178_1052392838.dbf RECID=9 STAMP=1052394543 Crosschecked 1 objects RMAN> delete expired archivelog all; released channel: ORA_DISK_1 allocated channel: ORA_DISK_1 channel ORA_DISK_1: SID=255 device type=DISK List of Archived Log Copies for database with db_unique_name HEMANT ===================================================================== Key Thrd Seq S Low Time ------- ---- ------- - --------- 9 1 178 X 29-SEP-20 Name: /opt/oracle/archivelog/HEMANT/1_178_1052392838.dbf Do you really want to delete the above objects (enter YES or NO)? YES deleted archived log archived log file name=/opt/oracle/archivelog/HEMANT/1_178_1052392838.dbf RECID=9 STAMP=1052394543 Deleted 1 EXPIRED objects RMAN> RMAN> restore archivelog all; Starting restore at 29-SEP-20 using channel ORA_DISK_1 RMAN-00571: =========================================================== RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS =============== RMAN-00571: =========================================================== RMAN-03002: failure of restore command at 09/29/2020 22:37:59 RMAN-06026: some targets not found - aborting restore RMAN-06025: no backup of archived log for thread 1 with sequence 178 and starting SCN of 459768 found to restore RMAN> restore archivelog until sequence 177; Starting restore at 29-SEP-20 using target database control file instead of recovery catalog allocated channel: ORA_DISK_1 channel ORA_DISK_1: SID=26 device type=DISK channel ORA_DISK_1: starting archived log restore to default destination channel ORA_DISK_1: restoring archived log archived log thread=1 sequence=170 channel ORA_DISK_1: restoring archived log archived log thread=1 sequence=171 channel ORA_DISK_1: restoring archived log archived log thread=1 sequence=172 channel ORA_DISK_1: reading from backup piece /home/oracle/HEMANT_DB_Backup/0cvbkgui_1_1 channel ORA_DISK_1: piece handle=/home/oracle/HEMANT_DB_Backup/0cvbkgui_1_1 tag=TAG20200929T114730 channel ORA_DISK_1: restored backup piece 1 channel ORA_DISK_1: restore complete, elapsed time: 00:00:01 channel ORA_DISK_1: starting archived log restore to default destination channel ORA_DISK_1: restoring archived log archived log thread=1 sequence=173 channel ORA_DISK_1: restoring archived log archived log thread=1 sequence=174 channel ORA_DISK_1: restoring archived log archived log thread=1 sequence=175 channel ORA_DISK_1: restoring archived log archived log thread=1 sequence=176 channel ORA_DISK_1: restoring archived log archived log thread=1 sequence=177 channel ORA_DISK_1: reading from backup piece /home/oracle/HEMANT_DB_Backup/0jvbkh14_1_1 channel ORA_DISK_1: piece handle=/home/oracle/HEMANT_DB_Backup/0jvbkh14_1_1 tag=TAG20200929T114852 channel ORA_DISK_1: restored backup piece 1 channel ORA_DISK_1: restore complete, elapsed time: 00:00:01 Finished restore at 29-SEP-20 RMAN> RMAN> exit Recovery Manager complete. oracle19c>sqlplus '/ as sysdba' SQL*Plus: Release 19.0.0.0.0 - Production on Tue Sep 29 22:48:53 2020 Version 19.3.0.0.0 Copyright (c) 1982, 2019, Oracle. All rights reserved. Connected to: Oracle Database 19c Enterprise Edition Release 19.0.0.0.0 - Production Version 19.3.0.0.0 SQL> alter database recover using backup controlfile until cancel; alter database recover using backup controlfile until cancel * ERROR at line 1: ORA-00279: change 456249 generated at 09/29/2020 11:48:29 needed for thread 1 ORA-00289: suggestion : /opt/oracle/archivelog/HEMANT/1_174_1052392838.dbf ORA-00280: change 456249 for thread 1 is in sequence #174 SQL> SQL> alter database recover logfile '/opt/oracle/archivelog/HEMANT/1_174_1052392838.dbf'; alter database recover logfile '/opt/oracle/archivelog/HEMANT/1_174_1052392838.dbf' * ERROR at line 1: ORA-00279: change 457558 generated at 09/29/2020 11:48:33 needed for thread 1 ORA-00289: suggestion : /opt/oracle/archivelog/HEMANT/1_175_1052392838.dbf ORA-00280: change 457558 for thread 1 is in sequence #175 ORA-00278: log file '/opt/oracle/archivelog/HEMANT/1_174_1052392838.dbf' no longer needed for this recovery SQL> alter database recover logfile '/opt/oracle/archivelog/HEMANT/1_175_1052392838.dbf'; alter database recover logfile '/opt/oracle/archivelog/HEMANT/1_175_1052392838.dbf' * ERROR at line 1: ORA-00279: change 457612 generated at 09/29/2020 11:48:41 needed for thread 1 ORA-00289: suggestion : /opt/oracle/archivelog/HEMANT/1_176_1052392838.dbf ORA-00280: change 457612 for thread 1 is in sequence #176 ORA-00278: log file '/opt/oracle/archivelog/HEMANT/1_175_1052392838.dbf' no longer needed for this recovery SQL> alter database recover logfile '/opt/oracle/archivelog/HEMANT/1_176_1052392838.dbf'; alter database recover logfile '/opt/oracle/archivelog/HEMANT/1_176_1052392838.dbf' * ERROR at line 1: ORA-00279: change 459745 generated at 09/29/2020 11:48:48 needed for thread 1 ORA-00289: suggestion : /opt/oracle/archivelog/HEMANT/1_177_1052392838.dbf ORA-00280: change 459745 for thread 1 is in sequence #177 ORA-00278: log file '/opt/oracle/archivelog/HEMANT/1_176_1052392838.dbf' no longer needed for this recovery SQL> alter database recover logfile '/opt/oracle/archivelog/HEMANT/1_177_1052392838.dbf'; alter database recover logfile '/opt/oracle/archivelog/HEMANT/1_177_1052392838.dbf' * ERROR at line 1: ORA-00279: change 459768 generated at 09/29/2020 11:48:52 needed for thread 1 ORA-00289: suggestion : /opt/oracle/archivelog/HEMANT/1_178_1052392838.dbf ORA-00280: change 459768 for thread 1 is in sequence #178 ORA-00278: log file '/opt/oracle/archivelog/HEMANT/1_177_1052392838.dbf' no longer needed for this recovery SQL> alter database open resetlogs; alter database open resetlogs * ERROR at line 1: ORA-10877: error signaled in parallel recovery slave ORA-10877: error signaled in parallel recovery slave ORA-01153: an incompatible media recovery is active SQL> alter database recover cancel; alter database recover cancel * ERROR at line 1: ORA-01112: media recovery not started SQL> alter database open resetlogs; alter database open resetlogs * ERROR at line 1: ORA-01152: file 6 was not restored from a sufficiently old backup ORA-01110: data file 6: '/opt/oracle/oradata/HEMANT/users02.dbf' SQL>
ArchiveLog Sequence#178 had been created in the source server before the controlfile backup but is not in the Backup Pieces I received. So, Oracle refuses to allow me to RECOVER the database.
2020-09-29T22:29:17.560085+08:00 Full restore complete of datafile 1 /opt/oracle/oradata/HEMANT/system.dbf. Elapsed time: 0:00:06 checkpoint is 456249 2020-09-29T22:29:23.415906+08:00 Full restore complete of datafile 2 /opt/oracle/oradata/HEMANT/sysaux.dbf. Elapsed time: 0:00:05 checkpoint is 457590 last deallocation scn is 450639 2020-09-29T22:29:25.874043+08:00 Full restore complete of datafile 10 /opt/oracle/oradata/HEMANT/indx02.dbf. Elapsed time: 0:00:00 checkpoint is 458680 last deallocation scn is 3 2020-09-29T22:29:29.812208+08:00 Full restore complete of datafile 3 /opt/oracle/oradata/HEMANT/undotbs.dbf. Elapsed time: 0:00:04 checkpoint is 458680 last deallocation scn is 3 2020-09-29T22:29:33.129942+08:00 Full restore complete of datafile 4 /opt/oracle/oradata/HEMANT/users01.dbf. Elapsed time: 0:00:01 checkpoint is 459759 last deallocation scn is 3 Full restore complete of datafile 7 /opt/oracle/oradata/HEMANT/users03.dbf. Elapsed time: 0:00:01 checkpoint is 459759 last deallocation scn is 3 Full restore complete of datafile 5 /opt/oracle/oradata/HEMANT/indx01.dbf. Elapsed time: 0:00:00 checkpoint is 459765 last deallocation scn is 3 Full restore complete of datafile 8 /opt/oracle/oradata/HEMANT/users04.dbf. Elapsed time: 0:00:01 checkpoint is 459765 last deallocation scn is 3 2020-09-29T22:29:35.182200+08:00 Full restore complete of datafile 6 /opt/oracle/oradata/HEMANT/users02.dbf. Elapsed time: 0:00:01 checkpoint is 459779 last deallocation scn is 3 Full restore complete of datafile 9 /opt/oracle/oradata/HEMANT/users05.dbf. Elapsed time: 0:00:01 checkpoint is 459779 last deallocation scn is 3 2020-09-29T22:34:44.026271+08:00 alter database recover using backup controlfile 2020-09-29T22:34:44.026373+08:00 Media Recovery Start Started logmerger process 2020-09-29T22:34:44.322629+08:00 Parallel Media Recovery started with 2 slaves ORA-279 signalled during: alter database recover using backup controlfile... 2020-09-29T22:35:34.263529+08:00 ************************************************************* 2020-09-29T22:49:27.004784+08:00 alter database recover using backup controlfile until cancel 2020-09-29T22:49:27.004864+08:00 Media Recovery Start Started logmerger process 2020-09-29T22:49:27.132583+08:00 Parallel Media Recovery started with 2 slaves ORA-279 signalled during: alter database recover using backup controlfile until cancel... 2020-09-29T22:50:52.692824+08:00 alter database recover using backup controlfile 2020-09-29T22:50:52.692943+08:00 Media Recovery Start ORA-275 signalled during: alter database recover using backup controlfile... 2020-09-29T22:52:19.356431+08:00 alter database recover logfile '/opt/oracle/archivelog/HEMANT/1_174_1052392838.dbf' 2020-09-29T22:52:19.356498+08:00 Media Recovery Log /opt/oracle/archivelog/HEMANT/1_174_1052392838.dbf ORA-279 signalled during: alter database recover logfile '/opt/oracle/archivelog/HEMANT/1_174_1052392838.dbf'... 2020-09-29T22:52:36.435252+08:00 alter database recover logfile '/opt/oracle/archivelog/HEMANT/1_175_1052392838.dbf' 2020-09-29T22:52:36.435374+08:00 Media Recovery Log /opt/oracle/archivelog/HEMANT/1_175_1052392838.dbf ORA-279 signalled during: alter database recover logfile '/opt/oracle/archivelog/HEMANT/1_175_1052392838.dbf'... 2020-09-29T22:52:51.906865+08:00 alter database recover logfile '/opt/oracle/archivelog/HEMANT/1_176_1052392838.dbf' 2020-09-29T22:52:51.906956+08:00 Media Recovery Log /opt/oracle/archivelog/HEMANT/1_176_1052392838.dbf ORA-279 signalled during: alter database recover logfile '/opt/oracle/archivelog/HEMANT/1_176_1052392838.dbf'... 2020-09-29T22:53:18.228572+08:00 alter database recover logfile '/opt/oracle/archivelog/HEMANT/1_177_1052392838.dbf' 2020-09-29T22:53:18.228668+08:00 Media Recovery Log /opt/oracle/archivelog/HEMANT/1_177_1052392838.dbf ORA-279 signalled during: alter database recover logfile '/opt/oracle/archivelog/HEMANT/1_177_1052392838.dbf'... 2020-09-29T22:53:25.958701+08:00 alter database open resetlogs 2020-09-29T22:53:26.113916+08:00 Recovery interrupted! ORA-10877 signalled during: alter database open resetlogs... 2020-09-29T22:53:35.846419+08:00 2020-09-29T22:53:35.846419+08:00 alter database recover cancel ORA-1112 signalled during: alter database recover cancel... 2020-09-29T22:54:03.274546+08:00 alter database open resetlogs 2020-09-29T22:54:03.306918+08:00 Signalling error 1152 for datafile 6! ORA-1152 signalled during: alter database open resetlogs...
So, even if I manually RESTORE the ArchiveLogs and then apply each one with the RECOVER LOGFILE command, Oracle still doesn't allow an OPEN RESETOGS because Sequence#178 is missing.
No comments:
Post a Comment