Manfaat dan Cara Menggunakan Perintah Explain Plan

Perintah explain plan pada Oracle SQLPlus adalah perintah yang sangat berguna dalam proses optimasi query. Explain plan berguna untuk:

  1. Memperkirakan “biaya” query (query cost), baik dari sisi kebutuhan memory (dalam satuan bytes) maupun kebutuhan tenaga komputasi (dalam satuan I/O Unit dan persentase penggunaan CPU)
  2. Menampilkan urutan langkah Oracle dalam memproses sebuah query
  3. Memperkirakan waktu yang dibutuhkan untuk mengeksekusi sebuah query

Cara menggunakan perintah explain plan cukup mudah, yaitu dengan menambahkan klausa EXPLAIN PLAN FOR di awal query

Contohnya

Setelah itu, untuk melihat plan table hasil dari perintah explain plan dapat digunakan perintah berikut ini

 Select * from table(dbms_xplan.display); 

Perhatikan plan table yang dihasilkan pada screenshot berikut ini:

Cara membaca plan table dapat dilihat pada Lanjut membaca

Query dengan Klausa IN

Saat kita melakukan query, ada kalanya kita igin menampilkan data dengan kriteria tertentu. Misalnya kita ingin menampilkan nama-nama karyawan yang bekerja sebagai Sales Manager atau IT Pogrammer (memiliki job_id = SA_MAN atau IT_PROG), maka kita gunakan query dengan klausa WHERE seperti pada gambar berikut ini:

Perhatikan bahwa dalam klausa WHERE digunakan operator OR karena kita ingin menampilkan data pada tabel employees yang kolom job_id nya bernilai ‘SA_MAN’ atau ‘IT_PROG’ (ada 2 nilai yang ingin dicari). Sebetulnya kita juga bisa menggunakan query dengan klausa IN seperti pada contoh berikut in Lanjut membaca

Mengatasi Masalah Update Toad for Oracle 10.6

Saya menggunakan Toad for Oracle versi 10.6 Freeware untuk menghindari mengurangi penggunaan software bajakan :oops: Beberapa bulan yang lalu saya mendapatkan pesan “This Version of Toad for Oracle has expired. You must download a new version before proceeding”. Ternyata versi Toad yang saya gunakan sudah expired sejak 20 Juni 2011 dan saya diminta men-download versi terbarunya. Lihat tampilan yang saya dapat di gambar berikut ini:


Saya pun segera mengecek ke website ToadWorld.com untuk men-download versi terbaru, tapi yang saya dapati di sana adalah versi 10.6. Di sini saya bingung, mana versi terbarunya? Yang ada hanya file installer Toad fo Oracle versi 10.6 (sama dengan yang saya pakai) dan file update berukuran sekitar 12 MB. Saya pikir file update ini adalah semacam patch yang bisa di-download (seperti patch-nya Windows atau patch game untuk memperbaiki bug). Saya pun men-download file tersebut (file itu bernama “ToadFreeware.exe”), tapi setelah file dieksekusi saya malah mendapat pesan “Toad has encountered an unexpected error. Details: Toad cannot access necessary installation files.”

Saya sempat mencoba cara klasik, yaitu Lanjut membaca

Flashback Table pada Oracle

Pernah tidak sengaja men-drop tabel di database dan bingung bagaimana cara mengembalikannya? Jangan panik dulu. Tabel yang sudah terlanjur dihapus atau di-drop bisa dikembalikan dengan menggunakan perintah Flashback. Berikut ini saya tunjukkan cara mengembalikan tabel yang terlanjur dihapus/di-drop pada Oracle:

Misalnya kita menghapus sebuah tabel bernama coba_drop:

Untuk mengembalikan tabel yang terlanjur dihapus/terhapus perintahnya cukup sederhana:

FLASHBACK TABLE nama_tabel
TO BEFORE DROP;

Perhatikan contoh berikut ini:

Oiya, berikut ini adalah syarat agar perintah flashback berhasil dieksekusi:

  1. User harus memiliki hak FLASHBACK TABLE atau FLASHBACK ANY TABLE (kalo belum punya hak ini silahkan minta di-grant oleh DBA atau sekalian aja minta tolong DBA yang flashback, hehehe…)
  2. Tablespace belum di-drop
  3. Control File masih utuh (bukan hasil di-recreate)
  4. Ukuran Data File belum diperkecil

Mudah bukan? Selamat mencoba. Semoga bermanfaat :)

PS. Sebenarnya fitur flashback table pada Oracle ini akan lebih powerful dan fleksibel jika dieksekusi dari Enterprise Manager, tapi berhubung saya menggunakan Oracle 10g Express Edition yang gratisan jadi tidak dilengkapi dengan fitur Enterprise Manager, jadi saya harus mengeksekusi perintah flashback ini dari konsol SQLPlus :cry:

Mengubah Prompt pada Oracle SQLPlus

Kita sudah familiar dengan  prompt SQLPlus yang normal (SQL>), namun mungkin belum banyak yang tau bahwa prompt SQLPlus itu bisa kita ubah sesuai keinginan :) Untuk mengubah prompt pada Oracle SQLPlus perintahnya sangat mudah sekali:

SET SQLPROMPT promptyangbaru

Perhatikan screenshot berikut ini:

Mengubah prompt SQLPlus sangat bermanfaat saat kita perlu login ke SQLPlus sebagai beberapa user sekaligus (dengan cara membuka beberapa window SQLPlus). Ketika sedang bekerja dengan membuka beberapa window SQLPlus, tidak jarang kita bingung sedang aktif di window/sebagai user yang mana. Well, memang sih bisa memanfaatkan perintah “SHOW USER” atau mengubah warna teks/background pada SQLPlus tapi akan lebih praktis jika kita memodifikasi prompt di masing-masing window.

Nah dengan mengubah prompt di SQLPlus kita akan selalu tau sedang aktif sebagai user yang mana. Adapun dalam membuat prompt perlu diperhatikan beberapa hal berikut:

Lanjut membaca

Majalah Oracle Gratis

Tumpukan majalah Oracle di samping tempat tidur saya ini semuanya saya peroleh tanpa mengeluarkan uang sepeserpun. Majalah dan ongkos kirim nya semua gratis tis tis tis… :D

Majalah Oracle adalah majalah yang terbit tiap 2 bulan sekali. Majalah ini diterbitkan oleh Oracle Publishing. Isinya beragam, mulai dari artikel-artikel tentang database, informasi terbaru tentang produk2 Oracle (sekalian promosi) dan tentu saja tips dan trik bagi para database administrator maupun database developer.

Tertarik? Kunjungi link di bawah ini untuk berlangganan:

http://www.oracle.com/oramag/misc/s_and_a.html

Lumayan kan buat nambah pengetahuan, minimal sebagai bacaan pengantar tidur buat yang insomnia, hehehe… :D

Menggunakan Help pada SQLPlus

Terkadang kita mengeluh bahwa belajar Oracle itu sulit karena harus menghafal banyak perintah dan sintaks-sintaks yang njlimet. Sebenarnya perintah-perintah itu tidak perlu dihafalkan, cukup dipahami dan diketahui cara pengunaannya.

Lantas bagaimana kalau kita lupa dengan perintah-perintah tertentu? atau tidak tau bagaimana cara menggunakan sebuah perintah tertentu dalam Oracle? Di internet banyak sekali e-book, tutorial, forum atau blog yang membahas tentang perintah-perintah di dalam Oracle, namun  adakalanya kita kesulitan mengakses internet. Di sinilah gunanya Help offline yang ada pada SQLPlus.

Untuk mengakses help offline pada SQLPlus kita dapat mengetikkan perintah Help atau ? diikuti dengan topik atau perintah Help Index untuk menampilkan daftar topik yang ada pada help.

Perhatikan contoh berikut ini:

atau kita juga bisa memanfaatkan metadata Help yang disediakan oleh Oracle. Adapun struktur metadata help adalah sebagai berikut:

  1. Topic: kolom ini berisi daftar topik dalam help
  2. Seq: kolom ini berisi nomor baris info dalam sebuah topik
  3. Info: kolom ini berisi info tentang topik, biasanya satu topik memiliki beberapa baris info dan tiap baris diberi nomor sesuai seq

Sayangnya metadata Help hanya bisa diakses dari user SYSTEM, tapi sebenarnya saya sendiri lebih suka menggunakan metadata help daripada langsung menggunakan perintah Help. Alasannya sederhana, sebab dengan  mengkombinasikan penggunaan Oracle wildcards dengan metadata help saya bisa mengetahui info tentang sebuah perintah yang hanya saya ingat sebagian (potongan perintahnya saja.)

Berikut ini adalah beberapa contoh penggunaan metadata Help:

Lanjut membaca

Koneksi ke Oracle Remote Server dengan Menggunakan SQLPlus

Untuk melakukan koneksi ke sebuah server yang menjalankan DBMS Oracle, kita dapat  menggunakan SQLPlus. Adapun urutan langkah-langkahnya adalah sebagai berikut:

1. Mintalah username dan password dari DBA (Database Administrator) yang mengelola server yang akan kita akses, jelaskan pula kepada DBA tentang apa saja yang akan kita akses (sebutkan table, view, procedure dsb yang kita butuhkan) dan apa saja yang akan kita lakukan dengan data-data tersebut (apakah ingin menambah data baru, menghapus data lama atau sekedar membaca data dan mengeksekusi procedure). DBA yang baik akan memastikan agar username yang akan anda gunakan nanti dapat memenuhi semua kebutuhan anda.

Lanjut membaca

User_Source Metadata pada Oracle

Anda ingin tau ada procedure, function dan trigger apa saja yang ada di schema anda? Atau mungkin anda sudah lupa dengan source code dari masing-masing procedure, function dan trigger yang anda buat sendiri? Anda bisa memanfaatkan metadata untuk keperluan ini.

Metadata sering diartikan sebagai ‘data tentang data’.  Pada DBMS Oracle, metadata disajikan dalam bentuk tabel dan diperlakukan seperti tabel, walaupun user tidak diberi hak untuk meng-insert, meng-update atau men-delete data yang ada di dalam metadata. Sederhananya, metadata pada DBMS Oracle adalah semacam tabel yang berisi informasi tentang data lain. Metadata pada Oracle hanya dapat di-select, tapi tidak bisa di-insert, update atau delete oleh user.

Salah satu metadata pada DBMS Oracle adalah USER_SOURCE. Metadata USER_SOURCE terdiri dari 4 kolom yaitu:

  1. Name: kolom ini berisi nama procedure, function dan trigger
  2. Type: kolom ini berisi tipe source, yaitu  ‘PROCEDURE’, ‘FUNCTION’ atau ‘TRIGGER’
  3. Line: kolom ini berisi nomor baris source code
  4. Text: kolom ini berisi source code pada baris yang ada di kolom ‘Line

Berikut ini adalah beberapa contoh penggunaan metadata USER_SOURCE:

Lanjut membaca