签到成功

知道了

CNDBA社区CNDBA社区

Oracle 18c Data Guard 搭建手册

2018-08-31 18:10 4016 1 原创 Oracle 18c
作者: dave
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/2054http://www.cndba.cn/cndba/dave/article/2995

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'

用新参数重启数据库:http://www.cndba.cn/cndba/dave/article/2995

http://www.cndba.cn/cndba/dave/article/2995
http://www.cndba.cn/cndba/dave/article/2995

[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 配置是否正确,一般是这些原因,防火墙占多数原因。

http://www.cndba.cn/cndba/dave/article/2995
http://www.cndba.cn/cndba/dave/article/2995

[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命令重建。http://www.cndba.cn/cndba/dave/article/2995

[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/2994http://www.cndba.cn/cndba/dave/article/2995

[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的。http://www.cndba.cn/cndba/dave/article/2995

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.

同步正常。http://www.cndba.cn/cndba/dave/article/2995

版权声明:本文为博主原创文章,未经博主允许不得转载。

用户评论
* 以下用户言论只代表其个人观点,不代表CNDBA社区的观点或立场
dave

dave

关注

人的一生应该是这样度过的:当他回首往事的时候,他不会因为虚度年华而悔恨,也不会因为碌碌无为而羞耻;这样,在临死的时候,他就能够说:“我的整个生命和全部精力,都已经献给世界上最壮丽的事业....."

  • 2297
    原创
  • 3
    翻译
  • 645
    转载
  • 198
    评论
  • 访问:9626264次
  • 积分:4543
  • 等级:核心会员
  • 排名:第1名
精华文章
    最新问题
    查看更多+
    热门文章
      热门用户
      推荐用户
        Copyright © 2016 All Rights Reserved. Powered by CNDBA · 皖ICP备2022006297号-1·

        QQ交流群

        注册联系QQ