ORA-00600之数据库内部BUG 22114696

ORA-00600之数据库内部BUG 22114696

错误信息

应用包运行时收到报错信息如下:

sql 复制代码
ORA-00600: internal error code, arguments: [4450],[kpotx.c],[2866],[],...
ORA-02063: preceding line from DW_JOB_PROD
line ORA-06512: line at ""APP.PKG_JOB_FAST_NEW"" ...

ORA-00600报错一般与Oracle数据库内部Bug有关。注意第一行arguments后面三个方括号中的数字与信息,可用于确定相关的数据库Bug。

Bug信息

在MOS上匹配到相关的Bug信息描述如下:

bash 复制代码
ORA-00600 [4450] can occur when using autonomous transactions and
 multiple database links if the value for open_links was too small.
  
If you get ORA-00600[4450] at the remote side of a database link, it may be
this bug. Check for traces at the local side and find out if more database
links were potentially being used than the configured value for open_links
(the default value is 4).

经确认,报错的应用确实使用了大量DBLINK,与该BUG描述的触发场景一致。

检查open_links当前值:

sql 复制代码
--当前值为16
SQL> show parameter open_links

NAME				     TYPE	 VALUE
------------------------------------ ----------- ------------------------------
open_links			     integer	 16
open_links_per_instance 	     integer	 16

应对办法

官方推荐了两种应对办法。一种是workaround办法,另一种是升级数据库到版本12.2.0.1。

bash 复制代码
Workaround:
Increase the value for open_links.

Bug 22114696 - ORA-600 [4450], [kpotx.c], [2866] (Doc ID 22114696.8)

问题数据库版本为11g,没有升级到12c的计划。因此这里我们采用workaround,即调大open_links,将其调大到100。该参数调整后需要重启数据库。

调整open_links参数:

sql 复制代码
sys@ORA11G> alter system set open_links=100 scope=both;
alter system set open_links=100 scope=both
                 *
ERROR at line 1:
ORA-02095: specified initialization parameter cannot be modified

sys@ORA11G> alter system set open_links=100 scope=spfile;
System altered.

sys@ORA11G> shutdown immediate;
sys@ORA11G> startup;

🐟OPEN_LINKS参数含义

  • OPEN_LINKS specifies the maximum number of concurrent open connections to remote databases in one session.
  • These connections include database links, as well as external procedures and cartridges, each of which uses a separate process.
相关推荐
SelectDB6 小时前
让变更流出 Doris:Apache Doris 5.0 基于增量计算的 CDC 技术解析
数据库
这个DBA有点耶6 小时前
MCP隔离层+行级语义审计+输出校验:AI访问数据库的安全边界拆解
数据库·人工智能·ai编程
这个DBA有点耶7 小时前
从反向扫描O(n)到正向扫描O(1):降序索引的物理机制与混合排序匹配规则
数据库
2501_933923258 小时前
解读Redis:单线程模型
数据库·redis·缓存
Tapdata9 小时前
被忽略的第三类上下文:Agent 进入真实业务后,还缺什么?
数据库·人工智能·架构
小科先生10 小时前
Java springboot调用数据库的基本流程
java·数据库·spring boot
星恒随风10 小时前
MySQL 从零入门(四):表的增删改查与基础查询详解
linux·服务器·数据库·笔记·mysql
Pniubi12 小时前
MySQL靠什么实现事务的?事务隔离级别有哪些?
java·数据库·mysql
数据库小学妹13 小时前
pgbouncer 事务池:prepared statement、临时表与会话状态
数据库·后端·postgresql
Lucifer三思而后行14 小时前
最近折腾了一下金仓数据库的备份恢复
数据库·备份恢复