Membuat Listener

Setelah install software Oracle dan membuat database Oracle, kini saatnya kita untuk mengakses database lewat jaringan. Dari sisi server (Oracle database) diperlukan listener, sementara dari sisi client diperlukan Local Net Service Name (TNS Names).

Listener bisa dibuat dengan GUI (wizard) ataupun melalui command line. Di Oracle 8i ke atas, GUI (tool) tersebut adalah netca. Seperti tool-tool database Oracle yang lain, lokasinya ada di $ORACLE_HOME/bin.

Berikut ini langkah-langkah membuat listener pakai netca. Sebagai contoh saya menggunakan Oracle 10g. Secara umum adalah sama untuk Oracle versi lainnya.

  1. Jalankan command netca. Akan muncul form wellcome. Lihat gambarnya di sini. Pilih “Listener Configuration”. Selanjutnya klik tombol Next.
  2. Berikutnya keluar form Listener Configuration. Lihat gambarnya di sini. Pilih “Add”. Selanjutnya klik tombol Next.
  3. Berikutnya keluar form Listener Name. Lihat gambarnya di sini. Masukkan nama listener. Kita bisa menamakan apa saja. Di sini saya biarkan pakai nama default, yaitu LISTENER. Selanjutnya klik tombol Next.
  4. Berikutnya keluar form Select Protocol. Lihat gambarnya di sini. Saya memilih TCP. Selanjutnya klik tombol Next.
  5. Kalau milih TCP, berikutnya akan keluar form TCP/IP Protocol. Lihat gambarnya di sini. Kemudian pilih port yang akan digunakan. Saya menggunakan port default, 1521. Selanjutnya klik tombol Next.
  6. Berikutnya akan keluar form More Listener. Lihat gambarnya di sini. Apakah kita ingin membuat listener yang lain lagi?. Saya pilih tidak (No). Selanjutnya klik tombol Next.
  7. Akhirnya selesai. Lihat gambarnya di sini. Kalau ingin melakukan perkerjaan lainnya, klik tombol Next. Karena saya cukup membuat listener ini saja, ya sudah, klik tombol Cancel.

Pada dasarnya secara intrinsik, Oracle melakukan 2 hal berikut ini (membuat listener pakai command line ya dengan cara berikut ini):

  1. Membuat file konfigurasi untuk listener di
    $ORACLE_HOME/network/admin/listener.ora. Adapun isi file tersebut adalah:
    SID_LIST_LISTENER =
    (SID_LIST =
    (SID_DESC =
    (SID_NAME = PLSExtProc)
    (ORACLE_HOME = C:\oracle\product\10.2.0\db_1)
    (PROGRAM = extproc)
    )
    )
    LISTENER =
    (DESCRIPTION_LIST =
    (DESCRIPTION =
    (ADDRESS = (PROTOCOL = TCP)(HOST = 10.21.108.70)(PORT = 1521))
    (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC0))
    )
    )
  2. Menjalankan (menaikkan) proses listener
    lsnrctl start LISTENER

Selanjutnya, masukkan database yang telah kita buat tadi ke dalam konfigurasi listener agar database bisa dilayani listener. Sebenarnya kalau listener dibuat (dan dinaikkan) dulu sebelum membuat database, konfigurasi ini dilakukan secara otomatis oleh dbca (bila kita membuat database menggunaka dbca).

Di Oracle 9i keatas, untuk melakukannya kita bisa menggunakan tool netmgr yang ada di $ORACLE_HOME/bin. Di Windows sepertinya netmgr tidak dibuatkan exe-nya di %ORACLE_HOME%/bin, tapi dibuatkan sort cut-nya di menu program. Berikut ini step-step menggunakan netmgr:

  1. Jalankan command netmgr. Kemudian muncul Wizard-nya. Lihat gambarnya di sini. Di tab, pilih “Database Services”. Selanjutnya klik tombol “Add Database”.
  2. Kemudian masukkan ORACLE_HOME dan nama instance (SID) yang akan di-manage. Lihat gambarnya di sini
  3. Setelah itu simpan konfigurasi tersebut. Lihat gambarnya di sini. Selesai deh.
  4. Agar konfigurasi bisa update, restart listener
    lsnrctl stop LISTENER
    lsnrctl start LISTENER

Secara intrinsik, netmgr menambahkan definisi konfigurasi di file
$ORACLE_HOME/network/admin/listener.ora (di mana kita bisa melakukannya secara manual tanpa netmgr):
SID_LIST_LISTENER =
(SID_LIST =
(SID_DESC =
(SID_NAME = PLSExtProc)
(ORACLE_HOME = C:\oracle\product\10.2.0\db_1)
(PROGRAM = extproc)
)
(SID_DESC =
(ORACLE_HOME = C:\oracle\product\10.2.0\db_1)
(SID_NAME = dataku)
)
)

This entry was posted in Administration and tagged , , , . Bookmark the permalink.

13 Responses to Membuat Listener

  1. ip0d says:

    nice tutor…thank u bro

  2. rohmadne says:

    You are welcome.

  3. Junior says:

    Mr. rohmadne, mo nanya dnk…
    untuk :
    lsnrctl stop LISTENER
    lsnrctl start LISTENER
    saya harus kliknya dimana ya? soalnya saya masih pemula bnget nih..
    thanks atas pencerahannya ^^

  4. rohmadne says:

    Perintah lsnrctl dijalankan di Operating System prompt, kalau di windows ya di DOS.

    Di Windows, bisa juga pakai Services Control. Untuk membuka Sercives Control, Dari Menu Start klik Settings -> Control Panel -> Administrative Tools -> Services

    Listener bisa dimanage melalui service-nya Windows yang nama service-nya Oracle%ORACLE_HOME%TNSListener. Kita bisa melakukan start dan stop dari situ.

  5. Fajar says:

    Mas rohmadne, mau tanya donk:
    aq udah ketikkan lsnrctl start LISTENER…(oracle 9i)
    keluarnya gini:

    LSNRCTL for 32-bit Windows: Version 9.2.0.1.0 – Production on 13-OCT-2008 16:52:45
    Copyright (c) 1991, 2002, Oracle Corporation. All rights reserved.
    Starting tnslsnr: please wait…
    Service OracleOraHome92TNSListener already running.
    TNS-12560: TNS:protocol adapter error
    TNS-00530: Protocol adapter error
    32-bit Windows Error: 1056: Unknown error
    ________________________________________________
    apa ini gpp mas???
    Thanks atas pengarahannya…^_^

  6. rohmadne says:

    Hallo Mas Fajar.
    Itu artinya listener sudah jalan.
    “Service OracleOraHome92TNSListener already running”

  7. Ricky says:

    Mr. rohmadne, nanya donk’s

    fungsi dari listiner itu apa sih ?
    dan pengaruhnya pada database yg kita buat ….

  8. Karsanto says:

    Dear Pak Rohmad,

    Saya punya problem dengan listener sepertinya nih, kayaknya gampang tp dah googling tetep ga dapet2 jawaban yang tepat. Mungkin om Rohmad atau temen2 yang lain punya pengalaman yang serupa dengan saya.

    Case-nya gini : Klo liat ‘lsnrctl status’, di paling bawah ada tulisan seperti ini :

    Service “SDA” has 1 instance(s).
    Instance “SDA”, status UNKNOWN, has 1 handler(s) for this service…

    kenapa statusnya unknown yah? Bukannya mestinya “READY” yah??
    1. Ada apa sih dengan settingan listener saya, bisa bantu nda?
    2. Sebenarnya makna dari Status READY/UNKNOWN itu apa sih pak? Mohon petunjuk.

    Salam hangat
    Karsanto S.

  9. fi2 says:

    Assalamualaikum…

    Pak, software untuk install client oracle 10g sm atau engga pak sama software untuk installasi servernya…

    Tengkyu..

  10. syaiful ulya says:

    Salam Pak Rohmad,

    Bapak ada tutorial untuk connect dari mysql ke oracle tidak ya pak?
    saya sudah coba coba, api belum bisa juga..

    Best Regards,

    Syaiful Ulya

  11. Salam Pak Rohmad,

    Saya sedang mengerjakan tugas perkuliahan, saya membangun sistem yang mana sistem tersebut harus menggunakan 2 (dua) engine Database Server yaitu Oracle dan MySQL. Sistem yang saya perlukan di sini adalah, agar semua data di Oracle server dapat berpindah ke MySQL server dan dapat memperbaharui segala perubahan pada Oracle Server juga terjadi perubahan pada MySQL server, disini saya tidak dapat menggunakan metode Replekasi yang seharusnya dapat diterapkan pada Oracle Server karena, memang tidak dibolehkan ada perubahan konfigurasi pada Oracle Server tersebut oleh perusahaan tempat saya Magang.

    Jadi, saya menciptakan sebuah program Java yang menerapkan Single Thread dengan delay 6 second, jadi setiap 6 second program ini melakukan koneksi ke Oracle Server yang kemudian memeriksa perubahan data pada Oracle Server tersebut dan kemudian memindahkan/ mengcopy data tersebut ke databse MySQL server. Nah, program ini harus hidup selamanya, alias setiap 6 second program terus melakukan koneksi ke Oracle, dalam satu hari bisa terjadi ribuan koneksi.

    Ketika saya sudah menjalankan program saya ini selama kurang lebih 2 bulan, munculah Error : “ORA-12519, TNS:no appropriate service handler found”. yang sudah tidak terkontrol, terkadang program baru melakukan 3x koneksi, error langsung muncul.

    Kira-kira apa penyebab kesalahan ini bagaimana solusinya ya pak Rohmad?

    Terima Kasih,

  12. willy says:

    mas mo nanya gmna cara membuat bat starup listener dan gmna cara menjalankan tnslistenr pake cmd jika pada servis control windowsnya dibuat manual agar org awam ga bisa buka sembarangan dbnya..makasi

  13. DINO says:

    Mas kq cannot create listener yaw di servernya

Leave a Reply

Your email address will not be published. Required fields are marked *