ALTER PACKAGE "p_b" COMPILE and ora-07445

ALTER PACKAGE "PROC_BUSINESS" COMPILE REUSE 和 ORA-07445: exception encountered: core dump

 

 

IMP-00017: following statement failed with ORACLE error 3113:

 "ALTER PACKAGE "PROC_BUSINESS" COMPILE REUSE SETTINGS TIMESTAMP '2012-04-23:"

 "11:58:58'"

IMP-00003: ORACLE error 3113 encountered

ORA-03113: end-of-file on communication channel

IMP-00000: Import terminated unsuccessfully

 

 

问题描述:

exp数据库:  oracle 10.2.0.1 for  linux

Imp 数据库: oracle 10.2.0.4 for windows 7

Client : oracle 10.2.0.1 for windows 7

 

操作步骤:从client机器上执行 EXP 导出用户,然后在client 机器上IMP 导入用户。但是报错很郁闷的ORA-3113

因为这个报错原因太多了,需要一点一点解决。但是报错前面出现了一个包的名字 很扎眼啊。

 

解决问题思路:

1、 版本问题。我想了一想从低版本EXP 到高版本IMP一般都是没有问题的。为什么我会出现这个问题呢。

2、 Create table。是不是这个问题呢,然后尝试了多次不是这个问题。(尝试删除用户cascade 重新导入,ignore参数等的使用)

3、 编译问题。因为IMP的过程中会重新编译所有的程序包包,储存过程,函数。如果有错误也会导致IMP失败。

 

 

基本思路是这样样子,但是由于本人对EXP ,IMP 还不是十分了解很多参数也不是十分了解。所以解决问题的时候只有边做边学习了。

 

对于exp 不了解,直接EXP HELP=Y 看了一看,基本了解。

对于imp不了解,直接IMP HELP=Y看了一看,基本了解。

 

实施解决问题:

1、 仔细的按照自己的想法从低版本到高版本操作。

结果:失败。

2、尝试使用IGNORE参数,多次导入。

结果:失败。

3、导入忽略编译compile=y,成功导入,但是有警告。

结果:成功。

 

看样是我们有些程序包,编译过程出现了错误,导致我们IMP失败。没有关系了数据导入进入,程序包,我们看样慢慢解决。导入成功后,看了一下有几个程序包是无效的,看了一看是因为导入用户没有这些表的权限。然后把查看这些表的权限给了这个用户。我们的程序包也看样使用。

 

总结:我们这次遇到的问题主要是因为IMP需要对程序包,储存过程,函数重新编译,如果由于某种原因不能编译,最后也导致我们导入失败。

 

 

而且这个IMP 编译失败,导致IMP失败,还是很有趣。让我们在alert 日志中看到了:

ORA-07445: exception encountered: core dump [ACCESS_VIOLATION] [ptmak+420] [PC:0x622EBF4] [ADDR:0x10] [UNABLE_TO_READ] []

 

ORA-07445: exception encountered: core dump这个也是一个问题:

 

07445, 00000, "exception encountered: core dump [%s] [%s] [%s] [%s] [%s] [%s]"

// *Cause: An OS exception occurred which should result in the creation of a

//         core file.  This is an internal error.

// *Action: Contact your customer support representative.

 

07445,00000,“例外遇到:核心转储[%][%][%][%][%][%S]”
/ /*原因:操作系统异常发生,这将导致在创造一个
//核心文件。这是一个内部错误。
/ / *操作:联系您的客户支持代表。

 

没有问题我们明确的解决方式:回想了一些我们的操作我们只是IMP,而且这个错误只是出现了我们导入的时间内出现这个错误。所以指定这个问题可能是由于我们IMP导入出现的。我们IMP错误的根本原因是编译错误。所以这个错误也有可能是编译时候出现的错误。

 

总结:IMP的编译错误也会导致 ORA-7445错误。有时候我们遇到像ORA-600 ,ORA-7445这样的问题不要慌,找找原因,想想数据库的操作。oracle 给我们提示错误,不一定就是根本原因。所以问题要综合考虑!

你可能感兴趣的:(ALTER PACKAGE "p_b" COMPILE and ora-07445)