12c Veritabanında “ORA-29548: Java system class reported” Hatası Nasıl Çözülür?

Merhaba,

12.1.0.2.0 veritabanımıza PSU uyguladıktan sonra, uygulamamız aşağıdaki hatayı almaya başladı.

[Error] Execution (1: 1): ORA-29548: Java system class reported: release of classes.bin in the database does not match that of the oracle executable
ORA-06512: at “MDSYS.SDO_JAVA_STP”, line 370
ORA-06512: at “MDSYS.SDO_UTIL”, line 3188
ORA-06512: at “MDSYS.SDO_UTIL”, line 3211

Alert log dosyasını kontrol ettiğimde aşağıdaki hata ile karşılaştım.

joxcsys: release mismatch 12.1.0.2.160719 1.6 in database (classes.bin) vs 12.1.0.2.0 1.7 in executable

Veritabanımda INVALID obje olup olmadığını kontrol ettim. Ama herşey yolundaydı. Java ile ilgili küçük bir test yaptım.

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
does not match that of the oracle executable

Java ile ilgili bir uyumsuzluk vardı. Bu problemi aşmak için aşağıdaki scriptleri SYSDBA ile bağlanıp çalıştıralım.

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>
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>
SQL> create or replace java system;
2 /

Java created.

SQL>
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>
SQL> commit;

Commit complete.

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

Session altered.

SQL>

Şimdi testimizi tekrar yapalım.

SQL> select dbms_java.get_jdk_version() from dual;

DBMS_JAVA.GET_JDK_VERSION()
——————————————————————————–
1.7.0_51

1 row selected.

SQL> select dbms_java.longname(‘TEST’) from dual
2 ;

DBMS_JAVA.LONGNAME(‘TEST’)
——————————————————————————–
TEST

1 row selected.

SQL>

 

Herşey yolunda. Uygulamamızın da sorunu çözülmüş oldu. Kolay gelsin.

Reklamlar

12c Veritabanında “ORA-29548: Java system class reported” Hatası Nasıl Çözülür?” üzerine 4 yorum

  1. Merve

    Merhaba,
    Oracle’da yeniyim. Oracle veritabanında işlem yaparken yanlışlıkla tüm tablolar silinmiş ve sanırım içlerinde sistem tabloları da olduğu için veritabanına bağlanılamıyor.
    Startup komutundan sonra şu hataları veriyor:
    ORA-00603: Oracle server session terminated by fatal error
    ORA-01092: Oracle instance terminated. Dissconnection forced.
    ORA-00704:bootstrapprocess failure
    ORA-00604: error occured at recursive SQL level 1
    ORA-00942:table or view does not exist

    SQL sorgusu yazmaya çalıştığımda ise şu hatayı alıyorum:
    ORA-03114: not connected to ORACLE

    Backup almamıştm. Burdan geri dönüşü nasıl yapabilirim acaba? Veritabanına bağlanmanın yolu nedir?
    Yardımlarınız için şimdiden teşekkürler.

  2. Merve

    Merhaba Oracle 12c veritabanında yanlışlıkla tüm tablolar silindi ve sanırım içlerinde sistem tabloları da olduğu için veritabanına bağlantı yapılamıyor.
    Startup komutunu yazınca şu hataları veriyor:
    ORA-00603: Oracle server session terminated by fatal error
    ORA-01092: Oracle instance terminated. Dissconnection forced.
    ORA-00704:bootstrapprocess failure
    ORA-00604: error occured at recursive SQL level 1
    ORA-00942:table or view does not exist

    Herhangi bir SQL sorgusundan sonra ise şu hatayı veriyor:
    ORA-03114: not connected to ORACLE

    Backup almamıştım. Burdan geri dönüşü nasıl yapabilirim? Veritabanına bağlanabilmenin yolu nedir acaba?
    Yardımlarınız için şimdiden çok teşekkürler.

Bir Cevap Yazın

Aşağıya bilgilerinizi girin veya oturum açmak için bir simgeye tıklayın:

WordPress.com Logosu

WordPress.com hesabınızı kullanarak yorum yapıyorsunuz. Çıkış  Yap /  Değiştir )

Google+ fotoğrafı

Google+ hesabınızı kullanarak yorum yapıyorsunuz. Çıkış  Yap /  Değiştir )

Twitter resmi

Twitter hesabınızı kullanarak yorum yapıyorsunuz. Çıkış  Yap /  Değiştir )

Facebook fotoğrafı

Facebook hesabınızı kullanarak yorum yapıyorsunuz. Çıkış  Yap /  Değiştir )

Connecting to %s