Selasa, 22 Juni 2010

Recycle Bin di Oracle


Apa itu Recycle Bin?


Oracle memperkenalkan fitur "Recycle Bin" pada Oracle 10g yang digunakan untuk menyimpan semua objek database yang sudah di-drop. Jika suatu tabel di-drop maka semua objek yang berasosiasi dengan tabel tersebut seperti constraint, index, dll akan juga tersimpan di recycle bin.


Mengapa Recycle Bin?


Ketika user menghapus tabel yang cukup penting --secara tidak sengaja tentunya-- dan itu masih dibutuhkan secepatnya.


Oracle 9i memperkenalkan konsep flashback query untuk menerima data dari suatu titik di masa lalu, namun tidak bisa menerima query dari operasi DDL seperti drop table. Cara satu-satunya adalah membuat kembali tabel tersebut dari awal. Namun dengan fitur Recycle Bin pada Oracle 10g, user dapat dengan mudah mengembalikan objek database yang sudah terhapus.


Mengaktifkan/Menonaktifkan Recycle Bin


Untuk melihat aktif tidaknya Recycle Bin dapat dilakukan perintah berikut :


SQL > SELECT Value FROM V$parameter WHERE Name = 'recyclebin';
     Value
     -----
     On


Jika value bernilai "On" maka Recycle Bin aktif, sebaliknya jika value bernilai "Off" maka Recycle Bin Belum Aktif. 
Berikut adalah perintah untuk mengaktifkan / menonaktifkan Recycle Bin


SQL > ALTER SYSTEM SET recyclebin = ON;
atau
SQL > ALTER SESSION SET recyclebin = ON;
SQL > ALTER SYSTEM SET recyclebin = OFF;
atau
SQL > ALTER SESSION SET recyclebin = OFF;


Contoh Kasus 1 :

Senin, 07 Juni 2010

Antara CHAR, VARCHAR dan VARCHAR2 di Oracle

Dalam Oracle terdapat 3 tipe data yang menampung data-data alfanumerik atau string, yaitu CHAR, VARCHAR, VARCHAR2. Apa perbedaan diantara ketiga tipe data tersebut dan saat kapan kita menggunakannya? Mari kita bahas satu persatu.


CHAR 


CHAR digunakan untuk menyimpan data dengan panjang karakter tetap. Jika tipe data ini dugunakan untuk menyimpan data yang bermacam-macam panjangnya seperti nama ataupun alamat, maka akan banyak memory yang terbuang dalam disk. CHAR cocok digunakan untuk penyimpanan data dengan nilai tetap seperti Jenis Kelamin.


Contoh :


SQL> CREATE TABLE char_test (col1 CHAR(10));

Table created.

SQL> INSERT INTO char_test VALUES ('qwerty');

1 row created.

SQL> SELECT col1, length(col1), dump(col1) "ASCII Dump" FROM char_test;

COL1       LENGTH(COL1) ASCII Dump
---------- ------------ ------------------------------------------------------------
qwerty               10 Typ=96 Len=10: 113,119,101,114,116,121,32,32,32,32


Dapat dilihat dari hasil query diatas, bahwa col1 menyimpan karakter qwerty sepanjang 10 karakter, yang seharusnya hanya berisi 6 karakter.