資料庫的一台備庫報錯:
ORA-00600: 內部錯誤碼, 參數: [kkdoilsn1], [], [], [], [], [], [], [], [], [], [], []
根據trace檔案,發現報錯的sql語句是:select * from xxxxx where xx
那麼,這個錯誤是什麼意思呢?ORA-00600 [Kkdoilsn1] When Attempting To Move LOB Using ALTER Command
查詢資料發現:
APPLIES TO:
Oracle Server - Enterprise Edition - Version: 9.2.0.1 to 9.2.0.7 - Release: 9.2 to 9.2
Information in this document applies to any platform.
但是,好像11g也會有這個錯誤。
SYMPTOMS
Attempting to move LOB using an alter command fails with the following error and stack trace:
ORA-00600: internal error code, arguments: [kkdoilsn1], [], [], [], [], [], [], []
----- Call Stack Trace -----
kkdoilsn kkdoilci kkdollb kkdolsci kkdolsoi kkdlgsci
kkdlgcd qcscif qcsrctq qcswrc qcsrcr qcsrnr qcsridn qcsraic qcspqb kkmdrv
trace檔案中有如下:
kkdoilsn()+1423 call kgeasnmierr() 00A99D540 ? 2B4AFF4712A0 ?
9E7B514000000000 ?
000000000 ? 000000000 ?
9D13DF398 ?
kkdoilci()+338 call kkdoilsn() A0EC81A10 ? 2B4AFF4712A0 ?
000000000 ? 949724AE0 ?
000000000 ? 9D13DF398 ?
kkdollb()+239 call kkdoilci() A0EC81A10 ? 91DD07220 ?
000000000 ? 000000000 ?
000000000 ? 949724AE0 ?
kkdolsci()+119 call kkdollb() A0EC81A10 ? 949724B88 ?
91DD07288 ? 000000002 ?
000000000 ? 949724AE0 ?
kkdolsoi()+74 call kkdolsci() A0EC81A10 ? 00000001E ?
000000002 ? 000000000 ?
000000000 ? 949724AE0 ?
kkdlgcd()+191 call kkdolsoi() A0EC81A10 ? 2B4AFF820B18 ?
000000002 ? 000000000 ?
000000000 ? 949724AE0 ?
__PGOSF148_kkmfbtcn call kkdlgcd() 2B4AFF461BD8 ? 2B4AFF4658F8 ?
()+10 000000002 ? 000000000 ?
CAUSE
This is an internal Bug:2766299, this bug will not be visable via Metalink
@NOTE: Per Oracle development, this will be fixed in Oracle 9.2.0.8.0 and above;
SOLUTION
Use export and import to move the segment.
Bug:2766299 is fixed in 10G
這個文檔好像不太準確。
實際情況,並沒有move一個lob對象,而是將一個表的欄位alter成lob類型,最後只是fush了一下buffer cache就解決了。(share pool應該不用flush)
GoldenGate不使用資料泵完成Oracle-Oracle的雙向複製
使用GoldenGate的資料泵進行Oracle-Oracle的單向複製
如何對 Oracle 資料泵(expdp/impdp) 進行 debug
Oracle 資料庫匯出資料泵(EXPDP)檔案存放的位置
Oracle 10g 資料泵分區表的匯出