Transportable Tablespace beda platform


Database oracle mendukung Transportable Tablespace dimana proses export dan import data bisa dipercepat secara signifikan sehingga down time bisa lebih minimal, meski datanya sangat besar (ratusan gigabyte / terabyte). Meski demikian, ada hal yang menjadi persyaratan yaitu :

  • Sebelum versi oracle 10g, versi dan platform database harus sama (misal : versi windows 32 bit, harus juga di transport ke versi windows 32 bit).
  • Setelah versi oracle 10g, transport bisa multi platform.

Pada tips & trick berikut akan dibahas tentang transportable tablespace pada oracle 9i linux versi 32 bit, ke oracle 9i linux 64 bit (sistem operasi sama, tapi beda versi bitnya). Meski mungkin hal ini tidak ada dalam dokumen resmi oracle (dan tidak direkomendasikan secara resmi oleh oracle), pengalaman menunjukkan bahwa hal ini bisa dilakukan, doable, meski ada beberapa tweaking yang mesti dilakukan. Sedikit catatan, proses ini dilakukan pada sistem operasi yang mirip, hanya beda versi bitnya. Catatan lainnya adalah yang ditransport adalah tablespace & schema buatan kita saja (bukan full database, schema SYS tidak termasuk).

Adapun langkah-langkahnya kurang lebih seperti ini :

* Set read only untuk semua tablespace yang akan di transport, misal :

ALTER TABLESPACE DATAKU READ ONLY

* Lakukan export database, dengan menyebutkan opsi TRANSPORT_TABLESPACE=Y, misal :

exp USERID=’system/password@dbku AS SYSDBA’
TRANSPORT_TABLESPACE=y TABLESPACES=DATAKU
FILE=dataku.dmp

Jika tablespace tersebut tidak self contained (semua data nongkrong di sana semua, ada yang ditablespace lain maka akan ada error). Pindahkan semua data yang di tempat lain ke tablespace itu lalu ulangi proses export.

* Copy fisik data file untuk tablespace DATAKU di atas, ke server baru yang sudah disiapkan, juga file DMP nya.
* Lakukan import di server baru seolah-olah hasil export biasa.

imp USERID=’system/password@dbku1 AS SYSDBA’
TRANSPORT_TABLESPACE=y DATAFILES=’DATAKU.DBF’
TABLESPACES=DATAKU FILE=dataku.dmp

* Enable kembali tablespace ke Read Write

ALTER TABLESPACE DATAKU READ WRITE

* Langkah finalisasi, lakukan update terhadap semua obyek Sequence, Procedure, Function meniru dari server lama. Ini terpaksa dilakukan karena obyek tersebut letaknya (default) di tablespace SYS sehingga tidak terbawa ke server baru. Untuk transportable database secara full DB tapi beda platform, penulis juga belum berani melakukannya karena sebenarnya hal diatas juga “tidak disupport di oracle 9i” kalau menurut dokumen oracle.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s