单实例到RAC 数据库迁移方案之DG方式迁移(二)

2014-11-24 17:27:00 · 作者: · 浏览: 1
.2.0.3/db_1/dbs/orapwegap password=oracle entries=5ignorecase=y



--主库密码文件传到备库以后要重启备库


5.配置主备库监听及net服务
1)listener
--主库
一般建库后都会配置监听我们无需再配置
--备库(因为安装了cluster,所以用的是cluster的监听)
lsnrctl status 查看监听文件位置,并在监听文件中加入如下类容


LISTENER_SCAN3=(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=IPC)(KEY=LISTENER_SCAN3)))) # line added by Agent


LISTENER_SCAN2=(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=IPC)(KEY=LISTENER_SCAN2)))) # line added by Agent


#LISTENER=(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=IPC)(KEY=LISTENER)))) # line added by Agent


LISTENER_SCAN1=(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=IPC)(KEY=LISTENER_SCAN1)))) # line added by Agent


ENABLE_GLOBAL_DYNAMIC_ENDPOINT_LISTENER_SCAN1=ON # line added by Agent


ENABLE_GLOBAL_DYNAMIC_ENDPOINT_LISTENER=ON # line added by Agent


ENABLE_GLOBAL_DYNAMIC_ENDPOINT_LISTENER_SCAN2=ON # line added by Agent


ENABLE_GLOBAL_DYNAMIC_ENDPOINT_LISTENER_SCAN3=ON # line added by Agent


--注意集群安装完毕以后,上面部分内容在监听中已经存在


SID_LIST_LISTENER =


(SID_LIST =


(SID_DESC =


(SID_NAME = PLSExtProc)


(ORACLE_HOME = /apps/oracle/product/11.2.0.3/db_1)


(PROGRAM = extproc)


)


(SID_DESC =


(ORACLE_HOME = /apps/oracle/product/11.2.0.3/db_1)


(SID_NAME = egapdb1)


)


)


LISTENER =


(DESCRIPTION_LIST =


(DESCRIPTION =


(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.96.1)(PORT = 1521)(IP = FIRST))


)


)


2)tns
主备库tnsnames.ora文件中加入如下部分


primary =


(DESCRIPTION =


(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.96.16)(PORT = 1521))


(CONNECT_DATA =


(SERVER = DEDICATED)


(SID = egap)


)


)


standby1 =


(DESCRIPTION =


(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.96.1)(PORT = 1521))


(CONNECT_DATA =


(SERVER = DEDICATED)


(SID = egapdb1)


)


)


standby2 =


(DESCRIPTION =


(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.96.2)(PORT = 1521))


(CONNECT_DATA =


(SERVER = DEDICATED)


(SID = egapdb2)


)


)



--DG搭建后要主备切换并添加实例


6. 测试网络连接
1)查看监听状态是否正常
lsnrctl status
2) 测试连接串是否能正常连接到指定数据库


tnsping egap


tnsping egapdb1


tnsping egapdb2


sqlplus sys/oracle@egap assysdba


sqlplus sys/oracle@egapdb1 assysdba


sqlplus sys/oracle@egapdb2 assysdba


7. 复制备库
有两种1:rman在线复制 2:rman备份异机恢复
方法1:rman在线复制(不需要备份主库)
此种方式仅适用于ORACLE 11G,可以自动备份datafile,control等文件到备库,在复制过程主库仍可正常运行,但复制过程时间较长,会占用一定的网络资源。
1)将备库启动到nomount状态
export ORACLE_SID=egapdb1
sqlplus / as sysdba
startup nomount;
2)在备库上执行如下命令


rman target sys/oracle@primary auxiliary sys/oracle@standby1 nocatalog


duplicate target database forstandby from active database nofilenamecheck;



--如果主备库文件路径不变,要加nofilenamecheck。登陆时加nocatalog否则会报如下错误:


PLS-00201: identifier 'DBMS_RCVCAT.GETDBID'must be declared