Saturday, October 18, 2014

Backup dan Restore Database Oracle secara Offline

Terdapat dua cara untuk melakukan backup database Oracle, yaitu secara offline dan juga secara online. Untuk melakukan backup secara Offline kita harus mematikan database terlebih dahulu, lalu kemudian membackup datafile yang diinginkan. Dan untuk melakukan backup secara Online dapat kita lakukan tanpa mematikan database, jadi database masih bisa diakses dan digunakan selama proses backup tersebut berlangsung.

Dan dalam artikel ini saya hanya akan membahas bagaimana cara backup database secara offline,
Berikut ini ialah langkah-langkah yang dilakukan untuk backup database secara offline:

1. Melihat daftar file data Oracle (datafile, logfile, dan control file)
        Gunakan query seperti berikut ini untuk melihat semua file
        SQL> select name as file_name from
        (select name from v$tempfile union
        select name from v$datafile union
        select name from v$controlfile union
        select member as name from v$logfile)
        order by file_name;

2. Kemudian matikan database
        SQL> shutdown immediate;

3. Dan backup file-file database (datafile, logfile, dan control file)
        $ cp /oradata/ts/control01.ctl /backup/ts/control01.ctl
        $ cp /oradata/ts/control02.ctl /backup/ts/control02.ctl
        $ cp /oradata/ts/control03.ctl /backup/ts/control03.ctl
        $ cp /oradata/ts/redo04.log /backup/ts/redo04.log
        $ cp /oradata/ts/redo05.log /backup/ts/redo05.log
        $ cp /oradata/ts/redo06.log /backup/ts/redo06.log
        $ cp /oradata/ts/sysaux01.dbf /backup/ts/sysaux01.dbf
        $ cp /oradata/ts/system01.dbf /backup/ts/system01.dbf
        $ cp /oradata/ts/temp01.dbf /backup/ts/temp01.dbf
        $ cp /oradata/ts/undotbs01.dbf /backup/ts/undotbs01.dbf
        $ cp /oradata/ts/users01.dbf /backup/ts/users01.dbf

4. Nyalakan database kembali
        SQL> startup;

Dan sekarang saya akan membahas bagaimana cara Restore dari hasil backup secara offline. Seperti yang dijelaskan sebelumnya, dan caranya sangat sederhana, sesederhana backup-nya. Berikut ini adalah langkah-langkah restore dengan memakai instance yang sama.

1. Siapkan file-file yang akan direstore terlebih dahulu
        File-file tersebut ialah control, log, data, dan temp file

2. Lalu pastikan instance sudah dimatikan
        SQL> shutdown immediate;
3. Restore file-file backup ke directory asalnya

        $ cp /backup/ts/control01.ctl /oradata/ts/control01.ctl
        $ cp /backup/ts/control02.ctl /oradata/ts/control02.ctl
        $ cp /backup/ts/control03.ctl /oradata/ts/control03.ctl
        $ cp /backup/ts/redo04.log /oradata/ts/redo04.log
        $ cp /backup/ts/redo05.log /oradata/ts/redo05.log
        $ cp /backup/ts/redo06.log /oradata/ts/redo06.log
        $ cp /backup/ts/sysaux01.dbf /oradata/ts/sysaux01.dbf
        $ cp /backup/ts/system01.dbf /oradata/ts/system01.dbf
        $ cp /backup/ts/temp01.dbf /oradata/ts/temp01.dbf
        $ cp /backup/ts/undotbs01.dbf /oradata/ts/undotbs01.dbf
        $ cp /backup/ts/users01.dbf /oradata/ts/users01.dbf

4. Dan nyalakan database
        SQL> startup;

Apabila terjadi suatu hal yang membuat kita tidak bisa merestore ke direktori asalnya, maka kita dapat melakukan restore ke tempat atau direktori lain. Langkah pertama dan kedua masih dilakukan seperti langkah di atas lalu langkah ketiga dan seterusnya adalah seperti berikut ini:

3. Restore file data ke direktori baru
        > Control file
        $ cp /backup/ts/control01.ctl /newdir/ts/control01.ctl
        $ cp /backup/ts/control02.ctl /newdir/ts/control02.ctl
        $ cp /backup/ts/control03.ctl /newdir/ts/control03.ctl
        > Log file
        $ cp /backup/ts/redo04.log /newdir/ts/redo04.log
        $ cp /backup/ts/redo05.log /newdir/ts/redo05.log
        $ cp /backup/ts/redo06.log /newdir/ts/redo06.log
        > Data file
        $ cp /backup/ts/sysaux01.dbf /newdir/ts/sysaux01.dbf
        $ cp /backup/ts/system01.dbf /newdir/ts/system01.dbf
        $ cp /backup/ts/undotbs01.dbf /newdir/ts/undotbs01.dbf
        $ cp /backup/ts/users01.dbf /newdir/ts/users01.dbf
        > Temp file
        $ cp /backup/ts/temp01.dbf /newdir/ts/temp01.dbf

4. Ubah konfigurasi control file. Edit init (instance parameter) file
        Filenya di $ORACLE_HOME/dbs/init[NAMAINSTANCE].ora
        kemudian ganti lokasi control file dari yang lama ke lokasi yang baru.

        Value yang lama:
        control_files='/oradata/ts/control01.ctl','/oradata/ts/control02.ctl','/oradata/ts/control03.ctl'
        Value yang baru:
        control_files='/newdir/ts/control01.ctl','/newdir/ts/control02.ctl','/newdir/ts/control03.ctl'

5. Ubah konfigurasi file log, data, dan temp file
        SQL> startup mount
        SQL> alter database rename file '/oradata/ts/redo04.log' to '/newdir/ts/redo04.log';
        SQL> alter database rename file '/oradata/ts/sysaux01.dbf' to '/newdir/ts/sysaux01.dbf';
        SQL> alter database rename file '/oradata/ts/temp01.dbf' to '/newdir/ts/temp01.dbf';
        dan begitu seterusnya

6. Lalu buka database kembali
        SQL> alter database open;

Sekian dari artikel saya, semoga bisa menjadi bahan pembelajaran yang baik dan bermanfaat untuk teman-teman yang telah meluangkan waktu untuk membaca artikel saya ucapkan terima kasih

Tuesday, October 7, 2014

Mengenal dan Belajar Pemrograman Database Oracle

ORACLE

Sesuai dengan judul diatas, disini kita akan membahas tentang pemrograman Database Oracle. Pertama-tama akan saya jelaskan dulu apa itu Oracle? Oracle merupakan suatu produk software yang diproduksi oleh salah satu perusahaan Software Enterprise terbesar di dunia yaitu perusahaan software Oracle Corporation yang didirikan pada tahun 1995 dan mulai memposisikan perusahaan sebagai produsen software database sejak tahun 1977.

Untuk membuat struktur tabel, mengisi data, mengubah data dan menghapus data dari tabel memerlukan software. Dan Oracle adalah software yang digunakan untuk membuat tabel, mengisi data, mengubah data, dan menghapus data yang disebut juga Relational Database Management System atau singkatnya bisa kita sebut RDBMS. Yang bertujuan untuk mengelola informasi secara terbuka, komprehensif dan terintegrasi.
 
Oracle merupakan software database yang menggunakan bahasa SQL (Structured Query Language). Dan saat ini SQL merupakan bahasa query standard di berbagai software database sehingga selain pada Oracle, kita juga dapat menggunakan SQL di software RDBMS popular lainnya contohnya seperti MysQL, Microsoft SQL Server, Teradata, dan software database lainnya.

Database merupakan salah satu komponen dalam teknologi informasi yang mutlak diperlukan oleh semua organisasi yang ingin mempunyai suatu system informasi yang menunjang kegiatan organisasi demi mencapai tujuannya. Karena pentingnya peran database dalam system informasi, tidaklah mengjherankan bahwa terdapat banyak pilihan software DBMS dari berbagai perusahaan baik yang gratis maupun yang komersial.

Dan diketahui Oracle merupakan DBMS yang paling rumit dan paling mahal di dunia, sehingga banyak orang memiliki kesan yang negatif terhadap Oracle. Berbagai keluhan mengenai Oracle adalah seperti terlalu sulit untuk digunakan, terlalu lambat, dan juga terlalu mahal jika dibandingkan dengan MySQL yang bersifat gratis yang menyebabkan Oracle terlihat tidak kompetitif karena programnya berjalan tidak secepat MySQL walaupun harganya sangat mahal. Tapi yang perlu diketahui, walaupun Oracle terlihat lebih lambat dibandingkan dengan DBMS lainnya, itu dikarenakan bahwa Oracle merupakan DBMS yang dirancang khusus untuk perusahaan atau organisasi berukuran besar yang akan berkembang menjadi lebih besar lagi sehingga membutuhkan fleksibilitas dan skalabilitas agar dapat memenuhi tuntutan akan data dan berbagai informasi yang berskala besar dan terus menerus bertambah, bukan untuk perusahaan dengan ukuran menengah ataupun kecil. Sehingga diketahui Oracle mendominasi pasar database server, dikarenakan banyaknya perusahaan berskala besar menggunakan Oracle dan mengelola datanya.


Apa Kekurangan Dan Kelebihan Dari Oracle ?
Fleksibilitas adalah kemampuan untuk menyesuaikan diri dengan berbagai kebutuhan dan kondisi khusus yang dapat berubah-ubah. Sebagai contoh, organisasi yang besar membutuhkan server yang terdistribusi dan memiliki redundancy sehingga pelayanan bisa diberikan secara cepat dan tidak terganggu jika ada server yang mati. Organisasi tersebut juga mempunyai berbagai macam aplikasi yang dibuat dengan beragam bahasa pemrograman dan berjalan di berbagai platform yang berbeda. Oracle memiliki banyak sekali fitur yang dapat memenuhi tuntutan fleksibilitas dari organisasi besar tersebut. Berbagai fitur tersebut membuat Oracle menjadi DBMS yang rumit dan sulit untuk dipelajari, namun itu adalah harga yang harus dibayar untuk mendapatkan fleksibilitas yang dibutuhkan dalam sistem informasi di organisasi yang berukuran besar.

Skalabilitas mengacu pada kemampuan untuk terus berkembang dengan penambahan sumber daya. Organisasi yang besar harus mampu melakukan transaksi data dalam volume yang besar dan akan terus bertambah besar. Jika dijalankan hanya pada satu server saja, MySQL memang bisa berjalan lebih cepat daripada Oracle. Namun jika satu server sudah tidak bisa lagi menangani beban yang terus bertambah besar, kinerja MySQL mengalami stagnasi karena keterbatasan server tersebut. Namun Oracle mendukung fitur Grid yang dapat mendayagunakan lebih dari satu server serta data storage dengan mudah dan transparan. Hanya dengan menambahkan server atau data storage ke dalam Oracle Grid, maka kinerja dan kapasitas Oracle dapat terus berkembang untuk mengikuti beban kerja yang terus meningkat.

Demikianlah salah satu (atau dua) keunggulan dari Oracle. Tidaklah mengherankan bahwa meskipun Oracle merupakan DBMS yang paling rumit dan paling mahal di dunia, perusahaan-perusahaan besar memilih Oracle dan tidak menggunakan DBMS seperti MySQL yang gratis karena mereka membutuhkan fleksibilitas dan skalabilitas dalam sistem informasi yang mereka gunakan.