日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

oracle12c启动apply,Oracle 12c 新特性 -- DG 默认使用 Real-Time Apply

發布時間:2023/12/8 编程问答 33 豆豆
生活随笔 收集整理的這篇文章主要介紹了 oracle12c启动apply,Oracle 12c 新特性 -- DG 默认使用 Real-Time Apply 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

https://www.cndba.cn/dave/article/213

1?? ?理論說明

在Oracle 12c 之前的Data Guard 環境中,默認情況下備庫apply redo 是從備庫的歸檔文件中讀數據的。在Oracle 12c 中,默認的策略改成直接從standby redo log file中讀取,采用real-time apply的方式進行。

這樣在failover的時候,可以縮短切換時間,不需要在等redo apply的時間。

當啟動備庫后,備庫會啟動RFS 進程用來接收主庫傳過來的redo log,并寫入到standby redo log file。

如果我們啟動了MRP進程,那么在數據寫入到standby redo log 之后,MRP 進程就會立即apply 數據。 當然,如果我們不想使用改特性,也可以手工指定使用歸檔文件。

語法如下:

SQL> alter database recover managed standby database using archived logfile;

2?? ?實驗

2.1 ?? ?查看主庫當前狀態

SQL>?show?pdbs

CON_ID?CON_NAME??????????????OPEN?MODE??RESTRICTED

----------?------------------------------?----------?----------

2?PDB$SEED??????????????READ?ONLY??NO

3?PCNDBA??????????????READ?WRITE?NO

SQL>?show?con_name

CON_NAME

------------------------------

CDB$ROOT

SQL>

SQL>?SELECT?PROTECTION_MODE,?PROTECTION_LEVEL,?DATABASE_ROLE?ROLE,?SWITCHOVER_STATUS?FROM?V$DATABASE;

PROTECTION_MODE??????PROTECTION_LEVEL??????ROLE???????????SWITCHOVER_STATUS

--------------------?--------------------?----------------?--------------------

MAXIMUM?AVAILABILITY?MAXIMUM?AVAILABILITY?PRIMARY???????TO?STANDBY

SQL>?SELECT?PROCESS,?STATUS,?THREAD#,?SEQUENCE#,BLOCK#,?BLOCKS?FROM?V$MANAGED_STANDBY;

PROCESS???STATUS??????THREAD#??SEQUENCE#?????BLOCK#?????BLOCKS

---------?------------?----------?----------?----------?----------

ARCH??????CLOSING????????1??????35??????36865????????943

ARCH??????CONNECTED????????0???????0??????????0??????0

ARCH??????CLOSING????????1??????36??????????1????????763

ARCH??????CLOSING????????1??????37??????????1????????394

LGWR??????WRITING????????1??????38???????9387??????1

SQL>?col?dest_name?for?a20

SQL>?col?error?for?a10

SQL>?select?DEST_NAME,STATUS,PROCESS,ERROR,TRANSMIT_MODE?from?v$archive_dest?WHERE?TARGET='STANDBY';

DEST_NAME?????????STATUS????PROCESS??????ERROR??????TRANSMIT_MOD

--------------------?---------?----------?----------?------------

LOG_ARCHIVE_DEST_2???VALID?????LGWR?????????????PARALLELSYNC

Elapsed:?00:00:00.01

2.2 ?? ?查看備庫當前狀態https://www.cndba.cn/dave/article/213

SQL>?show?pdbs

CON_ID?CON_NAME??????????????OPEN?MODE??RESTRICTED

----------?------------------------------?----------?----------

2?PDB$SEED??????????????READ?ONLY??NO

3?PCNDBA??????????????READ?ONLY??NO

SQL>?show?con_name

CON_NAME

------------------------------

CDB$ROOT

SQL>

SQL>?SELECT?PROTECTION_MODE,?PROTECTION_LEVEL,?DATABASE_ROLE?ROLE,?SWITCHOVER_STATUS?FROM?V$DATABASE;

PROTECTION_MODE??????PROTECTION_LEVEL??????ROLE???????????SWITCHOVER_STATUS

--------------------?--------------------?----------------?--------------------

MAXIMUM?AVAILABILITY?MAXIMUM?AVAILABILITY?PHYSICAL?STANDBY?NOT?ALLOWED

SELECT?PROCESS,?STATUS,?THREAD#,?SEQUENCE#,BLOCK#,?BLOCKS?FROM?V$MANAGED_STANDBY;

SQL>?select?process,?status,?thread#,?sequence#,block#,?blocks?from?v$managed_standby;

PROCESS???STATUS??????THREAD#??SEQUENCE#?????BLOCK#?????BLOCKS

---------?------------?----------?----------?----------?----------

ARCH??????CLOSING????????1??????37??????????1????????394

ARCH??????CONNECTED????????0???????0??????????0??????0

ARCH??????CONNECTED????????0???????0??????????0??????0

ARCH??????CLOSING????????1??????31??????43008???????1696

RFS??????IDLE????????????0???????0??????????0??????0

RFS??????IDLE????????????1??????38???????9384??????1

RFS??????IDLE????????????0???????0??????????0??????0

RFS??????IDLE????????????0???????0??????????0??????0

8?rows?selected.

SQL>?select?group#,type,member?from?v$logfile?order?by?1;

GROUP#?TYPE????MEMBER

----------?-------?------------------------------------------------------------------------------------------

1?ONLINE??/home/ora12c/app/oracle/oradata/CNDBA_S/onlinelog/o1_mf_1_9y493jfy_.log

1?ONLINE??/home/ora12c/app/oracle/fast_recovery_area/CNDBA_S/onlinelog/o1_mf_1_9y493jpr_.log

2?ONLINE??/home/ora12c/app/oracle/oradata/CNDBA_S/onlinelog/o1_mf_2_9y493qfg_.log

2?ONLINE??/home/ora12c/app/oracle/fast_recovery_area/CNDBA_S/onlinelog/o1_mf_2_9y493qlk_.log

3?ONLINE??/home/ora12c/app/oracle/oradata/CNDBA_S/onlinelog/o1_mf_3_9y493xf1_.log

3?ONLINE??/home/ora12c/app/oracle/fast_recovery_area/CNDBA_S/onlinelog/o1_mf_3_9y493xj9_.log

4?STANDBY?/home/ora12c/app/oracle/oradata/CNDBA_S/onlinelog/o1_mf_4_9y4942x0_.log

4?STANDBY?/home/ora12c/app/oracle/fast_recovery_area/CNDBA_S/onlinelog/o1_mf_4_9y49431g_.log

5?STANDBY?/home/ora12c/app/oracle/fast_recovery_area/CNDBA_S/onlinelog/o1_mf_5_9y4948hs_.log

5?STANDBY?/home/ora12c/app/oracle/oradata/CNDBA_S/onlinelog/o1_mf_5_9y4948cv_.log

6?STANDBY?/home/ora12c/app/oracle/oradata/CNDBA_S/onlinelog/o1_mf_6_9y494fr7_.log

6?STANDBY?/home/ora12c/app/oracle/fast_recovery_area/CNDBA_S/onlinelog/o1_mf_6_9y494fw3_.log

7?STANDBY?/home/ora12c/app/oracle/oradata/CNDBA_S/onlinelog/o1_mf_7_9y494mc4_.log

7?STANDBY?/home/ora12c/app/oracle/fast_recovery_area/CNDBA_S/onlinelog/o1_mf_7_9y494mgj_.log

14?rows?selected.

注意,我的測試環境是使用ADG來搭建,這里自動給我們生成了standby redo log,并不是我們手工添加的。

2.3 ?? ?啟動備庫MRP 進程

https://www.cndba.cn/dave/article/213https://www.cndba.cn/dave/article/213

SQL>?alter?database?recover?managed?standby?database?disconnect;

Database?altered.

SQL>??select?process,?status,?thread#,?sequence#,block#,?blocks?from?v$managed_standby;

PROCESS???STATUS??????THREAD#??SEQUENCE#?????BLOCK#?????BLOCKS

---------?------------?----------?----------?----------?----------

ARCH??????CLOSING????????1??????40??????????1?????68

ARCH??????CLOSING????????1??????41??????????1?????22

ARCH??????CONNECTED????????0???????0??????????0??????0

ARCH??????CLOSING????????1??????38??????12288????????819

RFS??????IDLE????????????0???????0??????????0??????0

RFS??????IDLE????????????0???????0??????????0??????0

RFS??????IDLE????????????0???????0??????????0??????0

RFS??????IDLE????????????1??????42???????1411??????1

MRP0??????APPLYING_LOG????????1??????33??????50772??????78287

9?rows?selected.

SQL>?select?open_mode?from?v$database;

OPEN_MODE

--------------------

READ?ONLY?WITH?APPLY

--主庫創建表:

SQL>??create?table?dave?as?select?*?from?all_users;

Table?created.

Elapsed:?00:00:00.59

--備庫立馬就能查詢到:

SQL>?select?count(1)?from?dave;

COUNT(1)

----------

35

2.5 ?? ?強制使用12c 之前的策略

SQL>?alter?database?recover?managed?standby?database?cancel;

Database?altered.

SQL>?alter?database?recover?managed?standby?database?using?archived?logfile?disconnect?from?session;

Database?altered.

SQL>?select?process,?status,?thread#,?sequence#,block#,?blocks?from?v$managed_standby;

PROCESS???STATUS??????THREAD#??SEQUENCE#?????BLOCK#?????BLOCKS

---------?------------?----------?----------?----------?----------

ARCH??????CLOSING????????1??????40??????????1?????68

ARCH??????CLOSING????????1??????41??????????1?????22

ARCH??????CONNECTED????????0???????0??????????0??????0

ARCH??????CLOSING????????1??????38??????12288????????819

RFS??????IDLE????????????0???????0??????????0??????0

RFS??????IDLE????????????0???????0??????????0??????0

RFS??????IDLE????????????0???????0??????????0??????0

RFS??????IDLE????????????1??????42???????7717??????1

MRP0??????WAIT_FOR_LOG????????1??????42??????????0??????0

9?rows?selected.

注意這里MRP 進程的狀態,和默認是不一樣的。

區別如下:

WAIT_FOR_LOG: Process is waiting for the archived redo log to be completed

APPLYING_LOG : Process is actively applying the archived redo log to the standby databasehttps://www.cndba.cn/dave/article/213https://www.cndba.cn/dave/article/213

https://www.cndba.cn/dave/article/213

https://www.cndba.cn/dave/article/213

版權聲明:本文為博主原創文章,未經博主允許不得轉載。

總結

以上是生活随笔為你收集整理的oracle12c启动apply,Oracle 12c 新特性 -- DG 默认使用 Real-Time Apply的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。