共計 2255 個字符,預計需要花費 6 分鐘才能閱讀完成。
這篇文章給大家分享的是有關 Oracle 12c R2 中 ADG 會話保留特性的示例分析的內容。丸趣 TV 小編覺得挺實用的,因此分享給大家做個參考,一起跟隨丸趣 TV 小編過來看看吧。
Oracle 12c R2 中有一個不錯的特性,那就是 Active Data Guard 會話保留,原本的叫法是 Preserving Active Data Guard Application Connections
怎么理解呢,比如在 Active Data Guard 上的連接會話,在 switchover 的過程中會話連接會始終保持不會中斷。這一點聽起來就很有特點,能夠提高用戶體驗度,而且是一種相對透明的方式。
到底怎么樣呢,我們來簡單測試一下,先看看默認情況下的 ADG 會話情況, 切換的過程就直接使用 DG Broker 來做了,快。
這是一個 12cR2 的環境,也使用了 Far Sync。
DGMGRL show configuration Configuration - dg_test12cs Protection Mode: MaxPerformance Members: test12cs - Primary database test_sync - Far sync instance test12css - Physical standby database Fast-Start Failover: DISABLED Configuration Status:
SUCCESS (status updated 10 seconds ago) 我們連接到備庫,備庫現在是 ADG 模式。
SQL select open_mode from v$database; OPEN_MODE ----------------------------------------
READ ONLY WITH APPLY 如果這個時候我們就使用一條語句在備庫端查詢,使用 TNS 連接,然后 DG Broker 來切換,切換的情況如下,也是一氣呵成。
DGMGRL switchover to test12css Performing switchover NOW, please wait... Operation requires a connection to database test12css Connecting ... Connected to test12css Connected as SYSDBA. New primary database test12css is opening... Operation requires start up of instance test12cs on database test12cs Starting instance test12cs ... for RDBMS instance ORACLE instance started. Database mounted. Database opened. Connected to test12cs Switchover succeeded, new primary is test12css DGMGRL
在客戶端反復測試連接的情況如下:
SQL select count(*) from cat; COUNT(*) ---------- 153 SQL / COUNT(*) ---------- 153 SQL / select count(*) from cat * ERROR at line 1: ORA-03113: end-of-file on communication channel Process ID: 94489 Session ID: 419 Serial number: 62932
可以看到在切換的過程中,連接被中斷了,而接下來就會徹底斷開連接。
SQL / ERROR: ORA-03114: not connected to ORACLE
這里就需要說一下這個特性的情況,其實還涉及到一個參數 standby_db_preserve_states, 默認是 NONE
SQL show parameter standby_db_preserve_states NAME TYPE VALUE ------------------------------------ ---------------------- ------ standby_db_preserve_states string NONE
我們設置為 ALL, 這個修改需要重啟備庫,我們設置好之后,再來做 switchover
步驟和上面的類似,我們直接來看看效果,始終在這一個會話內查看數據查詢的情況, 整個過程相對平滑,在切換過程中會有一個大約兩秒的停頓,但是連接始終是保持的。
COUNT(*) ---------- 153 SQL / COUNT(*) ---------- 153 SQL / COUNT(*) ---------- 153 SQL / COUNT(*) ---------- 153 SQL / COUNT(*) ---------- 153
整體來看這個特性確實達到了預期的效果,還是蠻不錯的。
感謝各位的閱讀!關于“Oracle 12c R2 中 ADG 會話保留特性的示例分析”這篇文章就分享到這里了,希望以上內容可以對大家有一定的幫助,讓大家可以學到更多知識,如果覺得文章不錯,可以把它分享出去讓更多的人看到吧!