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

1.拷贝数据到测试恢复环境:

2.rman下恢复:
set ORACLE_SID EASDBA2
rman target /
startup nomount force; (可在sqlplus下;也可以在rman 下执行)

restore controlfile from 'E:\backup\rman22\DBA_CON_C-1326376453-20200922-01.BAK';

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错误,如下图所示:

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;

catalog start with 'E:\backup\rman23';

list incarnation;

最后指定位置恢复:
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;
}

recover database;

Report schema:


此时不要打开数据库,检查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';

4.再打开数据库:
alter database open resetlogs;

按report schema进行调整temp tablespace;

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';

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

 

 


 

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值