Sunday - May 18, 2008

Home | Site Map | Channels | Profile | Press Room | Services | Contact 

currently 9 user(s) online

search 

   Latest News

»

sony-ak.com Luncurkan Kamus Teknologi Informasi (May 27, 2006)

»

sony-ak.com Luncurkan IT Event Calendar (May 20, 2006)

»

Web Chat Berbasis AJAX dari sony-ak.com (May 09, 2006)

»

sony-ak.com Advertising Program (May 01, 2006)

»

Sony AK di Tabloid PCplus (April 18, 2006)

news archives » 


   Random Article

»

Sony AK Knowledge Center Backstage (2257)

»

Keamanan Jaringan Untuk Pemula (6208)

»

Tips Melihat Pemilik Suatu Domain Name di Internet (3747)

»

Teknologi Monitor: Dulu, Kini dan Masa Depan - Bagian 1 (7164)

»

Membuat Class Sederhana (Object Oriented Programming) pada Borland Delphi (3824)

   Newsletter

Join our newsletter, you will get alert about content updates

powered by Yahoo! Groups















Nedstat Basic - Free web site statistics

 
 
Pandangan Umum Mengenai Oracle Database

Author: Pratiwi Mileniawati
Published: March 19, 2006
Visits: 4348 - Category:
Oracle Database
 
     
 

Oracle merupakan salah satu perusahaan TI terkemuka di dunia. Anda mungkin sudah pernah mengenal Oracle melalui produk RDBMS (Relational Database Management System) mereka yaitu Oracle Database. Tulisan kali ini kana membahas secara global mengenai apa itu Oracle Database. Cocok bagi pemula yang mungkin belum mengenal Oracle Database. Sampai tulisan ini diturunkan, versi Oracle Database terakhir adalah versi 10g.

Database dan Instance
Oracle database adalah suatu koleksi data yang ada pada suatu file atau sekumpulan file. Database Oracle ini sendiri berisi struktur secara logic dan juga fisik. Dalam fungsinya ketika membuat aplikasi, maka Anda pasti akan membuat struktur database seperti tabel dan index yang digunakan untuk menyimpan data dan mempercepat proses pengambilan datanya. Anda dapat membuat sinonim bagi nama obyek, view object pada database yang berbeda dan bahkan Anda bisa membatasi hak akses kepada suatu obyek. Anda bahkan dapat menggunakan tabel eksternal untuk mengakses file di luar database. Sebuah Oracle instance akan melibatkan atau menggunakan suatu memory area yang biasa dinamakan System Global Area (SGA) dan juga akan membuat background process yang berguna bagi interaksi antara SGA dan file database di dalam hardisk. Pada Oracle Real Application Server (RAC), lebih dari satu instance akan menggunakan satu database yang sama. Instance ini pada umumnya berada pada server yang berbeda dan terhubung satu sama lain dengan kecepatan yang tinggi.

Melihat ke dalam Database
Di dalam Oracle Database, struktur dasarnya adalah sebuah tabel. Pada Oracle Database 10g telah mendukung banyak tipe tabel, yaitu:

  • Relational tables
    Dengan menggunakan tipe data yang telah disediakan oleh Oracle, maka Anda dapat membuat tabel untuk menyimpan data dan bisa dimanipulasi oleh aplikasi Anda. Tabel yang Anda buat akan memiliki definisi kolomnya masing-masing, dan Anda dapat menambah atau menghapus kolom pada tabel mengikuti kebutuhan aplikasi Anda. Tabel bisa dibuat dengan menggunakan perintah SQL CREATE TABLE.
  • Object-relational tables
    Untuk mendapat manfaat dari fitur seperti type inheritance, maka Anda dapat menggunakan kemampuan object-relational pada Oracle Database. Anda dapat mendefinisikan tipe data Anda sendiri dan kemudian menggunakannya sebagai dasar bagi definisi kolom tabel Anda dan lain sebagainya.
  • Index-organized tables
    Anda dapat membuat suatu tabel yang mana menyimpan datanya sendiri dalam suatu stuktur index, dan membolehkan data untuk bisa disortir dalam tabel.
  • External tables
    Data yang disimpan dalam flat file dapat diperlakukan sebagai suatu tabel yang mana user dapat melakukan query secara langsung dan bisa melakukan join kepada tabel lain di dalam query-nya. Anda dapat menggunakan external table untuk mengakses volume data yang sangat besar tanpa harus me-loading-nya ke dalam database. Perlu diketahui juga bahwa Oracle Database mendukung tipe data BFILE, yaitu suatu pointer yang menunjuk pada suatu binary file eksternal. Sebelum membuat suatu BFILE atau suatu external table, maka Anda harus membuat sebuah directory alias di dalam Oracle (melalui perintah CREATE DIRECTORY) yang akan menunjuk kepada lokasi fisik dari file tersebut.
  • Partitioned tables
    Anda dapat membagi suatu tabel ke dalam beberapa partisi, yang mana akan membolehkan Anda untuk mengatur bagian dari tabel secara terpisah. Anda dapat menambah partisi baru pada suatu tabel, split partisi yang sudah ada dan mengadministrasi partisi yang ada. Aktivitas partisi ini bisa menyederhanakan atau meningkatkan aktivitas pemeliharaan performa dan juga query dari user. Anda dapat membuat partisi tabel dalam suatu jangkuan nilai tertentu.
  • Materialized views
    Suatu materialized view merupakan suatu replika dari data yang diterima dari suatu query. Query dari user dapat diarahkan ke materialized view untuk menghindari tabel yang besar selama eksekusi (optimizer akan me-rewrite query secara otomatis). Anda dapat membangun dan mengatur refresh schedule untuk menjaga data pada materialized view agar tetap selalu "fresh" bagi kepentingan aplikasi yang menggunakannya.
  • Temporary tables
    Anda dapat menggunakan perintah CREATE GLOBAL TEMPORARY TABLE untuk membuat tabel sementara yang mana beberapa user dapat menggunakannya bersama-sama. Setiap user akan hanya dapat melihat row mereka dalam tabel tersebut.
  • Clustered tables
    Jika dua tabel biasa digunakan bersama, maka Anda dapat seara fisik menyimpannya bersama ke dalam suatu struktur yang bernama cluster.
  • Dropped tables
    Pada Oracle Database 10g, Anda dapat dengan cepat me-recover tabel yang terhapus dengan perintah FLASHBACK TABLE TO BEFORE DROP. Anda dapat mengembalikan beberapa tabel sekaligus atau mengembalikan seluruh database pada kondisi sebelum dihapus. Oracle juga mendukung flashback query, yang mana akan menampilkan versi sebelumnya dari row pada tabel.

Untuk mendukung akses ke tabel, Anda dapat menggunakan view yang bisa melakukan join dan agregasi, membatasi jumlah row yang diterima atau mengubah kolom yang ditampilkan. View bisa jadi bersifat read-only atau bisa diupdate, dan mereka dapat mereferensikan ke tabel lokal atau remote. Remote table bisa diakses dengan database link. Anda dapat menggunakan sinonim untuk melakukan mask terhadap lokasi fisik dari tabel.

Untuk tuning akses ke dalam tabel, maka Oracle telah mendukung banyak tipe index, yaitu:

  • B*-tree indexes
    Suatu B*-tree index adalah tipe standar dari index yang tersedia pada Oracle, dan itu sangat berguna pada saat memilih row yang sesuai dengan kriteria tertentu. Index jenis ini bisa dibuat dengan perintah CREATE INDEX.
  • Bitmap indexes
    Untuk kolom yang memiliki sedikit nilai yang unik, maka suatu bitmap index dapat meningkatkan performa query. Bitmap indexes sebaiknya hanya digunakan ketika data di-load secara batch (seperti pada banyak aplikasi datawarehouse atau reporting).
  • Reverse key indexes
    Jika ada isu I/O contention selama proses insert nilai sekuensial berlangsung, Oracle dapat secara dinamis me-reverse nilai index sebelum menyimpannya.
  • Function-based indexes
    Selain melakukan index terhadap kolom, seperti kolom Nama misalnya, maka Anda juga dapat meng-index suatu kolom yang berbasis function, seperti UPPER(Nama) contohnya. Function-based index akan memberikan kesempatan bagi Oracle optimizer beberapa pilihan ketika memilih execution path.
  • Partitioned indexes
    Anda dapat menggunakan partition index untuk mendukung partitioned tables atau untuk menyederhanakan index management. Index partition dapat bersifat lokal bagi partisi tabel atau dapat pula bersifat global yang berpengaruh pada seluruh tabel.
  • Text indexes
    Anda dapat meng-index nilai text untuk mendukung peningkatan pada kemampuan pencarian, seperti pencarian frase dan lain sebagainya. Text indexes merupakan himpunan dari tabel dan index yang dipelihara oleh Oracle untuk mendukung pencarian teks yang sangat kompleks. Oracle Database 10g menawarkan peningkatan pada text indexes yang mana menyederhanakan proses administrasi dan pemeliharaannya.

Menyimpan data
Semua struktur logic di dalam database haruslah disimpan pula pada suatu lokasi di dalam database. Untuk hal ini Oracle memelihara suatu data dictionary yang menyimpan metadata untuk setiap obyek, misalnya object owner, definisi, related privileges dan lain sebagainya. Bagi obyek-obyek yang membutuhkan ruang penyimpanan fisik bagi dirinya, maka Oracle menyediakan atau mengalokasikan ruang di dalam tablespace.

Tablespace
Suatu tablespace terdiri dari  satu atau lebih datafiles, yang mana suatu datafile dapat berupa bagian dari satu tablespace. Oracle Database 10g membuat sedikitnya dua tablespace bagi masing-masing database, yaitu SYSTEM dan SYSAUX, untuk mendukung manajemen internalnya. Anda dapat menggunakan Oracle managed files (OMF) untuk menyederhanakan proses pembuatan dan pemeliharaan dari datafile.

Pada Oracle Database 10g, Anda dapat membuat suatu tablespace yang spesial, yang disebut dengan bigfile tablespace, yang mana ukurannya bisa sampai ribuan terabytes. Bersama dengan OMF, manajemen dari bigfile membuat manajemen tablespace seluruhnya menjadi transparan bagi DBA dan DBA dapat mengatur tablespace sebagai suatu unit tanpa harus khawatir mengenai ukuran dan struktur dari datafile.

Jika suatu tablespace ditujukan sebagai suatu temporary tablespace, maka tablespace itu sendiri adalah permanen, yang mana hanya segment yang disimpan pada tablespace yang bersifat temporary. Oracle menggunakan temporary tablespace untuk mendukung operasi sorting seperti index creation dan pemrosesan join. Temporary segment sebaiknya tidak disimpan pada tablespace yang sama seperti obyek permanen.

Tablespace dapat bersifat dictionary managed atau locally managed. Pada dictionary-managed tablespace, maka space management direkam di dalam data dictionary. Pada locally-managed tablespace (yang mana merupakan default pada Oracle Database 10g), Oracle memelihara suatu bitmap pada masing-masing datafile dari tablespace untuk melacak ketersediaan dari space.

Automated Storage Management
Automatic storage management (ASM), tersedia pada Oracle Database 10g, dan berfungsi untuk mengotomatisasi layout dari datafile dan sistem operasi lainnya dengan cara mendistibusikannya pada disk-disk yang tersedia. Ketika disk baru ditambahkan pada instance ASM, maka file database akan secara otomatis didistribusikan pada seluruh disk dalam disk group yang telah didefinisikan bagi performa yang optimal. Fitur multiplexing dari instance ASM akan meminimalkan kemungkinan hilangnya data dan secara umum lebih efektif daripada skema manual yang mana menempatkan file-file kritis dan backup pada drive fisik yang berbeda.

Automatic Undo Management
Untuk mendukung transaksi Anda, Oracle mampu untuk secara dinamis membuat dan mengatur undo segments, yang mana akan membantu dalam memelihara images sebelumnya dari perubahan block dan row. User yang memiliki query sebelum Anda rubah, maka akan tetap bisa melihat row seperti sebelum query perubahan dilakukan. Automatic Undo Management (AUM) membolehkan Oracle untuk mengatur undo segments secara langsung tanpa ada campur tangan DBA. Kegunaan dari AUM juga menyederhanakan penggunaan dari flashback query. Pada Oracle Database 10g, Anda dapat mengeksekusi flashback version query untuk melihat perbedaan versi pada row yang mana telah dirubah pada suatu rentang waktu tertentu.

Dropped Data
Konsep recycle bin yang diperkenalkan pada Oracle Database 10g berpengaruh pada kebutuhan ruang bagi tablespace dan datafile Anda. Pada Oracle Database 10g, perilaku default bagi aktivitas drop table adalah untuk me-retain alokasi ruangnya, yang mana Anda dapat melihat penggunaan ruangnya melalui RECYCLEBIN data dictionary view. Jika Anda membuat dan men-drop tabel dua kali, maka akan ada dua kopi dari tabel pada recycle bin. Meskipun arsitektur ini bisa menyederhanakan proses recovery dari kehilangan tabel akibat ketidaksengajaan, tetapi hal ini sekaligus juga akan menambah ruang yang digunakan pada database Anda. Gunakan perintah PURGE untuk menghapus data lama dari dalam recycle bin Anda.

Menjaga Data
Anda dapat mengontrol penuh akses ke dalam data Anda. Anda dapat memberi hak akses user lain untuk melakukan suatu fungsi yang spesifik (seperti SELECT, INSERT dan lain sebagainya) pada object Anda. Anda dapat mengatur hak akses lebih jauh lagi secara mendetail. Anda dapat memberi hak akses bagi role, yang mana kemudian bisa diberikan lebih lanjut kepada user.

Oracle mendukung level yang sangat detail dari hak akses ini. Anda dapat mengontrol mana row yang boleh diakses. Ketika Anda menggunakan opsi Virtual Private Database (VPD), maka query user terhadap tabel akan selalu terbatas. Pada Oracle Database 10g, VPD ditingkatkan lagi sampai pada column masking bagi kolom-kolom yang berisi data yang sensitif.

Sebagai tambahan dalam hal mengamankan data, Anda dapat mengaudit aktivitas di dalam database. Ini termasuk monitoring terhadap user creation, perubahan pada struktur data, akses ke spesifik row atau table dan lain sebagainya.

Programmatic Structures
Oracle mendukung berbagai macam metode akses secara pemrograman. Bahasa SQL, merupakan kunci dari berbagai aplikasi yang hendak memanfaatkan Oracle Database sebagai back-end database-nya. Beberapa metode akses pemrograman yang lainnya adalah:

  • PL/SQL
    PL/SQL merupakan komponen yang sangat penting dalam pembangunan aplikasi yang memanfaatkan Oracle Database. Anda dapat menggunakan PL/SQL untuk membuat stored procedure dan juga function, dan kemudian Anda bisa memanggilnya dari dalam aplikasi Anda. Lebih lanjut, procedure dan function bisa dibungkus menjadi suatu paket. Anda juga dapat membuat trigger yang mana bisa dimanfaatkan untuk menjalankan suatu aksi bilamana suatu event terjadi (misalnya saat database startup), perubahan terhadap struktur tabel atau juga perubahan terhadap data pada row. Dalam beberapa kasus, Anda akan menggunakan PL/SQL untuk mengontrol perilaku dari database atau aplikasi ketika suatu event trigger terjadi.
  • Dynamic SQL
    Anda dapat membuat perintah SQL pada saat runtime dan melemparkannya pada suatu prosedur yang nantinya akan mengeksekusinya melalui dynamic SQL.
  • SQL*Plus
    SQL*Plus memberikan suatu interface sederhana ke Oracle Database. SQL*Plus dapat digunakan untuk membuat reporting sederhana, akan tetapi yang lebih diunggulkan dari SQL*Plus ini adalah untuk aktivitas scripting. SQL*Plus enak digunakan untuk mengambil data dari data dictionary dan membuat obyek database.
  • Java dan JDBC
    Oracle mendukung Java dan JDBC yang mana ini memungkinkan Anda menggunakan Java di dalam PL/SQL. Anda bahkan bisa menulis stored procedure berbasis Java.
  • XML
    Anda dapat menggunakan interface XML pada Oracle dan tipe data XML untuk mendukung proses insert dan penerimaan data dalam format XML.
  • Object-oriented SQL and PL/SQL
    Anda dapat menggunakan Oracle untuk membuat dan mengakses struktur berorientasi obyek, yang mana termasuk user-defined datatypes, methods, large objects (LOBs), object tables dan nested tables.
  • Data Pump
    Data Pump Import dan Data Pump Export, keduanya diperkenalkan pada Oracle Database 10g, telah meningkatkan kemampuannya dalam hal ekspor dan impor data. Anda dapat menggunakan Data Pump untuk secara cepat meng-extract data dan memindahkannya ke database lain.
  • SQL*Loader
    Anda dapat menggunakan SQL*Loader untuk secara cepat me-load flat file ke dalam tabel pada Oracle. Suatu flat file tunggal dapat di-load ke dalam beberapa tabel dan proses loading ini bisa terjadi secara paralel.
  • External program dan procedure
    Anda dapat meng-embed SQL di dalam program eksternal, atau Anda dapat membuat procedural libraries yang kemudian bisa dihubungkan ke Oracle.
  • UTL_MAIL
    Sebuah paket yang diperkenalkan pada Oracle Database 10g, UTL_MAIL membolehkan developer aplikasi PL/SQL untuk mengirimkan e-mail tanpa harus mengetahui bagaimana menggunakan protokol SMTP.

Memilih Arsitektur
Oracle memberikan berbagai macam tool untuk membangun aplikasi yang berbasis pada Oracle Database 10g. Anda dapat menggunakan Oracle Application Server sebagai aplikasi middle-tier bagi aplikasi three-tier yang mengakses ke Oracle Database 10g.

Beberapa fitur baru dapat membawa dampak yang positif bagi performa aplikasi Anda. Sebagai contoh, pencarian dengan regular expression yang tersedia di Oracle Database 10g.

Referensi

  • Kevin Looney, Oracle Database 10g: The Complete Reference, Oracle Press.

Demikian tulisan singkat mengenai pengenalan dan gambaran umum Oracle Database 10g. Semoga berguna bagi Anda semuanya. Jika ada komentar atau saran bisa dikirimkan melalui pratiwi.mileniawati@gmail.com. Untuk membaca tulisan menarik lainnya silakan menuju ke situs Sony AK Knowledge Center dengan alamat di www.sony-ak.com.

Terima kasih.




 Recommended articles
 

»

Tiga Peranan Penting Internet bagi Usaha Kecil Menengah (UKM) (5949)

»

Meningkatkan Fungsi Situs Web Komersial (2553)

»

Uraian Singkat: Perbedaan Mailing List, News Group dengan Blog (2148)

»

Mengenal SSL (Secure Sockets Layer) dan TLS (Transport Layer Security) (2694)

»

Menanti Berhentinya Proses Suatu Aplikasi pada Borland Delphi (3165)

 Send your comments or suggestions
Full Name :
E-mail :
Comments :
 
 

  Privacy | Site Map | Advertise

  Copyright © 2003 - 2006 Sony AK Knowledge Center - all rights reserved

  info@sony-ak.com