12c upgrade sonrası ORA-600 [qkebCreateColById:1] ORA-00600 hatası

Mevcut bir tablo üzerinde sonradan eklenen bir kolon hem not null consraint hem de defult value ile birlikte eklenirse.  O kolonun property değeri  1073741824 olarak set ediliyor. Bu değer bu buga benzeyen birçok farklı buga neden oluyor.

Bizim sorumunuzda mevcut bir tablodaki bir kolonda bu problem bulunuyordu. Bu durumdan etkilenen kolonunuz olup olmadığınız aşağıdaki sorgu ile görebilirsiniz.

select a.obj#,c.name table_name,a.intcol#,a.name column_name,a.property,b.guard_id
from col$ a,ecol$ b,obj$ c
where a.obj#=b.tabobj#
and a.intcol#=b.colnum
and a.obj#=c.obj#
and a.property=1073741824
and a.null$=0
and b.guard_id is null;

Tablodaki problemli kolon haricinde select çektiğimizde tablo düzgün sonuç veriyordu ama ilgili kolonu sorguya eklediğimizde ora-600 hatası alıyorduk.

Aynı zamanda bu tablo üzerinde gece çalışan istatistik jobının da hata aldığını alert logda gördük.aldığımız hata aşağıdaki gibiydi.

ORA-00600: internal error code, arguments: [qksvcGetGuardCol:2], [16408], [0], [], [], [], [], [], [], [], [], []

 

Bu hatanın çözümü için oracle supporta sr açtık. Ve benzer bugda uygulanan aşağıdaki işlemler ile problemimiz çözüldü.

Note 17325413.8 – Bug 17325413


 

Compatible parametresi set edilir.

ALTER SYSTEM SET compatible=’12.2.0.1′ SCOPE=SPFILE;

Database stop start ediyoruz. bizim veritabanlarımız cluster olduğu için aşağıdaki komutları kullandık.

Srvctl stop database –d prod

Srvctl start instance –d prod–i prod1,prod2

ilgili constraint kaldırılıp yeniden eklendi.

 

alter table vpef.T_BRANCH_ACCOUNTANT modify (IDENTIFIER_AUTHORITY_CODE null);

alter table vpef.T_BRANCH_ACCOUNTANT modify (IDENTIFIER_AUTHORITY_CODE not null enable novalidate);

 

ve problemimiz çözüldü