Tampilkan postingan dengan label Oracle. Tampilkan semua postingan
Tampilkan postingan dengan label Oracle. Tampilkan semua postingan

Jumat, 09 Juli 2010

Arsitektur Oracle GoldenGate

Software GoldenGate yang baru saja diakuisi oleh Oracle Corporation sekitar akhir tahun 2009 lalu, memiliki kemampuan dalam mereplikasi data pada suatu transaksi dari satu database ke database yang lain dengan reliabilitas transaksi yang tinggi.(http://www.oracle.com/goldengate/index.html)
GoldenGate memiliki beberapa proses dan komponen utama yaitu :
  • GoldenGate manager process, yang mengontrol semua background process.
  • GoldenGate trail files, merupakan file dari data yang akan direplikasi.
  • GoldenGate extract process, yang melakukan ektraksi data dari redo log file yang ada di database oracle.
  • GoldenGate replicat process, yang akan mengambil data melalui proses CDC (Change Data Capture) ke lingkungan database target.


Arsitektur GoldenGate
Arsitektur dari GoldenGate terdiri dari beberapa proses dan komponen, yaitu :
  1. Extract
  2. Data pump
  3. Replicat
  4. Trails 
  5. Checkpoints
  6. Manager
  7. Collector


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.

Kamis, 27 Mei 2010

Arsitektur Database Oracle


Oracle terdiri dari 2 komponen utama, yaitu Instance dan Database. Kedua komponen ini sangat berbeda namun saling berhubungan dan tidak dapat dipisahkan.

Database merupakan kumpulan data yang disimpan ke dalam sebuah physical storage, sedangkan instance merupakan kumpulan dari proses oracle dan alokasi memory yang ada di Oracle.
Konfigurasi instance dan database ini dibedakan menjadi 2 cara. Yang pertama, satu instance mengakses satu database, dan yang kedua, beberapa instance yang berjalan pada server / komputer yang berbeda mengakses satu database yang sama. Pada konfigurasi yang kedua, oracle menyebutnya sebagai Oracle Real Aplication Cluster (RAC).

Komponen Database Secara Fisik

Komponen database terdiri atas beberapa file fisik, antara lain :
·        Datafile
·        Redo Log File
·        Control File



Datafile
Datafile digunakan sebagai tempat menyimpan semua data yang ada di Oracle seperti user data (table,index) dan data dictionary. Tiap database paling sedikit memiliki satu datafile, tetapi biasanya database memiliki lebih dari 1 datafile. Sebuah konfigurasi database paling sederhana hanya memiliki 2 datafile, System dan Users. Dalam arsitektur logis, datafile disebut sebagai tablespace.

Redo log file
Redo log file digunakan sebagai tempat catatan setiap transaksi yang terjadi di Oracle. Fungsi utama redo log file adalah untuk kebutuhan proses recovery.
Jika pada saat oracle mengalami kegagalan dan data yang diperbaharui belum tersimpan di datafile, oracle akan menggunakan redo log file untuk melakukan recover data yang telah diperbaharui. Oracle akan mengembalikan posisi transaksi terakhir saat sebelum oracle mengalami kegagalan.


Control File
Control file berisi semua informasi file-file yang menjadi bagian dari database, seperti datafile dan redo log file. Control file menyimpan informasi posisi keadaan database saat ini :
·        Nama dari database.
·        Kapan database dibuat.
·        Posisi keadaan datafile sekarang, seperti dalam kondisi recovery atau kondisi read only.
·        Informasi terakhir kali database di shutdown, abort, immediate atau normal.
·        History dari Archive Log
·        Back Up yang dilakukan database
·        Checkpoint

Komponen Database Secara Logis.

Oracle menyimpan data secara logis di dalam tablespace dan secara fisik di dalam datafile. Satu tablespace dapat memiliki lebih dari 1 datafile, dan setiap datafile tersebut akan tersimpan dalam harddisk.




Hirarki dari struktur logis database Oracle adalah sebagai berikut :


             ·        Sebuah database Oracle memiliki paling tidak 1 Tablespace.
             ·        Sebuah tablespace memiliki 1 atau lebih Segment.
             ·        Sebuah segment merupakan kumpulan dari Extent.
             ·        Dan extents adalah kumpulan dari Block. 


Block merupakan komponen terkecil yang berisi operasi read dan write terhadap database.

Rabu, 19 Mei 2010

Mengaktifkan Mode Archivelog pada Oracle


Tujuan utama dari mode archivelog adalah untuk melindung database dari kegagalan instance dan kerusakan media disk melalui pengarsipan secara online dengan mengaktifkan proses pengarsipan ke dalam file redo log. Secara default, database oracle masih dalam mode Noarchivelog.

Berikut adalah langkah-langkah pengaktifan mode archivelog pada database oracle: 
Login sebagai SYSDBA.

  SQL> conn / as sysdba
  Connected.

Periksa status archive, kemudian shutdown instance.

  SQL> select log_mode from v$database;
  LOG_MODE
  ------------
  NOARCHIVELOG
  SQL> shutdown immediate
  Database closed.
  Database dismounted.
  ORACLE instance shut down.


Mount database untuk mengubah mode operasi menjadi archivelog dengan perintah alter database archivelog.

  SQL> startup mount
  ORACLE instance started.

  Total System Global Area  167772160 bytes
  Fixed Size                  1247900 bytes
  Variable Size              62915940 bytes
  Database Buffers          100663296 bytes
  Redo Buffers                2945024 bytes
  Database mounted.
  SQL> alter database archivelog;

  Database altered.

  SQL> alter database open;

  Database altered.


Lalu periksa lagi status archive.

  SQL> select log_mode from v$database;
  LOG_MODE
  ------------
  ARCHIVELOG


Selasa, 23 Februari 2010

Penulisan Ilmiah tentang Dataguard di Oracle

Berhubung saya sudah masuk ke semester 6, sudah waktunya kita,sebagai mahasiswa gunadarma berhadapan dengan Penulisan Ilmiah. Saya sudah menyiapkan 5 buah judul atau lebih tepatnya 6 tetapi saya punya 1 judul yang menjadi judul andalan saya yaitu " Analisis Kecepatan Failover pada Pengaplikasian Dataguard dengan menggunakan Oracle 10g". Apa itu Dataguard? Mungkin dapat lebih jelasnya saya berikan ilustrasi gambar dibawah ini :


Pada ilustrasi diatas, Dataguard dimaksudkan agar bila suatu saat database utama yang sedang berjalan tiba-tiba error atau terjadi bencana yang mengakibatkan database tersebut mati (Unplanned Downtime), kita dapat mengakses database standby yang ada di komputer server lain (komputer tersebut bisa terdapat di ruangan yang sama ataupun bertempat di daerah antar provinsi sekalipun,asalkan ada jaringan yang menghubungkannya). Sangat diusahakan perbedaan database utama dan database standby memiliki perbedaan transaksi sedikit mungkin dan kalau perlu dengan downtime 0 detik. Dataguard bisa berfungsi juga bila suatu saat komputer yang berisi database utama ingin diupgrade atau bisa dibilang Planned Downtime. Misalnya komputer server ingin diupgrade RAMnya,sehingga mengharuskan komputer tersebut dimatikan, sedangkan database harus tetap aktif 24 jam. Oleh karena itu dibutuhkanlah database standby yang berguna sebagai database cadangan yang sementara digunakan selayaknya database utama.

Kira-kira begitulah konsep sederhana dari penggunaan Dataguard pada Oracle. Dan dengan beralasan bahwa ini biasanya diimplementasikan di bidang Enterprise, dan juga banyak perusahaan yang membutuhkan database yang selalu aktif 24 jam, khususnya perusahaan Telekomunikasi, saya berharap judul saya diterima sebagai bahan penulisan ilmiah saya pada semester ini. Amiiin...

Senin, 26 Oktober 2009

Simulasi Ujian Sertifikasi IT dengan Transcender


Akhirnya setelah lumayan lama googling mencari soal-soal simulasi Ujian Sertifikasi Oracle, saya menemukan sebuah software yang sangat membantu saya dalam mempersiapkan pengetahuan dan ketelitian saya bila nanti saya ikut dalam ujian tersebut. Saya menemukan sebuah aplikasi untuk persiapan ujian sertifikasi yang bernama Transcender. Transcender memiliki banyak sekali demo-demo ujian yang bertaraf internasional seperti ORACLE, MICROSOFT, SUN, CISCO, dll.

Saat ini, saya memang sedang mengejar ujian OCA Oracle sebelum lulus kuliah, sehingga setelah saya mendownload Engine dan soal-soal demonya, saya merasa ada secercah harapan untuk bisa mendapatkan sertifikasi itu tanpa melalui kursus. Semoga dengan menemukan software ini, dapat memicu saya dengan lebih semangat mendalamidan juga bisa mendapatkan sertifikasi sesuai dengan apa yang saya harapkan.

Untuk info lebih lanjut silakan kunjungi http://www.transcender.com/ , dan untuk mendownload demo-demonya silakan klik disini

Apa bedanya Oracle Enterprise, Standard dan Personal Edition?

Terdapat sekitar 6 edition dari Oracle Database Server yang terdiri dari :
  1. Oracle Enterprise Edition
  2. Oracle Standard Edition
  3. Oracle Standard Edition One
  4. Oracle Personal Edition
  5. Oracle Lite
  6. Oracle XE

Mari kita bahas satu-persatu.


Oracle Enterprise Edition:


Enterprise Edition adalah Full Version dari Oracle Database Server. Fitur-fitur tambahan seperti RAC, Partitioning, Spatial, Data Guard, dll tersedia dalam Enterprise Edition

Oracle Standard Edition:

Standard Edition didesain untuk Perusahaan yang lebih kecil. Memberikan hanya sebagian dari fitur-fitur yang diimplementasikan di Enterprise Edition. Fitur seperti Data Guard, Partitioning, Spatial, dll tidak tersedia pada Edisi yang ini (dari 10g one keatas dapat menggunakan RAC dengan Standard Edition).

Oracle Standard Edition One:

Standard Edition One lebih murah dan merupakan entry-level version dari Oracle Standard Edition database server.

Oracle Personal Edition:

Personal Oracle adalah Single User Version dari Oracle Database Server.Sama seperti Enterprise Edition, namun tidak mendukung fitur-fitur canggih seperti RAC, Streams, XMLDB, dll.

Oracle Lite:

Oracle Lite adalah database engine yang digunakan di Handphone dan PDA

Oracle XE:

Express Edition (XE)  merupakan edisi yang gratisan dan dapat di download bebas.Oracle XE hanya dapat digunakan di komputer dengan satu prosesor. hanya dapat menampung data sebanyak 4 GB dan memory sebanyak 1 GB.

Kamis, 24 September 2009

Oracle

Oracle Database adalah Relational database management system (RDBMS) yang diproduksi oleh Oracle Corp. Di tahun 2008 ini Oracle telah membuat kehadirannya menjadi sangat penting di bidang Database Computing.

Larry Ellison dan kawannya juga mantan rekan kerjanya Bob Miner dan Ed Oates memulai membangun Software and Development Laboratories (SDL) pada tahun 1977. SDL mengembangkan versi original dari Oracle Software. Nama Oracle pun bermula dari code-name CIA dari proyek pribadi ellison ketika ia menjadi pegawai di Ampex.

Sejarahnyaa :

* 1979: Larry Ellison membangun Software Development Laboratories.
* 1979: SDL berubah nama menjadi “Relational Software, Inc.” (RSI) dan mengumumkan produk Oracle V2 sebagai RDMS yang komersil. Versi ini tidak mensuport trabsaksi namun mengimplementasikan fungsi SQL dasar Query dan Joins.
* 1982: RSI kemudain berubah namanya menjadi “Oracle Corporation” yang kita kenal agar lebih dekat dengan produk unggulannya.
* 1983: Perusahaan merilis Oracle version 3, yang ditulis dengan menggunakan bahasa C Programming yang telah mendukung perintah Commit dan Rollback untuk transaksi.
* 1984: Oracle Corporation rilis Oracle version 4.
* 1985: Oracle RDBMS mulai mendukung model client-server, dengan jaringan yang lebih luas di pertengahan 1980. Oracle version 5.0 mendukung distributed queries.
* 1988: Oracle RDBMS version 6 keluar dengan mendukung PL/SQL embedded.
* 1989: Oracle Corporation memasuki produk aplikasi pasar dan mengembangkan ERP produk, berdasarkan Oracle relational database.
* 1990: Dirilis Oracle Applications release 8.
* 1992: Oracle version 7 keluar dengan dukungan referential integrity, stored procedures dan triggers.
* 1997: Oracle Corporation released version 8, mendukung pengembangan object-oriented development dan aplikasi multimedia.
* 1999: Dirilisnya Oracle8i bertujuan untuk memberikan database inter-operating lebih baik dengan internet.
* 2000: Oracle E-Business Suite 11i yang pertama terintegrasi oleh enterprise application software
* 2001: Oracle9i dirilis dengan 400 fitur baru, termasuk kemampuan membaca dan menulis XML document. Juga memberikan opsi untuk Oracle RAC atau “Real Application Clusters”.
* 2003: Oracle Corporation merilis Oracle Database 10g.
* 2005: Oracle Database 10.2.0.1 — yang juga diketahui sebagai Oracle Database 10g Release 2 (10gR2) — muncul.
* 2006: Oracle Corporation mengumumkan Unbreakable Linux
* 2007: Oracle Database 10g Release 2 membuat Rekor Dunia TPC-H 3000 GB Benchmark Result
* 2007: Oracle Corporation merilis Oracle Database 11g untuk Linux dan Microsoft Windows.
* 2008: Oracle Corporation mendapatkan BEA Systems.

diterjemahkan : en.wikipedia.org

Minggu, 23 Agustus 2009

Teori dan Administrasi init file (pfile dan spfile) di ORACLE

Konfigurasi instance disimpan di file bertipe text yang dikenal dengan init file (initial file) atau pfile (parameter file). Mulai versi 9i Oracle memperkenalkan pfile bertype binary yang disebut spfile.

Di Unix family, init file ada di directory $ORACLE_HOME/dbs. Sedangkan di Windows ada di folder %ORACLE_HOME%\database.



Format nama file:

  1. Pfile: initNAMAINSTANCE.ora
    Di Unix, nama instance adalah case sensitive, instance dataku berbeda dengan DATAKU. Pfile untuk instance dataku adalah initdataku.ora. Dan Pfile untuk instance DATAKU adalah initDATAKU.ora

    Sedangkan di Windows, nama init file tidak case sensitive, instance dataku ya sama saja dengan DATAKU. Kalau kita membuat database dengan dbca, initfile yang terbentuk adalah INITdataku.ORA. Kalau file ini diganti dengan initDATAKU.ora yang tidak apa-apa, Windows gitu lho!

  2. Spfile: spfileNAMAINSTANCE.ora
    Sama seperti pfile, case sensitive di Unix dan tidak case sensitive di Windows.



Cara membuat initfile:

  1. pfile
    Dibuat secara manual pakai text editor , contoh: notepad di Windows dan vi di Unix. Bisa juga dibuat berdasarkan content spfile yang sudah ada.
    SQL> create pfile from spfile;
  2. spfile
    Spfile tidak bisa dibuat dengan text editor sebagimana membuat pfile. Tentu saja, file binary tidak bisa dibuat (diedit) dengan text editor. Spfile hanya bisa dibuat dengan cara berikut ini (content-nya diambil dari pfile yang sudah ada):

    SQL> create spfile from pfile;

By default, kalau ada spfile maka ketika startup Oracle akan membaca parameter dari spfile. Kalau tidak ada spfile, Oracle membaca pfile. Kalau tidak ada kedua-duanya, instance tidak bisa di-startup. SQL> startup
ORA-01078: failure in processing system parameters
LRM-00109: could not open parameter file
‘/mnt01/oracle/10.2.0.3/dbs/initDATAKU.ora’

Mengedit Init file (mengubah parameter instance)

Parameter instance ada dua tipe yaitu dynamic dan static. Parameter dynamic bisa diubah ketika instance sedang jalan sedangkan parameter static tidak bisa, artinya perubahan parameter static harus dilakukan di initfile dan instance harus di-restart.

Contoh parameter dinamik adalah pga_aggregate_target. Berikut ini cara untuk mengubahnya:

  1. Kalau instance sedang mati
    Naikkan instance dulu, kemudian lakukan perubahan pakai SQLPlus

    SQL> startup
    SQL> alter system set pga_aggregate_target=100m;

    Perintah alter system di atas langsung mengubah parameter di instance (memory) yang berjalan.

    1. Kalau kita pakai spfile, perintah ini langsung mengupdate juga spfile. Sehingga ke depannya kalau kita merestart instance, Oracle membaca pga_aggregate_target=100m dari spfile.
    2. Kalau kita pakai pfile, pga_aggregate_target=100m tidak di-update ke pfile sehingga ke depannya kalau kita merestart instance, pga_aggregate_target kembali ke nilai semula. Agar perubahan bersifat permanen, edit juga parameter pga_aggregate_target di pfile
  2. Kalau instance sedang jalan
    Langsung lakukan perubahan di SQLPLus
    SQL> alter system set pga_aggregate_target=100m; Sama seperti penjelasan sebelumnya, kalau pakai spfile maka spfile juga diupdate secara otomatis. Kalau pakai pfile, agar perubahan bersifat permanen maka pfile harus diedit secara manual pakai text editor.

Contoh parameter statik adalah db_writer_processes, control_files, sessions, dsb. Berikut ini cara untuk mengubah parameter db_writer_processes yang bersifat statik itu:

  1. Kalau instance sedang mati
    Kalau pakai pfile, edit pfile pakai text editor, kemudian startup instance.

    Edit pfile
    SQL> startup

    Spfile tidak bisa diedit pakai text editor, kalau tetep dipaksa edit pakai text edior maka spfile akan corrupt sehingga tidak dikenali oleh Oracle. Spfile hanya bisa diubah dengan SQLplus ketika instance naik. Jadi naikkan dulu instance, pakai nomount biar cepet toh kita tidak perlu instance mount atau open, yang penting startup dulu. Kemudian alter system set db_writer_processes=2 scope=spfile. Perintah ini akan mengedit spfile saja, sementara parameter di instance sendiri masih belum berubah. Setelah itu, baru startup
    SQL> startup nomount
    SQL> alter system set db_writer_processes=2 scope=spfile;
    SQL> shutdown immediate
    SQL> startup

  2. Kalau instance sedang jalan

    Kalau pakai pfile, database matiin dulu, edit pfile, kemudian restart instance
    SQL> shutdown immediate
    Edit pfile
    SQL> startup

    Kalau pakai spfile, alter system dengan scope=spfile, kemudian restart
    SQL> alter system set db_writer_processes=2 scope=spfile;
    SQL> shutdown immediate
    SQL> startup

Catatan

  1. Perintah alter system set pga_aggregate_target=100m by default kalau pakai spfile, maka
    alter system set pga_aggregate_target=100m scope=both
    Dan kalau pakai pfile. maka
    alter system set pga_aggregate_target=100m scope=memory
  2. Kita tidak bisa menjalankan alter system set db_writer_processes=2 karena ini adalah parameter static. Kalau masih dipaksa akan muncul error:

    SQL> alter system set db_writer_processes=2;
    ERROR at line 1:
    ORA-02095: specified initialization parameter cannot be modified

    Parameter static hanya bisa diubah di scope=spfile
    SQL> alter system set db_writer_processes=2 scope=spfile;
    System altered.

  3. Kalau dilihat pakai text editor, spfile berisi sama seperti pfile, hanya ada entry yang "aneh-aneh" (yang bukan merupakan parameter instance) di baris pertama.
  4. Contoh kasus.

    Instance saya hanya punya spfile (spfileDATAKU.ora) dan tidak punya pfile (initDATAKU.ora)> Suatu ketika saya ingin mengubah parameter static (misalnya control_files). Karena ketidak tahuan, parameter control_files saya edit di spfileDATAKU.ora pakai text editor (notepad).

    Karena spfile adalah file binary, maka spfile menjadi rusak karena diedit pakai text editor, sebagian akibatnya Oracle tidak bisa membacanya. Karena spfile tidak bisa dibaca, maka Oracle mencari pfile. Karena saya tidak punya pfile sementara spfile-nya corrupt, ya akhirnya saya tidak bisa startup instance
    SQL> startup
    ORA-01078: failure in processing system parameters
    LRM-00109: could not open parameter file
    ‘/mnt01/oracle/10.2.0.3/dbs/initDATAKU.ora’

    Waduh… gimana ini?!! Solusinya, buat pfile initDATAKU.ora yang isinya sama persis dengan spfileDATAKU.ora, dengan catatan: jangan ikut sertakan entry spfileDATAKU.ora yang aneh-aneh di baris pertama itu.

    Untuk melihat isi spfile spfileDATAKU.ora, di unix gunakan perintah more. Di Windows, gunakan wordpad; kalau pakai notepad biasanya tampilannya amburadul.

sumber : http://rohmad.net/2008/06/28/teori-dan-administrasi-init-file-pfile-dan-spfile/