0

0

ORA-00600: internal error code, arguments: [kqlnrc_1], [0x70

PHP中文网

PHP中文网

发布时间:2016-06-07 17:58:03

|

1576人浏览过

|

来源于php中文网

原创

今天早上做数据库巡检,发现alert日志里出现如下错误: errors in file /home/oracle/admin/exmxsbusi/udump/exmxsbusi2_ora_27477.trc: ora-00600: 内部错误代码, 参数: [kqlnrc_1], [0x15e465678], [], [], [], [], [], [] mon jun 18 10:11:31 cst 2012 er

今天早上做数据库巡检,发现alert日志里出现如下错误:

Errors in file /home/Oracle/admin/exmxsbusi/udump/exmxsbusi2_ora_27477.trc:
ORA-00600: 内部错误代码, 参数: [kqlnrc_1], [0x15E465678], [], [], [], [], [], []
Mon Jun 18 10:11:31 CST 2012


Errors in file /home/Oracle/admin/exmxsbusi/udump/exmxsbusi2_ora_27477.trc:
ORA-00600: 内部错误代码, 参数: [kqlnrc_1], [0x15E465678], [], [], [], [], [], []
Mon Jun 18 10:11:55 CST 2012
Errors in file /home/Oracle/admin/exmxsbusi/udump/exmxsbusi2_ora_27477.trc:
ORA-00600: 内部错误代码, 参数: [kqlnrc_1], [0x15E465678], [], [], [], [], [], []
查看trace文件:
Oracle Database 10g Enterprise Edition Release 10.2.0.5.0 - 64bit Production
With the Partitioning, Real Application Clusters, OLAP, Data Mining
and Real Application Testing options
Oracle_HOME = /home/oracle/db
System name: Linux
Node name: cpexmxsii-coddb-02
Release: 2.6.18-194.1.AXS3
Version: #1 SMP Fri May 7 10:03:53 CST 2010
Machine: x86_64
Instance name: exmxsbusi2
Redo thread mounted by this instance: 2
Oracle process number: 504
Unix process pid: 27477, image:Oracle@cpexmxsii-coddb-02

*** ACTION NAME:(Main session) 2012-06-18 10:11:14.231
*** MODULE NAME:(PL/SQL Developer) 2012-06-18 10:11:14.231
*** SERVICE NAME:(exmxsbusi) 2012-06-18 10:11:14.231
*** SESSION ID:(155.2098) 2012-06-18 10:11:14.231
*** 2012-06-18 10:11:14.231
ksedmp: internal or fatal error
ORA-00600: 内部错误代码, 参数: [kqlnrc_1], [0x15E465678], [], [], [], [], [], []
Current SQL statement for this session:
declare
  c integer := 0;
  p1 varchar2(500);
  p2 varchar2(500);
  expr varchar2(500);
  dblink varchar2(500);
  part1_type integer;
  object_number integer;
  dp integer;
begin
  :object_type := null;
  :object_owner := null;
  :object_name := null;
  :sub_object := null;
  expr := :part1;
  if :part2 is not null then expr := expr || '.' || :part2; end if;
  if :part3 is not null then expr := expr || '.' || :part3; end if;
  loop
    begin
      sys.dbms_utility.name_resolve(name => expr,
                                    context => c,
                                    schema => :object_owner,
                                    part1 => p1,
                                    part2 => p2,
                                    dblink => dblink,
                                    part1_type => part1_type,
                                    object_number => object_number);
      if part1_type = 1 then :object_type := 'INDEX'; end if;
      if part1_type = 2 then :object_type := 'TABLE'; end if;
      if part1_type = 4 then :object_type := 'VIEW'; end if;
      if part1_type = 5 then :object_type := 'SYNONYM'; end if;
      if part1_type = 6 then :object_type := 'SEQUENCE'; end if;
      if part1_type = 7 then :object_type := 'PROCEDURE'; end if;
      if part1_type = 8 then :object_type := 'FUNCTION'; end if;
      if part1_type = 9 then :object_type := 'PACKAGE'; end if;
      if part1_type = 12 then :object_type := 'TRIGGER'; end if;
      if part1_type = 13 then :object_type := 'TYPE'; end if;
      if part1_type = 28 then :object_type := 'JAVA SOURCE'; end if;
      if part1_type = 29 then :object_type := 'JAVA CLASS'; end if;
      if :object_type is null then
        select object_type into :object_type
          from sys.all_objects
         where object_id = object_number;
      end if;
    exception
      when others then null;
    end;
    c := c + 1;
    if c > 9 then
      dp := instr(expr, '.', -1);
      if dp > 0 then
        if :sub_object is not null then
          :sub_object := '.' || :sub_object;
        end if;
        :sub_object := upper(substr(expr, dp + 1)) || :sub_object;
        expr := substr(expr, 1, dp - 1);
        c := 0;
      end if;
    end if;
    exit when (:object_type is not null) or (c > 9);
  end loop;
  if :object_type is not null then
    if p1 is null then
      :object_name := p2;
    elsif p2 is null then
      :object_name := p1;
      if :object_name = :part1 and :part2 is not null then
        :sub_object := :part2;
      end if;
      if :object_name = :part2 and :part3 is not null then
        :sub_object := :part3;
      end if; 
    else
      :object_name := p1;
      :sub_object := p2;
    end if;
    return;
  end if;
  begin
    if :part2 is null and :part3 is null then
      select 'USER', null, :part1
        into :object_type, :object_owner, :object_name
        from sys.all_users u
       where u.username = :part1
         and rownum = 1;
      return;
    end if;
  exception
    when no_data_found then
      null;
  end;
  begin
    if :part2 is null and :part3 is null and :deep != 0 then
      select 'ROLE', null, :part1
        into :object_type, :object_owner, :object_name
        from sys.session_roles r
       where r.role = :part1
         and rownum = 1;
      return;
    end if;
  exception
    when no_data_found then
      null;
  end;
  if :deep != 0 then
    begin
      if :part2 is null then
        select constraint_type, owner, constraint_name
          into :object_type, :object_owner, :object_name
          from sys.all_constraints c
         where c.constraint_name = :part1
           and c.owner = :cur_schema
           and rownum = 1;
      else
        select constraint_type, owner, constraint_name, :part3
          into :object_type, :object_owner, :object_name, :sub_object
          from sys.all_constraints c
         where c.constraint_name = :part2
           and c.owner = :part1
           and rownum = 1;
      end if;
      if :object_type = 'P' then
        :object_type := 'PRIMARY KEY';
      end if;
      if :object_type = 'U' then
        :object_type := 'UNIQUE KEY';
      end if;
      if :object_type = 'R' then
        :object_type := 'FOREIGN KEY';
      end if;
      if :object_type = 'C' then
        :object_type := 'CHECK CONSTRAINT';
      end if;
      return;
    exception
      when no_data_found then
        null;
    end;
  end if;
end;

再看

----- PL/SQL Call Stack -----
  object      line  object
  handle    number  name
0x15d17ad68       116  package body SYS.DBMS_UTILITY

......

......

      SO: 0x13667b708, type: 54, owner: 0x149fa2a30, flag: INIT/-/-/0x00
      LIBRARY OBJECT PIN: pin=0x13667b708 handle=0x15e465678 mode=S lock=11a0570c8
      user=15a46c3d0 session=15a46c3d0 count=1 mask=0001 savepoint=0x7675 flags=[00]
      LIBRARY OBJECT HANDLE: handle=15e465678 mtx=0x15e4657a8(0) lct=1 pct=0 cdp=0
     name=EXMXSQUERY.VW_EBAY_MAIL_CLCT@EBAYTRACK
      hash=f0cd4f621dedeac376c5bc759c015f5e timestamp=12-22-2011 17:03:45
      namespace=TABL flags=REM/KGHP/TIM/XLR/[00020020]
      kkkk-dddd-llll=0000-0001-0001 lock=S pin=S latch#=14 hpc=0002 hlc=0002
      lwt=0x15e465720[0x15e465720,0x15e465720] ltm=0x15e465730[0x15e465730,0x15e465730]
      pwt=0x15e4656e8[0x15e4656e8,0x15e4656e8] ptm=0x15e4656f8[0x15e4656f8,0x15e4656f8]
      ref=0x15e465750[0x15e465750,0x15e465750] lnd=0x15e465768[0x15e465768,0x15e465768]
        LOCK INSTANCE LOCK: id=LBf0cd4f621dedeac3
        PIN INSTANCE LOCK: id=NBf0cd4f621dedeac3 mode=S release=F flags=[00]
        LIBRARY OBJECT: bject=1432efc78
        type=SYNM flags=EXS/LOC[0005] pflags=[0000]status=INVLload=0
        DATA BLOCKS:

看到这个地方,VW_EBAY_MAIL_CLCT是EBAYTRACK库上EXMXSQUERY用户下的一个同义词,应该是这个同义词失效了,一般同义词失效是其同义的对象删掉重建了,或者select权限收回了。为了证实这个认识,打电话询问开发的工程师当时有没有改动那个视图,回答时肯定的,说但是那个时间点正在create or replace,这样同义词就自动失效了。通过如下sql查询:

SQL> SELECT object_name,object_type,owner,status
  2            FROM   dba_objects
  3            WHERE  object_name='VW_EBAY_MAIL_CLCT';

OBJECT_NAME                    OBJECT_TYPE         OWNER      STATUS
--------------------                        -------------------         ----------          -------
VW_EBAY_MAIL_CLCT              VIEW                  EMSTRC         VALID
VW_EBAY_MAIL_CLCT              SYNONYM        EMSQUERY    INVALID

果然失效了。注意在10g中,同义词失效,但是还是可以查询的:

select  count(*)  from vw_ebay_mail_clct;

  COUNT(*)
------------------
         3398700

重建同义词:

create or replace synonym VW_EBAY_MAIL_CLCT for emstrc.VW_EBAY_MAIL_CLCT;

重新查询状态:

SQL> SELECT object_name,object_type,owner,status
  2            FROM   dba_objects
  3            WHERE  object_name='VW_EBAY_MAIL_CLCT';

OBJECT_NAME                    OBJECT_TYPE         OWNER      STATUS
--------------------                        -------------------         ----------          -------
VW_EBAY_MAIL_CLCT              VIEW                  EMSTRC         VALID
VW_EBAY_MAIL_CLCT              SYNONYM        EMSQUERY    VALID

状态已经变为valid了。

参考文档:

How To Find The Object That Causing ORA-600 [kqlnrc_1] [ID 1190673.1]

以上就是ORA-00600: internal error code, arguments: [kqlnrc_1], [0x70的内容,更多相关内容请关注PHP中文网(www.php.cn)!

笔启AI论文
笔启AI论文

专业高质量、低查重,免费论文大纲,在线AI生成原创论文,AI辅助生成论文的神器!

下载

热门AI工具

更多
DeepSeek
DeepSeek

幻方量化公司旗下的开源大模型平台

豆包大模型
豆包大模型

字节跳动自主研发的一系列大型语言模型

通义千问
通义千问

阿里巴巴推出的全能AI助手

腾讯元宝
腾讯元宝

腾讯混元平台推出的AI助手

文心一言
文心一言

文心一言是百度开发的AI聊天机器人,通过对话可以生成各种形式的内容。

讯飞写作
讯飞写作

基于讯飞星火大模型的AI写作工具,可以快速生成新闻稿件、品宣文案、工作总结、心得体会等各种文文稿

即梦AI
即梦AI

一站式AI创作平台,免费AI图片和视频生成。

ChatGPT
ChatGPT

最最强大的AI聊天机器人程序,ChatGPT不单是聊天机器人,还能进行撰写邮件、视频脚本、文案、翻译、代码等任务。

相关专题

更多
pixiv网页版官网登录与阅读指南_pixiv官网直达入口与在线访问方法
pixiv网页版官网登录与阅读指南_pixiv官网直达入口与在线访问方法

本专题系统整理pixiv网页版官网入口及登录访问方式,涵盖官网登录页面直达路径、在线阅读入口及快速进入方法说明,帮助用户高效找到pixiv官方网站,实现便捷、安全的网页端浏览与账号登录体验。

286

2026.02.13

微博网页版主页入口与登录指南_官方网页端快速访问方法
微博网页版主页入口与登录指南_官方网页端快速访问方法

本专题系统整理微博网页版官方入口及网页端登录方式,涵盖首页直达地址、账号登录流程与常见访问问题说明,帮助用户快速找到微博官网主页,实现便捷、安全的网页端登录与内容浏览体验。

126

2026.02.13

Flutter跨平台开发与状态管理实战
Flutter跨平台开发与状态管理实战

本专题围绕Flutter框架展开,系统讲解跨平台UI构建原理与状态管理方案。内容涵盖Widget生命周期、路由管理、Provider与Bloc状态管理模式、网络请求封装及性能优化技巧。通过实战项目演示,帮助开发者构建流畅、可维护的跨平台移动应用。

42

2026.02.13

TypeScript工程化开发与Vite构建优化实践
TypeScript工程化开发与Vite构建优化实践

本专题面向前端开发者,深入讲解 TypeScript 类型系统与大型项目结构设计方法,并结合 Vite 构建工具优化前端工程化流程。内容包括模块化设计、类型声明管理、代码分割、热更新原理以及构建性能调优。通过完整项目示例,帮助开发者提升代码可维护性与开发效率。

19

2026.02.13

Redis高可用架构与分布式缓存实战
Redis高可用架构与分布式缓存实战

本专题围绕 Redis 在高并发系统中的应用展开,系统讲解主从复制、哨兵机制、Cluster 集群模式及数据分片原理。内容涵盖缓存穿透与雪崩解决方案、分布式锁实现、热点数据优化及持久化策略。通过真实业务场景演示,帮助开发者构建高可用、可扩展的分布式缓存系统。

23

2026.02.13

c语言 数据类型
c语言 数据类型

本专题整合了c语言数据类型相关内容,阅读专题下面的文章了解更多详细内容。

29

2026.02.12

雨课堂网页版登录入口与使用指南_官方在线教学平台访问方法
雨课堂网页版登录入口与使用指南_官方在线教学平台访问方法

本专题系统整理雨课堂网页版官方入口及在线登录方式,涵盖账号登录流程、官方直连入口及平台访问方法说明,帮助师生用户快速进入雨课堂在线教学平台,实现便捷、高效的课程学习与教学管理体验。

14

2026.02.12

豆包AI网页版入口与智能创作指南_官方在线写作与图片生成使用方法
豆包AI网页版入口与智能创作指南_官方在线写作与图片生成使用方法

本专题汇总豆包AI官方网页版入口及在线使用方式,涵盖智能写作工具、图片生成体验入口和官网登录方法,帮助用户快速直达豆包AI平台,高效完成文本创作与AI生图任务,实现便捷智能创作体验。

421

2026.02.12

PostgreSQL性能优化与索引调优实战
PostgreSQL性能优化与索引调优实战

本专题面向后端开发与数据库工程师,深入讲解 PostgreSQL 查询优化原理与索引机制。内容包括执行计划分析、常见索引类型对比、慢查询优化策略、事务隔离级别以及高并发场景下的性能调优技巧。通过实战案例解析,帮助开发者提升数据库响应速度与系统稳定性。

51

2026.02.12

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号