Oracle12c Data Guard搭建手册

Oracle12c Data Guard搭建手册

注:本文来源: 红黑联盟 《 Oracle12c Data Guard搭建手册





Oracle 12c 的DataGuard 是在CDB 级别进行的,所以我们的配置都是从CDB角度出发。

测试里主备库的数据库CDB名称相同。

1 环境说明

  1 OS Version:
  2 
  3 [root@dave etc]# cat /etc/oracle-release
  4 
  5 Oracle Linux Server release 6.3
  6 
  7 [root@dave etc]# uname -r
  8 
  9 2.6.39-200.29.3.el6uek.x86_64
 10 
 11 DB Version:
 12 
 13 SQL> select * from v$version;
 14 
 15 BANNER CON_ID
 16 
 17 ------------------------------------------------------------------------------------------
 18 
 19 Oracle Database 12c Enterprise EditionRelease 12.1.0.1.0 - 64bit Production 0
 20 
 21 PL/SQL Release 12.1.0.1.0 - Production 0
 22 
 23 CORE 12.1.0.1.0 Production 0
 24 
 25 TNS for Linux: Version 12.1.0.1.0 -Production 0
 26 
 27 NLSRTL Version 12.1.0.1.0 - Production 0
 28 
 29 
 30 
 31 SQL> show pdbs
 32 
 33 
 34 
 35 CON_ID CON_NAME OPEN MODE RESTRICTED
 36 
 37 ---------- ---------------------------------------- ----------
 38 
 39 2 PDB$SEED READ ONLY NO
 40 
 41 3 PCNDBA READ WRITE NO
 42 
 43 SQL>


实例名:

Database

DB_UNIQUE_NAME

Oracle Net Service Name

Primary

PCNDBA_P

PCNDBA_P

Physical standby

PCNDBA_S

PCNDBA_S


IP 地址:

  1 [root@dave network-scripts]# cat /etc/hosts
  2 
  3 127.0.0.1 localhost dave
  4 
  5 192.168.56.3 dg1
  6 
  7 192.168.56.4 dg2
  8 
  9 [root@dave network-scripts]#


这里用主库上的PDB:PCNDBA 做我们的主库。

2 主库启动FORCE LOGGING

  1 SQL> select name,open_mode from v$pdbs;
  2 
  3 
  4 
  5 NAME OPEN_MODE
  6 
  7 ------------------------------ ----------
  8 
  9 PDB$SEED READ ONLY
 10 
 11 PCNDBA READ WRITE
 12 
 13 
 14 
 15 SQL> alter database force logging;
 16 
 17 Database altered.
 18 
 19 
 20 
 21 SQL> select force_logging fromv$database;
 22 
 23 FORCE_LOGGING
 24 
 25 ---------------------------------------
 26 
 27 YES

3 启动归档模式


  1 SQL> show con_name
  2 
  3 
  4 
  5 CON_NAME
  6 
  7 ------------------------------
  8 
  9 CDB$ROOT
 10 
 11 SQL> archive log list;
 12 
 13 Database log mode No Archive Mode
 14 
 15 Automatic archival Disabled
 16 
 17 Archive destination USE_DB_RECOVERY_FILE_DEST
 18 
 19 Oldest online log sequence 14
 20 
 21 Current log sequence 16
 22 
 23 SQL> shutdown immediate
 24 
 25 Database closed.
 26 
 27 Database dismounted.
 28 
 29 ORACLE instance shut down.
 30 
 31 SQL> startup mount
 32 
 33 ORACLE instance started.
 34 
 35 
 36 
 37 Total System Global Area 1620115456 bytes
 38 
 39 Fixed Size 2288920 bytes
 40 
 41 Variable Size 1040188136 bytes
 42 
 43 Database Buffers 570425344 bytes
 44 
 45 Redo Buffers 7213056 bytes
 46 
 47 Database mounted.
 48 
 49 SQL> alter database archivelog;
 50 
 51 
 52 
 53 Database altered.
 54 
 55 
 56 
 57 SQL>


这里归档直接放在FRA里了:

  1 SQL> show parameter recovery
  2 
  3 
  4 
  5 NAME TYPE VALUE
  6 
  7 ------------------------------------ -----------------------------------------
  8 
  9 db_recovery_file_dest string /home/ora12c/app/oracle/fast_recovery_area
 10 
 11 db_recovery_file_dest_size big integer 4800M
 12 
 13 recovery_parallelism integer 0
 14 
 15 
 16 
 17 SQL> alter system setdb_recovery_file_dest_size=10G;
 18 
 19 System altered.
 20 
 21 
 22 
 23 SQL> show parameter recovery
 24 
 25 NAME TYPE VALUE
 26 
 27 ----------------------------------------------- ------------------------------
 28 
 29 db_recovery_file_dest string /home/ora12c/app/oracle/fast_recovery_area
 30 
 31 db_recovery_file_dest_size biginteger 10G
 32 
 33 recovery_parallelism integer 0
 34 
 35 SQL>
 36 
 37 
 38 
 39 SQL> alter database open;
 40 
 41 
 42 
 43 Database altered.
 44 
 45 
 46 
 47 SQL> select name,open_mode from v$pdbs;
 48 
 49 
 50 
 51 NAME OPEN_MODE
 52 
 53 ------------------------------ ----------
 54 
 55 PDB$SEED READ ONLY
 56 
 57 PCNDBA MOUNTED
 58 
 59 
 60 
 61 SQL> alter pluggable database pcndbaopen;
 62 
 63 Pluggable database altered.
 64 
 65 
 66 
 67 SQL> select name,open_mode from v$pdbs;
 68 
 69 NAME OPEN_MODE
 70 
 71 ------------------------------ ----------
 72 
 73 PDB$SEED READ ONLY
 74 
 75 PCNDBA READ WRITE

4 在主库添加 standby redo logfile

在Oracle 12c的架构里,online redo log 和控制文件是保存在CDB中的,PDB中只有运行需要的数据文件,所以我们这里加standby redo log,也是在CDB中加。

查看 Primary 库的 REDO 相关信息:

  1 SQL> show con_name
  2 
  3 
  4 
  5 CON_NAME
  6 
  7 ------------------------------
  8 
  9 CDB$ROOT
 10 
 11 SQL> select group#, members, bytes from v$log;
 12 
 13 
 14 
 15 GROUP# MEMBERS BYTES
 16 
 17 ---------- ---------- ----------
 18 
 19 1 2 52428800
 20 
 21 2 2 52428800
 22 
 23 3 2 52428800
 24 
 25 
 26 
 27 SQL> select member from v$logfile;
 28 
 29 
 30 
 31 MEMBER
 32 
 33 -----------------------------------------------------------------------------------------
 34 
 35 /home/ora12c/app/oracle/oradata/CNDBA/onlinelog/o1_mf_3_9y3rrb3v_.log
 36 
 37 /home/ora12c/app/oracle/fast_recovery_area/CNDBA/onlinelog/o1_mf_3_9y3rrb9n_.log
 38 
 39 /home/ora12c/app/oracle/oradata/CNDBA/onlinelog/o1_mf_2_9y3rr54v_.log
 40 
 41 /home/ora12c/app/oracle/fast_recovery_area/CNDBA/onlinelog/o1_mf_2_9y3rr5b2_.log
 42 
 43 /home/ora12c/app/oracle/oradata/CNDBA/onlinelog/o1_mf_1_9y3rqznr_.log
 44 
 45 /home/ora12c/app/oracle/fast_recovery_area/CNDBA/onlinelog/o1_mf_1_9y3rr09s_

添加 4(3+1)个standby logfile:

  1 SQL> alter database add standby logfile '/home/ora12c/app/oracle/oradata/CNDBA/onlinelog/stdredo01.log' size 50M;
  2 
  3 Database altered.
  4 
  5 
  6 
  7 SQL> alter database add standby logfile '/home/ora12c/app/oracle/oradata/CNDBA/onlinelog/stdredo02.log' size 50M;
  8 
  9 Database altered.
 10 
 11 
 12 
 13 SQL> alter database add standby logfile '/home/ora12c/app/oracle/oradata/CNDBA/onlinelog/stdredo03.log' size 50M;
 14 
 15 Database altered.
 16 
 17 
 18 
 19 SQL> alter database add standby logfile '/home/ora12c/app/oracle/oradata/CNDBA/onlinelog/stdredo04.log' size 50M;
 20 
 21 Database altered.


5 分别在主备库配置监听并启动

  1 --这里直接使用netmgr工具生成:注意静态监听注册中配置的pdb。
  2 
  3 [ora12c@dave admin]$ cat listener.ora
  4 
  5 # listener.ora Network Configuration File:/home/ora12c/app/oracle/product/12.1.0/db_1/network/admin/listener.ora
  6 
  7 # Generated by Oracle configuration tools.
  8 
  9 
 10 
 11 SID_LIST_LISTENER =
 12 
 13 (SID_LIST =
 14 
 15 (SID_DESC =
 16 
 17 (GLOBAL_DBNAME = cndba)
 18 
 19 (ORACLE_HOME = /home/ora12c/app/oracle/product/12.1.0/db_1)
 20 
 21 (SID_NAME = cndba)
 22 
 23 )
 24 
 25 )
 26 
 27 
 28 
 29 LISTENER =
 30 
 31 (DESCRIPTION_LIST =
 32 
 33 (DESCRIPTION =
 34 
 35 (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521))
 36 
 37 )
 38 
 39 (DESCRIPTION =
 40 
 41 (ADDRESS = (PROTOCOL = TCP)(HOST = dave)(PORT = 1521))
 42 
 43 )
 44 
 45 )
 46 
 47 
 48 
 49 ADR_BASE_LISTENER = /home/ora12c/app/oracle
 50 
 51 
 52 
 53 [ora12c@dave admin]$ lsnrctl reload
 54 
 55 
 56 
 57 LSNRCTL for Linux: Version 12.1.0.1.0 -Production on 06-AUG-2014 19:26:50
 58 
 59 
 60 
 61 Copyright (c) 1991, 2013, Oracle. All rights reserved.
 62 
 63 
 64 
 65 Connecting to(DESCRIPTION=(ADDRESS=(PROTOCOL=IPC)(KEY=EXTPROC1521)))
 66 
 67 The command completed successfully

6 分别在主备库配置tnsnames.ora

  1 [ora12c@dave admin]$ cat tnsnames.ora
  2 
  3 # tnsnames.ora Network Configuration File: /home/ora12c/app/oracle/product/12.1.0/db_1/network/admin/tnsnames.ora
  4 
  5 # Generated by Oracle configuration tools.
  6 
  7 
  8 
  9 CNDBA_S =
 10 
 11 (DESCRIPTION =
 12 
 13 (ADDRESS_LIST =
 14 
 15 (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.56.4)(PORT = 1521))
 16 
 17 )
 18 
 19 (CONNECT_DATA =
 20 
 21 (SERVICE_NAME = cndba)
 22 
 23 )
 24 
 25 )
 26 
 27 
 28 
 29 CNDBA_P =
 30 
 31 (DESCRIPTION =
 32 
 33 (ADDRESS_LIST =
 34 
 35 (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.56.3)(PORT = 1521))
 36 
 37 )
 38 
 39 (CONNECT_DATA =
 40 
 41 (SERVICE_NAME = cndba)
 42 
 43 )
 44 
 45 )
 46 
 47 
 48 
 49 [ora12c@dave admin]$ tnsping cndba_s
 50 
 51 [ora12c@dave admin]$ tnsping cndba_p

7 在备库创建必要的目录

可以参考主库的pfile中的路径:

  1 [ora12c@dave admin]$ mkdir -p /home/ora12c/app/oracle/fast_recovery_area
  2 
  3 [ora12c@dave admin]$ mkdir -p/home/ora12c/app/oracle/oradata
  4 
  5 [ora12c@dave admin]$ mkdir -p/home/ora12c/app/oracle/admin/cndba/adump

8 在主库创建pfile 文件并修改pfile 内容


  1 SQL> create pfile from spfile;
  2 
  3 File created.

在pfile中添加如下内容:

  1 #add for primary dg
  2 
  3 *.db_name='cndba'
  4 
  5 *.db_unique_name='cndba_p'
  6 
  7 *.log_archive_config='dg_config=(cndba_p,cndba_s)'
  8 
  9 *.log_archive_dest_1='location=USE_DB_RECOVERY_FILE_DESTvalid_for=(all_logfiles,all_roles) db_unique_name=cndba_p'
 10 
 11 *.log_archive_dest_2='service=cndba_s valid_for=(online_logfiles,primary_role) lgwr affirmsync db_unique_name=cndba_s'
 12 
 13 *.log_archive_dest_state_1=enable
 14 
 15 *.log_archive_dest_state_2=enable
 16 
 17 *.standby_file_management='auto'
 18 
 19 *.fal_server='cndba_s'

如果主备库CDB名称不同,还需要加如下参数:

  1 *.DB_FILE_NAME_CONVERT='cndba','dave'
  2 
  3 *.LOG_FILE_NAME_CONVERT='cndba','dave'

用新参数重启数据库:

  1 SQL> shutdown immediate
  2 
  3 Database closed.
  4 
  5 Database dismounted.
  6 
  7 ORACLE instance shut down.
  8 
  9 
 10 
 11 SQL> create spfile from pfile;
 12 
 13 File created.
 14 
 15 
 16 
 17 SQL> startup
 18 
 19 ORACLE instance started.
 20 
 21 
 22 
 23 Total System Global Area 1620115456 bytes
 24 
 25 Fixed Size 2288920 bytes
 26 
 27 Variable Size 1040188136 bytes
 28 
 29 Database Buffers 570425344 bytes
 30 
 31 Redo Buffers 7213056 bytes
 32 
 33 Database mounted.
 34 
 35 Database opened.
 36 
 37 SQL>
 38 9 将主库的口


9 将主库的口令文件copy到备库

我这里主备库的CDB实例相同,如果不同,可以使用orapwd命令重建。

  1 [ora12c@dave dbs]$ scp orapwcndba192.168.56.4:`pwd`
  2 
  3 ora12c@192.168.56.4's password:
  4 
  5 orapwcndba 100% 7680 7.5KB/s 00:00
  6 
  7 [ora12c@dave dbs]$

10 将主库的参数文件copy到备库并修改

  1 [ora12c@dave dbs]$ scp initcndba.ora192.168.56.4:`pwd`
  2 
  3 ora12c@192.168.56.4's password:
  4 
  5 initcndba.ora 100% 1593 1.6KB/s 00:00
  6 
  7 [ora12c@dave dbs]$
  8 
  9 
 10 
 11 修改如下内容,在重新生成spfile:
 12 
 13 #add for standby dg
 14 
 15 *.db_unique_name='cndba_s'
 16 
 17 *.log_archive_config='dg_config=(cndba_p,cndba_s)'
 18 
 19 *.log_archive_dest_1='location=USE_DB_RECOVERY_FILE_DESTvalid_for=(all_logfiles,all_roles) db_unique_name=cndba_s'
 20 
 21 *.log_archive_dest_2='service=cndba_pvalid_for=(online_logfiles,primary_role) lgwr affirm sync db_unique_name=cndba_p'
 22 
 23 *.log_archive_dest_state_1=enable
 24 
 25 *.log_archive_dest_state_2=enable
 26 
 27 *.standby_file_management='auto'
 28 
 29 *.fal_server='cndba_p'

注意修改控制文件的路径,也使用新路径。

  1 SQL> create spfile from pfile;
  2 
  3 File created.

11 用spfile 将备库启动到nomount 状态

  1 SQL> startup nomount
  2 
  3 ORACLE instance started.
  4 
  5 
  6 
  7 Total System Global Area 1620115456 bytes
  8 
  9 Fixed Size 2288920 bytes
 10 
 11 Variable Size 1040188136 bytes
 12 
 13 Database Buffers 570425344 bytes
 14 
 15 Redo Buffers 7213056 bytes
 16 
 17 SQL>


12 开始进行Active duplicate

  1 [ora12c@dave network-scripts]$ rman targetsys/oracle@cndba_p auxiliary sys/oracle@cndba_s;
  2 
  3 
  4 
  5 Recovery Manager: Release 12.1.0.1.0 -Production on Wed Aug 6 20:41:02 2014
  6 
  7 
  8 
  9 Copyright (c) 1982, 2013, Oracle and/or itsaffiliates. All rights reserved.
 10 
 11 
 12 
 13 connected to target database: CNDBA(DBID=119362621)
 14 
 15 connected to auxiliary database: CNDBA (notmounted)
 16 
 17 
 18 
 19 
 20 
 21 RMAN>duplicatetarget database for standby from active database nofilenamecheck dorecover;
 22 
 23 
 24 
 25 [ora12c@dave network-scripts]$ rman targetsys/oracle@cndba_p auxiliary sys/oracle@cndba_s;
 26 
 27 
 28 
 29 Recovery Manager: Release 12.1.0.1.0 -Production on Wed Aug 6 20:41:02 2014
 30 
 31 
 32 
 33 Copyright (c) 1982, 2013, Oracle and/or itsaffiliates. All rights reserved.
 34 
 35 
 36 
 37 connected to target database: CNDBA(DBID=119362621)
 38 
 39 connected to auxiliary database: CNDBA (notmounted)
 40 
 41 
 42 
 43 RMAN> duplicate target database forstandby from active database nofilenamecheck dorecover;
 44 
 45 
 46 
 47 Starting Duplicate Db at 06-AUG-14
 48 
 49 using target database control file insteadof recovery catalog
 50 
 51 allocated channel: ORA_AUX_DISK_1
 52 
 53 channel ORA_AUX_DISK_1: SID=21 devicetype=DISK
 54 
 55 current log archived
 56 
 57 
 58 
 59 contents of Memory Script:
 60 
 61 {
 62 
 63 backup as copy reuse
 64 
 65 targetfile '/home/ora12c/app/oracle/product/12.1.0/db_1/dbs/orapwcndba' auxiliaryformat
 66 
 67 '/home/ora12c/app/oracle/product/12.1.0/db_1/dbs/orapwcndba' ;
 68 
 69 }
 70 
 71 executing Memory Script
 72 
 73 
 74 
 75 Starting backup at 06-AUG-14
 76 
 77 allocated channel: ORA_DISK_1
 78 
 79 channel ORA_DISK_1: SID=48 device type=DISK
 80 
 81 Finished backup at 06-AUG-14
 82 
 83 
 84 
 85 contents of Memory Script:
 86 
 87 {
 88 
 89 sql clone "alter system set control_files =
 90 
 91 ''/home/ora12c/app/oracle/oradata/CNDBA/controlfile/o1_mf_9y3rqtn9_.ctl'',''/home/ora12c/app/oracle/fast_recovery_area/CNDBA/controlfile/o1_mf_9y3rqvky_.ctl''comment=
 92 
 93 ''Set by RMAN'' scope=spfile";
 94 
 95 restore clone from service 'cndba_p' standby controlfile;
 96 
 97 }
 98 
 99 executing Memory Script
100 
101 
102 
103 sql statement: alter system set control_files = ''/home/ora12c/app/oracle/oradata/CNDBA/controlfile/o1_mf_9y3rqtn9_.ctl'',''/home/ora12c/app/oracle/fast_recovery_area/CNDBA/controlfile/o1_mf_9y3rqvky_.ctl''comment= ''Set by RMAN'' scope=spfile
104 
105 
106 
107 Starting restore at 06-AUG-14
108 
109 using channel ORA_AUX_DISK_1
110 
111 
112 
113 channel ORA_AUX_DISK_1: starting datafilebackup set restore
114 
115 channel ORA_AUX_DISK_1: using networkbackup set from service cndba_p
116 
117 channel ORA_AUX_DISK_1: restoring controlfile
118 
119 channel ORA_AUX_DISK_1: restore complete,elapsed time: 00:00:07
120 
121 output file name=/home/ora12c/app/oracle/oradata/CNDBA/controlfile/o1_mf_9y3rqtn9_.ctl
122 
123 output filename=/home/ora12c/app/oracle/fast_recovery_area/CNDBA/controlfile/o1_mf_9y3rqvky_.ctl
124 
125 Finished restore at 06-AUG-14
126 
127 
128 
129 contents of Memory Script:
130 
131 {
132 
133 sql clone 'alter database mount standby database';
134 
135 }
136 
137 executing Memory Script
138 
139 
140 
141 sql statement: alter database mount standbydatabase
142 
143 
144 
145 contents of Memory Script:
146 
147 {
148 
149 set newname for clone tempfile 1to new;
150 
151 set newname for clone tempfile 2to new;
152 
153 set newname for clone tempfile 3to new;
154 
155 switchclone tempfile all;
156 
157 set newname for clone datafile 1to new;
158 
159 set newname for clone datafile 3to new;
160 
161 set newname for clone datafile 4to new;
162 
163 set newname for clone datafile 5to new;
164 
165 set newname for clone datafile 6to new;
166 
167 set newname for clone datafile 7to new;
168 
169 set newname for clone datafile 8to new;
170 
171 set newname for clone datafile 9to new;
172 
173 set newname for clone datafile 10to new;
174 
175 restore
176 
177 from service 'cndba_p' clone database
178 
179 ;
180 
181 sql 'alter system archive log current';
182 
183 }
184 
185 executing Memory Script
186 
187 
188 
189 executing command: SET NEWNAME
190 
191 
192 
193 executing command: SET NEWNAME
194 
195 
196 
197 executing command: SET NEWNAME
198 
199 
200 
201 renamed tempfile 1 to/home/ora12c/app/oracle/oradata/CNDBA_S/datafile/o1_mf_temp_%u_.tmp in controlfile
202 
203 renamed tempfile 2 to/home/ora12c/app/oracle/oradata/CNDBA_S/datafile/o1_mf_temp_%u_.tmp in controlfile
204 
205 renamed tempfile 3 to/home/ora12c/app/oracle/oradata/CNDBA_S/datafile/o1_mf_temp_%u_.tmp in controlfile
206 
207 
208 
209 executing command: SET NEWNAME
210 
211 
212 
213 executing command: SET NEWNAME
214 
215 
216 
217 executing command: SET NEWNAME
218 
219 
220 
221 executing command: SET NEWNAME
222 
223 
224 
225 executing command: SET NEWNAME
226 
227 
228 
229 executing command: SET NEWNAME
230 
231 
232 
233 executing command: SET NEWNAME
234 
235 
236 
237 executing command: SET NEWNAME
238 
239 
240 
241 executing command: SET NEWNAME
242 
243 
244 
245 Starting restore at 06-AUG-14
246 
247 using channel ORA_AUX_DISK_1
248 
249 
250 
251 channel ORA_AUX_DISK_1: starting datafilebackup set restore
252 
253 channel ORA_AUX_DISK_1: using networkbackup set from service cndba_p
254 
255 channel ORA_AUX_DISK_1: specifyingdatafile(s) to restore from backup set
256 
257 channel ORA_AUX_DISK_1: restoring datafile00001 to /home/ora12c/app/oracle/oradata/CNDBA_S/datafile/o1_mf_system_%u_.dbf
258 
259 channel ORA_AUX_DISK_1: restore complete,elapsed time: 00:01:37
260 
261 channel ORA_AUX_DISK_1: starting datafilebackup set restore
262 
263 channel ORA_AUX_DISK_1: using networkbackup set from service cndba_p
264 
265 channel ORA_AUX_DISK_1: specifyingdatafile(s) to restore from backup set
266 
267 channel ORA_AUX_DISK_1: restoring datafile00003 to /home/ora12c/app/oracle/oradata/CNDBA_S/datafile/o1_mf_sysaux_%u_.dbf
268 
269 channel ORA_AUX_DISK_1: restore complete,elapsed time: 00:01:25
270 
271 channel ORA_AUX_DISK_1: starting datafilebackup set restore
272 
273 channel ORA_AUX_DISK_1: using networkbackup set from service cndba_p
274 
275 channel ORA_AUX_DISK_1: specifying datafile(s)to restore from backup set
276 
277 channel ORA_AUX_DISK_1: restoring datafile00004 to/home/ora12c/app/oracle/oradata/CNDBA_S/datafile/o1_mf_undotbs1_%u_.dbf
278 
279 channel ORA_AUX_DISK_1: restore complete,elapsed time: 00:00:25
280 
281 channel ORA_AUX_DISK_1: starting datafilebackup set restore
282 
283 channel ORA_AUX_DISK_1: using networkbackup set from service cndba_p
284 
285 channel ORA_AUX_DISK_1: specifyingdatafile(s) to restore from backup set
286 
287 channel ORA_AUX_DISK_1: restoring datafile00005 to /home/ora12c/app/oracle/oradata/CNDBA_S/datafile/o1_mf_system_%u_.dbf
288 
289 channel ORA_AUX_DISK_1: restore complete,elapsed time: 00:00:35
290 
291 channel ORA_AUX_DISK_1: starting datafilebackup set restore
292 
293 channel ORA_AUX_DISK_1: using networkbackup set from service cndba_p
294 
295 channel ORA_AUX_DISK_1: specifyingdatafile(s) to restore from backup set
296 
297 channel ORA_AUX_DISK_1: restoring datafile00006 to /home/ora12c/app/oracle/oradata/CNDBA_S/datafile/o1_mf_users_%u_.dbf
298 
299 channel ORA_AUX_DISK_1: restore complete,elapsed time: 00:00:01
300 
301 channel ORA_AUX_DISK_1: starting datafilebackup set restore
302 
303 channel ORA_AUX_DISK_1: using networkbackup set from service cndba_p
304 
305 channel ORA_AUX_DISK_1: specifyingdatafile(s) to restore from backup set
306 
307 channel ORA_AUX_DISK_1: restoring datafile00007 to /home/ora12c/app/oracle/oradata/CNDBA_S/datafile/o1_mf_sysaux_%u_.dbf
308 
309 channel ORA_AUX_DISK_1: restore complete,elapsed time: 00:01:15
310 
311 channel ORA_AUX_DISK_1: starting datafilebackup set restore
312 
313 channel ORA_AUX_DISK_1: using networkbackup set from service cndba_p
314 
315 channel ORA_AUX_DISK_1: specifyingdatafile(s) to restore from backup set
316 
317 channel ORA_AUX_DISK_1: restoring datafile00008 to /home/ora12c/app/oracle/oradata/CNDBA_S/datafile/o1_mf_system_%u_.dbf
318 
319 channel ORA_AUX_DISK_1: restore complete,elapsed time: 00:00:35
320 
321 channel ORA_AUX_DISK_1: starting datafilebackup set restore
322 
323 channel ORA_AUX_DISK_1: using networkbackup set from service cndba_p
324 
325 channel ORA_AUX_DISK_1: specifyingdatafile(s) to restore from backup set
326 
327 channel ORA_AUX_DISK_1: restoring datafile00009 to /home/ora12c/app/oracle/oradata/CNDBA_S/datafile/o1_mf_sysaux_%u_.dbf
328 
329 channel ORA_AUX_DISK_1: restore complete,elapsed time: 00:01:15
330 
331 channel ORA_AUX_DISK_1: starting datafilebackup set restore
332 
333 channel ORA_AUX_DISK_1: using networkbackup set from service cndba_p
334 
335 channel ORA_AUX_DISK_1: specifyingdatafile(s) to restore from backup set
336 
337 channel ORA_AUX_DISK_1: restoring datafile00010 to /home/ora12c/app/oracle/oradata/CNDBA_S/datafile/o1_mf_users_%u_.dbf
338 
339 channel ORA_AUX_DISK_1: restore complete,elapsed time: 00:00:03
340 
341 Finished restore at 06-AUG-14
342 
343 
344 
345 sql statement: alter system archive logcurrent
346 
347 current log archived
348 
349 
350 
351 contents of Memory Script:
352 
353 {
354 
355 restore clone force from service 'cndba_p'
356 
357 archivelog from scn 1922781;
358 
359 switch clone datafile all;
360 
361 }
362 
363 executing Memory Script
364 
365 
366 
367 Starting restore at 06-AUG-14
368 
369 using channel ORA_AUX_DISK_1
370 
371 
372 
373 channel ORA_AUX_DISK_1: starting archivedlog restore to default destination
374 
375 channel ORA_AUX_DISK_1: using networkbackup set from service cndba_p
376 
377 channel ORA_AUX_DISK_1: restoring archivedlog
378 
379 archived log thread=1 sequence=18
380 
381 channel ORA_AUX_DISK_1: restore complete,elapsed time: 00:00:01
382 
383 channel ORA_AUX_DISK_1: starting archivedlog restore to default destination
384 
385 channel ORA_AUX_DISK_1: using networkbackup set from service cndba_p
386 
387 channel ORA_AUX_DISK_1: restoring archivedlog
388 
389 archived log thread=1 sequence=19
390 
391 channel ORA_AUX_DISK_1: restore complete,elapsed time: 00:00:02
392 
393 channel ORA_AUX_DISK_1: starting archivedlog restore to default destination
394 
395 channel ORA_AUX_DISK_1: using networkbackup set from service cndba_p
396 
397 channel ORA_AUX_DISK_1: restoring archivedlog
398 
399 archived log thread=1 sequence=20
400 
401 channel ORA_AUX_DISK_1: restore complete,elapsed time: 00:00:01
402 
403 Finished restore at 06-AUG-14
404 
405 
406 
407 datafile 1 switched to datafile copy
408 
409 input datafile copy RECID=12STAMP=854916586 filename=/home/ora12c/app/oracle/oradata/CNDBA_S/datafile/o1_mf_system_9y48opp7_.dbf
410 
411 datafile 3 switched to datafile copy
412 
413 input datafile copy RECID=13STAMP=854916586 filename=/home/ora12c/app/oracle/oradata/CNDBA_S/datafile/o1_mf_sysaux_9y48rr3z_.dbf
414 
415 datafile 4 switched to datafile copy
416 
417 input datafile copy RECID=14STAMP=854916586 file name=/home/ora12c/app/oracle/oradata/CNDBA_S/datafile/o1_mf_undotbs1_9y48vf5v_.dbf
418 
419 datafile 5 switched to datafile copy
420 
421 input datafile copy RECID=15STAMP=854916586 filename=/home/ora12c/app/oracle/oradata/CNDBA_S/datafile/o1_mf_system_9y48w6bx_.dbf
422 
423 datafile 6 switched to datafile copy
424 
425 input datafile copy RECID=16STAMP=854916586 filename=/home/ora12c/app/oracle/oradata/CNDBA_S/datafile/o1_mf_users_9y48x8jb_.dbf
426 
427 datafile 7 switched to datafile copy
428 
429 input datafile copy RECID=17STAMP=854916586 file name=/home/ora12c/app/oracle/oradata/CNDBA_S/datafile/o1_mf_sysaux_9y48xb36_.dbf
430 
431 datafile 8 switched to datafile copy
432 
433 input datafile copy RECID=18STAMP=854916586 filename=/home/ora12c/app/oracle/oradata/CNDBA_S/datafile/o1_mf_system_9y48zp0f_.dbf
434 
435 datafile 9 switched to datafile copy
436 
437 input datafile copy RECID=19STAMP=854916586 filename=/home/ora12c/app/oracle/oradata/CNDBA_S/datafile/o1_mf_sysaux_9y490r5z_.dbf
438 
439 datafile 10 switched to datafile copy
440 
441 input datafile copy RECID=20STAMP=854916586 file name=/home/ora12c/app/oracle/oradata/CNDBA_S/datafile/o1_mf_users_9y493301_.dbf
442 
443 
444 
445 contents of Memory Script:
446 
447 {
448 
449 set until scn 1923489;
450 
451 recover
452 
453 standby
454 
455 clone database
456 
457 delete archivelog
458 
459 ;
460 
461 }
462 
463 executing Memory Script
464 
465 
466 
467 executing command: SET until clause
468 
469 
470 
471 Starting recover at 06-AUG-14
472 
473 using channel ORA_AUX_DISK_1
474 
475 
476 
477 starting media recovery
478 
479 
480 
481 archived log for thread 1 with sequence 18is already on disk as file/home/ora12c/app/oracle/fast_recovery_area/CNDBA_S/archivelog/2014_08_06/o1_mf_1_18_9y49378o_.arc
482 
483 archived log for thread 1 with sequence 19is already on disk as file/home/ora12c/app/oracle/fast_recovery_area/CNDBA_S/archivelog/2014_08_06/o1_mf_1_19_9y49387d_.arc
484 
485 archived log for thread 1 with sequence 20is already on disk as file/home/ora12c/app/oracle/fast_recovery_area/CNDBA_S/archivelog/2014_08_06/o1_mf_1_20_9y493976_.arc
486 
487 archived log filename=/home/ora12c/app/oracle/fast_recovery_area/CNDBA_S/archivelog/2014_08_06/o1_mf_1_18_9y49378o_.arcthread=1 sequence=18
488 
489 archived log filename=/home/ora12c/app/oracle/fast_recovery_area/CNDBA_S/archivelog/2014_08_06/o1_mf_1_19_9y49387d_.arcthread=1 sequence=19
490 
491 archived log filename=/home/ora12c/app/oracle/fast_recovery_area/CNDBA_S/archivelog/2014_08_06/o1_mf_1_20_9y493976_.arcthread=1 sequence=20
492 
493 media recovery complete, elapsed time:00:00:01
494 
495 Finished recover at 06-AUG-14
496 
497 Finished Duplicate Db at 06-AUG-14
498 
499 
500 
501 RMAN>

13 打开备库并并启动apply

duplicate 完成之后,备库是mount的。

  1 SQL> select open_mode from v$database;
  2 
  3 
  4 
  5 OPEN_MODE
  6 
  7 ----------------------------------------
  8 
  9 MOUNTED
 10 
 11 
 12 
 13 SQL> show pdbs
 14 
 15 
 16 
 17 CON_ID CON_NAME OPEN MODE RESTRICTED
 18 
 19 ---------- ---------------------------------------- ----------
 20 
 21 2 PDB$SEED MOUNTED
 22 
 23 3 PCNDBA MOUNTED
 24 
 25 SQL> alter database open;
 26 
 27 
 28 
 29 Database altered.
 30 
 31 
 32 
 33 SQL> show pdbs
 34 
 35 
 36 
 37 CON_ID CON_NAME OPEN MODE RESTRICTED
 38 
 39 ---------- ---------------------------------------- ----------
 40 
 41 2 PDB$SEED READ ONLY NO
 42 
 43 3 PCNDBA MOUNTED
 44 
 45 
 46 
 47 SQL> alter pluggable database pcndbaopen;
 48 
 49 
 50 
 51 Pluggable database altered.
 52 
 53 
 54 
 55 SQL> show pdbs
 56 
 57 
 58 
 59 CON_ID CON_NAME OPEN MODE RESTRICTED
 60 
 61 ---------- ---------------------------------------- ----------
 62 
 63 2 PDB$SEED READ ONLY NO
 64 
 65 3 PCNDBA READ ONLY NO


备库是只读的。

  1 --查看主库:
  2 
  3 SQL> select log_mode,open_mode ,database_role from v$database;
  4 
  5 
  6 
  7 LOG_MODE OPEN_MODE DATABASE_ROLE
  8 
  9 ------------ ------------------------------------
 10 
 11 ARCHIVELOG READ WRITE PRIMARY
 12 
 13 
 14 
 15 --备库:
 16 
 17 SQL> select log_mode,open_mode ,database_role from v$database;
 18 
 19 
 20 
 21 LOG_MODE OPEN_MODE DATABASE_ROLE
 22 
 23 ------------ ------------------------------------
 24 
 25 ARCHIVELOG READ ONLY PHYSICAL STANDBY
 26 
 27 
 28 
 29 
 30 
 31 --启动real-time apply:
 32 
 33 SQL> alter database recover managedstandby database using current logfile disconnect from session;
 34 
 35 Database altered.
 36 
 37 
 38 
 39 SQL> select open_mode from v$database;
 40 
 41 
 42 
 43 OPEN_MODE
 44 
 45 --------------------
 46 
 47 READ ONLY WITH APPLY

14 验证DG

  1 --在主库创建一个table:
  2 
  3 
  4 
  5 SQL> alter session set container=pcndba;
  6 
  7 Session altered.
  8 
  9 
 10 
 11 SQL> create table cndba as select * fromdba_users;
 12 
 13 create table cndba as select * fromdba_users
 14 
 15 *
 16 
 17 ERROR at line 1:
 18 
 19 ORA-01109: database not open
 20 
 21 
 22 
 23 
 24 
 25 SQL> show pdbs
 26 
 27 
 28 
 29 CON_ID CON_NAME OPEN MODE RESTRICTED
 30 
 31 ---------- ---------------------------------------- ----------
 32 
 33 3 PCNDBA MOUNTED
 34 
 35 SQL> alter database open;
 36 
 37 Database altered.
 38 
 39 
 40 
 41 SQL> create table cndba as select * fromdba_users;
 42 
 43 Table created.
 44 
 45 
 46 
 47 SQL> alter system switch logfile;
 48 
 49 alter system switch logfile
 50 
 51 *
 52 
 53 ERROR at line 1:
 54 
 55 ORA-65040: operation not allowed fromwithin a pluggable database

注意:这里可以看到,对于12c的库,日志的切换只能在CDB中进行,也就是我们前面讲的,DG 是在CDB 级别进行的。

  1 SQL> alter system switch logfile;
  2 
  3 System altered.

备库查询:

  1 SQL> select count(1) from cndba;
  2 
  3 select count(1) from cndba
  4 
  5 *
  6 
  7 ERROR at line 1:
  8 
  9 ORA-00942: table or view does not exist

提示表不存在,实际上,我们是在PDB里创建的,切换到对应的PDB下,就可以查询到了:

  1 SQL> alter session container=pcndba;
  2 
  3 alter session container=pcndba
  4 
  5 *
  6 
  7 ERROR at line 1:
  8 
  9 ORA-00922: missing or invalid option
 10 
 11 
 12 
 13 
 14 
 15 SQL> alter session set container=pcndba;
 16 
 17 Session altered.
 18 
 19 
 20 
 21 SQL> select count(1) from cndba;
 22 
 23 
 24 
 25 COUNT(1)
 26 
 27 ----------
 28 
 29 36
1 ADG 11.2 dg部署测试 2 ADG 12c Cascaded-Data Guard配置手册-11 3 ADG 12c Data Guard配置手册-01 4 ADG AIX下Oracle 11G安装DG配置规范 5 ADG BLOG_Oracle_lhr_一步一步在RHEL6.5+VMware Workstation 10上搭建 oracle 11gR2 rac + dg 6 ADG Creating Standby Database with Grid Control-15 7 ADG data-guard-far-sync 8 ADG DataGuard环境搭建详细步骤(老方法) 9 ADG Dataguard实操steps 10 ADG Linux+Oracle 11g+RAC+12cc+adg国内业界最详细生产系统下实施文档 11 ADG Linuxel6.5 RAC+DG11204bestpratice 12 ADG Linuxel6.5 RAC+DG11204脚本安装 13 ADG Oracle 10g DataGuard实施文档 14 ADG ORACLE 11G DATAGUARD 搭建(RMAN duplicate方式-相同目录结构) 15 ADG oracle 11g rac+单机dataguard实施文档(详细) 16 ADG Oracle 11g:ORACLE ACTIVE DATA GUARD 17 ADG Oracle 11gR2 使用copy 数据文件搭建物理 Data Guard 18 ADG Oracle 11gR2-Data Guard 单机到集群 19 ADG Oracle 11gR2-Data Guard 单机到集群 20 ADG Oracle 12c dg-setup-rac-phys-standby-to-rac-prim 21 ADG oracle 12cR2 for linux 单机+dataguard实施文档(最详细) 22 ADG Oracle 19c rac+adg 23 ADG Oracle 9i搭建DG方案 24 ADG oracle active dataguard-deep-dive 25 ADG Oracle DataGuard部署 26 ADG oracle_11gR2_x64_RAC+ASM+DG(最新精编版) 27 ADG Oracle_Db_DG环境搭建中文图文手册DBA珍藏版 28 ADG Oracle_Db_DG环境搭建中文图文手册DBA珍藏版 29 ADG oracle11g adg部署 30 ADG oracle11g on docker for windows10 31 ADG oracle11g-dg不停机部署(终) 32 ADG oracle-active-data-guard 33 ADG rac_dg搭建_步骤加总结 34 ADG step by step install oracle10gR2 for windows dataguard 35 ADG 某儿童医院_灾备切换演练_实施方案 36 ADG 在Docker上搭建Oracle 11G DG 37 ADG 主rac + 备rac 部署_blog版 38 DG Centos6.10部署Oracle10gDataGuard 39 DG 搭建一主两备 40 Install AIX 6.1上安装oracle 11g 41 Install AIX 7.1上安装Oracle 11g 需要注意的地方 42 Install Centos6.5下安装Oracle 11g 43 Install Centos6.5下安装Oracle 11g 44 Install CentOS7.3环境下Oracle安装手册 45 Install CENTOS7-64位下安装Oracle11g 46 Install Centos7安装Oracle12数据库 47 Install DB 静默安装 48 Install HP-UX平台安装ORA10g 49 Install LAB100 - v5 - Install new 19c software 50 Install Linux_Oracle 10.2.0.5_安装部署手册 净化版 51 Install Linux_Oracle 10.2.0.5_安装部署手册 净化版 52 Install Linux_Oracle_install 53 Install Linux6.5(RHEL6.5)安装ORACLE11g 54 Install Linux7%2Boracle12C安装实战 55 Install LINUX环境下静默安装ORACLE11gR2数据库软件 56 Install Linux下ODI安装 57 Install odi12c安装部署 58 Install Oracle 11.2 在裸设备上创建数据库 59 Install Oracle 12C 18C 19C 操作系统兼容列表及配置要求 60 Install Oracle 12C linux7安装文档 61 Install Oracle 12C linux7安装文档 62 Install Oracle 9i 10g 11g 操作系统兼容列表及配置要求 63 Install Oracle BIEE-12c-Linux安装配置手册 64 Install Oracle Database (RDBMS) on Unix AIX,HP-UX,Linux,Solaris and MS Windows Operating Systems Installation and Configuration Requirements Quick Reference (12.112.218c19c) 65 Install Oracle Database 12c Release 1 Enterprise Edition and Oracle Real Application Clusters on IBM Power Systems with AIX7.1 66 Install Oracle Enterprise Manager上的Oracle企业管理器云控制13c第3版 67 Install Oracle Linux 8上的Oracle Database 19c安装 68 Install Oracle 安装 20140712 69 Install Oracle 补丁介绍及安装操作说明 70 Install OracleLinux6.5下安装Oracle11g_文件系统 71 Install RedHat5.5安装Oracle11G_R2 72 Install rhel7安装oracle10g-11g-12c注意事项 73 Install rhel7安装oracle10g-11g-12c注意事项 74 Install Solaris 10 x86安装oracle12c 75 Install Solaris 10安装oracle 10g 76 Install Solaris 10上的Oracle Database 11g第2版 77 Install ToadforOracle_DBA_Suite_1061Installation_Guide 78 Install 静默安装ORACLE11G数据库 79 Install 在 Solaris 11 SPARC 上安装 Oracle Database 12.1 的要求 (Doc ID 1602904.1) 80 Install 在Oracle Linux 6和7上安装oracle 18c 81 Master Note For Oracle Flashback Technologies (文档 ID 1138253.1) 82 NetBackup_Troubleshoot_Guide 83 OceanStorF面向Oracle数据库OLAP最佳实践 84 OEM Cloud Control 13.3 Installation on Oracle Linux 85 OEM Cloud Control 13.3 on Oracle Linux 7 静默安装 86 OGG goldengate安装文档 87 OGG oracle12c_ogg安装配置 88 OGG 某儿童医院_Oracle OGG&DG部署文档参考 89 openfile + vmware + centos7 90 openfile 安装 91 openfile 的配置方法 92 openfile 逻辑卷管理应用 93 Oracle 11gR2_概念手册中文版 94 Oracle 20c+体系结构图 95 Oracle Linux 5和6上的Oracle WebLogic Server 96 Oracle OCP课程实验v1.7 97 Oracle 迁移至 PostgreSQL 在华为 ARM 上的解决方案 98 Oracle 数据库隐含参数设置 99 Oracle 隐含参数 100 Oracle 诊断事件及深入解析10053事件 101 OS deploying-odg-with-oda-1615029 102 OS IBM AIX Oracle 19c-tips Shanmugam Oct2019 103 OS Red_Hat_Enterprise_Linux-6-DM_Multipath-zh-CN 104 OS SharePlex简易使用维护文档 105 OS 配置udev共享存储 106 RAC 10G添加删除节点 107 RAC 11.2.0.4 增删节点详细操作 108 RAC 11204 for Linux(RAC) 环境配置数据库参数最佳实践 109 RAC 12c R2 GI 和RAC 安装文档 110 RAC 19c-rac-linux-install 111 RAC AIX 6.1安装Oracle 11203 112 RAC AIX 部署oracle 11GR2 集群实施报告 113 RAC AX7.3 oracle_rac12.2安装 114 RAC BLOG_Oracle_lhr_RAC 12cR1安装 115 RAC centos7.7部署oracle12.2.0.1rac 116 RAC deploying_oracle_rac_12c_rhel7_v1.1_0 117 RAC Guides_Rac11gR2OnLinux--(from redhat) 118 RAC Guides安装指南_Rac11gR1OnHPUX 119 RAC Guides安装指南_Rac11gR2OnAIX 120 RAC Guides安装指南_Rac11gR2OnLinux 121 RAC Guides安装指南_Rac11gR2OnSolaris 122 RAC Guides安装指南_Rac11gR2OnWindows 123 RAC Install_Oracel_RAC_12.2.0.1_on_Oracle_Linux_6.5 124 RAC Install_Oracel_RAC_12.2.0.1_on_Oracle_Linux_6.5 125 RAC Installation walk-through - Oracle Grid-RAC 11.2.0.4 on Oracle Linux 7 126 RAC install-Oracle-11gR2-RAC-on-HP-UX-11.31 127 RAC linux 7.2 Oracle 1
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值