Tuesday, December 18, 2007

Revive my "database" Again? ... huks

Pagi hari yang cerah, mendung namun ada matahari. Tiba - tiba dari kejauhan vivink teriak...EKOOOOOOOOOOOOOOO DATABASEKU MATIIIIIIIIIIIIIIIIIIIIII......
Pas diliat ternyata bisa log-on memang ke databasenya, tetapi pas di query file databasenya tidak terbaca oleh si database itu sendiri (ribet yak)....
sekedar info: Databasenya Oracle 9.2

di cek punya cek, saya logon ke server *.*.*.* make remote desktop connection, trus diliat database masih running, OK.... kemudian diliat di tablespacenya...OALAAAAAAAAAH ternyata tablespace nya vivink itu size nya = 0 sodara2.....heuheuheuheehuehu, padahal size aslinya 32 giga boooo... ya udah usut2 punya usut ternyata si oracle masih nyimpen archive terakhirnya....lalu mainkan jarimu onta....

here's the code brother:

SQL> select status from dba_tablespaces where tablespace_name='VCR_CM';
STATUS
---------
ONLINE

SQL> select file_id from dba_data_files where tablespace_name='VCR_CM';
FILE_ID
----------
11
SQL> select sequence# from v$log where status='CURRENT';

SEQUENCE#
----------
1662

SQL> select distinct group# from v$log;

GROUP#
----------
1
2
3

SQL> alter database datafile 11 offline;
Database altered.

SQL> select sequence#, archived from v$log;

SEQUENCE# ARC
---------- ---
1660 YES
1662 NO
1661 YES

SQL> alter system switch logfile;

System altered.

SQL> /

System altered.

SQL> /

System altered.

SQL> /

System altered.

SQL> /

System altered.

SQL> select sequence#, status, archived from v$log;

SEQUENCE# STATUS ARC
---------- ---------------- ---
1666 INACTIVE YES
1665 INACTIVE YES
1667 CURRENT NO

SQL> alter database datafile 11 online;
alter database datafile 11 online
*
ERROR at line 1:
ORA-01113: file 11 needs media recovery
ORA-01110: data file 11: 'E:\ORACLE\ORADATA\TES\VCR_CM.ORA'


SQL> recover datafile 11;
ORA-00279: change 8379346308110 generated at 12/06/2007 22:21:08 needed for
thread 1
ORA-00289: suggestion : E:\ORACLE\ORADATA\TES\ARCHIVE\1_1661.DBF
ORA-00280: change 8379346308110 for thread 1 is in sequence #1661


Specify log: {=suggested | filename | AUTO | CANCEL}

ORA-00283: recovery session canceled due to errors
ORA-01579: write error occurred during recovery


ORA-01112: media recovery not started


SQL> recover datafile 11;
ORA-00279: change 8379346308321 generated at 12/06/2007 22:21:09 needed for
thread 1
ORA-00289: suggestion : E:\ORACLE\ORADATA\TES\ARCHIVE\1_1661.DBF
ORA-00280: change 8379346308321 for thread 1 is in sequence #1661


Specify log: {=suggested | filename | AUTO | CANCEL}
E:\ORACLE\ORADATA\TES\ARCHIVE\1_1660.DBF
ORA-00310: archived log contains sequence 1660; sequence 1661 required
ORA-00334: archived log: 'E:\ORACLE\ORADATA\TES\ARCHIVE\1_1660.DBF'


SQL> recover datafile 11;
ORA-00279: change 8379346308321 generated at 12/06/2007 22:21:09 needed for
thread 1
ORA-00289: suggestion : E:\ORACLE\ORADATA\TES\ARCHIVE\1_1661.DBF
ORA-00280: change 8379346308321 for thread 1 is in sequence #1661


Specify log: {=suggested | filename | AUTO | CANCEL}
E:\ORACLE\ORADATA\TES\ARCHIVE\1_1661.DBF
ORA-00310: archived log contains sequence 1660; sequence 1661 required
ORA-00334: archived log: 'E:\ORACLE\ORADATA\TES\ARCHIVE\1_1661.DBF'


SQL> recover datafile 11;
ORA-00279: change 8379346308321 generated at 12/06/2007 22:21:09 needed for
thread 1
ORA-00289: suggestion : E:\ORACLE\ORADATA\TES\ARCHIVE\1_1661.DBF
ORA-00280: change 8379346308321 for thread 1 is in sequence #1661


Specify log: {=suggested | filename | AUTO | CANCEL}
E:\ORACLE\ORADATA\TES\ARCHIVE\1_16611.DBF
Log applied.
Media recovery complete.

SQL> alter database datafile 11 online;


daku melakukan ini dengan kondisi database still running....
lalu, ya kalian bisa tebak vivink bisa berbahagia kembali......




3 comments:

Pinkina said...

thanks alot ko :D

Joel said...

hi,

artikel menarik.
kalau boleh tau, apakah hasil analisa anda sehingga anda lakukan
1. offline tablespace
2. switch log beberapa kali
3. recover datafile

thank you :)

Frodo Baggins said...

ya mungkin karena saya merasa aman setelah switch logfile sampe 5 kali :) trims