dbms java_9.2.0.8升级到11.2.0.0中出现dbms_java错误的处理

9.2.0.8升级到11.2.0.0中出现dbms_java错误

原数据库版本为9.2.0.8升级后的版本为11.2.0.0OS为Red Hat Enterprise Linux AS release 4 (Nahant Update 7)/@>startup UPGRADE

SQL> set echo on

SQL> SPOOL upgrade1.log

SQL> @catupgrd.sql

SQL> spool off

SQL>exit在执行到select dbms_java.longname('foo') from dual;时出错,升级过程中断。具体错误内容为

578399 /@>-- Verify that a simple java stored procedure works

578400 /@>select dbms_java.longname('foo') from dual;

578401 select dbms_java.longname('foo') from dual

578402 *

578403 ERROR at line 1:

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

578405 ERROR:

578406 ORA-03114: not connected to ORACLE

578407 ERROR:

578408 ORA-03114: not connected to ORACLE后面10000来行ORA-03114: not connected to ORACLE之后退出

在alert日志中发现

SERVER COMPONENT id=RDBMS: status=VALID, version=11.2.0.1.0, timestamp=2009-10-31 10:31:52

Sat Oct 31 10:33:18 2009

Exception [type: SIGSEGV, Address not mapped to object] [ADDR:0x10] [PC:0x287A545, jom_unhotload_clint()+443] [flags: 0x0, count: 1]

Errors in file /opt/oracle/admin/XXX/diag/rdbms/XXX/XXX/trace/XXX_ora_26804.trc  (incident=161):

ORA-07445: exception encountered: core dump [jom_unhotload_clint()+443] [SIGSEGV] [ADDR:0x10] [PC:0x287A545] [Address not mapped to

object] []Incident details in: /opt/oracle/admin/XXX/diag/rdbms/XXX/XXX/incident/incdir_161/XXX_ora_26804_i161.trc

查看trace文件/opt/oracle/admin/XXX/diag/rdbms/XXX/XXX/trace/XXX_ora_26804.trc

Dump continued from file: *** CLIENT ID: () 2009-10-31 10:33:18.387

/opt/oracle/admin/XXX/diag/rdbms/XXX/XXX/trace/XXX_ora_26804.trc

ORA-07445: exception encountered: core dump [jom_unhotload_clint()+443] [SIGSEGV] [ADDR:0x10] [PC:0x287A545] [Address not mapped to

object] []

========= Dump for incident 161 (ORA 7445 [jom_unhotload_clint()+443]) ========

----- Beginning of Customized Incident Dump(s) -----

Exception [type: SIGSEGV, Address not mapped to object] [ADDR:0x10] [PC:0x287A545, jom_unhotload_clint()+443] [flags: 0x0, count: 1]

Registers:

%rax: 0x0000000000000003 %rbx: 0x0000000000000030 %rcx: 0x0000000000000000

%rdx: 0x0000000000000003 %rdi: 0x0000000000000000 %rsi: 0x0000002a9b54ce43

%rsp: 0x0000007fbffef0a0 %rbp: 0x0000007fbffef100  %r8: 0x0000002a9b54ce43

%r9: 0x0000000000000003 %r10: 0x0000000000000003 %r11: 0x0000000000000003

%r12: 0x000000043002382d %r13: 0x0000000430023470 %r14: 0x0000002a9b50dd2f

%r15: 0x0000000000000000 %rip: 0x000000000287a545 %efl: 0x0000000000010293

> (0x287a545) mov 0x10(%rcx),%edi

(0x287a548) mov %r8,0x8(%rcx)

(0x287a54c) test $0x20,%edi

(0x287a552) je 0x287a55b

(0x287a554) mov %bx,0xa0(%rcx)

*** 2009-10-31 10:33:18.395

dbkedDefDump(): Starting a non-incident diagnostic dump (flags=0x3, level=3, mask=0x0)

----- Current SQL Statement for this session (sql_id=c054vwp86kp29) -----

select dbms_java.longname('foo') from dual

----- PL/SQL Stack -----

----- PL/SQL Call Stack -----

object      line  object

handle    number  name0x4ac8ff1d8       139  package body SYS.DBMS_JAVA

在之前的所有检查中(包括JVM)都没有出现任何错误信息。

>@utlu112i

--&gt Oracle Catalog Views         [upgrade]  VALID

--&gt Oracle Packages and Types    [upgrade]  VALID--&gt JServer JAVA Virtual Machine [upgrade]  VALID(JVM正常可用)--&gt Oracle XDK for Java          [upgrade]  VALID

--&gt Oracle Workspace Manager     [upgrade]  VALID

--&gt OLAP Analytic Workspace      [upgrade]  UPGRADED

--&gt OLAP Catalog                 [upgrade]  VALID

--&gt Oracle Text                  [upgrade]  VALID

--&gt Oracle XML Database          [upgrade]  VALID

--&gt Oracle Java Packages         [upgrade]  VALID

--&gt Oracle interMedia            [upgrade]  VALID

--&gt Spatial                      [upgrade]  VALID

--&gt Data Mining                  [upgrade]  VALID

--&gt Oracle Ultra Search          [upgrade]  VALID

--&gt Oracle OLAP API              [upgrade]  UPGRADED

在升级前的9i中运行升级出错的语句是没有问题的

SYS>select dbms_java.longname('foo') from dual;

DBMS_JAVA.LONGNAME('FOO')

------------------------------------------------------------------------------------------------------------------------------------------------------

foo

1 row selected.

后来把原来数据库做了一个境像的数据库把JVM组件删除后再试!升级成功而且JServer JAVA Virtual Machine组件也自动安装好了。

删除的脚本为。只适用于9i

-- Start of File full_rmjvm.sql

spool full_rmjvm.log

set echo on

connect / as sysdba

startup mount

alter system set "_system_trig_enabled" = false scope=memory;

alter system enable restricted session;

alter database open;

start ?/rdbms/admin/catnojav.sql

start ?/xdk/admin/rmxml.sql

start ?/javavm/install/rmjvm.sql

truncate table java$jvm$status;

select * from obj$

where obj#=0 and type#=0;

delete from obj$

where obj#=0 and type#=0;

commit;

select owner, count(*) from all_objects

where object_type like '%JAVA%' group by owner;

select obj#, name from obj$

where type#=28 or type#=29 or type#=30 or namespace=32;

select o1.name from obj$ o1,obj$ o2

where o1.type#=5 and o1.owner#=1 and o1.name=o2.name and o2.type#=29;

shutdown immediate

set echo off

spool off

exit

-- End of File full_rmjvm.sql

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值