1 .环境说明
| 源数据库 | 目标数据库 | |
|---|---|---|
| IP地址 | 192.168.56.168 | 192.168.56.168 |
| 数据库SID | cndba | cndba |
| DB_UNIQUE_NAME | cndba_p | cndba_s |
| 数据文件路径 | /u01/app/oracle/oradata | /u01/app/oracle/oradata |
| 归档路径 | /u01/archivelog | /u01/archivelog |
2 主库启动FORCE LOGGING
SQL> col name for a20
SQL> select name,open_mode from v$pdbs;
NAME OPEN_MODE
-------------------- --------------------
PDB$SEED READ ONLY
DAVE READ WRITE
SQL> select force_logging from v$database;
FORCE_LOGGING
--------------------------------------------------------------------------------
NO
SQL> alter database force logging;
Database altered.
SQL> select force_logging from v$database;
FORCE_LOGGING
--------------------------------------------------------------------------------
YES
3 主库启动归档模式
SQL> archive log list;
Database log mode No Archive Mode
Automatic archival Disabled
Archive destination USE_DB_RECOVERY_FILE_DEST
SQL> alter system set log_archive_dest_1='location=/u01/archivelog/' scope=spfile ;
System altered.
SQL>alter system set log_archive_format='arch_%t_%s_%r.arc' scope=spfile;
System altered.
SQL> shutdown immediate
Database closed.
Database dismounted.
ORACLE instance shut down.
SQL> startup mount
Database mounted.
SQL> alter database archivelog;
Database altered.
SQL> alter database open;
Database altered.
SQL> show pdbs
CON_ID CON_NAME OPEN MODE RESTRICTED
---------- ------------------------------ ---------- ----------
2 PDB$SEED READ ONLY NO
3 DAVE READ WRITE NO
SQL> archive log list;
Database log mode Archive Mode
Automatic archival Enabled
Archive destination /u01/archivelog
Oldest online log sequence 5
Next log sequence to archive 7
Current log sequence 7
4 在主库添加 standby redo logfile
在Oracle 18c的多租户架构里,online redo log 和控制文件是保存在CDB中的,PDB中只有运行需要的数据文件,所以我们这里加standby redo log,也是在CDB中加。
SQL> select group#, members, bytes from v$log;
GROUP# MEMBERS BYTES
---------- ---------- ----------
1 1 209715200
2 1 209715200
3 1 209715200
注意这里online redo log大小的变化,详细参考:
Oracle 12cR2 默认 online redo log 的大小从50M 增加到 200M
https://www.cndba.cn/dave/article/2054
SQL> select member from v$logfile;
MEMBER
----------------------------------------------------------------
/u01/app/oracle/oradata/CNDBA/redo03.log
/u01/app/oracle/oradata/CNDBA/redo02.log
/u01/app/oracle/oradata/CNDBA/redo01.log
SQL> alter database add standby logfile '/u01/app/oracle/oradata/CNDBA/stdredo01.log' size 200M;
SQL> alter database add standby logfile '/u01/app/oracle/oradata/CNDBA/stdredo02.log' size 200M;
SQL> alter database add standby logfile '/u01/app/oracle/oradata/CNDBA/stdredo03.log' size 200M;
SQL> alter database add standby logfile '/u01/app/oracle/oradata/CNDBA/stdredo04.log' size 200M;
SQL> select member from v$logfile;
MEMBER
----------------------------------------------------------------------------------------
/u01/app/oracle/oradata/cndba/redo01.log
/u01/app/oracle/oradata/cndba/redo02.log
/u01/app/oracle/oradata/cndba/redo03.log
/u01/app/oracle/oradata/cndba/stdredo01.log
/u01/app/oracle/oradata/cndba/stdredo02.log
/u01/app/oracle/oradata/cndba/stdredo03.log
/u01/app/oracle/oradata/cndba/stdredo04.log
5 在主库创建pfile 文件并修改pfile 内容
SQL> create pfile from spfile;
File created.
在pfile中添加如下内容:
[oracle@www.cndba.cn dbs]$ pwd
/u01/app/oracle/product/18.3.0/db_1/dbs
[oracle@www.cndba.cn dbs]$ vim initcndba.ora
### add for dg
*.db_unique_name='cndba_p'
*.log_archive_config='dg_config=(cndba_p, cndba_s)'
*.log_archive_dest_1='location=/u01/archivelog/ valid_for=(all_logfiles,all_roles) db_unique_name=cndba_p'
*.log_archive_dest_2='service=cndba_s lgwr affirm sync valid_for=(online_logfiles,primary_role) db_unique_name=cndba_s'
*.log_archive_dest_state_1=enable
*.log_archive_dest_state_2=enable
*.standby_file_management='auto'
*.fal_server='cndba_s'
#*.log_file_name_convert='/u01/app/oracle/oradata/cndba','/u01/app/oracle/oradata/cndba'
#*.db_file_name_convert='/u01/app/oracle/oradata/cndba','/u01/app/oracle/oradata/cndba'
用新参数重启数据库:
[oracle@www.cndba.cn archive]$ sqlplus / as sysdba
SQL*Plus: Release 18.0.0.0.0 Production on Tue Jul 17 11:55:05 2018
Version 18.1.0.0.0
Copyright (c) 1982, 2017, Oracle. All rights reserved.
Connected to:
Oracle Database 18c Enterprise Edition Release 18.0.0.0.0 - Production
Version 18.1.0.0.0
SQL> shutdown immediate
Database closed.
Database dismounted.
ORACLE instance shut down.
SQL> create spfile from pfile;
File created.
SQL> startup
6 分别在主备库配置监听并启动
[oracle@www.cndba.cn admin]$ cat listener.ora
# listener.ora Network Configuration File: /u01/app/oracle/product/18.3.0/db_1/network/admin/listener.ora
# Generated by Oracle configuration tools.
SID_LIST_LISTENER =
(SID_LIST =
(SID_DESC =
(GLOBAL_DBNAME = cndba)
(ORACLE_HOME = /u01/app/oracle/product/18.3.0/db_1)
(SID_NAME = cndba)
)
)
LISTENER =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.56.168)(PORT = 1522))
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1522))
)
)
ADR_BASE_LISTENER = /u01/app/oracle
[oracle@www.cndba.cn admin]$ lsnrctl reload
LSNRCTL for Linux: Version 18.0.0.0.0 - Production on 17-JUL-2018 11:41:07
Copyright (c) 1991, 2017, Oracle. All rights reserved.
Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=host1)(PORT=1521)))
The command completed successfully
7 分别在主备库配置tnsnames.ora
[oracle@www.cndba.cn admin]$ cat /u01/app/oracle/product/18.1.0/dbhome_1/network/admin/tnsnames.ora
主备库添加以下内容:
cndba_p =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.56.168)(PORT = 1522))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = cndba)
)
)
cndba_s =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.56.169)(PORT = 1522))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = cndba)
)
)
配置完成后,使用tnsping 命令校验,切记要相互ping 通方可继续后面的操作,如果不通的话检查防火墙有没有关或者1521 端口有没有关,tnsname.ora 配置是否正确,一般是这些原因,防火墙占多数原因。
[oracle@www.cndba.cn admin]$ tnsping cndba_p
[oracle@www.cndba.cn admin]$ tnsping cndba_s
TNS Ping Utility for Linux: Version 18.0.0.0.0 - Production on 27-AUG-2018 15:27:45
Copyright (c) 1997, 2018, Oracle. All rights reserved.
Used parameter files:
/u01/app/oracle/product/18.3.0/db_1/network/admin/sqlnet.ora
Used TNSNAMES adapter to resolve the alias
Attempting to contact (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.56.169)(PORT = 1522)) (CONNECT_DATA = (SERVER = DEDICATED) (SERVICE_NAME = cndba)))
OK (0 msec)
[oracle@www.cndba.cn admin]$
8 在备库创建必要的目录
--主库查看目录
[oracle@www.cndba.cn admin]$ cd /u01/app/oracle
[oracle@www.cndba.cn oracle]$ ls
admin audit cfgtoollogs checkpoints diag fast_recovery_area oradata product tfa
[oracle@www.cndba.cn oracle]$ cd admin/cndba/
[oracle@www.cndba.cn cndba]$ ls
adump dpdump pfile xdb_wallet
--备库创建目录
[oracle@www.cndba.cn oracle]$ ls
cfgtoollogs checkpoints diag product tfa
[oracle@www.cndba.cn oracle]$ mkdir -p /u01/app/oracle/admin/cndba/adump
[oracle@www.cndba.cn oracle]$ mkdir -p /u01/app/oracle/fast_recovery_area
[oracle@www.cndba.cn oracle]$ mkdir -p /u01/app/oracle/oradata
9 将主库的口令文件copy到备库
这里主备库的CDB实例相同,如果不同,可以使用orapwd命令重建。
[oracle@www.cndba.cn dbs]$ scp orapwcndba 192.168.56.169:/u01/app/oracle/product/18.1.0/dbhome_1/dbs
orapwcndba 100% 3072 3.0KB/s 00:00
10 将主库的参数文件copy到备库并修改
--主库操作
[oracle@www.cndba.cn dbs]$ scp initcndba.ora 192.168.56.169:/u01/app/oracle/product/18.3.0/dbhome_1/dbs
initcndba.ora 100% 2016 2.0KB/s 00:00
--备库修改参数文件添加以下内容在重新生成spfile:
### add for dg
*.db_unique_name='cndba_s'
*.log_archive_config='dg_config=(cndba_p, cndba_s)'
*.log_archive_dest_1='location=/u01/archivelog/ valid_for=(all_logfiles,all_roles) db_unique_name=cndba_s'
*.log_archive_dest_2='service=cndba_p lgwr affirm sync valid_for=(online_logfiles,primary_role) db_unique_name=cndba_p'
*.log_archive_dest_state_1=enable
*.log_archive_dest_state_2=enable
*.standby_file_management='auto'
*.fal_server='cndba_p'
11 用spfile 将备库启动到nomount 状态
SQL> shutdown immediate
Database closed.
Database dismounted.
ORACLE instance shut down.
SQL> create spfile from pfile;
File created.
SQL> startup nomount
12 开始进行Active duplicate
这里可能遇到以下错误,供参考:
Oracle 18c ADG RMAN duplicate ORA-01017错误解决方法
https://www.cndba.cn/dave/article/2994
[oracle@www.cndba.cn admin]$ rman target sys/oracle@cndba_p auxiliary sys/oracle@cndba_s;
Recovery Manager: Release 18.0.0.0.0 - Production on Fri Aug 31 05:33:25 2018
Version 18.3.0.0.0
Copyright (c) 1982, 2018, Oracle and/or its affiliates. All rights reserved.
connected to target database: CNDBA (DBID=249608884)
connected to auxiliary database: CNDBA (not mounted)
RMAN> duplicate target database for standby from active database nofilenamecheck dorecover;
Starting Duplicate Db at 31-AUG-18
using target database control file instead of recovery catalog
allocated channel: ORA_AUX_DISK_1
channel ORA_AUX_DISK_1: SID=237 device type=DISK
current log archived
contents of Memory Script:
{
backup as copy reuse
passwordfile auxiliary format '/u01/app/oracle/product/18.3.0/db_1/dbs/orapwcndba' ;
}
executing Memory Script
Starting backup at 31-AUG-18
allocated channel: ORA_DISK_1
channel ORA_DISK_1: SID=256 device type=DISK
Finished backup at 31-AUG-18
contents of Memory Script:
{
restore clone from service 'cndba_p' standby controlfile;
}
executing Memory Script
Starting restore at 31-AUG-18
using channel ORA_AUX_DISK_1
channel ORA_AUX_DISK_1: starting datafile backup set restore
channel ORA_AUX_DISK_1: using network backup set from service cndba_p
channel ORA_AUX_DISK_1: restoring control file
channel ORA_AUX_DISK_1: restore complete, elapsed time: 00:00:02
output file name=/u01/app/oracle/oradata/CNDBA/control01.ctl
output file name=/u01/app/oracle/recovery_area/CNDBA/control02.ctl
Finished restore at 31-AUG-18
contents of Memory Script:
{
sql clone 'alter database mount standby database';
}
executing Memory Script
sql statement: alter database mount standby database
contents of Memory Script:
{
set newname for tempfile 1 to
"/u01/app/oracle/oradata/CNDBA/temp01.dbf";
set newname for tempfile 2 to
"/u01/app/oracle/oradata/CNDBA/pdbseed/temp012018-08-26_03-46-43-040-AM.dbf";
set newname for tempfile 3 to
"/u01/app/oracle/oradata/CNDBA/dave/temp01.dbf";
switch clone tempfile all;
set newname for datafile 1 to
"/u01/app/oracle/oradata/CNDBA/system01.dbf";
set newname for datafile 3 to
"/u01/app/oracle/oradata/CNDBA/sysaux01.dbf";
set newname for datafile 4 to
"/u01/app/oracle/oradata/CNDBA/undotbs01.dbf";
set newname for datafile 5 to
"/u01/app/oracle/oradata/CNDBA/pdbseed/system01.dbf";
set newname for datafile 6 to
"/u01/app/oracle/oradata/CNDBA/pdbseed/sysaux01.dbf";
set newname for datafile 7 to
"/u01/app/oracle/oradata/CNDBA/users01.dbf";
set newname for datafile 8 to
"/u01/app/oracle/oradata/CNDBA/pdbseed/undotbs01.dbf";
set newname for datafile 9 to
"/u01/app/oracle/oradata/CNDBA/dave/system01.dbf";
set newname for datafile 10 to
"/u01/app/oracle/oradata/CNDBA/dave/sysaux01.dbf";
set newname for datafile 11 to
"/u01/app/oracle/oradata/CNDBA/dave/undotbs01.dbf";
set newname for datafile 12 to
"/u01/app/oracle/oradata/CNDBA/dave/users01.dbf";
restore
from nonsparse from service
'cndba_p' clone database
;
sql 'alter system archive log current';
}
executing Memory Script
executing command: SET NEWNAME
executing command: SET NEWNAME
executing command: SET NEWNAME
renamed tempfile 1 to /u01/app/oracle/oradata/CNDBA/temp01.dbf in control file
renamed tempfile 2 to /u01/app/oracle/oradata/CNDBA/pdbseed/temp012018-08-26_03-46-43-040-AM.dbf in control file
renamed tempfile 3 to /u01/app/oracle/oradata/CNDBA/dave/temp01.dbf in control file
executing command: SET NEWNAME
executing command: SET NEWNAME
executing command: SET NEWNAME
executing command: SET NEWNAME
executing command: SET NEWNAME
executing command: SET NEWNAME
executing command: SET NEWNAME
executing command: SET NEWNAME
executing command: SET NEWNAME
executing command: SET NEWNAME
executing command: SET NEWNAME
Starting restore at 31-AUG-18
using channel ORA_AUX_DISK_1
skipping datafile 5; already restored to SCN 1552685
skipping datafile 6; already restored to SCN 1552685
skipping datafile 8; already restored to SCN 1552685
channel ORA_AUX_DISK_1: starting datafile backup set restore
channel ORA_AUX_DISK_1: using network backup set from service cndba_p
channel ORA_AUX_DISK_1: specifying datafile(s) to restore from backup set
channel ORA_AUX_DISK_1: restoring datafile 00001 to /u01/app/oracle/oradata/CNDBA/system01.dbf
channel ORA_AUX_DISK_1: restore complete, elapsed time: 00:00:15
channel ORA_AUX_DISK_1: starting datafile backup set restore
channel ORA_AUX_DISK_1: using network backup set from service cndba_p
channel ORA_AUX_DISK_1: specifying datafile(s) to restore from backup set
channel ORA_AUX_DISK_1: restoring datafile 00003 to /u01/app/oracle/oradata/CNDBA/sysaux01.dbf
channel ORA_AUX_DISK_1: restore complete, elapsed time: 00:00:07
channel ORA_AUX_DISK_1: starting datafile backup set restore
channel ORA_AUX_DISK_1: using network backup set from service cndba_p
channel ORA_AUX_DISK_1: specifying datafile(s) to restore from backup set
channel ORA_AUX_DISK_1: restoring datafile 00004 to /u01/app/oracle/oradata/CNDBA/undotbs01.dbf
channel ORA_AUX_DISK_1: restore complete, elapsed time: 00:00:01
channel ORA_AUX_DISK_1: starting datafile backup set restore
channel ORA_AUX_DISK_1: using network backup set from service cndba_p
channel ORA_AUX_DISK_1: specifying datafile(s) to restore from backup set
channel ORA_AUX_DISK_1: restoring datafile 00007 to /u01/app/oracle/oradata/CNDBA/users01.dbf
channel ORA_AUX_DISK_1: restore complete, elapsed time: 00:00:01
channel ORA_AUX_DISK_1: starting datafile backup set restore
channel ORA_AUX_DISK_1: using network backup set from service cndba_p
channel ORA_AUX_DISK_1: specifying datafile(s) to restore from backup set
channel ORA_AUX_DISK_1: restoring datafile 00009 to /u01/app/oracle/oradata/CNDBA/dave/system01.dbf
channel ORA_AUX_DISK_1: restore complete, elapsed time: 00:00:04
channel ORA_AUX_DISK_1: starting datafile backup set restore
channel ORA_AUX_DISK_1: using network backup set from service cndba_p
channel ORA_AUX_DISK_1: specifying datafile(s) to restore from backup set
channel ORA_AUX_DISK_1: restoring datafile 00010 to /u01/app/oracle/oradata/CNDBA/dave/sysaux01.dbf
channel ORA_AUX_DISK_1: restore complete, elapsed time: 00:00:07
channel ORA_AUX_DISK_1: starting datafile backup set restore
channel ORA_AUX_DISK_1: using network backup set from service cndba_p
channel ORA_AUX_DISK_1: specifying datafile(s) to restore from backup set
channel ORA_AUX_DISK_1: restoring datafile 00011 to /u01/app/oracle/oradata/CNDBA/dave/undotbs01.dbf
channel ORA_AUX_DISK_1: restore complete, elapsed time: 00:00:01
channel ORA_AUX_DISK_1: starting datafile backup set restore
channel ORA_AUX_DISK_1: using network backup set from service cndba_p
channel ORA_AUX_DISK_1: specifying datafile(s) to restore from backup set
channel ORA_AUX_DISK_1: restoring datafile 00012 to /u01/app/oracle/oradata/CNDBA/dave/users01.dbf
channel ORA_AUX_DISK_1: restore complete, elapsed time: 00:00:01
Finished restore at 31-AUG-18
sql statement: alter system archive log current
current log archived
contents of Memory Script:
{
restore clone force from service 'cndba_p'
archivelog from scn 1802555;
switch clone datafile all;
}
executing Memory Script
Starting restore at 31-AUG-18
using channel ORA_AUX_DISK_1
channel ORA_AUX_DISK_1: starting archived log restore to default destination
channel ORA_AUX_DISK_1: using network backup set from service cndba_p
channel ORA_AUX_DISK_1: restoring archived log
archived log thread=1 sequence=9
channel ORA_AUX_DISK_1: restore complete, elapsed time: 00:00:01
channel ORA_AUX_DISK_1: starting archived log restore to default destination
channel ORA_AUX_DISK_1: using network backup set from service cndba_p
channel ORA_AUX_DISK_1: restoring archived log
archived log thread=1 sequence=10
channel ORA_AUX_DISK_1: restore complete, elapsed time: 00:00:02
channel ORA_AUX_DISK_1: starting archived log restore to default destination
channel ORA_AUX_DISK_1: using network backup set from service cndba_p
channel ORA_AUX_DISK_1: restoring archived log
archived log thread=1 sequence=11
channel ORA_AUX_DISK_1: restore complete, elapsed time: 00:00:01
Finished restore at 31-AUG-18
datafile 1 switched to datafile copy
input datafile copy RECID=4 STAMP=985584926 file name=/u01/app/oracle/oradata/CNDBA/system01.dbf
datafile 3 switched to datafile copy
input datafile copy RECID=5 STAMP=985584926 file name=/u01/app/oracle/oradata/CNDBA/sysaux01.dbf
datafile 4 switched to datafile copy
input datafile copy RECID=6 STAMP=985584926 file name=/u01/app/oracle/oradata/CNDBA/undotbs01.dbf
datafile 5 switched to datafile copy
input datafile copy RECID=7 STAMP=985584926 file name=/u01/app/oracle/oradata/CNDBA/pdbseed/system01.dbf
datafile 6 switched to datafile copy
input datafile copy RECID=8 STAMP=985584926 file name=/u01/app/oracle/oradata/CNDBA/pdbseed/sysaux01.dbf
datafile 7 switched to datafile copy
input datafile copy RECID=9 STAMP=985584926 file name=/u01/app/oracle/oradata/CNDBA/users01.dbf
datafile 8 switched to datafile copy
input datafile copy RECID=10 STAMP=985584926 file name=/u01/app/oracle/oradata/CNDBA/pdbseed/undotbs01.dbf
datafile 9 switched to datafile copy
input datafile copy RECID=11 STAMP=985584926 file name=/u01/app/oracle/oradata/CNDBA/dave/system01.dbf
datafile 10 switched to datafile copy
input datafile copy RECID=12 STAMP=985584926 file name=/u01/app/oracle/oradata/CNDBA/dave/sysaux01.dbf
datafile 11 switched to datafile copy
input datafile copy RECID=13 STAMP=985584926 file name=/u01/app/oracle/oradata/CNDBA/dave/undotbs01.dbf
datafile 12 switched to datafile copy
input datafile copy RECID=14 STAMP=985584927 file name=/u01/app/oracle/oradata/CNDBA/dave/users01.dbf
contents of Memory Script:
{
set until scn 1802795;
recover
standby
clone database
delete archivelog
;
}
executing Memory Script
executing command: SET until clause
Starting recover at 31-AUG-18
using channel ORA_AUX_DISK_1
starting media recovery
archived log for thread 1 with sequence 9 is already on disk as file /u01/archivelog/arch_1_9_985146104.arc
archived log for thread 1 with sequence 10 is already on disk as file /u01/archivelog/arch_1_10_985146104.arc
archived log for thread 1 with sequence 11 is already on disk as file /u01/archivelog/arch_1_11_985146104.arc
archived log file name=/u01/archivelog/arch_1_9_985146104.arc thread=1 sequence=9
archived log file name=/u01/archivelog/arch_1_10_985146104.arc thread=1 sequence=10
archived log file name=/u01/archivelog/arch_1_11_985146104.arc thread=1 sequence=11
media recovery complete, elapsed time: 00:00:01
Finished recover at 31-AUG-18
contents of Memory Script:
{
delete clone force archivelog all;
}
executing Memory Script
released channel: ORA_DISK_1
released channel: ORA_AUX_DISK_1
allocated channel: ORA_DISK_1
channel ORA_DISK_1: SID=256 device type=DISK
deleted archived log
archived log file name=/u01/archivelog/arch_1_9_985146104.arc RECID=1 STAMP=985584922
deleted archived log
archived log file name=/u01/archivelog/arch_1_10_985146104.arc RECID=2 STAMP=985584924
deleted archived log
archived log file name=/u01/archivelog/arch_1_11_985146104.arc RECID=3 STAMP=985584925
Deleted 3 objects
Finished Duplicate Db at 31-AUG-18
RMAN>
13 打开备库并并启动apply
duplicate 完成之后,备库是mount的。
SQL> select open_mode from v$database;
OPEN_MODE
------------------------------------------------------------
MOUNTED
SQL> alter database open;
Database altered.
SQL> show pdbs
CON_ID CON_NAME OPEN MODE RESTRICTED
---------- ------------------------------ ---------- ----------
2 PDB$SEED READ ONLY NO
3 DAVE MOUNTED
SQL> alter pluggable database dave open;
Pluggable database altered.
--查看主库
SQL> select log_mode,open_mode ,database_role from v$database;
LOG_MODE OPEN_MODE DATABASE_ROLE
------------------------------------ ------------------------------------------------------------ ------------------------------------------------
ARCHIVELOG READ WRITE PRIMARY
--查看备库
SQL> select log_mode,open_mode ,database_role from v$database;
LOG_MODE OPEN_MODE DATABASE_ROLE
------------------------------------ ------------------------------------------------------------ ------------------------------------------------
ARCHIVELOG READ ONLY PHYSICAL STANDBY
--启动日志应用
SQL> ALTER DATABASE RECOVER MANAGED STANDBY DATABASE DISCONNECT;
Database altered.
SQL> select open_mode from v$database;
OPEN_MODE
------------------------------------------------------------
READ ONLY WITH APPLY
14 验证DG
主库:
SQL> select STATUS,error from v$archive_dest where DEST_ID=2;
STATUS ERROR
------------------ -----------------------------------------------------------------
VALID
SQL> alter system switch logfile;
System altered.
SQL> select sequence#,applied from v$archived_log order by 1;
SEQUENCE# APPLIED
---------- ------------------
7 NO
8 NO
9 NO
10 NO
11 NO
12 NO
12 NO
13 NO
13 NO
14 NO
14 NO
11 rows selected.
备库:
SQL> select sequence#,applied from v$archived_log;
SEQUENCE# APPLIED
---------- ------------------
9 YES
10 YES
11 YES
12 YES
13 YES
14 YES
6 rows selected.
同步正常。
版权声明:本文为博主原创文章,未经博主允许不得转载。



