Oracle 12cR2中的ADG會話保留特性
Oracle 12cR2中有一個不錯的特性,那就是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
整體來看這個特性確實達到了預期的效果,還是蠻不錯的。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/28211342/viewspace-2141805/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- Oracle12cR2中的ADG會話保留特性Oracle會話
- oracle中會話的狀態Oracle會話
- oracle的會話如何自殺?Oracle會話
- Oracle 會話(Session)Oracle會話Session
- oracle鎖會話Oracle會話
- Oracle Database 12cR2/R1中的更改OracleDatabase
- Oracle 19c 新特性:ADG的自動DML重定向增強讀寫分離--ADG_REDIRECT_DMLOracle
- ?ORACLE會話超時Oracle會話
- Oracle跟蹤會話Oracle會話
- oracle 會話,連線Oracle會話
- oracle ADG與DG的區別Oracle
- 使用Oracle ADG的愛恨之路Oracle
- 在Oracle中,如何定時清理INACTIVE狀態的會話?Oracle會話
- Oracle阻塞會話查詢Oracle會話
- oracle session(會話) 跟蹤OracleSession會話
- 【會話】Oracle kill session系列會話OracleSession
- oracle遭遇大量SNIPED會話Oracle會話
- ORACLE快速徹底Kill掉的會話Oracle會話
- Oracle搭建rac到單庫的adgOracle
- oracle 11g中的 oracle restart特性OracleREST
- 大話Oracle中的kill sessionOracleSession
- oracle 定期清理inactive會話Oracle會話
- Oracle ADG實施步驟Oracle
- 同一會話中的多個 WebRequest會話Web
- Oracle查詢當前會話的sidOracle會話
- Oracle 12CR2 dbca -silent -createDatabaseOracleDatabase
- oracle保留字元Oracle字元
- oracle實用sql(7)--單個會話或會話間statistics對比OracleSQL會話
- Oracle會話超時退出設定Oracle會話
- oracle 10046當前會話Oracle會話
- Oracle kill會話--sed修改檔案Oracle會話
- oracle會話監控shell指令碼Oracle會話指令碼
- Oracle VM上實施Oracle 12cR2 RACOracle
- Oracle ADG 備庫新增備庫Oracle
- php中關於會話機制的理解PHP會話
- ORACLE 12c索引分裂引起的會話夯Oracle索引會話
- 用Oracle跟蹤診斷掛起的會話Oracle會話
- 修改oracle當前會話的語言環境Oracle會話