Restore dari hasil offline backup adalah sangat sederhana, sesederhana backup-nya. Lihat offline backup di sini http://rohmad.net/…/off-line-backup-database-oracle/
Berikut ini step-step restore dengan memakai instance yang sama.
- Siapkan file-file yang akan direstore
File-file tersebut adalah control, log, data, dan temp file - Pastikan instance sudah mati
SQL> shutdown immediate;
- Restore file-file backup ke directory asalnya
$ cp /backup/ts/control01.ctl /oradata/ts/control01.ctl
$ cp /backup/ts/control02.ctl /oradata/ts/control02.ctl
$ cp /backup/ts/control03.ctl /oradata/ts/control03.ctl
$ cp /backup/ts/redo04.log /oradata/ts/redo04.log
$ cp /backup/ts/redo05.log /oradata/ts/redo05.log
$ cp /backup/ts/redo06.log /oradata/ts/redo06.log
$ cp /backup/ts/sysaux01.dbf /oradata/ts/sysaux01.dbf
$ cp /backup/ts/system01.dbf /oradata/ts/system01.dbf
$ cp /backup/ts/temp01.dbf /oradata/ts/temp01.dbf
$ cp /backup/ts/undotbs01.dbf /oradata/ts/undotbs01.dbf
$ cp /backup/ts/users01.dbf /oradata/ts/users01.dbf
- Nyalakan database
SQL> startup;
Jika karena suatu hal, kita tidak bisa merestore ke direktori asalnya, maka kita bisa merestore ke tempat (direktori) lain. Step 1 dan 2 masih seperti yang di atas. Step 3 dan seterusnya adalah berikut ini:
- Restore ke directory baru
Control file
$ cp /backup/ts/control01.ctl /newdir/ts/control01.ctl
Log file
$ cp /backup/ts/control02.ctl /newdir/ts/control02.ctl
$ cp /backup/ts/control03.ctl /newdir/ts/control03.ctl
$ cp /backup/ts/redo04.log /newdir/ts/redo04.log
Data file
$ cp /backup/ts/redo05.log /newdir/ts/redo05.log
$ cp /backup/ts/redo06.log /newdir/ts/redo06.log
$ cp /backup/ts/sysaux01.dbf /newdir/ts/sysaux01.dbf
Temp file
$ cp /backup/ts/system01.dbf /newdir/ts/system01.dbf
$ cp /backup/ts/undotbs01.dbf /newdir/ts/undotbs01.dbf
$ cp /backup/ts/users01.dbf /newdir/ts/users01.dbf
$ cp /backup/ts/temp01.dbf /newdir/ts/temp01.dbf
- Ubah konfigurasi control file. Edit init (instance parameter) file.
Filenya di $ORACLE_HOME/dbs/init[NAMAINSTANCE].ora
Ganti lokasi control file dari yang lama ke yang baru.
Value yang lama:
control_files='/oradata/ts/control01.ctl', '/oradata/ts/control02.ctl','/oradata/ts/control03.ctl'
Value yang baru:
control_files='/newdir/ts/control01.ctl', '/newdir/ts/control02.ctl','/newdir/ts/control03.ctl'
- Ubah konfigurasi file yang lainnya (log, data, dan temp file)
SQL> startup mount
SQL> alter database rename file '/oradata/ts/redo04.log' to '/newdir/ts/redo04.log';
SQL> alter database rename file '/oradata/ts/sysaux01.dbf' to '/newdir/ts/sysaux01.dbf';
SQL> alter database rename file '/oradata/ts/temp01.dbf' to '/newdir/ts/temp01.dbf';
dan seterusnya ... - Open database
SQL> alter database open;
Error yang terkait
- Jika control file tidak ada, atau ada tapi direktorinya berubah dan init file belum diedit
SQL> startup
ORACLE instance started.Total System Global Area 1610612736 bytes
Fixed Size 2177912 bytes
Variable Size 396149896 bytes
Database Buffers 1207959552 bytes
Redo Buffers 4325376 bytes
ORA-00205: error in identifying control file, check alert log for more info - Jika ada data file yang kelewatan, atau ada tapi direktorinya berubah dan belum di-alter/rename
SQL> startup
ORACLE instance started.Total System Global Area 1610612736 bytes
Fixed Size 2177912 bytes
Variable Size 396149896 bytes
Database Buffers 1207959552 bytes
Redo Buffers 4325376 bytes
Database mounted.
ORA-01157: cannot identify/lock data file 4 - see DBWR trace file
ORA-01110: data file 4: '/oradata/ts/users01.dbf'
Wah, akhirnya artikel restore nya di buat juga. thanks pak rohmad. ditunggu artikel-artikel menarik lainnya….
Pak rohmad, numpang tanya, saya sedang ada kegiatan backup dan restore, yang saat ini saya coba lakukan adalah melakukan copy / clonning dari server database oracle versi 8, ke oracle versi 10 g. kesulitan yang saya dapatkan adalah saya tidak menemukan file initorcl.ora (orcl = nama instancenya) di path yang di katakan diatas,
tetapi saya menemukannya justru di folder pfile/initorcl.ora. -> apakah memang ini merupakan tempa bagi initorcl.ora di versi 10g ?
mohon diberi petunjuk juga, karena kebetulan perpindahan data ke server yang baru menggunakan nama instance yang berbeda dari server lama. thx.
Cloningnya pakai methode apa, semua datafile dicopy? Kalau beda versi, ada step-step tambahan yaitu upgrade dari versi 8 ke 10g, silahkan lihat referensinya di sini http://download.oracle.com/docs/cd/B19306_01/server.102/b14196/install004.htm
Init file yang dibaca Oracle adalah yang di $ORACLE_HOME/dbs atau %ORACLE_HOME%\database. Sementara yang difolder pfile biasanya temporary initfile (misalnya ketika memakai DBCA).
Nama instance berbeda tidak masalah, yang penting sesuaikan saja parameter-parameter di initfile-nya.
Maaf pak , kemaren kurang detail informasinya , karena di kantor jadi buru2 gak enak sama bos.
anyway, saya cloning pake method cold backup, ok saya coba baca step-step tambahan mengenai upgrade beda versi pak. terima kasih pak atas petunjuknya.
Pak Rohmad,
saya coba langkah2 diatas.
tapi ada error saat startup
SQL> startup
ORACLE instance started.
Total System Global Area 1415546472 bytes
Fixed Size 730728 bytes
Variable Size 872415232 bytes
Database Buffers 536870912 bytes
Redo Buffers 5529600 bytes
Database mounted.
ORA-00305: log 1 of thread 1 inconsistent; belongs to another database
ORA-00312: online log 1 thread 1: ‘/u01/oracle/oradata/TEST/redo01.log’
Mohon petunjuknya…
ORACLE instance started.
Total System Global Area 1415546472 bytes
Fixed Size 730728 bytes
Variable Size 872415232 bytes
Database Buffers 536870912 bytes
Redo Buffers 5529600 bytes
Database mounted.
ORA-00312: online log 1 thread 1: ‘/u01/oracle/oradata/COMMON/redo01.log’
Redo (online) log file dan control file tampaknya bukan dari database yang sama, mungkin control file tidak anda restore juga . Pastikan bahwa anda menggunakan control file yang sesuai (hasil restore juga).
Ini di-restore ke versi database yang sama khan?
Pak Rohmad, izin bertanya nih
Saya sudah melakukan proses backup dan oleh oracle disimpan dlm file yg berbentuk *.bkp (ada sktr 3 file). Nah masalahnya saya ingin recovery file tsb tp ingin mengetahui file mana yg kira2x file archived log.
Saya pernah melakukan perintah “recovery database” & jwbnnya “Media recovery completed” tetapi setiap mau alter database open selalu muncul error ORA-01092:Oracle Instance terminated.Disconenction Forced.
Terima kasih.
Anda melakukan backup pakai RMAN ya?
“Media recovery completed” itu artinya recovery sudah berhasil.
Kalau muncul “ORA-01092” ketika “alter database open”, itu perlu dianalis lebih lanjut. Analisa tahap pertama adalah lihat error message di alert log dan trace file.
saya melakukan perintah query..tetap jika tidak menggunakan perintah ORDER BY dapat di execute dan jika menggunakan perintah order by query tersebut muncul pesan erro sbb:
ORA-00604: error occurred at recursive SQL level 1
ORA-01578: ORACLE data block corrupted (file # 1, block # 33447)
ORA-01110: data file 1: ‘/data/oracle/oradata/rushmore/system01.dbf’
mohon percerahannya
apakah pak rohmad bisa mengadakan training di kantor saya
WONDERFUL Post.appreciate your share..a lot more wait .. …
woii dibales donk..set dah
Pingback: Petunjuk Memahami Database Oracle | Fariz Syahputra
dumb singaporeans online