192.168.61.158 (主库)
SQL> shutdown immediate
192.168.61.159(从库)
SQL> alter database recover managed standby database cancel;
SQL> shutdown immediate
192.168.61.158(主库)
SQL> startup mount;
SQL> alter database set standby database to maximize availability;
SQL> alter system set log_archive_dest_2='service=DGDB5 LGWR SYNC valid_for=(online_logfiles,primary_roles) db_unique_name=DGDB5' scope=spfile;
192.168.61.159(从库)
SQL> startup nomount
SQL> alter database mount standby database;
SQL> alter system set log_archive_dest_2='service=DGDB4 LGWR SYNC valid_for=(online_logfiles,primary_roles) db_unique_name=DGDB4' scope=spfile;
SQL> shutdown immediate
192.168.61.158(主库)
SQL> alter database open;
SQL> select DATABASE_ROLE,PROTECTION_MODE,PROTECTION_LEVEL from v$database;
DATABASE_ROLE PROTECTION_MODE PROTECTION_LEVEL
---------------- -------------------- --------------------
PRIMARY MAXIMUM AVAILABILITY RESYNCHRONIZATION
SQL> show parameter log_archive_dest_2
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
log_archive_dest_2 string SERVICE=dgdb5 LGWR SYNC VALID_
FOR=(ONLINE_LOGFILES,PRIMARY_R
OLE) DB_UNIQUE_NAME=dgdb5
192.168.61.159(从库)
SQL> startup;
SQL> show parameter log_archive_dest_2
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
log_archive_dest_2 string service=DGDB4 LGWR SYNC valid_
for=(online_logfiles,primary_r
oles) db_unique_name=DGDB4
SQL> alter database recover managed standby database using current logfile disconnect from session;
问题1:主库插入数据,从库没有数据过来。
主库 alter system switch logfile; 从库还是没有数据过来。
问题2:log_archive_dest_2 中的 service=DGDB4 是写TNS名还是service_names? 我写的是TNS名。主库写从库的,从库写主库的,对吗?
主库参数
SQL> show parameter name
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
cdb_cluster_name string DGDB4
cell_offloadgroup_name string
db_file_name_convert string /u01/app/oracle/oradata/dgdb,
/u01/app/oracle/oradata/dgdb
db_name string dgdb
db_unique_name string DGDB4
global_names boolean FALSE
instance_name string dgdb
lock_name_space string
log_file_name_convert string /u01/app/oracle/oradata/dgdb/,
/u01/app/oracle/oradata/dgdb/
pdb_file_name_convert string
processor_group_name string
service_names string DGDB
SQL> select process,client_process,sequence#,status from v$managed_standby;
PROCESS CLIENT_P SEQUENCE# STATUS
--------- -------- ---------- ------------
ARCH ARCH 61 CLOSING
ARCH ARCH 66 CLOSING
ARCH ARCH 62 CLOSING
ARCH ARCH 63 CLOSING
DGRD N/A 0 ALLOCATED
DGRD N/A 0 ALLOCATED
DGRD N/A 0 ALLOCATED
7 rows selected.
SQL> select dest_name,archived_thread#,archived_seq#,applied_thread#,applied_seq#,db_unique_name from v$archive_dest_status where status ='VALID';
DEST_NAME
--------------------------------------------------------------------------------
ARCHIVED_THREAD# ARCHIVED_SEQ# APPLIED_THREAD# APPLIED_SEQ#
---------------- ------------- --------------- ------------
DB_UNIQUE_NAME
------------------------------
LOG_ARCHIVE_DEST_1
1 66 0 0
dgdb4
SQL> select database_role,db_unique_name,open_mode,protection_mode,protection_level,switchover_status from v$database;
DATABASE_ROLE DB_UNIQUE_NAME OPEN_MODE
---------------- ------------------------------ --------------------
PROTECTION_MODE PROTECTION_LEVEL SWITCHOVER_STATUS
-------------------- -------------------- --------------------
PRIMARY DGDB4 READ WRITE
MAXIMUM AVAILABILITY RESYNCHRONIZATION FAILED DESTINATION
从库参数
SQL> show parameter name
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
cdb_cluster_name string DGDB5
cell_offloadgroup_name string
db_file_name_convert string /u01/app/oracle/oradata/dgdb,
/u01/app/oracle/oradata/dgdb
db_name string dgdb
db_unique_name string DGDB5
global_names boolean FALSE
instance_name string dgdb
lock_name_space string
log_file_name_convert string /u01/app/oracle/oradata/dgdb/,
/u01/app/oracle/oradata/dgdb/
pdb_file_name_convert string
processor_group_name string
service_names string DGDB
SQL> select process,client_process,sequence#,status from v$managed_standby;
PROCESS CLIENT_P SEQUENCE# STATUS
--------- -------- ---------- ------------
ARCH ARCH 0 CONNECTED
DGRD N/A 0 ALLOCATED
DGRD N/A 0 ALLOCATED
ARCH ARCH 0 CONNECTED
ARCH ARCH 0 CONNECTED
ARCH ARCH 0 CONNECTED
MRP0 N/A 63 WAIT_FOR_GAP
RFS UNKNOWN 0 IDLE
RFS UNKNOWN 0 IDLE
RFS UNKNOWN 0 IDLE
10 rows selected.
SQL> select recovery_mode from v$archive_dest_status where dest_id=2;
RECOVERY_MODE
-----------------------
IDLE
tnsname.ora
DGDB4 =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.61.158)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = DGDB)
)
)
DGDB5 =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.61.159)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = DGDB)
)
)