记一次rman恢复:ORA-03002,ORA-06026

1.拷贝数据到测试恢复环境:
记一次rman恢复:ORA-03002,ORA-06026

2.rman下恢复:
set ORACLE_SID EASDBA2
rman target /
startup nomount force; (可在sqlplus下;也可以在rman 下执行)
记一次rman恢复:ORA-03002,ORA-06026
restore controlfile from 'E:\backup\rman22\DBA_CON_C-1326376453-20200922-01.BAK';
记一次rman恢复:ORA-03002,ORA-06026
alter database mount;
restore spfile to 'E:\orawlp\0922.ora' from 'E:\backup\rman22\20200922_EASDBA2_9489_1.ORA';
spfile恢复后,不要急着先catalog start with;改名备份文件夹,然后清理此恢复环境上所有与备份相关问题,以防之前有做过数据恢复,造成ORA-06026错误,如下图所示:
记一次rman恢复:ORA-03002,ORA-06026
06026错误如下:
记一次rman恢复:ORA-03002,ORA-06026
记一次rman恢复:ORA-03002,ORA-06026
同时,警告日志显示错误如上所示。
改名文件夹为rman23;然后清理备份及归档并检查OS上归档下日志,全部清理:
crosscheck archivelog all;
crosscheck backup;
delete noprompt obsolete;
delete noprompt expired backup;
delete noprompt expired archivelog all;
再执行:catalog start with 'E:\backup\rman23';
然后检查还原点:
list incarnation;
reset database to  incarnation 1; 确保恢复数据库为1:
crosscheck backup;
crosscheck copy;

3.执行如下(先执行)
crosscheck archivelog all;
crosscheck backup;
delete noprompt obsolete;
delete noprompt expired backup;
delete noprompt expired archivelog all;
记一次rman恢复:ORA-03002,ORA-06026
catalog start with 'E:\backup\rman23';
记一次rman恢复:ORA-03002,ORA-06026
list incarnation;
记一次rman恢复:ORA-03002,ORA-06026
最后指定位置恢复:
run{
set newname for datafile      1    to    'E:\orawlp\SYSTEM01.DBF';
set newname for datafile     2    to    'E:\orawlp\SYSAUX01.DBF';
set newname for datafile      3    to    'E:\orawlp\UNDOTBS01.DBF';
set newname for datafile     4    to    'E:\orawlp\USERS01.DBF';
set newname for datafile      5    to    'E:\orawlp\DBA2_01.DBF';
set newname for datafile     6    to    'E:\orawlp\DBA2_02.DBF';
set newname for datafile      7    to    'E:\orawlp\DBA2_03.DBF';
set newname for datafile     8    to    'E:\orawlp\DBA2_04.DBF';
set newname for datafile      9    to    'E:\orawlp\DBA2_05.DBF';
set newname for datafile     10    to    'E:\orawlp\DBA2_06.DBF';
set newname for datafile      11    to    'E:\orawlp\_D_KINGDEE_STANDARD01.DBF';
set newname for datafile     12    to    'E:\orawlp\_D_BDH_STANDARD.DBF';
set newname for datafile      13    to    'E:\orawlp\_D_TEST_STANDARD';
set newname for datafile     14    to    'E:\orawlp\_D_TEST_STANDARD2';
set newname for datafile      15    to    'E:\orawlp\_D_DEMO_STANDARD.DBF';
set newname for datafile     16    to    'E:\orawlp\_D_DEMO_STANDARD02.DBF';
set newname for datafile      17    to    'E:\orawlp\_D_BDH_STANDARD02.DBF';
set newname for datafile     18    to    'E:\orawlp\_D_BDH_STANDARD03.DBF';
set newname for datafile      19    to    'E:\orawlp\_D_BDH_STANDARD04.DBF';
set newname for datafile     20    to    'E:\orawlp\_D_BDH_STANDARD05.DBF';
set newname for datafile      21    to    'E:\orawlp\_D_BDH_STANDARD06.DBF';
restore database;
switch datafile all;
}
记一次rman恢复:ORA-03002,ORA-06026
recover database;
记一次rman恢复:ORA-03002,ORA-06026
Report schema:
记一次rman恢复:ORA-03002,ORA-06026

此时不要打开数据库,检查redolog文件位置(mount模式):
sqlplus / as sysdba
SQL> select
  'alter database rename file ' || chr(10)
 || '''' || member || '''' || ' to ' || chr(10) || '''' || member || '''' ||';'
  from v$logfile;
alter database rename file 'Y:\DATA2\REDO04.LOG' to 'E:\ORAWLP\REDO04.LOG';
alter database rename file 'Y:\DATA2\REDO01.LOG' to 'E:\ORAWLP\REDO01.LOG';
alter database rename file 'Y:\DATA2\REDO03.LOG' to 'E:\ORAWLP\REDO03.LOG';
alter database rename file 'Y:\DATA2\REDO02.LOG' to 'E:\ORAWLP\REDO02.LOG';
记一次rman恢复:ORA-03002,ORA-06026
4.再打开数据库:
alter database open resetlogs;
记一次rman恢复:ORA-03002,ORA-06026
按report schema进行调整temp tablespace;
记一次rman恢复:ORA-03002,ORA-06026

alter tablespace temp add tempfile 'E:\orawlp\temp00.dbf' size 100M autoextend on maxsize 10G;
alter tablespace temp drop tempfile 'Y:\DATA2\DBA2\TEMP01.DBF';
alter tablespace _T_TEST_STANDARD drop tempfile 'Y:\TESTDATA\_T_TEST_STANDARD';
alter tablespace _T_DEMO_STANDARD add tempfile 'E:\orawlp\_T_DEMO_STANDARD.dbf' size 100M autoextend on maxsize 10G;
alter tablespace _T_DEMO_STANDARD drop tempfile 'Y:\TESTDATA\_T_DEMO_STANDARD.DBF';
记一次rman恢复:ORA-03002,ORA-06026

已经恢复完成,参数调整,并测试开/关DB如下::
alter system set undo_retention=28800 scope=both;
到此,恢复完成。