ORA-00600 [2662] , 怎麼計算 adjust SCN level

paulyibinyi發表於2011-07-22

       舉個例子:

ORA-00600: internal error code, arguments: [2662], [0], [2179133], [8656], [70114056], [33855201], [], []

Arg [c] *4 = 8656 * 4 = 34624
Arg [d] = 70114056 < 1073741824
所以level = 34624 + 1 = 34625
因此在這個例子中我們應該執行

  1. alter  session  set    events  IMMEDIATE trace name ADJUST_SCN level 34625;

 

ORA-00600: internal error code, arguments: [2662], [0], [547743994], [0], [898092653], [8388617], [], []

這個報錯引數的含義在metalink中如此描述的:
Arg [a] Current SCN WRAP
Arg [b] Current SCN BASEITPUB個人空間JjMt'R4A;q%o
Arg [c] dependent SCN WRAP
為了儲存更大的SCN值,當SCN BASE到足夠大並開始重置的時候,SCN WRAP將加1。

Arg [d] dependent SCN BASE
Arg [e] Where present this is the DBA where the dependent SCN came from.
也就是Arg [d] 的值是從哪個block中找到的,通常是一個 block address。

透過這幾個引數根據一定的規則可以計算出我們需要的level。計算規則如下:
1.Arg [c] *4得出一個數值,假設為V_Wrap
2.如果Arg [d]=0,則V_Wrap值為需要的level
   Arg [d] < 1073741824,V_Wrap+1為需要的level
   Arg [d] < 2147483648,V_Wrap+2為需要的level
   Arg [d] < 3221225472,V_Wrap+3為需要的level

自己記錄下,供以後遇到同樣問題時使用。

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

相關文章