運(yùn)行環(huán)境:
OS:HPUX 11.31
GI:12.1.0.2
DB:12.1.0.2
PSU:未應(yīng)用PSU
架構(gòu):RAC+ADG
8月11日晚23點(diǎn)接到同事電話,反饋某信貸類系統(tǒng)查詢序列時(shí)報(bào)ORA-600。
首先,序列是屬于業(yè)務(wù)用戶,如果序列狀態(tài)正常,應(yīng)該是程序問(wèn)題,如果序列狀態(tài)不正常,應(yīng)該是數(shù)據(jù)庫(kù)層的的問(wèn)題。
其次,該系統(tǒng)已上線2年,之前沒(méi)有出現(xiàn)類似問(wèn)題,應(yīng)用最近是否有變更(該系統(tǒng)最近對(duì)數(shù)據(jù)庫(kù)的變更是創(chuàng)建了新的表空間和用戶,確認(rèn)和這次報(bào)錯(cuò)沒(méi)有關(guān)系)。
程序中執(zhí)行
select seq_crd.nextval from dual;
數(shù)據(jù)庫(kù)日志報(bào)錯(cuò):
ORA-00600: internal error code, arguments: [kdnpart:partition], [], [], [], [], [], [], [], [], [], [], []
trc中包含
kdnAllocN <- kdnnxt <- qersqRowProcedure <- qerfiFetch <- qersqFetch
解決過(guò)程:
1、檢查sequence的定義
select dbms_metadata.get_ddl('SEQUENCE','SEQ_CRD','ECRD') from dual;
DBMS_METADATA.GET_DDL('SEQUENCE','
------------------------------------------------------------------------------
CREATE SEQUENCE ecrd.seq_crd MINVALUE 1 MAXVALUE 4294967 INCREMENT
BY 1 START WITH 1200001 CACHE 10000 NOORDER CYCLE
NOPARTITION
NOPARTITION 在12.1創(chuàng)建sequence是默認(rèn)值,該值未給任何功能,在12.2廢棄該關(guān)鍵字。
為通海等地區(qū)用戶提供了全套網(wǎng)頁(yè)設(shè)計(jì)制作服務(wù),及通海網(wǎng)站建設(shè)行業(yè)解決方案。主營(yíng)業(yè)務(wù)為成都網(wǎng)站制作、成都做網(wǎng)站、外貿(mào)營(yíng)銷網(wǎng)站建設(shè)、通海網(wǎng)站設(shè)計(jì),以傳統(tǒng)方式定制建設(shè)網(wǎng)站,并提供域名空間備案等一條龍服務(wù),秉承以專業(yè)、用心的態(tài)度為用戶提供真誠(chéng)的服務(wù)。我們深信只要達(dá)到每一位用戶的要求,就會(huì)得到認(rèn)可,從而選擇與我們長(zhǎng)期合作。這樣,我們也可以走得更遠(yuǎn)!
2、去掉NOPARTITION關(guān)鍵重建SEQUENCE
CREATE SEQUENCE ecrd.seq_crd MINVALUE 1 MAXVALUE 4294967 INCREMENT
BY 1 START WITH 1200001 CACHE 10000 NOORDER CYCLE;
3、檢查重新創(chuàng)建的SEQUENCE
發(fā)現(xiàn)重新創(chuàng)建的SEQUENCE仍然有NOPARTITION
4、重新alter
sequence解決
Bug 23210794 - ORA-600 [kdnpart:partition] on ADG environment with CYCLE sequence
alter sequence ecrd.seq_crdnopartition;
應(yīng)用正常,運(yùn)行一周以來(lái)沒(méi)有再報(bào)ORA-600。
【參考文章】
1、MOS:文檔 ID 2253744.1
2、MOS:文檔 ID 23210794.8
3、 https://docs.oracle.com/database/121/SQLRF/statements_6017.htm#SQLRF01314
4、https://asktom.oracle.com/pls/apex/f?p=100:11:0::::P11_QUESTION_ID:9523071800346490539