解决ORA-00600: internal error code, arguments: [kcblasm_1], [103]
前阵子生产库上发生了一次ora-00600错误,这里简要记录分析下,如有错误,希望大家给以建议。
报错信息
ORA-00600: internal error code, arguments: [kcblasm_1], [103], [], [], [], [], [], []
查看告警日志有如下信息
查看 zgscdb2_j003_14024898.trc
When executing a statement using a SELECT getting:
ORA-00600: internal error code, arguments: [kcblasm_1], [103], [], [], [], [], [], []
The execution plan from the ORA-600 trace file is showing hash join is used.
Call Stack is including:
kcblasm1 kcblasm kxhfFndFreeSlot kxhfNewBuffer qerhjGetNewBuffer ksxb1bqb kxhrPack
INSERT INTO BB_KJ_B00 WITH KJ_JZRQ_TEMP AS (SELECT MIN(QC) QC,TO_DATE(:B2 , 'YYYY-MM-DD') QM, :B1 JG FROM KJ_JZRQ WHERE KJND = (SELE
CT KJND FROM KJ_JZRQ WHERE TO_DATE(:B2 , 'YYYY-MM-DD') BETWEEN QC AND QM) ) SELECT :B1 SJ_SWJG_DM,ZSXM_DM DM,SUM(SE) SE,SUM(ZYSE) ZY
SE,SUM(SSSE) SSSE,SUM(DSSE) DSSE,SUM(XQSE) XQSE,SUM(XZSE) XZSE,TO_DATE(:B2 , 'YYYY-MM-DD') BBQ,'SQL2' BZ FROM ( SELECT A.ZSXM_DM, SE
, A.ZYSE, A.SSSE, A.DSSE, A.XQSE, A.XZSE, RKRQ, D.SJ_SWJG_DM FROM V_KJ_SB_ZSXX_TIPS A, KJ_JZRQ_TEMP B, DM_ZSXM C, KJ_ZW_HSDW D WHERE
A.SKSS_SWJG_DM = D.SS_SWJG_DM AND A.ZSXM_DM = C.ZSXM_DM AND D.SJ_SWJG_DM = B.JG AND RKRQ >= B.QC AND RKRQ IN (SELECT PZZL_DM FROM DM_PZZL WHERE JKS_XYBZ = 'Y' OR WSZ_XYBZ = 'Y') UNION ALL SELECT A.ZSXM_DM, -SE, -A.ZYSE, -A.SSSE, -A.DSSE,
-A.XQSE, -A.XZSE, THRQ, D.SJ_SWJG_DM FROM V_KJ_SB_TTXX_TIPS A, KJ_JZRQ_TEMP B, DM_ZSXM C, KJ_ZW_HSDW D, DM_YSFPBL L WHERE A.SKSS_SWJ
G_DM = D.SS_SWJG_DM AND D.SJ_SWJG_DM = B.JG AND A.YSFPBL_DM = L.YSFPBL_DM AND A.ZSXM_DM = C.ZSXM_DM AND THRQ >= B.QC AND THRQ + 1 ) GROUP BY ZSXM_DM
如上极其BT的insert select造成了这个错误,,数据库版本是10.2.0.5
在10.2.0.5版本中,所有平台环境下补丁程序P7612454,该补丁是解决hash
join时候,Direct IO最大限制4096,我们从执行计划中可以看出,hash join的build
table表的cardinality非常大,这个是造成该问题的罪魁祸首。解决方案如下:
1、11.2版本解决了上述问题
2、升级补丁P7612454,该补丁替换lib中的kcbl.o文件
3、如果执行计划中是hash join造成的,在会话层中设置"_hash_join_enable"
=false,如果执行计划是hash group by 造成的,设置"_gby_hash_aggregation_
enable"=false,在 相应的SQL前加execute immediate 'alter session set "_hash_join_enabled" = false'亦可;
4、修改SQL语句,尽量减少build table的cardinality的值,可以避免该问题的生成
METALINK上的相应资料
Applies to:
Oracle Server - Enterprise Edition - Version: 10.2.0.5.0 and later [Release: 10.2 and later ]
Information in this document applies to any platform.
Symptoms
When executing a statement using a SELECT getting:
ORA-00600: internal error code, arguments: [kcblasm_1], [103], [], [], [], [], [], []
The execution plan from the ORA-600 trace file is showing hash join is used.
Call Stack is including:
kcblasm1 kcblasm kxhfFndFreeSlot kxhfNewBuffer qerhjGetNewBuffer ksxb1bqb kxhrPack
Cause
The issue was investigated in:
Bug 9800302 - 10.2.0.5 GETTING ORA-00600 [KCBLASM_1]
closed as duplicate of:Bug 7612454 - Abstract: DSS:PERF REGRESSIONS IN SERIAL DIRECT READS fixed in 11.2.
As per development team the number of slots available for direct I/Os (limited to 4096) forced the hash-join algorithm to operate on fewer number of slots and resulted in more spills to disk. This caused:
direct path IO to perform worse in 10.2.0.5 than earlier releases with more "direct path read" operations or
ORA-600 [kcblasm_1] errors.
Solution
1. Upgrade the database to 11.2.
OR
2. Apply &incFamilyProds=false&flag=search))" target=_blank>Patch 7612454 available on MOS. If a patch is not currently available on top of your database version and/or platform please raise a Service Request to request for it.
Please be sure that your database version qualifies for getting a new patch as per Note 209768.1 and Note 742060.1.
OR
3. Use the workaround of setting:
"_hash_join_enabled"= false
References
BUG:9781592 - ORA-600 [KCBLASM_1] [103] DURING HASH JOIN QUERY USE ON DATABASE IN DWH
BUG:9800302 - 10.2.0.5 GETTING ORA-00600 [KCBLASM_1]
BUG:9804132 - INSERT FAILS WITH ORA-600 [KCBLASM_1], [103]
NOTE:209768.1 - Database, FMW, EM Grid Control, and OCS Software Error Correction Support Policy
NOTE:742060.1 - Release Schedule of Current Database Releases
NOTE:7612454.8 - Bug 7612454 - More "direct path read" operations / OERI:kcblasm_1

掌握添加MySQL用戶的方法對於數據庫管理員和開發者至關重要,因為它確保數據庫的安全性和訪問控制。 1)使用CREATEUSER命令創建新用戶,2)通過GRANT命令分配權限,3)使用FLUSHPRIVILEGES確保權限生效,4)定期審計和清理用戶賬戶以維護性能和安全。

chosecharforfixed-lengthdata,varcharforvariable-lengthdata,andtextforlargetextfield.1)chariseffity forconsistent-lengthdatalikecodes.2)varcharsuitsvariable-lengthdatalikenames,ballancingflexibilitibility andperformance.3)

在MySQL中處理字符串數據類型和索引的最佳實踐包括:1)選擇合適的字符串類型,如CHAR用於固定長度,VARCHAR用於可變長度,TEXT用於大文本;2)謹慎索引,避免過度索引,針對常用查詢創建索引;3)使用前綴索引和全文索引優化長字符串搜索;4)定期監控和優化索引,保持索引小巧高效。通過這些方法,可以在讀取和寫入性能之間取得平衡,提升數據庫效率。

ToaddauserremotelytoMySQL,followthesesteps:1)ConnecttoMySQLasroot,2)Createanewuserwithremoteaccess,3)Grantnecessaryprivileges,and4)Flushprivileges.BecautiousofsecurityrisksbylimitingprivilegesandaccesstospecificIPs,ensuringstrongpasswords,andmonitori

tostorestringsefliceflicyInmySql,ChooSetherightDataTypeBasedyOrneOrneEds:1)USEcharforFixed-LengthStstringStringStringSlikeCountryCodes.2)UseVarcharforvariable-lengtthslikenames.3)USETEXTCONTENT.3)

選擇MySQL的BLOB和TEXT數據類型時,BLOB適合存儲二進制數據,TEXT適合存儲文本數據。 1)BLOB適用於圖片、音頻等二進制數據,2)TEXT適用於文章、評論等文本數據,選擇時需考慮數據性質和性能優化。

No,youshouldnotusetherootuserinMySQLforyourproduct.Instead,createspecificuserswithlimitedprivilegestoenhancesecurityandperformance:1)Createanewuserwithastrongpassword,2)Grantonlynecessarypermissionstothisuser,3)Regularlyreviewandupdateuserpermissions

mySqlStringDatatAtatPessHouldBechoseBasedondatActarActeristicsAndusecases:1)USEcharforFixed lengthStstringStringStringSlikeCountryCodes.2)usevarcharforvariable-lengtthslikeLikenames.3)usebarnionororvarinyorvarinyorvarybinarydatalgebenedaTalgeextocrabextrapon.4)


熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

Video Face Swap
使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

熱工具

WebStorm Mac版
好用的JavaScript開發工具

SecLists
SecLists是最終安全測試人員的伙伴。它是一個包含各種類型清單的集合,這些清單在安全評估過程中經常使用,而且都在一個地方。 SecLists透過方便地提供安全測試人員可能需要的所有列表,幫助提高安全測試的效率和生產力。清單類型包括使用者名稱、密碼、URL、模糊測試有效載荷、敏感資料模式、Web shell等等。測試人員只需將此儲存庫拉到新的測試機上,他就可以存取所需的每種類型的清單。

mPDF
mPDF是一個PHP庫,可以從UTF-8編碼的HTML產生PDF檔案。原作者Ian Back編寫mPDF以從他的網站上「即時」輸出PDF文件,並處理不同的語言。與原始腳本如HTML2FPDF相比,它的速度較慢,並且在使用Unicode字體時產生的檔案較大,但支援CSS樣式等,並進行了大量增強。支援幾乎所有語言,包括RTL(阿拉伯語和希伯來語)和CJK(中日韓)。支援嵌套的區塊級元素(如P、DIV),

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)

Atom編輯器mac版下載
最受歡迎的的開源編輯器