一則報警資訊所折射出來的諸多問題(r9筆記第14天)
阿新 • • 發佈:2022-05-04
在主備庫環境中,如果出現數據檔案級的一些不一致,後期修復會很麻煩,所以這種情況可以提前規避,減少後期的隱患,我定製了一個數據庫監控選項,即資料檔案狀態的檢查。
最近幾天,在半夜的時候,我總會收到這麼一則報警資訊,最開始沒有留意,看報警資訊是在備庫中。
[DB監控系統][email protected]_報警
ZABBIX-監控系統:
------------------------------------
報警內容: datafile status issue
------------------------------------
報警級別: PROBLEM
------------------------------------
監控專案: dbf_status:datafile status issue:+DATA/sgstatdb3/datafile/tlserlog_data_20160704.659.909619203:RECOVER
------------------------------------
報警時間:2016.05.29-02:13:56
DGMGRL> show database verbose stest3;
Database - stest3
Role: PHYSICAL STANDBY
Intended State: APPLY-ON
Transport Lag: 15 minutes 28 seconds
Apply Lag: 15 minutes 28 seconds
Real Time Query: ON
Instance(s):
stest2
而且稍等一會,繼續檢視延遲就繼續變大。
DGMGRL> DGMGRL> show database verbose stest3;
Database - stest3
Role: PHYSICAL STANDBY
Intended State: APPLY-ON
Transport Lag: 48 minutes 30 seconds
Apply Lag: 48 minutes 30 seconds
Real Time Query: ON
Instance(s):
stest2
而檢視備庫的狀態為:
SQL> select open_mode from v$database;
OPEN_MODE
--------------------
READ ONLY WITH APPLY
由此可見,這也是一種誤區,備庫狀態為open_mode為READ ONLY WITH APPLY,主備庫還是可能出現較大的延遲。
而在備庫排查了日誌檔案,也沒有發現任何問題。這個時候問題就看起來陷入了僵局。
迅速在自己的知識庫中進行搜尋,這種不一致,如果排除了日誌檔案還有什麼可能呢,時間可能是一個問題,在主備伺服器段查看了系統時間,發現存在3分鐘的一個誤差,看起來問題就應該是如此了。
我使用ntpdate重新同步了時間之後,檢視DG Broker還是顯示延遲,這個時候不能慌亂,我們可以重新配置一些備庫的資訊,刪除原來DG Broker的配置,重新新增備庫即可。
檢視主備延遲,這個時候就沒有任何問題了。再過了許久,就沒有出現此類問題。
DGMGRL> DGMGRL> show database verbose stest3;
Database - stest3
Role: PHYSICAL STANDBY
Intended State: APPLY-ON
Transport Lag: 0 seconds
Apply Lag: 0 seconds
Real Time Query: ON
Instance(s):
stest2
看來今天不會再收到這類的報警資訊了,感覺心裡還是踏實了許多。