我准备将 oracle 10g prod db 升级到 11g,但是我们在 SYS 中有 130 个无效对象(都属于 JAVA CLASS object_type)。并且从oracle从10g升级到11g的最佳实践,它说在sys或system schema中不应有任何无效对象。但是我已经多次运行 utlrp.sql 来重新编译所有无效对象脚本,那些无效的 JAVA CLASS object_type 对象在 SYS 用户中是持久的。我尝试手动重新编译每个对象,如下所示,
更改java类“java类对象名称”编译;但出现错误:ORA-29521:找不到引用的名称 balabala
您对如何修复此错误有任何建议,或者我们可以继续使用 sys 架构中的 130 个无效对象安全地升级数据库吗?谢谢!
从这个博客你可以先在开发中尝试这个......
SQL> spool resolve.sql;
SQL> select 'alter java class “'||object_name||'” resolve;'
2 from user_objects
3 where object_type like '%JAVA%';
SQL> 假脱机;
SQL> @resolve
彻底清除方法是删除并重新安装 java JVM
Java VM 在 CREATE OR REPLACE JAVA SYSTEM 命令期间创建并填充系统类。运行 rmjvm.sql 先删除 JVM,然后反弹数据库,然后 initjvm.sql
我再说一遍,这些应该首先在您的开发堆栈上尝试!
归档时间: |
|
查看次数: |
28965 次 |
最近记录: |