Oracle技巧:如何診斷一些未預料的 Oracle 錯誤(ORA-NNNN)

lhrbest發表於2016-12-16

Oracle技巧:如何診斷一些未預料的 Oracle 錯誤(ORA-NNNN)

2016-12-15 詩檀軟體 

這裡我們討論下如何診斷一些未預料的 Oracle 錯誤(ORA-NNNN)。

在診斷問題前,做一些例行詢問(按經驗總結,嘗試形成一種模式),例如:

1. 是否總是同一個使用者/應用造成的?

2. 是否是在資料匯入時發生?

3. 問題是在做了哪些操作或修改了哪些之後產生的?

之後,我們需要收集更多資訊以瞭解錯誤是如何產生的,甚至到哪些語句觸發了此問題(如果問題是由一個遞迴 SQL 語句造成的話)。為了達到此目的我們需要在會話級或例項級建立 Errorstack 事件. 如果你能很容易地重現問題, 那麼用會話級,否則則需要在例項級建立事件。

因此,假設我們收到一個 ORA-904 "invalid column"報錯,我們可以使用:

alter session set events '904 trace name errorstack level 3';

alter system set events '904 trace name errorstack level 3';

event = "904 trace name errorstack level 3" (in the init.ora)

一旦我們獲取了trace檔案, 我們就能從以下物件中找出實際產生錯誤的SQL語句:

1. "當前執行的 SQL"

2. "當前執行的遊標"

然後你就能直接透過這些找到的 SQL 來重現問題。 而這已經足以用來確認出原因。


About Me

...............................................................................................................................

本文來自於微信公眾號

小麥苗雲盤地址:http://blog.itpub.net/26736162/viewspace-1624453/

● QQ群:230161599     微信群:私聊

聯絡我請加QQ好友(642808185),註明新增緣由

版權所有,歡迎分享本文,轉載請保留出處

...............................................................................................................................

手機長按下圖識別二維碼或微信客戶端掃描下邊的二維碼來關注小麥苗的微信公眾號:xiaomaimiaolhr,免費學習最實用的資料庫技術。

wpsF8C8.tmp

 

Oracle技巧:如何診斷一些未預料的 Oracle 錯誤(ORA-NNNN)

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

相關文章