DGL =
? (DESCRIPTION =
? ? ? ? (ADDRESS = (PROTOCOL = TCP)(HOST = JY-DBS)(PORT = 1521))
? )
?
SID_LIST_DGL =
? (SID_LIST =
? ? ? ? (SID_DESC =
? ? ? ? ? (GLOBAL_DBNAME = jyzhao_s)
? ? ? ? ? (ORACLE_HOME = /u01/app/oracle/product/11.2.0/db_1)
? ? ? ? ? (SID_NAME = jyzhao_s)? ?
? ? ? ? )? ?
? ? ? ? (SID_DESC =? ? ?
? ? ? ? ? (GLOBAL_DBNAME = jyzhao_s_dgmgrl)? ? ?
? ? ? ? ? (ORACLE_HOME = /u01/app/oracle/product/11.2.0/db_1)? ? ?
? ? ? ? ? (SID_NAME = jyzhao_s)
? ? ? ? )?
? ? )? ? ?
? ? ? ? ? ? ? ? ? ? ?
ADR_BASE_DGL = /u01/app/grid
grid用户启动监听
$ lsnrctl start dgl
?oracle用户配置tnsnames.ora
--tnsnames.ora
LINUXIDC =
? (DESCRIPTION =
? ? (ADDRESS = (PROTOCOL = TCP)(HOST = JY-DB)(PORT = 1521))
? ? (CONNECT_DATA =
? ? ? (SERVER = DEDICATED)
? ? ? (SERVICE_NAME = jyzhao )
? ? )
? )?
LINUXIDC_S =
? (DESCRIPTION =? ?
? ? (ADDRESS = (PROTOCOL = TCP)(HOST = JY-DBS)(PORT = 1521))? ?
? ? (CONNECT_DATA =? ? ?
? ? ? (SERVER = DEDICATED)? ? ?
? ? ? (SERVICE_NAME = jyzhao_s)
? ? )
? )?
?
echo "db_name=jyzhao" >> $ORACLE_HOME/dbs/initjyzhao_s.ora
echo $ORACLE_SID
?sqlplus / as sysdba
startup nomount
?
oracle用户测试连接? :
sqlplus sys/oracle@jyzhao as sysdba
sqlplus sys/oracle@jyzhao_s as sysdba
sqlplus sys/oracle@JY-DBS/jyzhao_s_dgmgrl as sysdba
sqlplus sys/oracle@JY-DBS/jyzhao_s as sysdba?
3.机器A操作 duplicate数据库到机器B
验证到机器B可以登录
$ sqlplus sys/oracle@jyzhao_s as sysdba
?vi duplicate_dg.sql
duplicate target database
for standby
from active database
DORECOVER
spfile
set db_unique_name='jyzhao_s'
set log_archive_dest_1='location=/u01/app/oracle/product/11.2.0/db_1/dbs/arch VALID_FOR=(ALL_LOGFILES,ALL_ROLES)
DB_UNIQUE_NAME=jyzhao_s'
set log_archive_dest_2='SERVICE=jyzhao ASYNC LGWR
VALID_FOR=(ONLINE_LOGFILES,PRIMARY_ROLE) DB_UNIQUE_NAME=jyzhao'
set standby_file_management='AUTO'
set fal_server='jyzhao'
set fal_client='jyzhao_s'
set control_files='+DATA1'
set memory_target='0'
set sga_target='600M';?
?
[oracle@JY-DB ~]$? rman target / auxiliary sys/oracle@jyzhaos cmdfile=duplicate_standby.sql
?Recovery Manager: Release 11.2.0.4.0 - Production on Mon Mar 16 23:21:37 2015
?Copyright (c) 1982, 2011, Oracle and/or its affiliates.? All rights reserved.
?connected to target database: LINUXIDC (DBID=2463175424)
connected to auxiliary database: LINUXIDC (not mounted)
?RMAN> duplicate target database
2> for standby
3> from active database
4> DORECOVER
5> spfile
6> set db_unique_name='jyzhao_s'
7> set log_archive_dest_1='location=/u01/app/oracle/product/11.2.0/db_1/dbs/arch VALID_FOR=(ALL_LOGFILES,ALL_ROLES)
8> DB_UNIQUE_NAME=jyzhao_s'
9> set log_archive_dest_2='SERVICE=MACDBN ASYNC LGWR
10> VALID_FOR=(ONLINE_LOGFILES,PRIMARY_ROLE) DB_UNIQUE_NAME=jyzhao'
11> set standby_file_management='AUTO'
12> set fal_server='jyzhao'
13> set fal_client='jyzhao_s'
14> set control_files='+DATA1'
15> set memory_target='0'
16> set sga_target='600M';
17>
Starting Duplicate Db at 16-MAR-15
using target database control file instead of recovery catalog
allocated channel: ORA_AUX_DISK_1
channel ORA_AUX_DISK_1: SID=111 device type=DISK
……
Recovery Manager complete.
[oracle@JY-DB ~]$?
4. B机器 srvctl add数据库jyzhao_s?
注:开始_s有问题,是因为添加指定的参数不足:
srvctl add database -d jyzhao_s -o /u01/app/oracle/product/11.2.0/db_1 -p? +DATA1/LINUXIDC_S/spfilejyzhao_s.ora -n jyzhao -i jyzhao_s
srvctl modify database -d jyzhao_s -r PHYSICAL_STANDBY
三、DG切换测试
3.1 手动switchover
1主库切换成standby,启动到mount
select OPEN_MODE, DATABASE_ROLE, SWITCHOVER_STATUS, FORCE_LOGGING, DATA