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.0
OS
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  name
0x4ac8ff1d8       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

 

 

 

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/22782597/viewspace-618193/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/22782597/viewspace-618193/

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值