oracle可恢复的等待,【案例】Oracle RAC恢复报错RMAN-06004 RMAN-20003解决办法笔记
天萃荷净
Oracle研究中心案例分析:运维DBA反映在对Oracle数据库进行恢复时报错,执行recover database报RMAN-06004 RMAN-20003错误。
最近遇到11.2.0.3 RAC FOR AIX平台在出账高峰期生成的归档日志有损坏,导致归档日志文件备份失败。
关键在此系统上有DG,并且在出账的期间,由于需要,将备库转换成SNAPSHOT STANDBY,此时遇到主库已经成功传输到备库的归档文件在主库不能删除的BUG,还由于其它一些原因,禁用主机传输到备库的归档路径。悲剧来了,归档日志文件坏了,没有办法,月初高峰期后,使用增量备份来前滚物理备库吧,但是不巧的是又遇到下面的报错。
released channel: t1
released channel: t2
released channel: t3
released channel: t4
RMAN-00571: ===========================================================
RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============
RMAN-00571: ===========================================================
RMAN-03002: failure of recover command at 05/05/2016 16:29:47
RMAN-06004: ORACLE error from recovery catalog database: RMAN-20003: target database incarnation not found in recovery catalog
下面是整个操作过程
1,主库进行增量备份
提供命令给备份工程师,让备份工程师完成增量备份
SELECT MIN(checkpoint_change#) FROM V$DATAFILE;
BACKUP INCREMENTAL FROM SCN xxxxx DATABASE FOR 'STANDBY_20160000';
大概几个小时后,增量备份完成。
2,主库备份控制文件
主库备份控制文件,并传输到备库主机
backup current controlfile for standby format='/tmp/con_standby.ctl';
scp con_standby.ctl 192.168.111.12:/tmp
3,备库还原控制文件
QL> !rman target /
Recovery Manager: Release 11.2.0.3.0 - Production on Thu May 5 16:14:46 2016
Copyright (c) 1982, 2011, Oracle and/or its affiliates. All rights reserved.
connected to target database: ACCT (not mounted)
RMAN> restore controlfile from '/tmp/con_standby.ctl';这里应该使用restore standby controlfile
RMAN> alter database mount;
database mounted
released channel: ORA_DISK_1
4,更改数据文件路径
由于主库与备库的数据文件路径不一样,需要手动修改
RMAN> catalog start with '/linshi/dev';
修改数据文件的路径
RMAN> switch database to copy;
RMAN-00571: ===========================================================
RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============
RMAN-00571: ===========================================================
RMAN-03002: failure of switch to copy command at 05/05/2016 16:17:32
RMAN-06571: datafile 1 does not have recoverable copy
这里数据文件1有报错,感觉不好,正常情况这里应该。下面使用手动的方式来实现
SQL> select 'set newname for datafile '||file#||' to '||chr(39)||name||chr(39)||';' from v$backup_copy_details order by file#;
'SETNEWNAMEFORDATAFILE'||FILE#||'TO'||CHR(39)||NAME||CHR(39)||';'
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
set newname for datafile 1 to '/linshi/dev/vx/rdsk/htz/lv_system_111.dbf';
set newname for datafile 2 to '/linshi/dev/vx/rdsk/htz/lv_sysaux_111.dbf';
set newname for datafile 3 to '/linshi/dev/vx/rdsk/htz/lv_undo_111.dbf';
set newname for datafile 4 to '/linshi/dev/vx/rdsk/htz/lv_users_111.dbf';
...............................................................................
5,recover数据库
oracle@htz#[/linshi/shell]nohup sh ./recover_database.sh &
[1] 30671256
oracle@htz#[/linshi/shell]Sending output to /home/oracle/nohup.out
Starting recover at 05-MAY-16
released channel: t1
released channel: t2
released channel: t3
released channel: t4
RMAN-00571: ===========================================================
RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============
RMAN-00571: ===========================================================
RMAN-03002: failure of recover command at 05/05/2016 16:29:47
RMAN-06004: ORACLE error from recovery catalog database: RMAN-20003: target database incarnation not found in recovery catalog
6,查看数据库的角色
SQL> select database_role from v$database;
DATABASE_ROLE
----------------
PRIMARY
这里看到数据库主库模式,下面重新还原一次控制文件
SQL> !rman target /
Recovery Manager: Release 11.2.0.3.0 - Production on Fri May 6 00:47:09 2016
Copyright (c) 1982, 2011, Oracle and/or its affiliates. All rights reserved.
connected to target database: ACCT (not mounted)
RMAN> restore standby controlfile from '/tmp/standby.ctl';
Starting restore at 06-MAY-16
using target database control file instead of recovery catalog
allocated channel: ORA_DISK_1
channel ORA_DISK_1: SID=2002 device type=DISK
channel ORA_DISK_1: restoring control file
channel ORA_DISK_1: restore complete, elapsed time: 00:00:01
output file name=/linshi/control.ctl
Finished restore at 06-MAY-16
SQL> select database_role from v$database;
DATABASE_ROLE
--------------------------------
PHYSICAL STANDBY
RMAN> list incarnation;
using target database control file instead of recovery catalog
List of Database Incarnations
DB Key Inc Key DB Name DB ID STATUS Reset SCN Reset Time
------- ------- -------- ---------------- --- ---------- ----------
1 1 ACCT 3716340531 PARENT 1 29-MAR-12
2 2 ACCT 3716340531 CURRENT 14754146318553 30-APR-16
RMAN> reset database to INCARNATION 1;
database reset to incarnation 1
RMAN> list incarnation;
List of Database Incarnations
DB Key Inc Key DB Name DB ID STATUS Reset SCN Reset Time
------- ------- -------- ---------------- --- ---------- ----------
1 1 ACCT 3716340531 CURRENT 1 29-MAR-12
2 2 ACCT 3716340531 ORPHAN 14754146318553 30-APR-16
7,还原数据文件
SQL> alter system set standby_file_management=manual;
System altered.
run
{
ALLOCATE channel t1 type 'sbt_tape';
ALLOCATE channel t2 TYPE 'sbt_tape';
ALLOCATE channel t3 TYPE 'sbt_tape';
ALLOCATE channel t4 TYPE 'sbt_tape';
send 'NSR_ENV=(NSR_SERVER=htzback,NSR_CLIENT=htz01)';
restore datafile 647,645,646 from tag 'FORSTANDBY2319';
}
8,RECOVER数据库
RMAN> run
2> {
3> allocate channel t1 type 'sbt_tape' PARMS 'ENV=(NSR_SERVER=htzback,NSR_CLIENT=htz02)';
4> allocate channel t2 type 'sbt_tape' PARMS 'ENV=(NSR_SERVER=htzback,NSR_CLIENT=htz02)';
5> allocate channel t3 type 'sbt_tape' PARMS 'ENV=(NSR_SERVER=htzback,NSR_CLIENT=htz01)';
6> allocate channel t4 type 'sbt_tape' PARMS 'ENV=(NSR_SERVER=htzback,NSR_CLIENT=htz01)';
7> recover database;
8> release channel t1;
9> release channel t2;
10> release channel t3;
11> release channel t4;
12> }
这里没有在报错了
9,添加STANDBY日志文件
SQL>
alter database add standby logfile thread 1 '/htz/standby11.dbf' reuse
alter database add standby logfile thread 1 '/htz/standby12.dbf' reuse ;
alter database add standby logfile thread 1 '/htz/standby13.dbf' reuse ;
alter database add standby logfile thread 1 '/htz/standby14.dbf' reuse ;
alter database add standby logfile thread 1 '/htz/standby15.dbf' reuse ;
alter database add standby logfile thread 1 '/htz/standby16.dbf' reuse ;
alter database add standby logfile thread 1 '/htz/standby17.dbf' reuse ;
alter database add standby logfile thread 2 '/htz/standby21.dbf' reuse ;
alter database add standby logfile thread 2 '/htz/standby22.dbf' reuse ;
alter database add standby logfile thread 2 '/htz/standby23.dbf' reuse ;
alter database add standby logfile thread 2 '/htz/standby24.dbf' reuse ;
alter database add standby logfile thread 2 '/htz/standby25.dbf' reuse ;
alter database add standby logfile thread 2 '/htz/standby26.dbf' reuse ;
alter database add standby logfile thread 2 '/htz/standby27.dbf' reuse ;
10,时时运用模式
SQL> recover managed standby database using current logfile disconnect;
Media recovery complete.
11,启用块跟踪与修改文件管理参数
整个增量前滚DG完成
本文固定链接: http://www.htz.pw/2016/05/09/recover-database-rman-06004-rman-20003.html | 认真就输
--------------------------------------ORACLE-DBA----------------------------------------
最权威、专业的Oracle案例资源汇总之【案例】Oracle RAC恢复报错RMAN-06004 RMAN-20003解决办法笔记
oracle可恢复的等待,【案例】Oracle RAC恢复报错RMAN-06004 RMAN-20003解决办法笔记相关推荐
- oracle pls 00905,【案例】Oracle报错PLS-00714 PLS-00951原因和解决办法笔记
[案例]Oracle报错PLS-00714 PLS-00951原因和解决办法笔记 时间:2016-11-14 11:07 来源:Oracle研究中心 作者:代某人 点击: 次 天萃荷净 P ...
- oracle 10g rac数据库,oracle 10g rac安装报错集锦
oracle 10g rac安装报错汇总 删除crs 1. 停止资源:关闭crs资源:crsctl stop resources 关闭crs: crsctl stop crs 2 ...
- Oracle 11G R2 RAC 启动报错:ORA-01078 ORA-01565 ORA-17503 ORA-12547 处理方法
Oracle 11G R2 RAC 启动报错:ORA-01078 ORA-01565 ORA-17503 ORA-12547 处理方法 前几天搭建的RAC测试环境:RedHat 6.8 grid ...
- Oracle客户端工具出现“Cannot access NLS data files or invalid environment specified”错误的解决办法...
Oracle客户端工具出现"Cannot access NLS data files or invalid environment specified"错误的解决办法 方法一:参考 ...
- TNS-03505 oracle用户可以tnsping通,普通用户tnsping报错
From: http://zxf261.blog.51cto.com/701797/750308 今天碰到了一个有趣的问题 oracle用户可以tnsping通,普通用户tnsping报错 用普通用户 ...
- Oracle tnsping 03505,TNS-03505 oracle用户可以tnsping通,普通用户tnsping报错
今天碰到了一个有趣的问题 oracle用户可以tnsping通,普通用户tnsping报错 用普通用户tnsping数据库的时候报 TNS-03505: Failed to resolve name ...
- 对创建的screen会话进行恢复时出现:There is no screen to be resumed matching XXX 解决办法
遇到的问题如下图: me3会话是存在的,但是使用screen -r me3进行会话恢复时出现: There is no screen to be resumed matching me3 解决办法 先 ...
- SQL数据库可疑恢复 挂起恢复 置疑恢复 SQL数据库无法附加修复 附加报错 9003
SQL数据库可疑恢复 挂起恢复 置疑恢复 SQL数据库无法附加修复 附加报错 9003 数据类型 MSSQL 2008R2 数据大小 352 MB 故障检测 服务器几次断电后数据库可疑 无法附加 消 ...
- oracle 增加ora容量_案例:Oracle报错ORA-01144 详解数据文件大小32GB的限制的原因
天萃荷净 Oracle数据文件大小的限制,运维DBA在向Oracle数据库添加一个32G的数据文件的时候报错ORA-01144,分析原因为数据库针对文件有32G限制 1.添加数据文件报错ORA-011 ...
- oracle 未明确列义,案例:Oracle缺少同义词DDL语句无法执行 ORA-00604 ORA-00942
天萃荷净 在执行DDL语句时无法执行,报错ORA 00604 ORA 00942,通过隐含参数来解决同义词问题 在最近的一个客户案例中,因为缺少dual同义词,导致ddl语句无法执行.这里_syste ...
最新文章
- 开源WebGIS实施方案(一):开篇 [转]
- RocketMQ简介及核心概念说明
- spring webscoket服务端使用记录
- Storm的ack机制在项目应用中的坑
- Oozie 3.3.1安装
- java 删除已画出的线_如何删除java中的绘制线?
- LKM:Linux Kernel Map(图解Linux内核)
- gc日志一般关注什么_JVM(23)JVM的Full GC日志
- dell m610刀片查看日志及更换内存
- ThoughtWorks培训经历及所想
- python多任务之——线程简述
- Shiro 入门教程
- 基于Windows XP SP3系统下MS08067漏洞攻击
- PHP在线pdf电子合同生成,pdf添加水印
- 一个“编码十几年”的『老程序员』分享的四点心得
- 查看 设置mysql时区
- python连续输入直到回车退出_详解Python实现按任意键继续/退出的功能
- plotjuggler⬅ROS1/ROS2画轨迹神器➡rqt_plot+rqt_multiplot之超级加强版
- Springboot中使用Shiro的配置与realm的构建
- 总结10款常用的加密混淆软件,
热门文章
- 研究生留学资助项目突遭暂停,美国两大科研机构设限,上千访问学者或受影响...
- 三维图形学课程笔记,3D建模与游戏开发方向(unity3d,c4d,3dsmax, maya的对比与联系)
- Rockchip_双屏显示旋转方向调试文档
- 微信公众号文章素材收集网站大盘点
- 程序员女朋友都是在哪找的?
- bat 引号 嵌套_边缘检测 使用 OpenCV 和 深度学习 进行整体嵌套边缘检测
- 风格迁移篇--StarGAN:用于多域图像到图像翻译的统一生成对抗网络
- Xilinx XC7Z020双核ARM+FPGA开发板试用合集——硬件赏析
- winxp专业版下安装sql2000企业版
- java版12306抢票_GitHub - a1647517212/J12306: 12306抢票程序JAVA版