監聽狀態對dataguard及其日誌傳輸的影響
在DG容災的體系中,監聽作為主備庫的通訊通道,至關重要。這裡我們嘗試一下,把監聽切斷,會導致什麼後果呢?
----檢視主備庫的監聽狀態:
---主庫監聽狀態:
[oracle@host01 ~]$ lsnrctl status
LSNRCTL for Linux: Version 11.2.0.4.0 - Production on 12-MAR-2017 15:14:59
Copyright (c) 1991, 2013, Oracle. All rights reserved.
Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=host01)(PORT=1521)))
TNS-12541: TNS:no listener
TNS-12560: TNS:protocol adapter error
TNS-00511: No listener
Linux Error: 111: Connection refused
Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=IPC)(KEY=EXTPROC1521)))
TNS-12541: TNS:no listener
TNS-12560: TNS:protocol adapter error
TNS-00511: No listener
Linux Error: 111: Connection refused
[oracle@host01 ~]$
---備庫監聽狀態:
[oracle@oracle ~]$ lsnrctl status
LSNRCTL for Linux: Version 11.2.0.4.0 - Production on 12-MAR-2017 15:15:05
Copyright (c) 1991, 2013, Oracle. All rights reserved.
Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=oracle)(PORT=1521)))
TNS-12541: TNS:no listener
TNS-12560: TNS:protocol adapter error
TNS-00511: No listener
Linux Error: 111: Connection refused
Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=IPC)(KEY=EXTPROC1521)))
TNS-12541: TNS:no listener
TNS-12560: TNS:protocol adapter error
TNS-00511: No listener
Linux Error: 111: Connection refused
[oracle@oracle ~]$
----檢視主備庫的切換狀態:
---主庫:
SQL> select open_mode,protection_mode,switchover_status,database_role from v$database;
OPEN_MODE PROTECTION_MODE SWITCHOVER_STATUS DATABASE_ROLE
-------------------- -------------------- -------------------- ----------------
READ WRITE MAXIMUM PERFORMANCE FAILED DESTINATION PRIMARY
---備庫:
SQL> select open_mode,protection_mode,switchover_status,database_role from v$database;
OPEN_MODE PROTECTION_MODE SWITCHOVER_STATUS DATABASE_ROLE
-------------------- -------------------- -------------------- ----------------
READ ONLY MAXIMUM PERFORMANCE NOT ALLOWED PHYSICAL STANDBY
----檢視主備庫當前最大日誌號:
---主庫最大日誌號:
SQL> select max(sequence#), to_char(max(first_time),'yyyy-mm-dd hh24:mi:ss') from v$log_history where thread#=1
2 and RESETLOGS_TIME = (select max(a.RESETLOGS_TIME) from v$log_history a);
MAX(SEQUENCE#) TO_CHAR(MAX(FIRST_T
-------------- -------------------
154 2017-03-12 15:11:35
---備庫最大日誌號:
SQL> select max(sequence#), to_char(max(first_time),'yyyy-mm-dd hh24:mi:ss') from v$log_history where thread#=1
2 and RESETLOGS_TIME = (select max(a.RESETLOGS_TIME) from v$log_history a);
MAX(SEQUENCE#) TO_CHAR(MAX(FIRST_T
-------------- -------------------
152 2017-03-12 12:45:17
----啟動主備庫的監聽:
--主庫監聽啟動:
[oracle@host01 ~]$ lsnrctl start
LSNRCTL for Linux: Version 11.2.0.4.0 - Production on 12-MAR-2017 15:27:05
Copyright (c) 1991, 2013, Oracle. All rights reserved.
Starting /u01/app/oracle/product/11.2.0/dbhome_1/bin/tnslsnr: please wait...
TNSLSNR for Linux: Version 11.2.0.4.0 - Production
System parameter file is /u01/app/oracle/product/11.2.0/dbhome_1/network/admin/listener.ora
Log messages written to /u01/app/oracle/diag/tnslsnr/host01/listener/alert/log.xml
Listening on: (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=host01)(PORT=1521)))
Listening on: (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=EXTPROC1521)))
Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=host01)(PORT=1521)))
STATUS of the LISTENER
------------------------
Alias LISTENER
Version TNSLSNR for Linux: Version 11.2.0.4.0 - Production
Start Date 12-MAR-2017 15:27:07
Uptime 0 days 0 hr. 0 min. 0 sec
Trace Level off
Security ON: Local OS Authentication
SNMP OFF
Listener Parameter File /u01/app/oracle/product/11.2.0/dbhome_1/network/admin/listener.ora
Listener Log File /u01/app/oracle/diag/tnslsnr/host01/listener/alert/log.xml
Listening Endpoints Summary...
(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=host01)(PORT=1521)))
(DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=EXTPROC1521)))
Services Summary...
Service "ORA11GR2" has 1 instance(s).
Instance "ORA11GR2", status UNKNOWN, has 1 handler(s) for this service...
Service "SBDB" has 1 instance(s).
Instance "SBDB", status UNKNOWN, has 1 handler(s) for this service...
The command completed successfully
[oracle@host01 ~]$
--主庫註冊監聽:
SQL> alter system register;
System altered.
--備庫監聽啟動:
[oracle@oracle ~]$ lsnrctl start
LSNRCTL for Linux: Version 11.2.0.4.0 - Production on 12-MAR-2017 15:27:24
Copyright (c) 1991, 2013, Oracle. All rights reserved.
Starting /u01/app/oracle/product/11.2.0/dbhome_1/bin/tnslsnr: please wait...
TNSLSNR for Linux: Version 11.2.0.4.0 - Production
System parameter file is /u01/app/oracle/product/11.2.0/dbhome_1/network/admin/listener.ora
Log messages written to /u01/app/oracle/diag/tnslsnr/oracle/listener/alert/log.xml
Listening on: (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=oracle)(PORT=1521)))
Listening on: (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=EXTPROC1521)))
Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=oracle)(PORT=1521)))
STATUS of the LISTENER
------------------------
Alias LISTENER
Version TNSLSNR for Linux: Version 11.2.0.4.0 - Production
Start Date 12-MAR-2017 15:27:26
Uptime 0 days 0 hr. 0 min. 0 sec
Trace Level off
Security ON: Local OS Authentication
SNMP OFF
Listener Parameter File /u01/app/oracle/product/11.2.0/dbhome_1/network/admin/listener.ora
Listener Log File /u01/app/oracle/diag/tnslsnr/oracle/listener/alert/log.xml
Listening Endpoints Summary...
(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=oracle)(PORT=1521)))
(DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=EXTPROC1521)))
Services Summary...
Service "ENMO.oracle.com" has 1 instance(s).
Instance "ENMO", status UNKNOWN, has 1 handler(s) for this service...
Service "ORA11GR2" has 1 instance(s).
Instance "ORA11GR2", status UNKNOWN, has 1 handler(s) for this service...
The command completed successfully
[oracle@oracle ~]$
--備庫註冊監聽:
SQL> alter system register;
System altered.
----再次檢視主庫的切換狀態:
SQL> select open_mode,protection_mode,switchover_status,database_role from v$database;
OPEN_MODE PROTECTION_MODE SWITCHOVER_STATUS DATABASE_ROLE
-------------------- -------------------- -------------------- ----------------
READ WRITE MAXIMUM PERFORMANCE TO STANDBY PRIMARY
---再次檢視備庫的切換狀態:
SQL> select open_mode,protection_mode,switchover_status,database_role from v$database;
OPEN_MODE PROTECTION_MODE SWITCHOVER_STATUS DATABASE_ROLE
-------------------- -------------------- -------------------- ----------------
READ ONLY MAXIMUM PERFORMANCE NOT ALLOWED PHYSICAL STANDBY
#當監聽開啟後,主備庫就相互接通,並確定主備庫的關係以及切換狀態。
----備庫引用主庫傳輸的歸檔日誌:
SQL> ALTER DATABASE RECOVER MANAGED STANDBY DATABASE USING CURRENT LOGFILE DISCONNECT FROM SESSION;
Database altered.
---主庫切換一個日誌:
SQL> alter system switch logfile;
System altered.
---再次檢視主庫的最大日誌號:
SQL> select max(sequence#), to_char(max(first_time),'yyyy-mm-dd hh24:mi:ss') from v$log_history where thread#=1
2 and RESETLOGS_TIME = (select max(a.RESETLOGS_TIME) from v$log_history a);
MAX(SEQUENCE#) TO_CHAR(MAX(FIRST_T
-------------- -------------------
156 2017-03-12 15:27:37
---再次檢視備庫的最大日誌號:
SQL> select max(sequence#), to_char(max(first_time),'yyyy-mm-dd hh24:mi:ss') from v$log_history where thread#=1
2 and RESETLOGS_TIME = (select max(a.RESETLOGS_TIME) from v$log_history a);
MAX(SEQUENCE#) TO_CHAR(MAX(FIRST_T
-------------- -------------------
156 2017-03-12 15:27:37
#主備庫的最大日誌號相同。
--我們從上面的測試可以看到:當監聽不相通的時候,dataguard容災體系中的主備庫角色沒有影響(已經搭建好DG的情況下),
主庫備庫依然保持該有的角色,但是,主備庫之間,在網路不相通的情況下,不允許主備角色的切換,主庫是 FAILED DESTINATION
的切換狀態,備庫依然是NOT ALLOWED的切換狀態,主要還是受到監聽不相通,主備庫之間的日誌傳輸受阻,從而不允許切換。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/31392094/viewspace-2135193/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 【DataGuard】Oracle DataGuard 日誌傳輸狀態監控Oracle
- DataGuard日誌傳輸模式模式
- DG 日誌傳輸監控
- oracle10g DataGuard的日誌傳輸方式Oracle
- 無線路由器傳輸及其影響因素路由器
- 關於11G DataGuard 日誌傳輸的案例
- 物化檢視日誌對UPDATE的影響
- 由於域名解析引起的dataguard傳輸日誌故障
- 【DataGuard】10GR 日誌傳輸服務引數
- 日誌的狀態
- 關閉監聽的日誌。
- 【Dataguard】Oracle多租戶環境對Dataguard的影響Oracle
- oracle清理監聽日誌Oracle
- 【聽海日誌】之DATAGUARD新增redo log
- Oracle 11g Dataguard 暫停物理備庫的日誌傳輸Oracle
- 監聽日誌檔案的管理
- 手工rm刪除歸檔日誌對備份歸檔日誌的影響
- Oracle 監聽器日誌解析Oracle
- DataGuard故障:Standby日誌檔案正常傳輸但沒有ApplyAPP
- 16、重做日誌檔案的狀態及重做日誌組的狀態說明
- IHS Markit:冠狀病毒對視訊監控市場的影響
- Oracle 監聽器日誌解析(續)Oracle
- Oracle之外部表監聽日誌Oracle
- ORACLE停止監聽日誌檔案Oracle
- iOS AFN監聽網路狀態iOS
- Linux中如何檢視日誌命令中的響應狀態?Linux
- 刪除oracle 11g的警告日誌和監聽日誌Oracle
- Oracle監聽日誌2g-監聽啟動報錯Oracle
- RMAN備份恢復之歸檔日誌對BLOCKRECOVER的影響BloC
- 定時清理監聽日誌的指令碼 。指令碼
- Oracle 監聽器日誌配置與管理Oracle
- 管理監聽器日誌listener.log
- 使用外部表訪問監聽日誌
- iOS 使用 Reachability 監聽網路狀態iOS
- 監聽MySQL的binlog日誌工具分析:CanalMySql
- 【LISTENER】禁止產生監聽器日誌的方法
- oracle rac的scan監聽狀態Not All Endpoints RegisteredOracle
- 動態監聽輸入框值的變化