dataguard 11GR2 RAC to RAC配置(三)

15、上面的命令运行成功了之后,就会启动standby上的orclst1实例到mount模式

运行以下log应用的命令
SQL> alter database recover managed standby database using current logfile disconnect;
Database altered.

下面查看归档日志应用的情况:
SQL> select sequence#,thread#,applied from v$archived_log;

SEQUENCE# THREAD# APPLIED
———- ———- ———
18 1 YES
20 1 YES
19 1 YES
22 2 YES
20 2 YES
21 2 YES
23 2 YES
21 1 YES
22 1 YES
24 2 YES
25 2 YES

SEQUENCE# THREAD# APPLIED
———- ———- ———
23 1 YES
24 1 YES
25 1 YES
26 2 YES
26 1 YES
27 2 YES
27 1 YES
28 2 YES
29 2 YES
28 1 YES
30 2 YES

SEQUENCE# THREAD# APPLIED
———- ———- ———
29 1 YES
31 2 YES
30 1 IN-MEMORY

25 rows selected.

16、上面的设置使得DG正常运行了,则下面要设置standby数据库在cluster的控制下

首先,Standby:RAC21 创建pfile
SQL> create pfile=’/home/oracle/stdbypfile.ora’ from spfile;

17、修改/home/oracle/stdbypfile.ora文件

去掉引用primary库的部分,加上实例orclst2设定的部分
如下:
1 orclst1.__db_cache_size=436207616
2 orclst2.__db_cache_size=436207616
3 orclst1.__java_pool_size=16777216
4 orclst2.__java_pool_size=16777216
5 orclst1.__large_pool_size=16777216
6 orclst2.__large_pool_size=16777216
7 orclst1.__oracle_base=’/u01/app/oracle’#ORACLE_BASE set from environment
8 orclst2.__oracle_base=’/u01/app/oracle’#ORACLE_BASE set from environment
9 orclst1.__pga_aggregate_target=520093696
10 orclst2.__pga_aggregate_target=520093696
11 orclst1.__sga_target=754974720
12 orclst2.__sga_target=754974720
13 orclst1.__shared_io_pool_size=0
14 orclst2.__shared_io_pool_size=0
15 orclst1.__shared_pool_size=268435456
16 orclst2.__shared_pool_size=268435456
17 orclst1.__streams_pool_size=0
18 orclst2.__streams_pool_size=0
19 *.audit_file_dest=’/u01/app/oracle/admin/orclst/adump’
20 *.audit_trail=’db’
21 *.cluster_database=true
22 *.compatible=’11.2.0.0.0′
23 *.control_files=’+DATA1/orclst/controlfile/current.278.825782107′,’+DATA2/orclst/controlfile/current.318.825782107’#Set by RMAN
24 *.db_block_size=8192
25 *.db_create_file_dest=’+DATA1′
26 *.db_domain=”
27 *.db_file_name_convert=’+DATA1/orclpd’,’+DATA1/orclst’
28 *.db_name=’orclpd’
29 *.db_recovery_file_dest=’+DATA2′
30 *.db_recovery_file_dest_size=4070572032
31 *.db_unique_name=’orclst’
32 *.diagnostic_dest=’/u01/app/oracle’
33 *.dispatchers='(PROTOCOL=TCP) (SERVICE=orclstXDB)’
34 orclst1.fal_client=’orclst1′
35 orclst2.fal_client=’orclst2′
36 *.fal_server=’orclpd1′,’orclpd2′
37 orclst1.instance_number=1
38 orclst2.instance_number=2
39 *.log_archive_config=’dg_config=(orclpd,orclst)’
40 *.log_archive_dest_1=’location=use_db_recovery_file_dest valid_for=(all_logfiles,all_roles) db_unique_name=orclst’
41 *.log_archive_dest_2=’service=orclpd LGWR ASYNC NOAFFIRM max_failure=10 max_connections=5 reopen=180 valid_for=(online_logfiles,primary_role) db_unique_name=orclpd ‘
42 *.log_archive_dest_state_1=’enable’
43 *.log_archive_dest_state_2=’enable’
44 *.log_archive_format=’%t_%s_%r.dbf’
45 *.log_archive_max_processes=5
46 *.log_file_name_convert=’+DATA1/orclpd’,’+DATA1/orclst’,’+DATA2/orclpd’,’+DATA2/orclst’
47 *.memory_target=1264582656
48 *.open_cursors=300
49 *.processes=150
50 *.remote_listener=’scan2-cluster:11521′
51 *.remote_login_passwordfile=’exclusive’
52 *.standby_file_management=’AUTO’
53 orclst2.thread=2
54 orclst1.thread=1
55 orclst1.undo_tablespace=’UNDOTBS1′
56 orclst2.undo_tablespace=’UNDOTBS2′

PS:注意这里db_name和primary上是一样的,unique_db_name设置为orclst

18、关闭数据库,使用新的参数启动到mount模式

SQL> alter database recover managed standby database cancel;
SQL> shutdown immediate;
SQL> startup mount pfile=’/home/oracle/stdbypfile.ora’;
SQL> create spfile=’+DATA1/orclst/spfileorclst.ora’ from pfile=’/home/oracle/stdbypfile.ora’;
SQL> shutdown immediate;

19、在standby的两个节点分别创建参数文件,文件内容一致

RAC21:/u01/app/oracle/product/11.2.0/dbhome_1/dbs/initorclst1.ora
RAC22:/u01/app/oracle/product/11.2.0/dbhome_1/dbs/initorclst2.ora
vim initorclst1.ora
spfile=’+DATA1/orclst/spfileorclst.ora’

20、设置standby的两个节点上的oracle的环境变量

RAC21上ORACLE_SID=orclst1
RAC22上ORACLE_SID=orclst2

21、把新的standby数据库及其实例加入到cluster设置中来

srvctl add database -d orclst -o /u01/app/oracle/product/11.2.0/dbhome_1 -p “+DATA1/orclst/spfileorclst.ora” -n orclpd -r physical_standby -s mount
srvctl add instance -d orclst -i orclst1 -n rac21
srvctl add instance -d orclst -i orclst2 -n rac22

PS:注意-s mount设定physical standby默认启动到mount模式

22、启动standby,并测试加入cluster的配置是否正确

[oracle@rac21 ~]$ srvctl status database -d orclst
[oracle@rac21 ~]$ srvctl start database -d orclst
Instance orclst1 is running on node rac21
Instance orclst2 is running on node rac22

[grid@rac21 ~]$ crsctl stat res ora.orclst.db -p
NAME=ora.orclst.db
TYPE=ora.database.type
ACL=owner:oracle:rwx,pgrp:oinstall:rwx,other::r–
ACTION_FAILURE_TEMPLATE=
ACTION_SCRIPT=
ACTIVE_PLACEMENT=1
AGENT_FILENAME=%CRS_HOME%/bin/oraagent%CRS_EXE_SUFFIX%
AUTO_START=restore
CARDINALITY=2
CHECK_INTERVAL=1
CHECK_TIMEOUT=600
CLUSTER_DATABASE=true
DB_UNIQUE_NAME=orclst
DEFAULT_TEMPLATE=PROPERTY(RESOURCE_CLASS=database) PROPERTY(DB_UNIQUE_NAME= CONCAT(PARSE(%NAME%, ., 2), %USR_ORA_DOMAIN%, .)) ELEMENT(INSTANCE_NAME= %GEN_USR_ORA_INST_NAME%)
DEGREE=1
DESCRIPTION=Oracle Database resource
ENABLED=1
FAILOVER_DELAY=0
FAILURE_INTERVAL=60
FAILURE_THRESHOLD=1
GEN_AUDIT_FILE_DEST=/u01/app/oracle/admin/orclst/adump
GEN_USR_ORA_INST_NAME=
GEN_USR_ORA_INST_NAME@SERVERNAME(rac21)=orclst1
GEN_USR_ORA_INST_NAME@SERVERNAME(rac22)=orclst2
HOSTING_MEMBERS=
INSTANCE_FAILOVER=0
LOAD=1
LOGGING_LEVEL=1
MANAGEMENT_POLICY=AUTOMATIC
NLS_LANG=
NOT_RESTARTING_TEMPLATE=
OFFLINE_CHECK_INTERVAL=0
ORACLE_HOME=/u01/app/oracle/product/11.2.0/dbhome_1
PLACEMENT=restricted
PROFILE_CHANGE_TEMPLATE=
RESTART_ATTEMPTS=2
ROLE=physical_standby
SCRIPT_TIMEOUT=60
SERVER_POOLS=ora.orclst
SPFILE=+DATA1/orclst/spfileorclst.ora
START_DEPENDENCIES=weak(type:ora.listener.type,global:type:ora.scan_listener.type,uniform:ora.ons,uniform:ora.eons)
START_TIMEOUT=600
STATE_CHANGE_TEMPLATE=
STOP_DEPENDENCIES=
STOP_TIMEOUT=600
UPTIME_THRESHOLD=1h
USR_ORA_DB_NAME=orclpd
USR_ORA_DOMAIN=
USR_ORA_ENV=
USR_ORA_FLAGS=
USR_ORA_INST_NAME=
USR_ORA_INST_NAME@SERVERNAME(rac21)=orclst1
USR_ORA_INST_NAME@SERVERNAME(rac22)=orclst2
USR_ORA_OPEN_MODE=mount
USR_ORA_OPI=false
USR_ORA_STOP_MODE=immediate
VERSION=11.2.0.1.0

SQL> show parameter local;

NAME TYPE VALUE
———————————— ———– ——————————
local_listener string (DESCRIPTION=(ADDRESS_LIST=(AD
DRESS=(PROTOCOL=TCP)(HOST=rac2
1-vip)(PORT=1521))))
log_archive_local_first boolean TRUE
parallel_force_local boolean FALSE

23、在standby的其中一个实例上启动DG恢复进程

SQL> alter database recover managed standby database using current logfile disconnect;
以上就是RAC-RAC DG所有的设置。

24、primary上设置归档日志清除策略

SQL> alter system set log_archive_dest_2=’service=orclst LGWR ASYNC NOAFFIRM max_failure=10 max_connections=5 reopen=180 valid_for=(online_logfiles,primary_role) db_unique_name=orclst mandatory’ scope=both sid=’*’;
设置rman的归档日志清除策略:(再删除日志前要确认archivelog已经被standby数据库应用)
RMAN> CONFIGURE ARCHIVELOG DELETION POLICY TO APPLIED ON STANDBY;

dataguard 11GR2 RAC to RAC 配置(二)

发表评论

您的电子邮箱地址不会被公开。 必填项已用*标注