catalog start with + switch database to copy的妙用

环境:RHEL6.4 + Oracle 11.2.0.4 Primary RAC + Standby RAC

现象:从主库恢复控制文件之后,由于是OMF管理的方式,导致ASM上存储的数据文件名字和控制文件中的名字不一样。

我们来看看现象的具体情况:

ASM上的数据文件信息:

ASMCMD [+data/mynas/datafile] > ls -l
Type Redund Striped Time Sys Name
DATAFILE UNPROT COARSE AUG 31 16:00:00 Y DBADATA.276.952933931
DATAFILE UNPROT COARSE AUG 11 21:00:00 Y DBS_D_HANK.273.951774293
DATAFILE UNPROT COARSE AUG 31 16:00:00 Y DBS_D_HANK.274.951774467
DATAFILE UNPROT COARSE AUG 31 16:00:00 Y DBS_D_JINGYU.262.951608185
DATAFILE UNPROT COARSE AUG 31 16:00:00 Y DBS_I_JINGYU.263.951608185
DATAFILE UNPROT COARSE AUG 31 16:00:00 Y SYSAUX.257.951608183
DATAFILE UNPROT COARSE AUG 31 16:00:00 Y SYSTEM.258.951608183
DATAFILE UNPROT COARSE AUG 31 16:00:00 Y TEST.264.951608185
DATAFILE UNPROT COARSE AUG 31 16:00:00 Y TEST2.260.951608185
DATAFILE UNPROT COARSE AUG 31 16:00:00 Y UNDOTBS1.259.951608185
DATAFILE UNPROT COARSE AUG 31 16:00:00 Y UNDOTBS2.261.951608185
DATAFILE UNPROT COARSE AUG 31 16:00:00 Y USERS.265.951608205
ASMCMD [+data/mynas/datafile] >

恢复的备库控制文件中的信息:

SQL> select name, database_role, open_mode from gv$database;

NAME      DATABASE_ROLE    OPEN_MODE
--------- ---------------- --------------------
JYZHAO PHYSICAL STANDBY MOUNTED SQL> select name from v$datafile; NAME
--------------------------------------------------------------------------------
+DATA/mynas/datafile/system.256.919998779
+DATA/mynas/datafile/sysaux.257.919998781
+DATA/mynas/datafile/undotbs1.258.919998783
+DATA/mynas/datafile/users.259.919998789
+DATA/mynas/datafile/undotbs2.264.919999419
+DATA/mynas/datafile/dbs_d_jingyu.268.947072261
+DATA/mynas/datafile/dbs_i_jingyu.270.947072263
+DATA/mynas/datafile/test.271.947072293
+DATA/mynas/datafile/test2.272.947072883
+DATA/mynas/datafile/dbs_d_hank.273.951758265
+DATA/mynas/datafile/dbadata.275.952933837 11 rows selected.

可以看到,虽然路径是对的,但由于OMF特性,文件名字完全不一样。

有的同学看到这里,尤其是刚刚入门的初级DBA,可能会直接想简单粗暴的直接使用rename数据文件来解决问题。

当然,这我的这个场景里,也恰巧可以用rename来解决问题,但这只是因为我这里测试环境文件少,可以容易对应起来。

而且这种方式不但容易误操作,在数据文件多的情况,有可能根本无法轻松识别出对应关系。

那应该怎么做呢?

。。。

现在换个角度来考虑,这些控制文件记录的都是不存在的文件,只是数据库认为是这些文件,而我的ASM上才是真实的数据文件,那么,

我可以把ASM上的文件都认为是数据文件的copy备份,完全可以使用RMAN的catalog start with手工将这些copy“备份”加进来,数据库会认为这些文件就只是数据文件的copy备份,然后直接switch database to copy就可以成功切换。

参考命令:

RMAN> catalog start with '+data/mynas/datafile';
RMAN> switch database to copy;

实际操作过程和结果如下:

RMAN> list copy;

using target database control file instead of recovery catalog
specification does not match any datafile copy in the repository
specification does not match any control file copy in the repository
List of Archived Log Copies for database with db_unique_name MYNAS
===================================================================== Key Thrd Seq S Low Time
------- ---- ------- - ---------
2 1 983 A 31-AUG-17
Name: +FRA/mynas/archivelog/2017_08_31/thread_1_seq_983.743.953483617 4 1 984 A 31-AUG-17
Name: +FRA/mynas/archivelog/2017_08_31/thread_1_seq_984.731.953483625 1 2 826 A 31-AUG-17
Name: +FRA/mynas/archivelog/2017_08_31/thread_2_seq_826.737.953483619 3 2 827 A 31-AUG-17
Name: +FRA/mynas/archivelog/2017_08_31/thread_2_seq_827.736.953483623 RMAN> catalog start with '+data/mynas/datafile'; Starting implicit crosscheck backup at 31-AUG-17
allocated channel: ORA_DISK_1
Crosschecked 37 objects
Finished implicit crosscheck backup at 31-AUG-17 Starting implicit crosscheck copy at 31-AUG-17
using channel ORA_DISK_1
Finished implicit crosscheck copy at 31-AUG-17 searching for all files in the recovery area
cataloging files...
cataloging done List of Cataloged Files
=======================
File Name: +fra/MYNAS/ARCHIVELOG/2017_08_31/thread_2_seq_821.628.953475515
File Name: +fra/MYNAS/ARCHIVELOG/2017_08_31/thread_1_seq_974.622.953475665
File Name: +fra/MYNAS/ARCHIVELOG/2017_08_31/thread_1_seq_757.609.953475667
File Name: +fra/MYNAS/ARCHIVELOG/2017_08_31/thread_1_seq_755.607.953475667
File Name: +fra/MYNAS/ARCHIVELOG/2017_08_31/thread_1_seq_756.598.953475667
File Name: +fra/MYNAS/ARCHIVELOG/2017_08_31/thread_1_seq_758.462.953475671
File Name: +fra/MYNAS/ARCHIVELOG/2017_08_31/thread_1_seq_759.464.953475671
File Name: +fra/MYNAS/ARCHIVELOG/2017_08_31/thread_1_seq_760.457.953475673
File Name: +fra/MYNAS/ARCHIVELOG/2017_08_31/thread_1_seq_761.456.953475677
File Name: +fra/MYNAS/ARCHIVELOG/2017_08_31/thread_1_seq_763.434.953475677
File Name: +fra/MYNAS/ARCHIVELOG/2017_08_31/thread_1_seq_762.422.953475677
File Name: +fra/MYNAS/ARCHIVELOG/2017_08_31/thread_1_seq_764.401.953475679
File Name: +fra/MYNAS/ARCHIVELOG/2017_08_31/thread_2_seq_606.384.953475815
File Name: +fra/MYNAS/ARCHIVELOG/2017_08_31/thread_2_seq_607.381.953475815
File Name: +fra/MYNAS/ARCHIVELOG/2017_08_31/thread_2_seq_605.374.953475815
File Name: +fra/MYNAS/ARCHIVELOG/2017_08_31/thread_2_seq_608.364.953475817
File Name: +fra/MYNAS/ARCHIVELOG/2017_08_31/thread_2_seq_609.357.953475817
File Name: +fra/MYNAS/ARCHIVELOG/2017_08_31/thread_2_seq_610.438.953475817
File Name: +fra/MYNAS/ARCHIVELOG/2017_08_31/thread_2_seq_611.421.953475819
File Name: +fra/MYNAS/ARCHIVELOG/2017_08_31/thread_2_seq_612.412.953475819
File Name: +fra/MYNAS/ARCHIVELOG/2017_08_31/thread_2_seq_613.393.953475819
File Name: +fra/MYNAS/ARCHIVELOG/2017_08_31/thread_2_seq_614.592.953475821
File Name: +fra/MYNAS/ARCHIVELOG/2017_08_31/thread_2_seq_822.580.953476813
File Name: +fra/MYNAS/ARCHIVELOG/2017_08_31/thread_1_seq_975.562.953476817
File Name: +fra/MYNAS/ARCHIVELOG/2017_08_31/thread_2_seq_823.551.953477803
File Name: +fra/MYNAS/ARCHIVELOG/2017_08_31/thread_1_seq_976.512.953477807
File Name: +fra/MYNAS/ARCHIVELOG/2017_08_31/thread_1_seq_977.500.953478181
File Name: +fra/MYNAS/ARCHIVELOG/2017_08_31/thread_1_seq_978.488.953478659
File Name: +fra/MYNAS/ARCHIVELOG/2017_08_31/thread_2_seq_824.476.953478659
File Name: +fra/MYNAS/ARCHIVELOG/2017_08_31/thread_1_seq_979.317.953479329
File Name: +fra/MYNAS/ARCHIVELOG/2017_08_31/thread_1_seq_980.298.953481127
File Name: +fra/MYNAS/ARCHIVELOG/2017_08_31/thread_1_seq_981.473.953481743
File Name: +fra/MYNAS/ARCHIVELOG/2017_08_31/thread_2_seq_825.475.953481753
File Name: +fra/MYNAS/ARCHIVELOG/2017_08_31/thread_1_seq_982.745.953482353
File Name: +fra/MYNAS/ARCHIVELOG/2017_08_11/thread_1_seq_171.341.951768137
File Name: +fra/MYNAS/ARCHIVELOG/2017_08_11/thread_2_seq_135.342.951768137
File Name: +fra/MYNAS/ARCHIVELOG/2017_08_30/thread_2_seq_513.634.953368985
File Name: +fra/MYNAS/ARCHIVELOG/2017_08_30/thread_2_seq_514.638.953369045 searching for all files that match the pattern +data/mynas/datafile List of Files Unknown to the Database
=====================================
File Name: +data/MYNAS/DATAFILE/SYSAUX.257.951608183
File Name: +data/MYNAS/DATAFILE/SYSTEM.258.951608183
File Name: +data/MYNAS/DATAFILE/UNDOTBS1.259.951608185
File Name: +data/MYNAS/DATAFILE/TEST2.260.951608185
File Name: +data/MYNAS/DATAFILE/UNDOTBS2.261.951608185
File Name: +data/MYNAS/DATAFILE/DBS_D_JINGYU.262.951608185
File Name: +data/MYNAS/DATAFILE/DBS_I_JINGYU.263.951608185
File Name: +data/MYNAS/DATAFILE/TEST.264.951608185
File Name: +data/MYNAS/DATAFILE/USERS.265.951608205
File Name: +data/MYNAS/DATAFILE/DBS_D_HANK.273.951774293
File Name: +data/MYNAS/DATAFILE/DBS_D_HANK.274.951774467
File Name: +data/MYNAS/DATAFILE/DBADATA.276.952933931 Do you really want to catalog the above files (enter YES or NO)? yes
cataloging files...
cataloging done List of Cataloged Files
=======================
File Name: +data/MYNAS/DATAFILE/SYSAUX.257.951608183
File Name: +data/MYNAS/DATAFILE/SYSTEM.258.951608183
File Name: +data/MYNAS/DATAFILE/UNDOTBS1.259.951608185
File Name: +data/MYNAS/DATAFILE/TEST2.260.951608185
File Name: +data/MYNAS/DATAFILE/UNDOTBS2.261.951608185
File Name: +data/MYNAS/DATAFILE/DBS_D_JINGYU.262.951608185
File Name: +data/MYNAS/DATAFILE/DBS_I_JINGYU.263.951608185
File Name: +data/MYNAS/DATAFILE/TEST.264.951608185
File Name: +data/MYNAS/DATAFILE/USERS.265.951608205
File Name: +data/MYNAS/DATAFILE/DBS_D_HANK.273.951774293
File Name: +data/MYNAS/DATAFILE/DBS_D_HANK.274.951774467
File Name: +data/MYNAS/DATAFILE/DBADATA.276.952933931 RMAN> switch database to copy; datafile 1 switched to datafile copy "+DATA/mynas/datafile/system.258.951608183"
datafile 2 switched to datafile copy "+DATA/mynas/datafile/sysaux.257.951608183"
datafile 3 switched to datafile copy "+DATA/mynas/datafile/undotbs1.259.951608185"
datafile 4 switched to datafile copy "+DATA/mynas/datafile/users.265.951608205"
datafile 5 switched to datafile copy "+DATA/mynas/datafile/undotbs2.261.951608185"
datafile 6 switched to datafile copy "+DATA/mynas/datafile/dbs_d_jingyu.262.951608185"
datafile 7 switched to datafile copy "+DATA/mynas/datafile/dbs_i_jingyu.263.951608185"
datafile 8 switched to datafile copy "+DATA/mynas/datafile/test.264.951608185"
datafile 9 switched to datafile copy "+DATA/mynas/datafile/test2.260.951608185"
datafile 10 switched to datafile copy "+DATA/mynas/datafile/dbs_d_hank.274.951774467"
datafile 11 switched to datafile copy "+DATA/mynas/datafile/dbadata.276.952933931" RMAN>

可以看到,数据文件都已经成功切换到正确的文件上,这时就可以了,整个过程简单、高效、不容易出错。

catalog start with + switch database to copy的妙用的更多相关文章

  1. Oracle 11g R2 RAC with ASM存储迁移--Rman copy&ASM Rebalance(一)

    ASM GROUP-Rman copy迁移 0x00--环境介绍 VMware版本:VMware12pro 主机操作系统:RHEL6.5_64 共享存储使用VMWARE创建共享磁盘文件 数据库版本:O ...

  2. rman备份恢复命令之switch(转)

    一 switch 命令1 switch命令用途更新数据文件名为rman下镜像拷贝时指定的数据文件名更新数据文件名为 set newname 命令指定的名字. 2 switch 命令使用前提条件rman ...

  3. 将文件系统数据库迁移到ASM中

    使用裸设备配置ASM实例 http://www.cnblogs.com/myrunning/p/4270849.html 1.查看我们创建的磁盘组 [oracle@std ~]$ export ORA ...

  4. 将数据库从普通文件系统迁移到ASM中

    数据库存储的是普通的文件系统,现在将数据库迁移到ASM存储中. 准备ASM环境: [oracle@kel ~]$ asmcmd ASMCMD> ls ASM/ KEL/ ASMCMD> 在 ...

  5. ocp 1Z0-043 131-205题解析

    131. Which three methods can you use to run an Automatic Database Diagnostic Monitor (ADDM) analysis ...

  6. 普通文件迁移ASM

    1.ASM Access Through FTP and HTML Using XDB Configuration 2.rman 3.dbms_file_transfer 4.11g asmcmd 利 ...

  7. OCP读书笔记(26) - 题库(ExamF)

    501.Note the output of the following query;SQL> SELECT flashback_archieve_name, status FROM dba_f ...

  8. 同一环境下新建Standby RAC库

    需求:在同一个环境下新建Standby RAC库,即和Primary RAC在相同的磁盘组. 说明:生产环境一般不建议这样配置DG,因为存储层面是相同磁盘组,灾备的实际意义不大.我这里是用作读写分离. ...

  9. ASM的备份集在文件系统上恢复测试

    背景:最近时常有客户咨询这类问题,其实很简单一个操作,但由于每个人的理解差异,也容易出现各种问题或者误解,本文主要总结下这个过程以及常遇到的问题处理. 环境:Site A(Oracle RAC 11. ...

随机推荐

  1. 生成树协议(STP)

    首先了解一下环路问题: 两个交换机将两个局域网同时连接起来的时候,不幸地出现了环路: 这两个交换机还是都能够收到广播包的.交换机 A 一开始是不知道机器 2 在哪个局域网的,所以它会把广播消息放到局域 ...

  2. Vue SSR配合Java的Javascript引擎j2v8实现服务端渲染1概述

    原文地址 http://www.terwergreen.com/post/vue-ssr-j2v8-1.html 初步实现方案探索(Node环境) // 第 1 步:创建一个 Vue 实例 const ...

  3. 内存不够怎么办? 1.5.1 关于隔离 1.5.2 分段(Segmention) 1.5.3 分页(Paging)

    小结: 1. 内存不够怎么办?1.5.1 关于隔离1.5.2 分段(Segmention)1.5.3 分页(Paging) <程序员的自我修养——链接.装载与库>

  4. 结构体指针 Pointers to Structures struct Books Book1; struct Books *struct_pointer;

    小结: 1.To access the members of a structure using a pointer to that structure, you must use the → ope ...

  5. PHP和mysql英文

    spam (垃圾邮件) recruiter (招聘人员) occasional (偶然) professional and enthusiast programmers (专业和发烧友程序员) syn ...

  6. java中使用jdbc配置连接串时mysql 5.6与5.7版本“编码”参数有区别!

    在mysql5.6中 java程序使用jdbc时链接字符串应该使用?characterEncoding=utf-8,而5.7版本可以省略,否则可能会有相关的语句执行结果出错! String drive ...

  7. 如何使用 window api 转换字符集?(std::string与std::wstring的相互转换)

    //宽字符转多字节 std::string W2A(const std::wstring& utf8) { int buffSize = WideCharToMultiByte(CP_ACP, ...

  8. linux 修改密码命令

    1.passwd命令  脚本中语法:echo "password" | passwd testuser --stdin > /dev/null 2>&1 或(e ...

  9. 在Java程序中读写windows共享文件夹

    摘要 使用Java通过JCIFS框架读写共享文件夹,使用SMB协议,并支持域认证. 项目常常需要有访问共享文件夹的需求,例如读取共享文件夹存储的视频.照片和PPT等文件.那么如何使用Java读写Win ...

  10. 原生js可视加载图片、延迟加载、懒加载

    <script> //既视加载//var oBtn = document.getElementsByTagName('button')[0];var aImages = document. ...