ITPub博客

首页 > Linux操作系统 > Linux操作系统 > RMAN duplicate 建立standby RAC數據庫

RMAN duplicate 建立standby RAC數據庫

原创 Linux操作系统 作者:tolywang 时间:2010-02-09 09:15:42 0 删除 编辑


建立standby RAC數據庫 


源数据库:    GFS RAC (Houston B2B Core DB) 
目标数据库:  OCFS2 RAC (Mexico Juarez B2B Core DB) 

两个数据库使用的OS及DB Version相同 :  

Linux AS 5.3 64bit
Oracle 10.2.0.4 64bit  RAC , 2个节点

唯一不一样的就是Cluster共享磁盘的文件系统, 源数据库为GFS, 目标数据库为OCFS2 . 

目的:  要将在Houston 的B2B DB迁移到Mexico Juarez .

现状:  Houston 到 Mexico Juarez的网络带宽目前为6M, 还有另外一条为 15M (目前还不确定)。

 

步骤(以下为演示): 

1.在源数据库B2B RAC节点1上查看磁盘空间大小,建立/b2bdata2/backup 目录用于存储primary DB的rman备份集,
并将数据库及归档以及standby要用的控制文件备份, 脚本如下:

hou249bbodb3111<*wmb2bprd1*/b2bdata2>$ rman target  / 
RMAN> BACKUP DEVICE TYPE DISK FORMAT '/b2bdata2/backup/%U' DATABASE PLUS ARCHIVELOG;
RMAN> BACKUP DEVICE TYPE DISK FORMAT '/b2bdata2/backup/%U' CURRENT CONTROLFILE FOR

STANDBY;

备注: 这里的 /b2bdata2/backup 是共享磁盘下的目录, 文件格式为GFS . 


2.在目标数据库Server上安装Standby的OCFS2 RAC系统,包括clusterware,db software,dbca建库,这里取同样的db

名称,
在Standby RAC节点1 上将数据库shutdown,  然后对比目标库及源库的spfile, 最后将Standby库置为
SQL> startup nomount

备注: 这里使用新建库的spfile也可以,或者拷贝源数据库的spfile也可以,总之要符合production的目录及参数设置即可。
我们打算使用手工拷贝归档的方式进行recovery ,所以整个过程不会设置Standby相关的参数。 还有,这里的clusterware及db
software 安装目录可以与源数据库不一样 。 

 

3.在Standby RAC节点1上建立/b2bdata2/backup 同样的目录,拷贝primary db上的rman备份集到Standby节点1的这个

目录。

备注:  这里的 /b2bdata2/backup 是共享磁盘文件格式 OCFS2 .

 

4.在Standby RAC节点1上tnsnames.ora 中加入连接primary DB RAC节点1的别名比如 houston_b2b .

 

5. 准备开始恢复RMAN备份集到Standby RAC节点1上, 可以先删除Standby RAC上dbca建库时候的初始化系统dbf文

件,在Standby上
到 /b2bdata2/backup 目录下, 注意,Standby RAC每个节点的文件路径注意需要与Primary DB保持一致,也就是

说Standby RAC
要建立与Primary 上一样的路径(如果不一样,需要在恢复的时候注明, 这里设置一样) 。


rac01sty<*wmb2bprd1*/b2bdata2>$cd  backup/


rac01sty<*orcl1*/b2bdata2/backup>$ls
01l277gl_1_1  03l277i0_1_1  05l277jq_1_1 
02l277h6_1_1  04l277i9_1_1  

 

rac01sty<*wmb2bprd1*/b2bdata2/backup>$rman target sys/sys@houston_b2b  auxiliary /

Recovery Manager: Release 10.2.0.4.0 - Production on Wed Dec 30 05:50:35 2009

Copyright (c) 1982, 2007, Oracle.  All rights reserved.

connected to target database: wmb2bprd (DBID=1234616916)
connected to auxiliary database: wmb2bprd (not mounted)


RMAN> duplicate target database for standby nofilenamecheck; 


如遇到無法找到備份集文件,則可執行如下命令來設置:
RMAN> CONFIGURE CHANNEL DEVICE TYPE DISK  FORMAT   '/b2bdata2/backup/%U';
(一般在target備份時已經設置過, 一般是不需要了,只要確保路徑是一致的就OK) 

如果文件路径较之前有较复杂的变化,可以使用set newname方式:

 这里 +ASMDAT1 是一个ASM磁盘组, 如果是文件系统,   可以根据实际情况设置路径与文件名。

RMAN> run {

        set newname for datafile 1 to '+ASMDAT1';
        set newname for datafile 2 to '+ASMDAT1';
        set newname for datafile 3 to '+ASMDAT1';
        set newname for datafile 4 to '+ASMDAT1';   
       duplicate target database for standby
              nofilenamecheck;  
    }

 

6. 我们可以在执行dupliate db 的standby RAC节点1上查看到数据库的open_mode 是mounted standby状态
(V$database),  同时也需要检查一下它的alert log 。  

 

7. 现在已经在RAC Standby 节点1上实现了physical standby, 可以类似单机Standby一样操作。 由于我们采用手工
ftp或其他方式传输归档到Standby, 所以这里没有设置自动传输归档的参数。  


SQL> alter database open read only;
Database altered.

SQL> shutdown immediate
Database closed.
Database dismounted.
ORACLE instance shut down.

SQL> startup nomount
ORACLE instance started.
Total System Global Area  339738624 bytes
Fixed Size                  1267380 bytes
Variable Size             109054284 bytes
Database Buffers          226492416 bytes
Redo Buffers                2924544 bytes

SQL> alter database mount standby database;
Database altered.

 


8.从源Primary RAC数据库拷贝一部分归档到目标Standby数据库,在Standby上手工进行recovery动作
SQL> recover standby database;  查看是否可以正常recovery .  

 

 

9.由于这里Standby是RAC结构, Standby两台机器重新启动后crs默认会将database开启为open read only模式,
Standby数据库会不能正常recovery , 所以对于物理standby RAC来说, 我们还需要设置系统重新启动的时候crs自动
将standby db开启为 mount standby 状态:

如果没有使用Data Guard broker,CRS就无法知道角色转换,可能就需要手工修改OCR的状态信息。 命令如下:

$ Srvctl modify database -d wmb2bprd -r PHYSICAL_STANDBY -s mount (standby節點1執行即可)

 


10.我们关闭Standby RAC数据库,crs服务,然后重新启动Standby RAC Server,如果有执行上面一步的命令, 那么
默认情况下standby db会开启为mout standby 状态。 

 

11.再次拷贝归档恢复测试 。

 


12.激活Physical Standby . 
注意: 激活physical standby之前, 需要關閉兩個standby RAC實例, 然后在rac1上激活數據庫并開啟 。

SQL> startup nomount 
SQL> alter database mount standby database;  
SQL> alter database activate standby database;
SQL> alter database mount;
SQL> alter database open ; 
SQL> shutdown immediate ;
SQL> startup 

確認spfile沒有問題后,在第二個Standby RAC節點 SQL> startup 

同樣, 如果没有使用Data Guard broker,CRS就无法知道primary和standby的角色转换,可能就需要手工
修改OCR的状态信息。 命令如下:

$ srvctl modify database -d wmb2bprd -r PRIMARY -s open 
(standby節點1執行即可, RAC以后开启都会自動open) 

 

13.激活RAC Standby后, 由于是兩個節點,可能還需要調整一下spfile中的參數, 以及節點2的redo , undo ...... 

 

来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/35489/viewspace-627081/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论
Oracle , MySQL, SAP IQ, SAP HANA, PostgreSQL, Tableau 技术讨论,希望在这里一起分享知识,讨论技术,畅谈人生 。

注册时间:2007-12-10

  • 博文量
    5595
  • 访问量
    14695976