【等待事件】SQL*Net more data from dblink

恩強Boy發表於2021-01-11

等待事件SQL*Net more data from dblink

等待事件說明

這個等待事件表示透過dblink 在遠端資料庫獲取資料時產生的等待。如果遠端程式是另一個資料庫例項(透過 dblink 連線),那麼遠端資料庫 v$session 中的資訊將和本地資料庫中被阻塞會話的 v$session 具有相同的客戶端詳細資訊。我們需要檢視遠端例項,用以確定該會話在什麼地方花費更多的時間。直到從遠端資料庫接受到下一個訊息塊時,這個等待才會被釋放。

如果系統範圍內該等待事件很多,那麼最好先確定遠端連線到哪裡,將目標重心轉移到遠端資料庫例項,以確定在哪裡花費更多時間。我們可以查詢以下內容:

- v$session 檢視中比較高的值,從 dblink 透過 SQL*Net 接收到的位元組數

- 本地和遠端系統之間的網路。

大部分的問題通常與在遠端例項上花費的時間有關,而不是跟網路有關,但是前提是要檢查例項之間的網路,確保網路不存在問題

解決方法

1)  通常最好看一下實際花費在遠端例項上的時間比例。因為dblink 長時間等待的最常見原因是時間實際上都花在了遠端例項上的工作。

2)  在本地和遠端例項上跟蹤會話,以檢視使用者“事務”實際上包含了哪些工作

3)  檢查所有分散式查詢的執行計劃

4)  檢查頻繁訪問的遠端資料是否可以儲存在本地物化檢視中。

 

 

---- end ----


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/31529886/viewspace-2749191/,如需轉載,請註明出處,否則將追究法律責任。

相關文章