In today’s article, I will talk about Disabling And Enabling Data Guard Broker Transport Services.
Below is how to make Redo Transport Services disabled from the broker by deferring the LOG_ARCHIVE_DEST_STATE_n parameter with SQL commands.
1. We learn thread# and sequence# before disabling Redo Transport Services.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 | [Primary-1] SQL> select max(sequence#), thread# from v$archived_log group by thread#; MAX(SEQUENCE#) THREAD# -------------- ---------- 379 1 242 2 [Physical-1] SQL> select max(sequence#), thread# from v$archived_log group by thread#; MAX(SEQUENCE#) THREAD# -------------- ---------- 379 1 242 2 [Logical-1] SQL> select max(sequence#), thread#, applied from dba_logstdby_log group by thread#, applied; MAX(SEQUENCE#) THREAD# APPLIED -------------- ---------- -------- 379 1 YES 242 2 YES |
2. Redo Transport services are disabled.
1 2 3 4 5 6 | DGMGRL> edit database primary set state='TRANSPORT-OFF'; Succeeded. [Primary-1]--> ALERT LOG ALTER SYSTEM SET log_archive_dest_state_2='RESET' SCOPE=BOTH; ALTER SYSTEM SET log_archive_dest_state_3='RESET' SCOPE=BOTH; |
3. We perform the Log Switch operation.
1 2 3 4 5 6 7 8 9 10 11 | [Primary-1] SQL> alter system switch logfile; System altered. [Primary-1] SQL> alter system switch logfile; System altered. [Primary-1] SQL> alter system switch logfile; System altered. |
4. We check whether the Archive Redo Logs go to the Standby side.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 | [Primary-1] SQL> select max(sequence#), thread# from v$archived_log group by thread#; MAX(SEQUENCE#) THREAD# -------------- ---------- 382 1 243 2 [Physical-1] SQL> select max(sequence#), thread# from v$archived_log group by thread#; MAX(SEQUENCE#) THREAD# -------------- ---------- 380 1 243 2 [Logical-1] SQL> select max(sequence#), thread#, applied from dba_logstdby_log group by thread#, applied; MAX(SEQUENCE#) THREAD# APPLIED -------------- ---------- -------- 380 1 CURRENT 379 1 YES 242 2 YES 243 2 CURRENT |
5. We perform the commissioning process again.
1 2 3 4 5 6 | DGMGRL> edit database primary set state='TRANSPORT-ON'; Succeeded [Primary-1]--> ALERT LOG ALTER SYSTEM SET log_archive_dest_state_2='ENABLE' SCOPE=BOTH; ALTER SYSTEM SET log_archive_dest_state_3='ENABLE' SCOPE=BOTH; |
6. We check whether the Archive Redo Logs go to the Standby side.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 | [Primary-1] SQL> select max(sequence#), thread# from v$archived_log group by thread#; MAX(SEQUENCE#) THREAD# -------------- ---------- 383 1 244 2 [Physical-1] SQL> select max(sequence#), thread# from v$archived_log group by thread#; MAX(SEQUENCE#) THREAD# -------------- ---------- 383 1 244 2 [Logical-1] SQL> select max(sequence#), thread#, applied from dba_logstdby_log group by thread#, applied; MAX(SEQUENCE#) THREAD# APPLIED -------------- ---------- -------- 383 1 YES 244 2 YES [Logical-1] SQL> select sequence#, applied from dba_logstdby_log order by sequence#; SEQUENCE# APPLIED ---------- -------- 186 YES 187 YES 188 YES 189 YES 190 YES 191 YES 192 YES 193 YES 194 YES 195 YES 196 YES SEQUENCE# APPLIED ---------- -------- 197 YES 198 YES 199 YES 200 YES 201 YES 202 YES 203 YES 204 YES 205 YES 206 YES 207 YES SEQUENCE# APPLIED ---------- -------- 208 YES 209 YES 210 YES 211 YES 212 YES 213 YES 214 YES 215 YES 216 YES 217 YES 218 YES SEQUENCE# APPLIED ---------- -------- 219 YES 220 YES 221 YES 222 YES 223 YES 224 YES 225 YES 226 YES 227 YES 228 YES 229 YES SEQUENCE# APPLIED ---------- -------- 230 YES 231 YES 232 YES 233 YES 234 YES 235 YES 236 YES 237 YES 238 YES 239 YES 240 YES SEQUENCE# APPLIED ---------- -------- 241 YES 242 YES 243 YES 244 YES 324 YES 325 YES 326 YES 327 YES 328 YES 329 YES 330 YES SEQUENCE# APPLIED ---------- -------- 331 YES 332 YES 333 YES 334 YES 335 YES 336 YES 337 YES 338 YES 339 YES 340 YES 341 YES SEQUENCE# APPLIED ---------- -------- 342 YES 343 YES 344 YES 345 YES 346 YES 347 YES 348 YES 349 YES 350 YES 351 YES 352 YES SEQUENCE# APPLIED ---------- -------- 353 YES 354 YES 355 YES 356 YES 357 YES 358 YES 359 YES 360 YES 361 YES 362 YES 363 YES SEQUENCE# APPLIED ---------- -------- 364 YES 365 YES 366 YES 367 YES 368 YES 369 YES 370 YES 371 YES 372 YES 373 YES 374 YES SEQUENCE# APPLIED ---------- -------- 375 YES 376 YES 377 YES 378 YES 379 YES 380 YES 381 YES 382 YES 383 YES 119 rows selected. |
7. Redo Transport is stopped in a specific standby, not in all standbys, as follows.
a. Redo Transport to Logical Standby is stopped.
1 2 | DGMGRL> edit database logical set property LogShipping=OFF; Property "logshipping" updated |
b. We check if the parameter is DEFER.
1 2 3 4 5 | [Primary-1] SQL> show parameter log_archive_dest_state_3 NAME TYPE VALUE ------------------------------------ ----------- ------------------------------ log_archive_dest_state_3 string RESET |
c. With Log Switch, a test is performed to understand whether the Redos go on the Logical side. For this, we first learn the SEQUENCEs available in Primary and Logical.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | [Primary-1] SQL> select max(sequence#),thread#,archived from v$archived_log where first_time > to_date('27/01/2017 13:41:50', 'DD-MM-YYYY HH24:MI:SS') group by thread#,archived order by thread#, max(sequence#); MAX(SEQUENCE#) THREAD# ARC -------------- ---------- --- 394 1 YES 230 2 YES [Logical-1] SQL> SELECT max(sequence#),thread#,applied FROM dba_logstdby_log where first_time > to_date('27/01/2017 13:41:50', 'DD-MM-YYYY HH24:MI:SS') group by thread#, applied order by thread#, max(sequence#); MAX(SEQUENCE#) THREAD# APPLIED -------------- ---------- -------- 393 1 YES 394 1 CURRENT 229 2 YES 230 2 CURRENT |
d. We do the Log Switch operation.
1 2 3 4 5 6 7 | [Primary-1] SQL> alter system switch logfile; System altered. [Primary-1] SQL> alter system switch logfile; System altered. |
f. We check the SEQUENCEs.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | [Primary-1] SQL> select max(sequence#),thread#,archived from v$archived_log where first_time > to_date('27/01/2017 13:41:50', 'DD-MM-YYYY HH24:MI:SS') group by thread#,archived order by thread#, max(sequence#); MAX(SEQUENCE#) THREAD# ARC -------------- ---------- --- 396 1 YES 230 2 YES [Logical-1] SQL> SELECT max(sequence#),thread#,applied FROM dba_logstdby_log where first_time > to_date('27/01/2017 13:41:50', 'DD-MM-YYYY HH24:MI:SS') group by thread#, applied order by thread#, max(sequence#); MAX(SEQUENCE#) THREAD# APPLIED -------------- ---------- -------- 393 1 YES 394 1 CURRENT 229 2 YES 230 2 CURRENT |
g. The Redo stream that was stopped in the specific Standby is started.
1 2 | DGMGRL> edit database logical set property LogShipping=ON; Property "logshipping" updated |
i. It is checked whether the parameter is ENABLE or not.
1 2 3 4 5 | [Primary-1] SQL> show parameter log_archive_dest_state_3 NAME TYPE VALUE ------------------------------------ ----------- ------------------------------ log_archive_dest_state_3 string ENABLE |
h. It is checked whether the redos pass to Logical Standby.
1 2 3 4 5 6 7 8 9 10 11 12 13 | [Primary-1] SQL> select max(sequence#),thread#,archived from v$archived_log where first_time > to_date('27/01/2017 13:41:50', 'DD-MM-YYYY HH24:MI:SS') group by thread#,archived order by thread#, max(sequence#); MAX(SEQUENCE#) THREAD# ARC -------------- ---------- --- 397 1 YES 231 2 YES [Logical-1] SQL> SELECT max(sequence#),thread#,applied FROM dba_logstdby_log where first_time > to_date('27/01/2017 13:41:50', 'DD-MM-YYYY HH24:MI:SS') group by thread#, applied order by thread#, max(sequence#); MAX(SEQUENCE#) THREAD# APPLIED -------------- ---------- -------- 397 1 YES 231 2 YES |