Tempat curhatnya anak-anak BASDAT


[Deddy] perbedaan ketiga edisi oracle
Desember 14, 2007, 10:37 am
Diarsipkan di bawah: Oracle

OMG, posting belakangan mang ga enak :( (, topik dapetnya sisa :( (

btw sekarang mau ngebahas bedanya oracle standard edition, enterprise edition en express edition

pertama enterprise edition, ini yang paling mahal, en firturnya paling lengkap, kelebihannya tu bisa melindungi sistem dari server failure, site failure, human error dan downtime lebih sedikit. selaen itu juga fine grained auditing (ga tau bahasa indonya) enkripsi data yang transparan dan total recall of data. karena fitur yang banyak ini, makanya harganya mahal :)

kalo standard edition tu udah full featured en performance dan securitynya udah sama kaya enterprise edition, tapi fitur-fitur laennya ga ada di edisi ini, karena itu harganya lebih murah. tapi untungnya walopun beli yang standard edition, nantinya kita bisa upgrade ke enterprise edition tanpa harus kehilangan data (kehilangan duit tentunya:)).

kalo express edition tu edisi gratis dari oracle, jadi fiturnya juga pas-pasan, jadi buat yang mao blajar oracle tapi ga da modal download aja oracle express edition di http://www.oracle.com/technology/software/products/database/xe/index.html

gitu aja dhe, laper ni



[DYAH - 13504017] OPTIMIZER
Desember 13, 2007, 11:03 pm
Diarsipkan di bawah: Oracle

 

Oke.. posting sehari sebelum deadline untuk mencoba untuk menghindari jadi seorang deadliner :D . Sekarang saya akan membahas tentang optimasi pada oracle, walau sebelumnya udah ada yang membahas. Yuk mari silaken baca.. ^^

 

Pemilihan suatu rencana untuk melakukan evaluasi terhadap sebuah query cukup bervariasi, tergantung urutan operasi yang digunakan. Pemilihan evaluasi mempengaruhi cost yang akan dihasilkan. Untuk memberikan hasil yang optimal, yaitu cost terkecil, perlu dilakukan estimasi terhadap cost (dalam hal ini akses IO).

 

Oracle melakukan optimasi query dengan mentransformasikan perintah SQL dalam berbagai teknik pengoptimasian untuk mengefisienkan proses namun dengan semantik yang sama. Perintah SQL dapat dieksekusi dengan banyak cara, yaitu diantaranya dengan index scans, full table scans, nested loops, dan hash join. Hmmm.. index, nested loop dan hash join ini nantinya dipelajari di IF3211 Sistem Basis Data kok buat yang belum ngambil. Optimizer  DBMS, termasuk Oracle :-) , menentukan sendiri cara yang paling efisien untuk mengeksekusi perintah SQL.

 

Prosedur yang digunakan untuk mengeksekusi suatu perintah SQL mempengaruhi kecepatan eksekusi query. Seperti yang sudah dijelaskan di postingan sebelumnya, ada dua macam pendekatan yang digunakan, yaitu pendekatan berdasarkan biaya (cost-based) atau berdasarkan aturan (rule-based). Pendekatan cost-based umum digunakan, sedangkan rule-based hanya digunakan untuk kompatibilitas yang lebih rendah. Karena cost-based lebih umum digunakan dan saya malas membahas rule-based, maka pada postingan kali ini akan dibahas mengenai cost-based optimizer.

 

Pilihan optimizer dapat dipengaruhi dengan mengatur goal dari optimizer, dan dengan mengumpulkan data statistik yang mewakili optimizer query. Goal dari optimizer adalah throughput atau response time. Pemilihan cara untuk melakukan evaluasi dapat dilakukan secara manual dengan menggunakan perintah SQL yang tepat untuk menspesifikasikan bagaimana perintah tersebut dieksekusi.

 

Tujuan dari Cost Based Optimizer (CBO) adalah untuk menghasilkan throughput terbaik, yaitu melakukan pemilihan dengan sedikit resource yang dibutuhkan untuk memproses semua baris yang diakses oleh perintah SQL. CBO menentukan rencana eksekusi mana yang merupakan rencana paling efisien. Penentuan ini dilakukan dengan mempertimbangkan jalur akses yang tersedia dan menggunakan informasi berdasarkan statistik untuk tabel atau indeks yang diakses oleh pernyataan SQL.

 

CBO melakukan langkah-langkah berikut:

  • Optimizer menghasilkan sekumpulan rencana untuk suatu query SQL.
  • Optimizer memperkirakan biaya setiap rencana.
  • Optimizer menghitung biaya jalur akses dan urutan join berdasakan perkiraan sumber daya komputer yang terdiri dari operasi I/O, CPU, dan memori. Rencana dengan biaya yang lebih tinggi memakan lebih banyak waktu untuk dieksekusi daripada rencana dengan biaya lebih rendah.
  • Optimizer membandingkan seluruh biaya dari setiap rencana dan memilih satu rencana yang mempunyai biaya paling rendah.

Yak.. sampai di sini bahasan tentang cost-based optimization. Mungkin asisten lain ada yang mau membahas rule-based optimization :P



[Ogie[An Introduction to Oracle
Desember 13, 2007, 8:38 pm
Diarsipkan di bawah: Oracle

“An oracle is a person or agency considered to be a source of wise counsel or prophetic opinion; an infallible authority, usually spiritual in nature. ” en.wikipedia.org

Itu yang namanya Oracle. Siapa tahu ada yang belum tau…Nah, kalo Oracle Corporation adalah salah satu perusahaan besar yang menjadikan DBMS sebagai software utama yang dikembangkan. Akan tetapi, seiring berjalannya waktu, mereka pun mulai mengembangkan sayapnya dengan membuat perangkat lunak ERP, CRM, dan SCF. Oracle ditemukan tahun 1977 dan hingga kini sudah terdapat 145 cabang di seluruh dunia. Wedaan!. Di tahun 2005 jumlah pegawai yang mereka punya lebih dari 50.000 orang, dan hingga kini Oracle merupakan perusahaan pengembang perangkat lunak terbesar di dunia setelah Microsoft.
Sejarah pendirian Oracle dimulai ketika Kang mas Larry Ellison. Orang disebelah ni….terinspirasi dengan paper yang ditulis oleh Dewa Basis Data Edgar F.Codd dengan judul “A Relational Model of Data for Large Shared Data Banks”. Awal didirikan pada tahun 1977 dengan nama Software Development Laboratories. kemudian berubah nama menjadi Relational Software Inc (RSI) pada tahun 1979. Dan akhirnya, perusahaan ini berubah nama menjadi Oracle System agar sejalan dengan produk utama mereka yang selama ini mereka kembangkan yaitu, Oracle Database.
Produk mereka dibangun diatas bahasa pemrograman Java dan sudah mulai ada sejak tahun 1978 dengan nama Oracle version 1, dan hingga kini (tahun 2007) versi terakhir dari produk ini adalah version 11g. Dalam menjual produk-produk mereka, Oracle menggunakan slogan “Can’t break it, can’t break in” atau “Unbreakable” (ketahuan ni dari sini, SunSilk ternyata nyontek slogan mereka, ck2…Indonesia….indonesia….).

Pertanyaan yang banyak diajukan oleh banyak orang adalah, kenapa si populer banget ni si Oracle. Ternyata, yang menjadi competitive advantage mereka adalah karena mereka adalah DBMS dengan performansi terbaik. Hingga kini lebih dari 100 produk dan solusi bisnis telah mereka tawarkan. List produk dan solusi bisnis dari A-Z bisa ditemukan disini

Kantor Pusat Oracle terdapat di San Fransisco Peninsula di Redwood Shores Area di Kota Redwood. Ini gambarnya
So, bagi anda semua yang tertarik dengan oracle dapat langsung mengunjungi situs mereka di www.oracle.com
terdapat beberapa software yang bisa di-download secara gratis tapi memang kebanyakan sih ya bayar. Enjoy!. Cheers!



[Abie - 13504026] Deskripsi Umum Oracle 10g
Desember 13, 2007, 5:06 pm
Diarsipkan di bawah: Uncategorized

Oracle adalah perusahaan basis data yang telah memimpin dalam pengembangan teknologi basis data yang reliable, scalable, recoverable lebih dari 25 tahun. Dengan dikeluarkannya Oracle 10g, Oracle telah lebih jauh mengembangkan reputasinya sebagai pemimpin industri dengan penghasil fitur yang banyak, kemudahan untuk mengelola basis data yang dapat menangani data dari sistem transaksi dengan data berjumlah besar. Produk Oracle terdiri dari :

  • Oracle Database 10g
  • Oracle Application Server 10g
  • Oracle Developer Suite
  • Oracle Application 11
  • Oracle Collaboration Suite
  • Oracle Services

Terdapat 5 edisi dari Oracle 10g, antara lain :

  • Enterprise : meliputi semua fitur Oracle 10g yang tersedia dalam satu paket atau pilihan extra-cost.
  • Standard : meliputi semua fitur clustering dan semua fitur Oracle 10g dalam kemudahan pengelolaan untuk server yang berjalan sebanyak 4 prosesor.
  • Standar Edition One : meliputi semua fitur kemudahan pengelolaan Oracle 10g untuk server yang berjalan sebanyak 2 prosesor.
  • Personal : meliputi semua fitur Oracle 10g yang tersedia dalam satu bundel atau pilihan extra-cost, tetapi untk basis data user individual.
  • Lite : meliputi semua fitur Oracle 10g yang dibutuhkan untuk membangun dan mengembangkan aplikasi basis data mobile.

Oracle merupakan sistem basis data yang memiliki tingkat keamanan yang tinggi dan mampu menangani data dalam skala besar serta mendukung sistem basis data yang terdistribusi. Oleh karena itu, Oracle merupakan pilihan utama perusahaan untuk mendukung kegiatan bisnisnya.

Kelebihan sistem basis data Oracle, antara lain :

  1. Tingkat keamanan tinggi sehingga data yang tersimpan di basis data terproteksi dari pihak-pihak yang tidak berkepentingan.
  2. Terdapat pilihan jenis otorisasi yang sesuai dengan kebutuhan.
  3. Aplikasi berbasis GUI sehingga memberi kemudahan bagi user dalam melakukan manajemen terhadap sistem basis data.
  4. Adanya jaminan terhadap pemulihan terhadap sistem basis data setelah sistem  mengalami kegagalan.
  5. Mampu melakukan proses locking pada beberapa item data yang diperlukan saja tanpa melakukan proses locking terhadap keseluruhan isi tabel.
  6. Mampu memebrikan pembatasan penggunaan resource untuk seorang user sehingga tidak ada monopoli penggunaan resource.

Kekurangan sistem basis data Oracle, antara lain :

  1. Penggunaan yang rumit karena berbagai macam customization dan fitur-fitur yang mendukung penggunaan basis data.
  2. Memerlukan resource  yang besar dalam pengolahan transaksi basis data bersakala besar.


[Ratih - 13504012]Oracle-PHP
Desember 13, 2007, 5:03 pm
Diarsipkan di bawah: Oracle

PHP merupakan bahasa scripting web yang popular dan sering digunakan dalam mengembangkan website yang menggunakan basis data. Nah, selama ini kan DB yang sering digunakan adalah MySql ama PostgreSQL, sekarang akan dibahas yang Oracle nya.

Sebelumnya ada perquisite nya :

a. Install Oracle DB 11g atau Oracle Database XE

b. Install PHP 5.2.4

c. Configure Linux Apache Server

d. Download dan unzip the file php.zip ke directori dimana Apache Server menemukan file (i.e. $HOME/public_html).

 

1. Membuat koneksi

a. Review code pada connect.php ada di $HOME/public_html directory.

<?php

// Create connection to Oracle

$conn = oci_connect(“hr”, “hrpwd”, “//localhost/orcl”);

if (!$conn) {

$m = oci_error();

echo $m['message'], “n”;

exit;

}

else {

print “Connected to Oracle!”;

}

// Close the Oracle connection

oci_close($conn);

?>

Fungsi oci_connect() berisi tentang informasi koneksi dan oci_close() berfungsi untuk menutup koneksi akan tetapi tanpa fungsi ini koneksi basis data akan terputus ketika eksekusi code di script berakhir.

b. Open Web browser dan masukkan URL berikut http://localhost/~phplab/connect.php Jika berhasil maka “Connected to Oracle!” akan ditampilkan akan tetapi jika ada kesalahan maka sistem akan menampilkan pesan kesalahan

2. Query Sederhana

Dalam pembuatan web aplikasi yang menggunakan basis data memerlukan penggunaan query dalam memanipulasi data yang ada.

 

<?php

// Create connection to Oracle

$conn = oci_connect(“hr”, “hrpwd”, “//localhost/orcl”);

$query = ’select * from departments’;

$stid = oci_parse($conn, $query);

$r = oci_execute($stid);

// Fetch the results in an associative array

print ‘<table border=”1″>’;

while ($row = oci_fetch_array($stid, OCI_RETURN_NULLS+OCI_ASSOC)) {

print ‘<tr>’;

foreach ($row as $item) {

print ‘<td>’.($item?htmlentities($item):’ ‘).’</td>’;

}

print ‘</tr>’;

}

print ‘</table>’;

// Close the Oracle connection

oci_close($conn);

?>

The oci_parse() function parses the statement.

The oci_execute() function executes the parsed statement.

The oci_fetch_array() function retrieves the results of the query as an associative array, and includes nulls.

 

Pada Web browser, ketikkan URL untuk menampilkan output:

http://localhost/~phplab/query.php

Posting kali ini berasal dari http://www.oracle.com/technology/obe/11gr1_db/appdev/php/php.htm,

Keterangan lebih lengkap ada di link tersebut terima kasih



[Nitia] Pemrosesan Query pada Oracle 10g
Desember 13, 2007, 4:12 pm
Diarsipkan di bawah: Asistensi, Uncategorized

Query yang diberikan oleh user pada DBMS Oracle secara umum mengalami beberapa Proses. Pemrosesan query yang ada pada DBMS Oracle 10g tidak jauh berbeda dengan yang ada pada DBMS Oracle 9i.

Komponen Arsitektur Pemrosesan Query terdiri dari 4 bagian utama :

  1. Parser

Parser melakukan pemeriksaan terhadap kebenaran sintaks SQL yang telah diberikan okeh user. Serta memeriksa ebenaran semantik, yaitu objek basis data yang diberikan user benar.

  1. Optimizer

Optimizer merupakan unit yang melakukan optimasi query menggunakan aturan tertentu untuk menentukan cara yang paling efisien untuk mendapatkan hasil query. Output optimizer merupakan sebuah rencana/plan yang menggambarkan metode eksekusi yang optimal. Oracle menyediakan dua metode optimisasi: CBO (CostBased Optimizer) dan RBO (Rule Based Optimizer). Dan pada umumnya, Oracle menggunakan pendekatan cost untuk menghasilkan rencana yang tepat.

Berikut fitur-fitur yang menggunakan CBO:

- Partition tables and indexes

- Index-organized tables

- Reverse key indexes

- Function-based indexes

- SAMPLE clauses in a SELECT statement

- Parallel query and parallel DML

- Star tranformations and star joins

- Extensible optimizer

- Query rewrite with materialized views

- Enterprise Manager progress meter

- Hash joins

Cost-Based Optimizer (CBO) menentukan execution plan yang paling efisien dengan mempertimbangkan access path yang tersedia dan faktor informasi berdasarkan statistik skema objects (tabel ataupun index) yang diakses melalui suatu SQL statement.

CBO melakukan langkah-langkah optimasi sebagai berikut:

1. Optimizer menggenerate beberapa langkah plan yang potensial untuk memproses suatu SQL statement berdasarkan ketersediaan akses paths dan hints

2. Optimizer melakukan estimasi biaya dari setiap plan berdasarkan statistik pada data dictionary untuk distribusi data dan karakteristik penyimpanan tabel, index, dan partisi yang diakses oleh statement.

3. Optimizer membandingkan seluruh biaya dari plan dan kemudian memilih salah satu yang memiliki biaya yang paling rendah.

Tujuan dari CBO adalah throughout yang terbaik, sesedikit mungkin menggunakan resource untuk memproses semua baris yang diakses oleh statement SQL. Arsitektur dari CBO dapat digambarkan sebagai berikut.

Input dari query transformer adalah parsed query. Query transformer akan mempertimbangkan perubahan bentuk query untuk menentukan query plan yang lebih baik.

Ada empat transformasi query yang digunakan oleh query transformer yaitu view merging, predicate pushing, subquery unnesting, dan query rewrite using materialized views. Keempat transformasi tersebut juga bisa dikombinasikan. Estimator menghasilkan tiga tipe pengukuran yang berbeda yaitu selectivity, cardinality, dan cost. Selectivity merepresentasikan fraksi baris dari set baris bernilai antara 0,0 dan 1,0. Selectivity mengindikasikan berapa banyak baris dari set baris akan melalui test predikat. Cardinality merepresentasikan jumlah baris dalam set baris. Ada beberapa tipe tipe cardinality : effective, join, distinct, dan group cardinality. Cost merepresentasikan unit yang bekerja atau resource yang digunakan untuk melakukan operasi. CBO menggunakan disk I/O, CPU usage, dan memory usage sebagai unit kerja. Operasi dapat berupa scanning tabel, mengakses baris dari tabel menggunakan indeks, melakukan join dua tabel atau sorting tabel.

Pada Oracle 9i optimizer terdapat beberapa fitur ataupun teknik optimalisasi. Teknik tersebut diantaranya :

a. Dynamic Sampling

Pada invokasi pertama kursor mengandung variabel yang diikat, lalu optimizer akan melihat nilai yang diikat tersebut dan menggunakannya untuk mengoptimasi query. Nilai yang diikat pada invokasi oertama harus nilai yang representatif.

b. Bind Peeking

Permasalahan yang muncul ketika menggunakan dynamic sampling adalah statistik optimizer mungkin hilang atau tidak akurat. Untuk itu, statistik harus secara dinamik diikat selama optimasi query. Sebagai contoh :

- Predikat tabel selektif dan berkardinalitas

- Sampling digunakan untuk meminimalisir waktu yang dibutuhkan mengumpulkan statistik.

- Statistik dikumpulkan hanya untuk query yang tidak diakses dalam waktu yang lama.

c. Index Joins

Untuk Oracle 10g terdapat tambahan fitur yaitu Automatic SQL Tuning. Automatic SQL Tuning merupakan fitur otomatis yang dimilki oleh oracle yang biasanya digunakan dalam menganalisa query yang sangat mahal, menentukan kardinalitas dari hasil sementara, dan menghasilkan koreksi terhadap query yang dieksekusi selanjutnya.



[Hendro-13505103] Tema posting
Desember 10, 2007, 11:29 am
Diarsipkan di bawah: Asistensi

Posting lg yuk

stlh dibicarakan dengan ogi, maka sepertinya tema postingan kita bakal dipindahin ke oracle biar smuanya sama2 dapat ilmu

soalnya kalo SBD kan 2004 da dpt. jd kurang seru

jadi sebagai permulaan, tema postingan kita minggu ini adalah

Oracle secara umum

posting ya

usahain jgn deadline. hehheheheh….

oh iya keknya tar bakal ada kelanjutan diadakan workshop yg akan menhadirkan kak Ivan. Ya smoga jd la. Jd posting bnr2 ya

PEACE ^o^



Optimisasi Query
Desember 7, 2007, 4:26 pm
Diarsipkan di bawah: Eksplorasi, Eksplorasi DBMS, Sistem Basis Data

 Query optimisasi meurpakan sebuah proses memilih query plan yang plaing efisien dari banyak startegi pengaksesan query, khususnya untuk query yang kompleks. Dalam mendapatkan query plan yang efisien pemeriksaan dilakukan mulai dari epemeriksaaan akses path yang mungin (primary index akases, secondary indeks aksess, dan full file scan), dan juga variasi teknik join tabel relasional. Tujuan dari optimasisi adalah untuk mengurangi sebanyak mungkin tuple atau baris yang tidak dibutuhkan.
Jika kita sudah memiliki query, maka kita bisa mengoptimasi query dengan cara mentransform queyr tersebut. Untuk memeriksa apak$ah query yang dioptimasi hhasilnya sama dengan query yang biasa, ada beberapa rules equivalence. Rule equivalence ini juga bisa sebagai langkah awal untuk mentransform query sehingga lebih efisien. BErikut adalah beberap rule equivalence yang bisa digunakan:
 
1. Operasi seleksi konjungtif dapat didekonstruski menjadi sekumpulan seleksi individual
2. Operasi seleksi adalah komutatif
3. Hanya operasi final dari operasi sequence proyeksi yang dibutuhkan, yang lainnya dapat diabaikan
4. Seleksi dapat dikombinasikan dengan cartesian product dan theta join
5. Operasi Theta join komutatif
6. operasi Seleski daoat didistributsikan dinatara operasi union intersection dan set difference
7. Sekumpulan union dan intersection asosiatif
8. Operasi Join didistributsikan dinatara operasi union

By:Ogie
 

Powered by ScribeFire.



[Deddy 13505031] Query processing & optimation
Desember 7, 2007, 4:16 pm
Diarsipkan di bawah: Sistem Basis Data, Uncategorized

Waa, udah mau deadline :( (
harus cepat2..

BTW mau ngebahas external sort merge
jadi external sort merge tuh digunakan pada relasi jika relasi tsb tidak dpt masuk ke memori (kalo bisa masuk memori, cukup pake quicksort aj)
berikut langkah2 external sort merge
1.buat sorted runs
berikut langkah membuat sorted run: (i=0)
1.baca m blok relasi ke memori
2.urutkan blok yang terdapat dalam memori
3.tuliskan data yang telah disort ke Ri, increment i
2.gabungkan runs yang telah dibuat
berikut langkah menggabungkan runs:
1. gunakan N blok memori untuk membuffer runs yang dibuat, baca blok pertama dari  tiap run ke buffernya masing2.
2. ulangi sampai semua input buffer kosong:
1.pilih record pertama dari semua buffer
2.tulis revord tsb ke output buffer, jika penuh, tulis ke disk
3.hapus record tsb dari buffer input
4.jika buffer input telah kosong, baca blok berikutnya
yap, kira2 itulah langkah yang harus dilakukan untuk melakukan eksternal merge sort, tiap langkahnya ga dibahas detil, soalnya yg nulis ga tau ^^, peace



[ABIE - 13504026] Query Processing dan Optimization
Desember 7, 2007, 3:49 pm
Diarsipkan di bawah: Uncategorized

Query processing adalah mengeksekusi transaksi sesuai dengan query dan mengeprint hasil.

Contoh :
select customer name
from customer, invoice
where region =’kansas city’ dan amount > 1000

gambar_contoh.jpg

Query optimization adalah memilih cara yang paling efisien (murah) untuk mengakses data.

Proses yang paling efisien adalah proses akses I/O yang minimal dan penggunaan sumber daya CPU yang minimal.

Pemilihan metode yang paling baik :
Pada bahasa pemrograman non prosedural, sistem melakukan optimasi waktu eksekusi.
Sedangkan pada bahasa pemrograman prosedural, programmer memiliki fleksibilitas dalam pemilihan metode yang terbaik.
Untuk mengoptimasi eksekusi query, programmer harus mengetahui :
- organisasi file
- mekanisme akses record dan primary atau secondary key
- lokasi data pada disk
- pembatasan akses data