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或資料泵都遇到過該報錯。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/28373936/viewspace-2674299/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 12C RAC 打31720486補丁 後報錯處理
- Extjs報錯處理JS
- DG報錯的處理
- errpt報錯處理
- oracle ORA-01940 報錯的處理方法Oracle
- oracle 9.2.0.7 + hp_unix exp匯出報錯處理Oracle
- Gulp壓縮報錯處理
- rails gem報錯的處理AI
- Javascript程式碼報錯處理JavaScript
- 各種報錯處理方法
- [Oracle報錯處理]ORA-00031: session marked for killOracleSession
- 【ORACLE】ORA-27102: out of memory報錯的處理Oracle
- Oracle起動庫時1102報錯處理Oracle
- oracle 10G rac 執行dbca 報錯處理方法Oracle 10g
- Oracle異常錯誤處理Oracle
- ORACLE 異常錯誤處理Oracle
- Oracle錯誤處理思路(一)Oracle
- Too many open files報錯處理
- Mysql自動處理同步報錯MySql
- yum groupinstall報錯,處理方法
- ORA-02429 報錯處理
- mysql複製報錯案例處理MySql
- RAT(Oracle Real Application Testing)時ORA 600報錯處理OracleAPP
- oracle ora-00054錯誤處理Oracle
- Python 入門級報錯處理Python
- 批處理的聊天程式報錯求救!!!!!
- oracle 跨小版本dg切換應用補丁報錯處理Oracle
- oracle 12C RAC 啟動報錯 ORA-00845Oracle
- oracle ORA-14452錯誤處理Oracle
- 線上MYSQL同步報錯故障處理總結MySql
- ORA-1654報錯處理一則
- ORA-00979: not a GROUP BY expression報錯處理Express
- 匯入專案@override 報錯處理IDE
- EBS服務啟動報錯基本處理
- pl/sql developer除錯儲存過程報錯處理SQLDeveloper除錯儲存過程
- oracle 12c ORA-28040: No matching authentication protocol 處理辦法OracleProtocol
- HP-UX執行Oracle相關命令報錯Memory fault(coredump)分析處理UXOracle
- ORACLE GoldenGate 使用技巧-容錯處理等OracleGo