广告
返回顶部
首页 > 资讯 > 数据库 >Oracle 12c ORA-29548报错的处理方法
  • 240
分享到

Oracle 12c ORA-29548报错的处理方法

2024-04-02 19:04:59 240人浏览 独家记忆
摘要

本篇内容主要讲解“oracle 12c ORA-29548报错的处理方法”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Oracle 12c ORA-29548报

本篇内容主要讲解“oracle 12c ORA-29548报错的处理方法”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Oracle 12c ORA-29548报错的处理方法”吧!

一、基础环境介绍

OS:Red Hat Enterprise linux Server release 6.6

GI:12.1.0.2

DB:12.1.0.2

PSU:12.1.0.2.180717

Opatch:12.2.0.1.14

二、处理过程

1、检查操作系统jdk版本

cd $ORACLE_HOME/jdk/bin

./java –version

Java version “1.6.0_75”

Java(TM) SE Runtime Environment (build 20.75-b01,mixed mode)

2、检查OPATCH版本

cd $ORACLE_HOME/Opatch

./opatch lsinv

3、检查数据库中的JDK版本

sql> select dbms_java.get_jdk_version() from dual;

ERROR at line 1:
ORA-29548: Java system class reported: release of classes.bin in the database(12.1.0.2.0.1.6)
does not match that of the oracle executable(12.1.0.2.180717.1.6)

4、修复数据库中的java对象

SQL> @?/javavm/install/update_javavm_db.sql

SQL> SET FEEDBACK 1
SQL> SET NUMWIDTH 10
SQL> SET LINESIZE 80
SQL> SET TRIMSPOOL ON
SQL> SET TAB OFF
SQL> SET PAGESIZE 100
SQL>
SQL> alter session set “_ORACLE_SCRIPT”=true;

Session altered.

SQL> — If Java is installed, do Cjs.
SQL>
SQL> — If CJS can deal with the SROs inconsistent with the new JDK,
SQL> — the drop_sros() call here can be removed.
SQL> call initJVMaux.drop_sros();

Call completed.

SQL> create or replace java system;
2 /

Java created.

SQL> update dependency$
2 set p_timestamp=(select stime from obj$ where obj#=p_obj#)
3 where (select stime from obj$ where obj#=p_obj#)!=p_timestamp and
4 (select type# from obj$ where obj#=p_obj#)=29 and
5 (select owner# from obj$ where obj#=p_obj#)=0;

0 rows updated.

SQL> commit;

Commit complete.

SQL>
SQL> alter session set “_ORACLE_SCRIPT”=false;

Session altered.

5、验证

CDB中可以检查数据库jdk版本,pdb中仍然报错

SQL> select dbms_java.get_jdk_version() from dual;

ERROR at line 1:
ORA-29548: Java system class reported: release of classes.bin in the database(12.1.0.2.0.1.6)
does not match that of the oracle executable(12.1.0.2.180717.1.6)

-解决办法

在pdb再次执行

SQL> @?/javavm/install/update_javavm_db.sql

      生产环境进行Oracle 12c数据库迁移和升级时如应用系统使用了数据库中的java对象,ORA-29548是常见报错,本人在12.1和12.2迁移和升级过程中使用rman或数据泵都遇到过该报错。

到此,相信大家对“Oracle 12c ORA-29548报错的处理方法”有了更深的了解,不妨来实际操作一番吧!这里是编程网网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!

您可能感兴趣的文档:

--结束END--

本文标题: Oracle 12c ORA-29548报错的处理方法

本文链接: https://www.lsjlt.com/news/60487.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作