Memindahkan datafile pada Oracle 9i (9.2.0.4)
Mungkin sangat sederhana sekali memang, tapi tak apalah. Saya hanya ingin menulis tentang cara memindahkan datafile yang saya lakukan beberapa hari yang lalu pada database Oracle 9i.
Beberapa hari yang lalu saya sempat pusing melihat freespace pada salah satu partisi data (anggaplah nama partisinya itu “/partData”) pada server DTCenter di kantor. Pusing karena freespace hanya tinggal 5% sedangkan pertumbuhannya 1%/hari, berarti saya hanya punya waktu +/- 20 hari lagi. Untuk menambah space tidak bisa secepat itu dikarenakan space yang ada di SAN (storage Area Network) sudah penuh, sehingga diperlukan penambahan yang melibatkan vendor dari SAN.
Sambil pusing, saya coba perhatikan datafile yang ada di partisi “/partData”. Nah… ternyata ada beberapa datafile yang tidak seharusnya berada di situ yaitu datafile index (dari tablespace index). Datafile tersebut (anggap saja namanya) :
- A_IDX1.dbf (2,5 GB),
- A_IDX2.dbf (2,5 GB),
- A_IDX3.dbf (2,5 GB),
- A_IDX4.dbf (2,5 GB),
- A_IDX5.dbf (2,5 GB),
- B_IDX1.dbf (5,1 GB)
Datafile index yang cukup besar (mengingat partisi “/partData” hanya memiliki space 77GB). Datafile ini seharusnya berada pada partisi “/partIndex” (yang juga hanya memiliki space 77GB, namun memiliki freespace sekitar 49%).
Akhirnya saya memutuskan untuk memindahkan datafile index yang cukup besar tersebut (+/- 17 GB) ke “habitatnya” di “/partIndex”. Langkah-langkah yang dilakukan adalah:
- Meminta user untuk tidak connect sementara. (mengkill user yang masih connect
) - shutdown db (buat checkpoint terlebih dahulu)
- copy via OS datafile yang akan dipindah A_IDX01.dbf,A_IDX02.dbf, A_IDX03.dbf, A_IDX04.dbf, A_IDX05.dbf, B_IDX01.dbf
- lalu di startup mount dulu, jalankan perintah
- lalu jalankan perintah
- lalu di shutdown lagi, jalankan perintah
- lalu di startup secara normal, jalankan perintah:
- Setelah database berjalan dengan lancar hapuslah datafile index yang ada di partisi /partIndex dengan menjalankan perintah:
alter system checkpoint
kemudian shutdown
shutdown abort
cp /partIndex/A_IDX0*.dbf /partData -p
cp /partIndex/B_IDX0*.dbf /partData -p
#sqlplus /nolog
sql> conn / as sysdba
sql> startup mount
ALTER DATABASE RENAME FILE '/partDATA/A_IDX01.dbf' TO '/partIDX/A_IDX01.dbf'
shutdown
startup
rm -r -f /partIndex/A_IDX0*.dbf
rm -r -f /partIndex/B_IDX0*.dbf
Demikian mudah-mudahan bisa bermanfaat.

Leave a Reply