Data Schema Primary:
The code is as follows |
Copy Code |
hostname databasename unique_dbname INSTANCE_NAME RAC1 orclpd orclpd ORCLPD1 rac2 orclpd orclpd ORCLPD2 Standby:
HOSTNAME DATABASENAME Unique_dbname instance_name
RAC21 ORCLPD Orclst Orclst1
RAC22 ORCLPD Orclst Orclst2 RAC ASM DiskGroup (vote) ASM DiskGroup (Database managefile) ASM DiskGroup (Recovery Manage)
Primary DATA DATA1 DATA2
Standby DATA DATA1 DATA2 [Oracle@rac21 orclst]$ cat/etc/hosts 127.0.0.1 localhost 10.10.23.1 Rac1 192.168.1.11 Rac1-priv 10.10.23.5 RAC1-VIP 10.10.23.2 RAC2 192.168.1.2 Rac2-priv 10.10.23.4 RAC2-VIP 10.10.23.6 Rac21 192.168.1.6 Rac21-priv 10.10.23.7 RAC21-VIP 10.10.23.8 RAC22 192.168.1.8 Rac22-priv 10.10.23.9 RAC22-VIP 10.10.23.10 Scan2-cluster 10.10.23.3 Rac-cluster |
1. Create the desired directory on the standby Oracle user Login
The code is as follows |
Copy Code |
[Oracle@rac21 ~]$ CD $ORACLE _base [Oracle@rac21 oracle]$ pwd /u01/app/oracle [Oracle@rac21 oracle]$ mkdir Admin [Oracle@rac21 admin]$ CD admin/ [Oracle@rac21 admin]$ mkdir Orclst [Oracle@rac21 admin]$ CD orclst/ [Oracle@rac21 admin]$ mkdir adump dpdump hdump
|
PS: The library only needs to install the cluster software and database software can be, do not need to create a database, if the creation of the database is not a problem, you do not need to create the following operation of the directory.
2, the main library is set to archive mode RAC1, RAC2
The code is as follows |
Copy Code |
sql> shutdown immediate; sql> startup Mount; RAC1: sql> ALTER DATABASE Archivelog; sql> archive log list; |
The main library is set to force logging mode, and after Setup, the database will record all operations except temporary tablespace or temporary rollback segments
The code is as follows |
Copy Code |
RAC1: sql> ALTER DATABASE force logging; Sql> select force_logging from V$database;
|
PS: If not set to archive mode, the error occurs when you copy the library. The master library is set to forcelogging mode, which forces all operations to be written to the redo
The ALTER DATABASE force logging is a database-level force logging that can see the state of the current database enforcement log mode through the Select Force_logging from V$database.
3. Main Library creation
code is as follows |
copy code |
standby Redo logsql> ALTER DATABASE Add standby logfile thread 1 size 52428800; or sql> ALTER DATABASE add standby logfile thread 1; sql> ALTER DATABASE add standby logfile thread 2; |
Ps:standby logfile: When the repository role is used to receive the main library redo log, the role of the primary repository conversion, so all need to create standby logfile, the main library was created, copy the main library to the standby, and the repository has standby logfile.
There are multiple instances in a RAC environment, and each instance needs to have its own set of redo log files to log. This set of Redo Log is called a redo thread, in fact, the single instance is also redo thread, but the word thread is rarely mentioned, each instance a set of redo Thread design is to avoid resource competition caused by performance bottlenecks.
There are two kinds of Redo thread, one is private, creating syntax: ALTER DATABASE add logfile. Thread N; Another is public, create syntax: ALTER DATABASE add logfile ...;
Each instance in the RAC sets the thread parameter with a default value of 0. If this parameter is set, the instance will use private Redo thread equal to the thread when it is started. If this parameter is not set, the default value of 0 is used, the Redo thread is selected using public after the instance is started, and the instance uses the Redo thread in an exclusive manner.
Each instance in the RAC requires a redo thread, and each redo log thread requires at least two redo log Group,
Each log group member should be equal in size, preferably with more than 2 members per group, and these members should be placed on separate disks to avoid a single point of failure.
4, the main standby to create static monitoring in the $grid_home ($CRS _home)/network/admin/listener.ora, if the use of scan listener, but also to create a static listener
The code is as follows |
Copy Code |
[oracle@rac2 ~]$ srvctl config listener Name:listener Network:1, Owner:grid Home: <crs home> End points:tcp:1521 [oracle@rac2 ~]$ srvctl config Scan_listener SCAN Listener Listener_scan1 exists. port:tcp:11521 Standby:rac21 More Listener.ora 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 Sid_list_listener = (Sid_list = (Sid_desc = (Global_dbname = orclst) (Sid_name = orclst1) (Oracle_home =/u01/app/oracle/product/11.2.0/dbhome_1) ) ) Sid_list_listener_scan1 = (Sid_list = (Sid_desc = (Global_dbname = orclst) (Sid_name = orclst1) (Oracle_home =/u01/app/oracle/product/11.2.0/dbhome_1) ) ) Standby:rac22 More Listener.ora Listener_scan1= (description= (address_list= (address= (PROTOCOL=IPC) (Key=listener_scan1))) # line added by Agent Listener= (description= (address_list= (address= (PROTOCOL=IPC) (Key=listener))) # line added by Agent Enable_global_dynamic_endpoint_listener=on # line added by Agent Enable_global_dynamic_endpoint_listener_scan1=on # line added by Agent Sid_list_listener = (Sid_list = (Sid_desc = (Global_dbname = orclst) (Sid_name = orclst2) (Oracle_home =/u01/app/oracle/product/11.2.0/dbhome_1) ) ) Sid_list_listener_scan1 = (Sid_list = (Sid_desc = (Global_dbname = orclst) (Sid_name = orclst2) (Oracle_home =/u01/app/oracle/product/11.2.0/dbhome_1) ) ) |
Reboot monitor RAC21 or RAC21
The code is as follows |
Copy Code |
Srvctl Stop Listener-n RAC21 Srvctl Start Listener-n RAC21 Srvctl Stop Listener-n RAC22 Srvctl Start Listener-n RAC22 Srvctl Stop Scan_listener Srvctl Start Scan_listener Primary:rac1 More Listener.ora 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 Sid_list_listener = (Sid_list = (Sid_desc = (Global_dbname = ORCLPD) (Sid_name = ORCLPD1) (Oracle_home =/u01/app/oracle/product/11.2.0/dbhome_1) ) ) Sid_list_listener_scan1 = (Sid_list = (Sid_desc = (Global_dbname = ORCLPD) (Sid_name = ORCLPD1) (Oracle_home =/u01/app/oracle/product/11.2.0/dbhome_1) ) ) Primary:rac2 More Listener.ora Listener_scan1= (description= (address_list= (address= (PROTOCOL=IPC) (Key=listener_scan1))) # line added by Agent Listener= (description= (address_list= (address= (PROTOCOL=IPC) (Key=listener))) # line added by Agent Enable_global_dynamic_endpoint_listener=on # line added by Agent Enable_global_dynamic_endpoint_listener_scan1=on # line added by Agent Sid_list_listener = (Sid_list = (Sid_desc = (Global_dbname = ORCLPD) (Sid_name = ORCLPD2) (Oracle_home =/u01/app/oracle/product/11.2.0/dbhome_1) ) ) Sid_list_listener_scan1 = (Sid_list = (Sid_desc = (Global_dbname = ORCLPD) (Sid_name = ORCLPD2) (Oracle_home =/u01/app/oracle/product/11.2.0/dbhome_1) ) ) |
Reboot monitor RAC1 or RAC2
The code is as follows |
Copy Code |
Srvctl Stop Listener-n RAC1 Srvctl Start Listener-n RAC1 Srvctl Stop Listener-n RAC2 Srvctl Start Listener-n RAC2 Srvctl Stop Scan_listener Srvctl Start Scan_listener |
5, modify Tnsnames.ora file Primary:rac1 & RAC2
The code is as follows |
Copy Code |
More $ORACLE _home/network/admin/tnsnames.ora Orclstscan2 = (DESCRIPTION = (address = (PROTOCOL = TCP) (HOST = scan2-cluster) (PORT = 1521)) (Connect_data = (SERVER = dedicated) (service_name = orclst) ) ) Orclst = (DESCRIPTION = (address = (PROTOCOL = TCP) (HOST = RAC21-VIP) (PORT = 1521)) (address = (PROTOCOL = TCP) (HOST = RAC22-VIP) (PORT = 1521)) (Connect_data = (SERVER = dedicated) (service_name = orclst) ) ) Orclst1 = (DESCRIPTION = (address = (PROTOCOL = TCP) (HOST = RAC21-VIP) (PORT = 1521)) (Connect_data = (SERVER = dedicated) (service_name = orclst) (instance_name = Orclst1) ) ) Orclst2 = (DESCRIPTION = (address = (PROTOCOL = TCP) (HOST = RAC22-VIP) (PORT = 1521)) (Connect_data = (SERVER = dedicated) (service_name = orclst) (instance_name = Orclst2) ) ) ORCLPD = (DESCRIPTION = (address = (PROTOCOL = TCP) (HOST = RAC1-VIP) (PORT = 1521)) (address = (PROTOCOL = TCP) (HOST = RAC2-VIP) (PORT = 1521)) (Connect_data = (SERVER = dedicated) (service_name = ORCLPD) ) ) ORCLPD1 = (DESCRIPTION = (address = (PROTOCOL = TCP) (HOST = RAC1-VIP) (PORT = 1521)) (Connect_data = (SERVER = dedicated) (service_name = ORCLPD) (instance_name = ORCLPD1) ) ) ORCLPD2 = (DESCRIPTION = (address = (PROTOCOL = TCP) (HOST = RAC2-VIP) (PORT = 1521)) (Connect_data = (SERVER = dedicated) (service_name = ORCLPD) (instance_name = ORCLPD2) ) ) Standby:rac21 & RAC22 More $ORACLE _home/network/admin/tnsnames.ora Orclpdrac = (DESCRIPTION = (address = (PROTOCOL = TCP) (HOST = rac-cluster) (PORT = 1521)) (Connect_data = (SERVER = dedicated) (service_name = ORCLPD) ) ) Orclst = (DESCRIPTION = (address = (PROTOCOL = TCP) (HOST = RAC21-VIP) (PORT = 1521)) (address = (PROTOCOL = TCP) (HOST = RAC22-VIP) (PORT = 1521)) (Connect_data = (SERVER = dedicated) (service_name = orclst) ) ) Orclst1 = (DESCRIPTION = (address = (PROTOCOL = TCP) (HOST = RAC21-VIP) (PORT = 1521)) (Connect_data = (SERVER = dedicated) (service_name = orclst) (instance_name = Orclst1) ) ) Orclst2 = (DESCRIPTION = (address = (PROTOCOL = TCP) (HOST = RAC22-VIP) (PORT = 1521)) (Connect_data = (SERVER = dedicated) (service_name = orclst) (instance_name = Orclst2) ) ) ORCLPD = (DESCRIPTION = (address = (PROTOCOL = TCP) (HOST = RAC1-VIP) (PORT = 1521)) (address = (PROTOCOL = TCP) (HOST = RAC2-VIP) (PORT = 1521)) (Connect_data = (SERVER = dedicated) (service_name = ORCLPD) ) ) ORCLPD1 = (DESCRIPTION = (address = (PROTOCOL = TCP) (HOST = RAC1-VIP) (PORT = 1521)) (Connect_data = (SERVER = dedicated) (service_name = ORCLPD) (instance_name = ORCLPD1) ) ) ORCLPD2 = (DESCRIPTION = (address = (PROTOCOL = TCP) (HOST = RAC2-VIP) (PORT = 1521)) (Connect_data = (SERVER = dedicated) (service_name = ORCLPD) (instance_name = ORCLPD2) ) ) |
6, Primary the main library before modifying initialization parameters, backup pfilesql> create pfile= '/home/oracle/primaryinitpfile.ora ' from SPFile;
7, Primary the main library to modify the initialization parameters Primary Rac1:
The code is as follows |
Copy Code |
Alter system set log_archive_config= ' dg_config= (orclpd,orclst) ' Scope=both;
Alter system set log_archive_dest_1= ' Location=+data2 valid_for= (all_logfiles,all_roles) DB_UNIQUE_NAME=ORCLPD ' scope =both;
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 ' Scope=both;
Alter system set log_archive_dest_state_2= ' defer ' scope=both;
Alter system set log_archive_dest_state_1= ' Enable ' scope=both;
Alter system set fal_server= ' orclst1′, ' orclst2′scope=both;
Alter system set fal_client= ' Orclpd1′scope=both sid= ' orclpd1′;
Alter system set fal_client= ' Orclpd2′scope=both sid= ' orclpd2′;
Alter system set LOG_ARCHIVE_MAX_PROCESSES=10 Scope=both;
Alter system set db_file_name_convert= ' +data1/orclst ', ' +DATA1/ORCLPD ' scope=spfile;
Alter system set log_file_name_convert= ' +data2/orclst ', ' +data2/orclpd ', ' +data1/orclst ', ' +DATA1/ORCLPD ' scope= SPFile
Alter system set standby_file_management= ' AUTO ' Scope=both; |
Restart the database to make the modification parameters effective
The code is as follows |
Copy Code |
Srvctl Stop database-d ORCLPD Srvctl Start database-d ORCLPD |
PS: Restarting one instance individually may cause an error
FileName Convert Master to use a different path, otherwise closing one of the databases is equivalent to shutting down the system
8, about Local_listener recommend do not set Local_listener, because the Local_listener is set, if the monitoring is modified, Local_listener will not update the field, will cause the database can not connect.
In RAC, Local_listener values are dynamically updated when the database is restarted.
9, Standby to ensure that the Remote_listener set to scan name, the following will be used [oracle@rac21 orclst]$ srvctl config scan
SCAN Name:scan2-cluster, Network:1/10.10.23.0/255.255.255.0/eth0
SCAN VIP name:scan1, IP:/scan2-cluster/10.10.23.10
10, copy the password file on the primary node to the standby library nodes, and according to the instance name RAC1 on the/U01/APP/ORACLE/PRODUCT/11.2.0/DBHOME_1/DBS/ORAPWORCLPD2
Copy to RAC21 & RAC22
Rac21 is named/u01/app/oracle/product/11.2.0/dbhome_1/dbs/orapworclst1.
RAC22 is named/u01/app/oracle/product/11.2.0/dbhome_1/dbs/orapworclst2.
11, select Standby Library One of the nodes RAC21:
The code is as follows |
Copy Code |
Create/u01/app/oracle/product/11.2.0/dbhome_1/dbs/initorclst1.ora Cat Initorclst1.ora Db_name=orclst |
12, start the database to Nomount mode RAC21:
The code is as follows |
Copy Code |
Export Oracle_sid=orclst1 sql> startup Nomount pfile= '/u01/app/oracle/product/11.2.0/dbhome_1/dbs/initorclst1.ora '; ORACLE instance started. Total System Global area 217157632 bytes Fixed Size 2225064 bytes Variable Size 159386712 bytes Database buffers 50331648 bytes Redo buffers 5214208 bytes |
13, modify the log_archive_dest_state_2 value on one node of the primary main library
The code is as follows |
Copy Code |
Sql> alter system set log_archive_dest_state_2= ' Enable ' Scope=both sid= ' * '; |
14. Use Rman to replicate data on one node of the primary main library to standby database target connect to one of the main libraries, auxiliary connect to one instance of the repository
The code is as follows |
Copy Code |
Rman target/auxiliary Sys/salley_2009@orclst1 Recovery manager:release 11.2.0.2.0–production on Fri Feb 18 15:12:39 2011 Copyright (c) 1982, 2009, Oracle and/or its affiliates. All rights reserved. Connected to target DATABASE:RAC11G2 (dbid=4063332678) Connected to auxiliary database:rac11g2s (not mounted) Primary Rac1: [oracle@rac1 dbs]$ rman target/auxiliary sys/salley_2009@orclst1 Duplicate target database for Standby from active database SPFile Parameter_value_convert ' orclpd ', ' orclst ', ' orclpd ', ' Orclst ' set db_ Unique_name= ' Orclst ' set db_file_name_convert= ' +data1/orclpd ', ' +data1/orclst ' set log_file_name_convert= ' + DATA1/ORCLPD ', ' +data1/orclst ', ' +data2/orclpd ', ' +data2/orclst ' set control_files= ' +data1′, ' +data2′ Set Instance_number= ' 1′ Set log_archive_max_processes= ' 5′ Set fal_client= ' Orclst ' set fal_server= ' orclpd1′, ' orclpd2′ Set remote_listener= ' scan2-cluster:11521′ Reset Local_listener Set 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 ' Set log_archive_dest_1= ' Location=use_db_recovery_file_dest valid_for= (All_logfiles,all_ roles) Db_unique_name=orclst '; |
PS: If the operation fails, generally need to check the place has the following points:
Whether the memory is sufficient;
Whether the monitor can be connected;
Whether the trname is properly configured;
Primary whether to boot to archive mode;
Primary whether to boot to force logging mode;
15, the above command after the successful operation, will start standby on the Orclst1 instance to mount mode run the following log application command
The code is as follows |
Copy Code |
sql> ALTER DATABASE recover managed standby database using current logfile disconnect; Database altered. |
See the Archive log application below:
code is as follows |
copy code |
sql> Select sequence#,thread#,applied from V$archived_log; sequence# thread# Applied ———-———-——— 1 Yes 1 Yes 1 Yes 2 Yes 2 YES 2 Y ES 2 Yes 1 Yes 1 Yes 2 Yes 2 YES sequence# thread# applied ———-———-——— 1 Yes 1 Yes 1 Yes 2 Yes 1 Yes 2 Yes 1 Yes 2 Yes 2 Yes 28 1 Yes 2 Yes sequence# thread# applied ———-———-——— 1 Yes 2 Yes 1 in-memory 2 5 rows selected. |
16, the above settings so that DG Normal operation, then the following to set the Standby database under the control of cluster first, STANDBY:RAC21 create Pfile
sql> create pfile= '/home/oracle/stdbypfile.ora ' from SPFile;
17, modify the/home/oracle/stdbypfile.ora file to remove the reference primary library part, plus instance orclst2 set the part
As follows:
The code is as follows |
Copy Code |
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
Ten orclst2.__pga_aggregate_target=520093696
One orclst1.__sga_target=754974720
orclst2.__sga_target=754974720
Orclst1.__shared_io_pool_size=0
Orclst2.__shared_io_pool_size=0
orclst1.__shared_pool_size=268435456
orclst2.__shared_pool_size=268435456
Orclst1.__streams_pool_size=0
Orclst2.__streams_pool_size=0
*.audit_file_dest= '/u01/app/oracle/admin/orclst/adump '
*.audit_trail= ' DB '
*.cluster_database=true
*.compatible= ' 11.2.0.0.0′
*.control_files= ' +data1/orclst/controlfile/current.278.825782107′, ' +data2/orclst/controlfile/ current.318.825782107′ #Set by RMAN
*.db_block_size=8192
*.db_create_file_dest= ' +data1′
*.db_domain= "
*.db_file_name_convert= ' +data1/orclpd ', ' +data1/orclst '
*.db_name= ' ORCLPD '
*.db_recovery_file_dest= ' +data2′
*.db_recovery_file_dest_size=4070572032
*.db_unique_name= ' Orclst '
*.diagnostic_dest= '/u01/app/oracle '
*.dispatchers= ' (protocol=tcp) (SERVICE=ORCLSTXDB) '
Orclst1.fal_client= ' orclst1′
Orclst2.fal_client= ' orclst2′
*.fal_server= ' orclpd1′, ' orclpd2′
Panax orclst1.instance_number=1
orclst2.instance_number=2
*.log_archive_config= ' dg_config= (orclpd,orclst) '
*.log_archive_dest_1= ' Location=use_db_recovery_file_dest valid_for= (all_logfiles,all_roles) db_unique_name= Orclst '
*.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 '
*.log_archive_dest_state_1= ' Enable '
*.log_archive_dest_state_2= ' Enable '
*.log_archive_format= '%t_%s_%r.dbf '
*.log_archive_max_processes=5
*.log_file_name_convert= ' +data1/orclpd ', ' +data1/orclst ', ' +data2/orclpd ', ' +data2/orclst '
*.memory_target=1264582656
*.open_cursors=300
*.processes=150
*.remote_listener= ' scan2-cluster:11521′
Wuyi *.remote_login_passwordfile= ' exclusive '
*.standby_file_management= ' AUTO '
orclst2.thread=2
Orclst1.thread=1
Orclst1.undo_tablespace= ' undotbs1′
Orclst2.undo_tablespace= ' undotbs2′ |
PS: note Here db_name and primary are the same, Unique_db_name set to Orclst
18, close the database, use the new parameters to boot to mount mode sql> ALTER DATABASE recover managed standby database cancel;
The code is as follows |
Copy Code |
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, in the standby of the two nodes to create a parameter file, file content consistent
The code is as follows |
Copy Code |
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, set standby two nodes on the Oracle environment variable RAC21 on Oracle_sid=orclst1
RAC22 on Oracle_sid=orclst2
21. Add the new standby database and its instance to the cluster setting
The code is as follows |
Copy Code |
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: note-S Mount set physical standby default boot to mount mode
22, start standby, and test the configuration of the join cluster is correct
The code is as follows |
Copy Code |
[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:o Ra.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; 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. Start the DG recovery process sql> ALTER DATABASE recover managed standby database using current logfile disconnect in one of the standby instances;
These are all the Rac-rac DG settings.
24. Set up archive log purge policy on primary
The code is as follows |
Copy Code |
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= ' *;
|
To set the archive log purge policy for Rman: (to confirm that Archivelog has been applied to the standby database before deleting the log)
code is as follows |
copy code |
rman> CONFIGURE archivelog deletion POLICY to applied on STANDBY; |