Pendahuluan

Dalam konfigurasi koneksi Oracle, ada salah satu parameter yang bisa digunakan untuk mendeteksi koneksi yang terputus.

Yaitu parameter ENABLE=BROKEN.

Parameter ini bisa digunakan untuk mendeteksi koneksi yang terputus baik di sisi client maupun di sisi server.


Apa maksudnya ENABLE=BROKEN ?


Parameter ENABLE=BROKEN adalah parameter yang digunakan untuk mengaktifkan fitur deteksi koneksi terputus.

Fitur ini akan memeriksa status koneksi ke database Oracle secara berkala.

Jika koneksi terputus, maka fitur ini akan mengirimkan peringatan kepada aplikasi yang menggunakan koneksi tersebut.


Bagaimana cara memakai ENABLE=BROKEN ?


Untuk menggunakan parameter ENABLE=BROKEN, kita bisa menambahkannya ke string koneksi Oracle.

Misalnya, untuk mengaktifkan opsi ENABLE=BROKEN pada koneksi Oracle yang menggunakan driver JDBC, dapat dilakukan dengan menambahkan parameter berikut ke string koneksi:

jdbc:oracle:thin:@localhost:1521:orcl(ENABLE=BROKEN)

Parameter ENABLE=BROKEN bisa juga digunakan di file tnsnames.ora.

Misalnya, untuk menghubungkan ke database Oracle dengan nama orcl, kita bisa menambahkan baris berikut ke file tnsnames.ora:

orcl =
  (DESCRIPTION =
      (ENABLE=BROKEN)
      (ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521))
      (CONNECT_DATA =
        (SERVER = DEDICATED)
        (SERVICE_NAME = orcl)
      )
  )

Bagaimana behaviour ENABLE=BROKEN ?


Setelah ENABLE=BROKEN diaktifkan, fitur deteksi koneksi terputus akan memeriksa status koneksi ke database Oracle secara berkala.

Jika koneksi terputus, maka fitur ini akan mengirimkan peringatan kepada aplikasi yang menggunakan koneksi tersebut.

Pada sisi client, peringatan akan dikirim melalui exception SQLException.

Pada sisi server, peringatan akan dikirim melalui event DatabaseError.

Pesan peringatan yang dikirimkan oleh opsi ENABLE=BROKEN berisi informasi berikut:

  • Status koneksi: Terputus atau rusak
  • Waktu terputusnya koneksi
  • Alamat IP dan port server Oracle

Berikut adalah contoh pesan peringatan yang dikirimkan oleh opsi ENABLE=BROKEN:

Connection to localhost:1521:orcl is broken (disconnected).
Connection broken at 2023-12-13 20:30:00

Bagaimana jangka waktu interval pemeriksaan koneksi ?


Interval pemeriksaan koneksi terputus yang dilakukan oleh fitur deteksi koneksi terputus ditentukan oleh parameter SQLNET.EXPIRE_TIME.

Parameter ini memiliki nilai default 15 menit.

Kita bisa mengubah nilai parameter SQLNET.EXPIRE_TIME. untuk menyesuaikan interval pemeriksaan koneksi terputus.

Misalnya, untuk mengubah interval pemeriksaan menjadi 5 menit, kita bisa menggunakan perintah berikut:

sqlplus / as sysdba

alter system set sqlnet.expire_time=5;