Minggu, 27 Mei 2012

Tentang kode ORA-16038,ORA-19809, atau ORA-00312 pada database


ORA-01033 oracle in initialization or shutdown in progressNah lho, koq? Saya coba lakukan restart service database ORACLE mulai listener ama instance-nya. Begitu coba diakses secara lokal dengan sqlplus, kesalahan yang sama masih muncul. Waduh ada apa lagi nih. Terpaksa diselesaikan sendiri, karena staf yang biasa nangani ternyata dah resign. Ada banyak referensi, namun bila yang kalian alami adalah kesalahan dengan kode ORA-16038,ORA-19809, ORA-00312 saat menjalankan perintah startup maka kasus kita sama dan saya temukan cara mengatasinya. Pastinya setelah bertanya sana sini ama om Google, saya menemukan situs ini:
Database Startup fails with error ORA-16038,ORA-19809, ORA-00312
Kalo saya sarikan dari situs diatas dan digabung ama referensi lainnya, bisa seperti ini:
Mulai dengan melakukan start database ORACLE secara manual. Kita gak perlu mematikannya lewat service yang ada di Windows. Semuanya bisa dilakukan lewat konsol command promptdengan perintah sqlplus. Berikut langkah-langkahnya:
sqlplus /nolog
SQL> connect / as sysdba
Connected
SQL> shutdown abort
Instance ORACLE stopped.
SQL> startup nomount
Instance ORACLE started.
SQL> alter database mount;
SQL> alter database open;
Ketika kita gunakan perintah alter database open, bila pada layar monitor muncul kesalahan kayak gini:
ORA-16038: log 3 sequence# 572 cannot be archived
ORA-19809: limit exceeded for recovery files
ORA-00312: online log 3 thread 1: ‘/oradata2/data1/dbase/redo03.log’
Bisa juga muncul kesalahan dengan kode ORA-16014, ORA-00312.
Yang kita lakukan cukup berusaha menaikkan ukuran media recovery database karena pada umumnya kesalahan ini terjadi karena ukuran parameter archive log tidak cukup (alias wadahnya ndak moat). Saya cuma pake solusi pertama dari situs referensi diatas dimana kita butuh kapasitas HD yang cukup besar (di Qosmio saya set 10GB. Ini langkah-langkah yang saya lakukan:
SQL> show parameter background_dump_dest
SQL> archive log list
ini buat ngecek lokasi archive-nya
Database log mode Archive Mode
Automatic archival Enabled
Archive destination USE_DB_RECOVERY_FILE_DESTOldest online log sequence 572
Next log sequence to archive 572
Current log sequence 580
Maka lokasinya ada di DB_RECOVERY_FILE_DEST. Kalo mau tahu lokasi pastinya di komputer kita, gunakan aja perintah:
SQL> show parameter db_recover
NAME TYPE VALUE
——————————————————————
db_recovery_file_dest string /oradata2/flash_recovery_area
db_recovery_file_dest_size big integer 2G
Maka kita naikkan ukuran file recovery-nya jadi misal 10GB.
SQL> alter system set db_recovery_file_dest_size=20G;
System altered.
Dilanjutkan dengan mencoba membuka database-nya dengan perintah:
SQL> alter database open;
Database altered.
Nah, mustinya jika dah kayak gini database ORACLE kita dah normal. Kita coba cek pakai perintah sqlplus.
———————————————————–
C:\oracle\product\10.2.0\client_2\BIN>sqlplus xxxxx@orclb
SQL*Plus: Release 10.2.0.1.0 – Production on Thu Aug 28 21:11:42 2008Copyright (c) 1982, 2005, Oracle. All rights reserved.
Enter password:
Connected to:
Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 – Production
With the Partitioning, OLAP and Data Mining options
SQL>
———————————————————–
Wow, masalah terpecahkan. Saya jadi bisa akses databasenya lagi.

Unknown

Author & Editor

Has laoreet percipitur ad. Vide interesset in mei, no his legimus verterem. Et nostrum imperdiet appellantur usu, mnesarchum referrentur id vim.

0 komentar:

Posting Komentar