目的:客户环境11.2.0.4 ,多节点RAC环境,现在使用带库的备份,在单机环境测试备份有效性

1.normal参数文件

删除集群相关参数cluster

2.mount 使用备份的控制文件进行还原

3.restore database,recover database 到预想的位置(建议recover时间,低于控制文件中记录归档日志的前30分钟或者前15分钟)

run{
allocate channel c1 device type 'sbt_type'
PARMS="ENV=(MASTER_SERVER_IP=XXX,INSTANCE_NAME=oraxxx,BACKUP_CLIENT=TTXXX,RESTORE_CLIENT=RecoveryFxxxx)";
set newname for database to '/u01/xxx/%b‘;
sql 'alter session set NLS_DATE_FORMAT="yyyy-mm-dd hh24:mi:ss"';
sql 'alter session set NLS_LANGUAGE=American';
set until time '2019-xx-xx 18:00:00';
restore database;
SWITCH DATAFILE ALL;
recover database;
} --参考http://blog.itpub.net/30126024/viewspace-2142843/ SET NEWNAME FOR DATAFILE to '/oracle/ora11g/oradata/system01.dbf';
SET NEWNAME FOR TEMPFILE to '/oracle/ora11g/oradata/temp01.dbf';
RESTORE DATABASE;
SWITCH DATAFILE ALL;
SWITCH TEMPFILE ALL;

4.resetlogs open DB,客户再此处遇到问题

ALTER DATABASE OPEN RESETLOGS fails with ORA- (Doc ID 1352133.1)  
SQL> alter database open resetlogs; 
alter database open resetlogs 

ERROR at line 1: 
ORA-00392: log 1 of thread 1 is being cleared, operation not allowed 
ORA-00312: online log 1 thread 1: '/<PATH>/group_1.log' 
ORA-00312: online log 1 thread 1: '/<PATH>/group_12.log' SQL> select GROUP#,THREAD#,SEQUENCE#,MEMBERS,ARCHIVED,STATUS,FIRST_CHANGE# from v$log order by first_change# ;
       GROUP#     THREAD#   SEQUENCE#        MEMBERS   ARCHIVED STATUS                 FIRST_CHANGE#
------------- ----------- ----------- -------------- ---------- ---------------- -------------------
            2           1           0              2 YES        CLEARING              12142264718335
            3           1           0              2 YES        CLEARING              12142306351551
            1           1           0              2 NO         CLEARING_CURRENT      12142306351562
3 rows selected.
如下CLEARING_CURRENT解释说明

Failure of CLEAR LOGFILE Operation

The ALTER DATABASE CLEAR LOGFILE statement can fail with an I/O error due to
media failure when it is not possible to:

* Relocate the redo log file onto alternative media by re-creating it under
the currently configured redo log filename

* Reuse the currently configured log filename to re-create the redo log file
because the name itself is invalid or unusable (for example, due to media failure)

In these cases, the ALTER DATABASE CLEAR LOGFILE statement (before receiving the I/O error) would
have successfully informed the control file that the log was being cleared and did not require archiving.

The I/O error occurred at the step in which the CLEAR LOGFILE statement attempts to create the new
redo log file and write zeros to it. This fact is reflected in V$LOG.CLEARING_CURRENT.

操作报错,重置redo报错,由于redo均为+DATA磁盘组,而实际上单实例环境为文件系统,无法重置

alter database clear unarchived logfile group 3 ;

alter database open resetlogs;

SQL> ALTER DATABASE BACKUP CONTROLFILE TO TRACE AS '/tmp/control.sql' resetlogs ;

SQL> STARTUP FORCE NOMOUNT
SQL> @/tmp/control.sql

SQL> ALTER DATABASE OPEN RESETLOGS ;

上述是按照MOS文档的预期值,可以解决问题,如下是博客链接,可以根据如下进行修改控制文件。

http://blog.itpub.net/30126024/viewspace-2144906/
MOS文档写的过于简单,只是说修改控制文件,根据上述博客链接,可分为几个步骤
1.备份控制文件,生成trace,默认控制文件二进制无法读取
2.删除关于控制文件中,对于redo的信息,修改调整为

LOGFILE ······

GROUP 1 (

'/oracle/ora11g/oradata/redo01.log'

) SIZE 50M BLOCKSIZE 512,

GROUP 2 (

'/oracle/ora11g/oradata/redo02.log'

) SIZE 50M BLOCKSIZE 512,

DATAFILE ······

3.shutdown abort DB,使用新编辑的控制文件,启动到mount状态
4.创建其它线程的redo,存在多线程redo,则创建多个thread redo信息
ALTER DATABASE ADD LOGFILE THREAD 2
GROUP 3 '/oracle/ora11g/oradata/redo03.dbf' SIZE 50M,GROUP 4 '/oracle/ora11g/oradata/redo04.dbf' SIZE 50M;
5.启动DB
ALTER DATABASE OPEN RESETLOGS;
6.单机删除多余的thread 2的在线日志
alter database disable thread 2;
alter database drop logfile group 3;

备注:如下是客户并未添加其它线程redo,直接open resetlogs出现如下报错

上述根据博客链接的说明,可以解决问题,另一种方法,则是通过设置隐患参数,强制OPEN,均可以,具体实施看需求。
RMAN Duplicate from RAC backup fails ORA-38856 (Doc ID 334899.1)

RMAN duplicate using a backup taken from a RAC installation fails on opening the clone instance with
RMAN-: ORACLE error from auxiliary database: ORA-: cannot mark instance UNNAMED_INSTANCE_2 (redo thread ) as enabled The target database is a RAC two node database being duplicated to a single instance database. _no_recovery_through_resetlogs=TRUE

最新文章

  1. DataTable to Excel(使用NPOI、EPPlus将数据表中的数据读取到excel格式内存中)
  2. BFC之宽度自适应布局篇
  3. 自己第一个github开源的感受
  4. BZOJ 1072: [SCOI2007]排列perm 状态压缩DP
  5. 获取枚举类型Description特性的描述信息
  6. Objective-C语言控制语句
  7. bjui简单了解
  8. Javascript实现鼠标框选元素后拖拽被框选的元素
  9. Android提供的系统服务之--TelephonyManager(电话管理器)
  10. 【慎思堂】之JS牛腩总结
  11. UIImage图片拉伸方法
  12. 【NOIP2016提高组】 Day1 T3 换教室
  13. jQuery选择器(ID选择器)第一节
  14. MySQL via EF6 的试用报告
  15. NOIP2006普及组 Jam的计数法
  16. Core统一日志处理
  17. Ubuntu16下用virtualbox 安装Windows虚拟机
  18. jq版本的checkbox有radio的单选效果(可得到value值)
  19. a标签(普通标签如span)没有disabled属性 ,怎样利用js实现该属性
  20. Python3 tkinter基础 Label pack 设置控件在窗体中的位置

热门文章

  1. 和jz姐姐的vp记录
  2. 洛谷P1560 蜗牛的旅行
  3. PyCharm中Dictionary与Python package的区别
  4. JS filter的使用
  5. udf也能用Python
  6. 关于Django中的数据库操作API之distinct去重的一个误传
  7. JavaScript工具类(三):localStorage本地储存
  8. EasyUi datagrid列表增加复选框
  9. 【转】Python访问oracle数据库,DPI-1047: Cannot locate a 64-bit Oracle Client library: &quot;The specified module could not be found&quot;
  10. jwplayer :若请求不到流,则页面一直转圈请求效果