Untuk kasus-kasus tertentu di Oracle, bisa saja kita menemui keadaan dimana suatu tablespace yang kita gunakan sudah terisi penuh atau sisa ruangnya tinggal sedikit. Selanjutnya, kita ingin membuat tablespace baru dengan memindahkan tabel-tabel tertentu dari tablespace lama ke tablespace baru. Bagaimana caranya? Berikut ini salah satu cara yang dapat menjadi solusi dari permasalahan ini.
Sebelumnya asumsikan bahwa kita akan memindahkan tabel T yang terdapat pada tablespace TS1 ke dalam tablespace TS2.
Langkah 1, Buatlah tabel temporari di dalam tablespace TS2 dengan struktur sama seperti pada tabel T (misalnya kita beri nama tabel tersebut dengan T_temp). Untuk memudahkan dalam pembuatan tabel tersebut, gunakan option AS SELECT pada saat kita menuliskan perintah CREATE TABLE. Berikut ini kode yang saya maksud:
create table T_temp tablespace TS2
as select * from T;
Perintah di atas sekaligus akan memasukkan data-data yang terdapat di dalam tabel T ke dalam tabel T_temp.
Langkah 2, Hapus tabel T yang terdapat pada tablespace TS1 dengan perintah DROP TABLE.
Langkah 3, Ubah nama tabel temporari dari T_temp menjadi T, yaitu dengan menuliskan kode berikut:
alter table T_temp rename to T;
Namun, yang menjadi pertanyaan adalah: "Bagaimana bila tabel tersebut telah memiliki beberapa index di dalamnya?" Tentu saja kita harus melakukan re-build terhadap index-index tersebut.
Jan 11, 2006
Memindahkan Tabel ke Tablespace Lain
at
8:49 AM
·
Subscribe to:
Post Comments (Atom)
0 comments:
Post a Comment