共計 3891 個字符,預計需要花費 10 分鐘才能閱讀完成。
本篇內容介紹了“分析 ARCH wait on SENDREQ 等待事件”的有關知識,在實際案例的操作過程中,不少人都會遇到這樣的困境,接下來就讓丸趣 TV 小編帶領大家學習一下如何處理這些情況吧!希望大家仔細閱讀,能夠學有所成!
客戶庫,AWR 報告采樣間隔 8 小時,ARCH wait on SENDREQ 等待事件平均等待時間較長,約 3 秒。
恰巧告警日志中提示無法分配日志,雖然 archive_lag_target 參數設置較小(為 900),但是數據庫有 5 個重做日志組,按理說應該不會出現無法分配日志組的情況出現。由于這個等待事件的出現,故猜想主備庫之間的網絡可能較差,導致主庫的歸檔無法及時歸檔到備庫上,從而引發 cannot allocate new log。
Tue Jul 19 22:19:33 2011
Thread 1 cannot allocate new log, sequence 26887
Private strand flush not complete
從 Metalink(MOS)上可查到如下關于 ARCH wait on SENDREQ 等待事件的信息
《Data Guard Wait Events》
“ARCH wait on SENDREQ”This wait event monitors the amount of time spent by all archiver processes to write the received redo to disk as well as open and close the remote archived redo logs.
《Troubleshooting 9i Data Guard Network Issues》
The‘ARCH wait on SENDREQ’wait event increases during a log switch period. This event’s average wait time also increases as the network round trip time (RTT) increases. If this wait event is in the top 5, then it may be indicative of a saturated network or a poorly configured network. Also, make sure that enough redo log groups are configured so that any delay in remote archiving does not result in a hung database due to no available online redo logs.
在 log switch 階段會出現 ARCH wait on SENDREQ 等待事件,如果此事件出現在 Top5 等待事件中,說明網絡滿負載或網絡配置問題(總之,網絡較差)
還有一篇,說是 metalink 上的,不過沒找到原文:
1)It means that there is a slow network between primary and standby database.
2)It also means that there is a chance of slow performance on disk where remote archiving is happening.
Solution:
1.Please get in touch with your network admin and check the network response.
2.If the remote destination is slow and archiver is taking longer to archive to that destination, then the user needs to allocate more redo log groups so that there is a logfile available for a logswitch to switch into, and not wait for the archiver to finish archiving to the destination.
3.One more workaround you can use is to set below parameter in primary site:
_LOG_ARCHIVE_CALLOUT=’LOCAL_FIRST=TRUE’
第三種解決方案提示修改隱含參數:_LOG_ARCHIVE_CALLOUT
_LOG_ARCHIVE_CALLOUT=’LOCAL_FIRST=TRUE’
If the above parameter is set then the ARCH process will begin archiving to the local destination first. Once the redo log has been completely and successfully archived to at least one localdestination, it will then be transmitted to the remote destination. This is the default behavior. beginning with
Oracle Database
10g Release 1.
Starting in 9.2.0.7 patchsets, one ARCH process will begin acting as a‘dedicated’archiver, handling only local archival duties. It will not perform. remote log shipping or service FAL requests. This is a backport of behavior. from 10gR1 to 9iR2.
我對上文 This is the default behavior. beginning with
Oracle Database
10g Release 1. 表示質疑,因為從我本地 11.2.0.1 的庫來看,此隱含參數默認還是空。
嘗試在非生產庫上修改此隱含參數做測試:
SQL set linesize 132
SQL column name format a30
SQL column value format a25
SQL select
2 x.ksppinm name,
3 y.ksppstvl value,
4 y.ksppstdf isdefault,
5 decode(bitand(y.ksppstvf,7),1,’MODIFIED’,4,’SYSTEM_MOD’,’FALSE’) ismod,
6 decode(bitand(y.ksppstvf,2),2,’TRUE’,’FALSE’) isadj
7 from
8 sys.x$ksppi x,
9 sys.x$ksppcv y
10 where
11 x.inst_id = userenv(‘Instance’) and
12 y.inst_id = userenv(‘Instance’) and
13 x.indx = y.indx and
14 x.ksppinm like‘%_ par%’
15 order by
16 translate(x.ksppinm,‘_’,‘‘)
17 /
輸入 par 的值: callout
原值 14: x.ksppinm like‘%_ par%’
新值 14: x.ksppinm like‘%_callout%’
NAME VALUE ISDEFAULT ISMOD ISADJ
—————————— ————————- ——— ———- —–
_log_archive_callout TRUE FALSE FALSE
SQL alter system set“_log_archive_callout”=’LOCAL_FIRST=TRUE
系統已更改。
SQL set linesize 132
SQL column name format a30
SQL column value format a25
SQL select
2 x.ksppinm name,
3 y.ksppstvl value,
4 y.ksppstdf isdefault,
5 decode(bitand(y.ksppstvf,7),1,’MODIFIED’,4,’SYSTEM_MOD’,’FALSE’) ismod,
6 decode(bitand(y.ksppstvf,2),2,’TRUE’,’FALSE’) isadj
7 from
8 sys.x$ksppi x,
9 sys.x$ksppcv y
10 where
11 x.inst_id = userenv(‘Instance’) and
12 y.inst_id = userenv(‘Instance’) and
13 x.indx = y.indx and
14 x.ksppinm like‘%_ par%’
15 order by
16 translate(x.ksppinm,‘_’,‘‘)
17 /
輸入 par 的值: callout
原值 14: x.ksppinm like‘%_ par%’
新值 14: x.ksppinm like‘%_callout%’
NAME VALUE ISDEFAULT ISMOD ISADJ
—————————— ————————- ——— ———- —–
_log_archive_callout LOCAL_FIRST=TRUE TRUE SYSTEM_MOD FALSE
綜上:我認為應該仔細檢查一下用戶主備庫網絡情況,檢查客戶備庫磁盤 IO。
“分析 ARCH wait on SENDREQ 等待事件”的內容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業相關的知識可以關注丸趣 TV 網站,丸趣 TV 小編將為大家輸出更多高質量的實用文章!