`

ORA-07445(kdodpm)错误处理

阅读更多
ORA-7445(kdodpm)错误
===========================================================
作者: yangtingkun(http://yangtingkun.itpub.net)
发表于: 2009.07.31 23:02
分类: ORACLE , Bug
出处: http://yangtingkun.itpub.net/post/468/488625
---------------------------------------------------------------

在进行LOGMINER操作的时候碰到了这个错误。

由于要查看程序删除的一些记录,因此通过LOGMINER对重做日志进行LOGMINER操作:

SQL> alter session set nls_date_format = 'yyyy-mm-dd hh24:mi:ss';

会话已更改。

SQL> select * from v$log;

GROUP# THREAD# SEQUENCE# BYTES MEMBERS ARC STATUS FIRST_CHANGE# FIRST_TIME
------ ------- --------- ---------- ------- --- --------- ------------- -------------------
1 1 3285 1073741824 2 YES INACTIVE 1.1124E+12 2009-07-28 00:00:08
2 1 3286 1073741824 2 YES INACTIVE 1.1124E+12 2009-07-28 00:02:20
3 1 3287 1073741824 2 NO CURRENT 1.1124E+12 2009-07-28 01:00:13
4 1 3284 1073741824 2 YES INACTIVE 1.1124E+12 2009-07-27 01:00:30
5 2 1457 1073741824 2 NO CURRENT 1.1124E+12 2009-07-27 23:53:27
6 2 1454 1073741824 2 YES INACTIVE 1.1124E+12 2009-07-26 00:25:45
7 2 1455 1073741824 2 YES INACTIVE 1.1124E+12 2009-07-26 00:26:39
8 2 1456 1073741824 2 YES INACTIVE 1.1124E+12 2009-07-26 23:53:34

已选择8行。

发现要处理的是当前的日志文件:

SQL> select member from v$logfile where group# in (3, 5);

MEMBER
--------------------------------------------------
/dev/vx/rdsk/datadg/tradedb_redo1_3_1_1g
/dev/vx/rdsk/datadg/tradedb_redo1_3_2_1g
/dev/vx/rdsk/datadg/tradedb_redo2_1_1_1g
/dev/vx/rdsk/datadg/tradedb_redo2_1_2_1g

SQL> exec dbms_logmnr.add_logfile('/dev/vx/rdsk/datadg/tradedb_redo1_3_1_1g', dbms_logmnr.new)

PL/SQL 过程已成功完成。

SQL> exec dbms_logmnr.add_logfile('/dev/vx/rdsk/datadg/tradedb_redo2_1_1_1g', dbms_logmnr.addfile)

PL/SQL 过程已成功完成。

SQL> exec dbms_logmnr.start_logmnr(options=> dbms_logmnr.dict_from_online_catalog)

PL/SQL 过程已成功完成。

SQL> create table t_logminer tablespace sysaux
2 as select * from v$logmnr_contents where seg_owner = 'ZHEJIANG' and seg_name = 'LP_PRICE_PROCESS';
create table t_logminer tablespace sysaux
*第 1 行出现错误:
ORA-03113: 通信通道的文件结束


SQL> exec dbms_logmnr.end_logmnr
ERROR:
ORA-03114: 未连接到 ORALCE

前台出现ORA-3113错误,后台多半出现ORA-7445或ORA-600错误,检查alert文件:

Tue Jul 28 16:04:24 2009
Errors in file /opt/oracle/admin/tradedb/udump/tradedb1_ora_10798.trc:
ORA-07445: 出现异常错误: 核心转储 [kdodpm()+2068] [SIGSEGV] [Invalid permissions for mapped object] [0xFFFFFFFF79270002] [] []

果然出现了ORA-7445错误,错误参数为kdodpm,检查对应的trace文件:

*** 2009-07-28 15:59:15.046
*** SERVICE NAME:(SYS$USERS) 2009-07-28 15:59:15.027
*** SESSION ID:(282.47827) 2009-07-28 15:59:15.027
* kjdrpkey2hv: called with pkey 207480, options x8
*** 2009-07-28 16:04:24.179
Exception signal: 11 (SIGSEGV), code: 2 (Invalid permissions for mapped object), addr: 0xffffffff79270002, PC: [0x10285aa34, kdodpm(
)+2068]
*** 2009-07-28 16:04:24.186
ksedmp: internal or fatal error
ORA-07445: 出现异常错误: 核心转储 [kdodpm()+2068] [SIGSEGV] [Invalid permissions for mapped object] [0xFFFFFFFF79270002] [] []
Current SQL statement for this session:
create table t_logminer tablespace sysaux
as select * from v$logmnr_contents where seg_owner = 'ZHEJIANG' and seg_name = 'LP_PRICE_PROCESS'
----- Call Stack Trace -----
calling call entry argument values in hex
location type point (? means dubious value)
-------------------- -------- -------------------- ----------------------------
ksedmp()+744 CALL ksedst() 000000300 ? 1066DE17C ?
000000000 ? 1066DAC70 ?
1066D99D8 ? 1066DA3D8 ?
ssexhd()+1240 CALL ksedmp() 000106400 ? 10652D264 ?
10652D000 ? 00010652D ?
000106400 ? 10652D264 ?
__sighndlr()+12 PTR_CALL 0000000000000000 10652A000 ? 1066E1EF0 ?
10652722C ? 00010652A ?
00000000B ? 000000067 ?
call_user_handler() CALL __sighndlr() 00000000B ? 1066E1EF0 ?
+992 1066E1C10 ? 10033B1C0 ?
000000000 ? 00000000A ?


在metalink没有发现和当前现象一致的描述。

显然问题是LOGMINER操作造成的,如果说这个LOGMINER操作与其他普通的LOGMINER有什么不同的话,那么主要是两点,一个是当前是RAC环境,LOGMINER同时对两个实例的日志进行分析;另一个是当前分析的是系统当前的日志。

由于RAC环境的日志对于任何一个实例都是可以访问的,因此理论上不大可能出现上面的问题,莫非是当前日志造成的问题,切换当前日志,然后再次执行同样的操作:

SQL> conn / as sysdba已连接。
SQL> alter session set nls_date_format = 'yyyy-mm-dd hh24:mi:ss';

会话已更改。

SQL> select group#, status from v$log where status = 'CURRENT';

GROUP# STATUS
---------- ----------------
3 CURRENT
5 CURRENT

已选择2行。

SQL> select member from v$logfile where group# in (3, 5);

MEMBER
--------------------------------------------------
/dev/vx/rdsk/datadg/tradedb_redo1_3_1_1g
/dev/vx/rdsk/datadg/tradedb_redo1_3_2_1g
/dev/vx/rdsk/datadg/tradedb_redo2_1_1_1g
/dev/vx/rdsk/datadg/tradedb_redo2_1_2_1g

已选择4行。

SQL> alter system archive log current;

系统已更改。

SQL> select group#, status from v$log where status = 'CURRENT';

GROUP# STATUS
---------- ----------------
4 CURRENT
6 CURRENT

已选择2行。

SQL> exec dbms_logmnr.add_logfile('/dev/vx/rdsk/datadg/tradedb_redo1_3_1_1g', dbms_logmnr.new)

PL/SQL 过程已成功完成。

SQL> exec dbms_logmnr.add_logfile('/dev/vx/rdsk/datadg/tradedb_redo2_1_1_1g', dbms_logmnr.addfile)

PL/SQL 过程已成功完成。

SQL> exec dbms_logmnr.start_logmnr(options=> dbms_logmnr.dict_from_online_catalog)

PL/SQL 过程已成功完成。

SQL> create table t_logminer tablespace sysaux
2 as select * from v$logmnr_contents
3 where seg_owner = 'ZHEJIANG'
4 and seg_name = 'LP_PRICE_PROCESS';

表已创建。

问题解决。在出现错误的时候不要着急,冷静的思考当前的操作有何特殊之处,往往可以迅速的定位并解决问题。
分享到:
评论

相关推荐

    ORA-07445 [opiaba()+639] ORA-00600 17147 补丁包

    ORA-07445: exception encountered: core dump [opiaba()+639] [SIGSEGV] [ADDR:0x0] [PC:0x184CD17] [SI_KERNEL(general_protection)] [] ORA-00600: internal error code, arguments: [17147], [0x0641B8FE0], [],...

    ora-00604错误解决方法

    ora-00604 错误 解决 方法 ora-00604 错误 解决 方法 ora-00604 错误 解决 方法 ora-00604 错误 解决 方法 ora-00604 错误 解决 方法ora-00604 错误 解决 方法

    解决Oracle 9.2.0.6版本数据库由于ORA-07445宕机问题

    Oracle数据库在运行过程中可能会遇到各种错误,其中,ORA-07445错误是一个与内核相关的严重异常,通常表示数据库遇到了未预期的内部错误,可能导致数据库实例的崩溃。在这个特定的问题中,XX网的Oracle 9.2.0.6版本...

    使用工具IMPDP导入数据时ORA-39002、ORA-39070错误排查

    在使用Oracle Data Pump工具IMPDP(Import Data Pump)进行数据导入的过程中,可能会遇到ORA-39002和ORA-39070等错误。本文将针对这些错误的排查方法进行详细介绍,帮助用户理解问题的原因及解决策略。 ### 错误...

    Oracle数据库发生ORA-04031错误原因浅析及处理.pdf

    Oracle数据库发生ORA-04031错误原因浅析及处理 Oracle数据库是甲骨文公司提供的一种分布式数据库管理系统,以分布式数据库为核心的软件产品。它具有完整的数据管理功能,作为一个关系数据库,它是一个非常实用的...

    ERwin连接oracle报ORA-01041内部错误,hostdef扩展名不存在.docx

    ### ERwin连接Oracle报ORA-01041内部错误,hostdef扩展名不存在的知识点解析 #### 一、问题背景及概述 在使用ERwin数据建模工具连接Oracle数据库时,可能会遇到ORA-01041内部错误提示:“hostdef扩展名不存在”。...

    ORACLE ORA-00132 ORA-00214

    ### Oracle 错误 ORA-00132 和 ORA-00214 解析及处理 #### 一、错误概述 在Oracle数据库管理过程中,遇到ORA-00132和ORA-00214这类错误时,往往意味着数据库配置或启动过程中出现了问题。下面将对这两个错误进行...

    解决Exception java.sql.SQLException ORA-00600 内部错误代码

    在oracle里面运行一下,解决Exception java.sql.SQLException ORA-00600 内部错误代码

    Oracle_ORA-12518故障_处理

    ##### 第一部分:处理ORA-12518/TNS-12518错误的步骤 ORA-12518/TNS-12518错误表明,在监听器将客户端连接交给服务器进程或调度进程的过程中发生了问题。此错误会在监听器日志中记录下来。客户端可能会接收到ORA-...

    ora-01460 错误原因分析

    ### ORA-01460 错误原因分析 #### 概述 在Oracle数据库操作过程中,可能会遇到ORA-01460错误,该错误全称为“ORA-01460: 转换请求无法实现或不合理”。这一错误通常发生在数据类型转换或者与操作系统之间的数据...

    Oracle 11gr2连Oracle 19c 报ORA-28040 ORA-01017解决方法.pdf

    Oracle数据库不同版本间的客户端与服务端的连接问题通常涉及到安全和兼容性配置,这篇文章主要讲述了在Oracle 11g R2客户端尝试连接Oracle 19c服务端时,遇到了两个特定的错误:ORA-28040和ORA-01017,以及如何解决...

    如何处理错误ORA-29275:部分多字节字符

    ### 如何处理错误ORA-29275:部分多字节字符 #### 问题背景与描述 在Oracle数据库操作过程中,用户可能会遇到一个特定的错误提示——ORA-29275:部分多字节字符。这一错误通常出现在执行查询`SELECT * FROM V$...

    Oracle 10g启动后报ORA-16038错误的解决方法

    ### Oracle 10g启动后报ORA-16038错误的解决方法 #### 错误概述 在启动Oracle 10g数据库时遇到ORA-16038错误,该错误通常与归档日志操作有关。具体错误信息为: ``` ORA-16038: log 1 sequence #230 cannot be ...

    ora-12514的错误的原因

    ORA-12514 错误的原因和解决方法 ORA-12514 错误是 Oracle 数据库中常见的一种错误,它的出现可能是由于多种原因引起的。下面我们将从根本上探究 ORA-12514 错误的原因,并提供相应的解决方法。 原因 1:监听器没有...

    ORA-04052p5731178_92080_WINNT.zip

    ORA-00604: 递归SQL层1出现错误 ORA-03106: 致命的双工通信协议错误 ORA-02063: 紧接着line(源于dblink) 以及 ORA-04052: 在查找远程对象时出错 ORA-00604: 递归SQL层1出现错误 ORA-03120: 双工转换例行程序:整数...

    关于创建oracle 连接时报以下错误,ORA-01017 ORA-02063

    在创建Oracle数据库连接时遇到的错误ORA-01017和ORA-02063涉及到用户认证问题以及Oracle数据库版本之间的差异处理。ORA-01017错误表示用户名或密码无效,登录被拒绝,而ORA-02063则通常表示在Oracle数据库之间进行...

    创建物化视图ORA-12014错误解决方法

    ### 创建物化视图ORA-12014错误解决方法 #### 背景介绍 在Oracle数据库中,物化视图(Materialized View)是一种用于优化查询性能的重要工具。它预先计算并存储了复杂的查询结果,从而在实际查询时能够快速地返回...

    oracle网络配置(listener_ora-sqlnet_ora-tnsnames_ora).mht

    oracle网络配置(listener_ora-sqlnet_ora-tnsnames_ora).mht

    ORACLE8I数据库应用EXP工具时ORA-06553报错的解决方法.pdf

    ORA-06553报错是指在使用EXP工具导出数据库数据时出现的错误信息。这个错误信息通常是由于EXP工具在执行过程中无法正确地验证同义词的定义导致的。 知识点3:解决ORA-06553报错的方法 要解决ORA-06553报错,需要...

Global site tag (gtag.js) - Google Analytics