Jan 26, 2006

Mengganti Metode Pengaturan Extent di dalam Tablespace

·

Pengaturan extent (extent management) adalah suatu mekanisme yang menunjukkan bagaimana Oracle melakukan manajemen terhadap extent-extent yang terdapat di dalam sebuah tablespace. Sebelum versi 8i, pengaturan extent hanya dapat dilakukan secara dictionary, yaitu dengan menggunakan tabel-tabel di dalam data dictionary: SYS.FET$ (untuk mencatat extent-extent yang masih kosong dan bebas digunakan) dan SYS.UET$ (untuk mencatat extent-extent yang telah digunakan). Pengaturan extent semacam ini disebut dengan DMT = Dictionary-Managed Tablespace. Namun, pada versi 8i (dan versi di atasnya), Oracle telah mengenalkan metode pengaturan extent baru yaitu pengaturan extent secara lokal (disebut dengan LMT = Locally-Managed Tablespace). Dalam LMT, extent akan diatur secara lokal di dalam tablespace bersangkutan.

Di sini, saya hanya akan menunjukkan bagaimana melakukan konversi terhadap dua buah metode tersebut. Artinya, kita bisa saja mengganti metode pengaturan extent dari DICTIONARY ke LOCAL ataupun sebaliknya. Cara yang akan saya ambil di sini adalah dengan melakukan eksekusi terhadap prosedur TABLESPACE_MIGRATE_TO_LOCAL dan TABLESPACE_MIGRATE_FROM_LOCAL, dimana keduanya tersimpan dalam package DBMS_SPACE_ADMIN. Sebagai contoh, kita memiliki sebuah tablespace dengan nama LATIHTS dimana pengaturan extent-nya dilakukan dengan DMT. Sekarang kita ingin menggantinya dengan LMT, maka salah satu caranya adalah sebagai berikut:

SQL> exec dbms_space_admin.tablespace_migrate_to_local('LATIHTS');

PL/SQL procedure successfully completed.

Untuk memeriksa apakah metode pengaturan extent dari tablespace tersebut sudah berubah atau belum, coba Anda lakukan query berikut:

SQL> select extent_management from dba_tablespaces
2 where tablespace_name = 'LATIHTS';

EXTENT_MAN
----------------
LOCAL

Sebaliknya bila Anda ingin mengubahnya ke DMT kembali, maka gunakan prosedur TABLESPACE_MIGRATE_FROM_LOCAL.

0 comments: