暂无图片
暂无图片
1
暂无图片
暂无图片
暂无图片

模拟一次丢失所有归档和增量备份的恢复

– 模拟一次丢失所有归档和增量备份的恢复

-- 1 RMAN 执行 0 级增量全备,模拟修改数据,再做1次1级增量备份 -- 2 模拟删除备份中所有归档(把归档移动到另外一个目录) [oracle@db3 rman]$ll total 715M -rw-r----- 1 oracle oinstall 140M 2021-03-18 16:11 db_lv0_ORCL_20210318_161128_58_1.bk -rw-r----- 1 oracle oinstall 164M 2021-03-18 16:11 db_lv0_ORCL_20210318_161128_59_1.bk -rw-r----- 1 oracle oinstall 209M 2021-03-18 16:11 db_lv0_ORCL_20210318_161128_60_1.bk -rw-r----- 1 oracle oinstall 1.4M 2021-03-18 16:11 db_lv0_ORCL_20210318_161128_61_1.bk -rw-r----- 1 oracle oinstall 25M 2021-03-18 16:12 db_lv0_ORCL_20210318_161128_62_1.bk -rw-r----- 1 oracle oinstall 52M 2021-03-18 16:12 db_lv0_ORCL_20210318_161128_64_1.bk -rw-r----- 1 oracle oinstall 96K 2021-03-18 16:12 db_lv0_ORCL_20210318_161128_66_1.bk -rw-r----- 1 oracle oinstall 1.1M 2021-03-18 16:12 db_lv0_ORCL_20210318_161128_65_1.bk -rw-r----- 1 oracle oinstall 106M 2021-03-18 16:12 db_lv0_ORCL_20210318_161128_63_1.bk -rw-r--r-- 1 oracle oinstall 1.4K 2021-03-18 16:12 pf_ORCL_20210318_161128.ora -rw-r--r-- 1 oracle oinstall 11K 2021-03-18 16:12 cf_sql_ORCL_20210318_161128.ora -rw-r----- 1 oracle oinstall 9.7M 2021-03-18 16:12 cf_ORCL_20210318_161128_69_1.bk.bk -rw-r--r-- 1 oracle oinstall 1.4K 2021-03-18 16:13 pf_ORCL_20210318_161325.ora -rw-r--r-- 1 oracle oinstall 11K 2021-03-18 16:13 cf_sql_ORCL_20210318_161325.ora -rw-r----- 1 oracle oinstall 9.7M 2021-03-18 16:13 cf_ORCL_20210318_161325_80_1.bk.bk [oracle@db3 rman]$ll ../arch total 4.7M -rw-r----- 1 oracle oinstall 3.0K 2021-03-18 16:12 arch_ORCL_20210318_161128_68_1.bk -rw-r----- 1 oracle oinstall 2.7M 2021-03-18 16:12 arch_ORCL_20210318_161128_67_1.bk -rw-r----- 1 oracle oinstall 56K 2021-03-18 16:13 db_lv1_ORCL_20210318_161325_72_1.bk -rw-r----- 1 oracle oinstall 240K 2021-03-18 16:13 db_lv1_ORCL_20210318_161325_70_1.bk -rw-r----- 1 oracle oinstall 104K 2021-03-18 16:13 db_lv1_ORCL_20210318_161325_71_1.bk -rw-r----- 1 oracle oinstall 40K 2021-03-18 16:13 db_lv1_ORCL_20210318_161325_73_1.bk -rw-r----- 1 oracle oinstall 96K 2021-03-18 16:13 db_lv1_ORCL_20210318_161325_76_1.bk -rw-r----- 1 oracle oinstall 216K 2021-03-18 16:13 db_lv1_ORCL_20210318_161325_74_1.bk -rw-r----- 1 oracle oinstall 1.1M 2021-03-18 16:13 db_lv1_ORCL_20210318_161325_75_1.bk -rw-r----- 1 oracle oinstall 98K 2021-03-18 16:13 arch_ORCL_20210318_161325_77_1.bk -rw-r----- 1 oracle oinstall 4.5K 2021-03-18 16:13 arch_ORCL_20210318_161325_78_1.bk -rw-r----- 1 oracle oinstall 3.0K 2021-03-18 16:13 arch_ORCL_20210318_161325_79_1.bk -- 恢复数据库 SQLPLUS create spfile from pfile='/u11/rman/pf_ORCL_20210318_161128.ora'; -- 恢复控制文件 RMAN RESTORE CONTROLFILE TO '/u01/ORCL/datafile/control01.ctl' from '/u11/rman/cf_ORCL_20210318_161325_80_1.bk.bk'; alter database mount; run { allocate channel c1 type disk; allocate channel c2 type disk; allocate channel c3 type disk; set newname for database to '/u01/ORCL/dbf/%U.f'; restore database; switch datafile all; release channel c1; release channel c2; release channel c3; } -- resotre 成功 -- 因为删除了所有归档备份和增量备份,只能使用noredo选项恢复数据库 run { allocate channel c1 type disk; allocate channel c2 type disk; allocate channel c3 type disk; recover database noredo; release channel c1; release channel c2; release channel c3; } -- recover database until sequence 356; -- recover 成功 -- 重置redo日志 alter database clear logfile group 1; alter database clear logfile group 2; alter database clear logfile group 3; alter database mount; -- 打开数据库报错,控制文件SCN大于数据文件SCN,数据文件SCN不能通过归档文件推进 alter database open resetlogs; ORA-01152: file 1 was not restored from a sufficiently old backup ORA-01110: data file 1: '/u01/ORCL/dbf/data_D-ORCL_TS-SYSTEM_FNO-1.f' -- 控文件SCN大于数据文件SCN select a.file#,a.CHECKPOINT_CHANGE# file_scn,b.CHECKPOINT_CHANGE# cf_scn from v$datafile_header a,v$datafile b where a.file#=b.file#; FILE# FILE_SCN CF_SCN ----- ---------- ---------- 1 9344975 9345016 3 9344973 9345016 4 9344973 9345016 5 1740639 1740639 6 9344975 9345016 7 1740639 1740639 23 9344974 9345016 24 9344974 9345016 26 9344984 9345016 37 9344985 9345016 39 9344985 9345016 -- 偿试sqlplus中恢复数据库 提示找不到归档 SQLPLUS recover database using backup controlfile until cancel; ORA-00279: change 9344973 generated at 03/18/2021 16:11:33 needed for thread 1 ORA-00289: suggestion : /u01/ORCL/fra/ORCL/archivelog/2021_03_18/o1_mf_1_352_%u_.arc ORA-00280: change 9344973 for thread 1 is in sequence #352 ..... ORA-01547: warning: RECOVER succeeded but OPEN RESETLOGS would get error below ORA-01152: file 1 was not restored from a sufficiently old backup ORA-01110: data file 1: '/u01/ORCL/dbf/data_D-ORCL_TS-SYSTEM_FNO-1.f' -- 解决方案: -- 1 BBED手动推数据文件SCN -- 2 隐藏参数强行打开数据库 -- 隐藏参数打开数据库 -- 通过隐藏参数打开数据库 alter system set "_allow_resetlogs_corruption"=true scope=spfile sid='*'; startup mount force; alter database open resetlogs; -- 成功打开数据库 -- 把参数调回原值,重启数据库:运行正常(丢失了全备之后的数据) alter system reset "_allow_resetlogs_corruption"; shutdown immediate; startup mount;
最后修改时间:2021-03-18 17:44:45
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论