Rumah  >  Artikel  >  pangkalan data  >  [Ringkasan] Sebab dan penyelesaian untuk perkhidmatan pemantauan oracle gagal dimulakan

[Ringkasan] Sebab dan penyelesaian untuk perkhidmatan pemantauan oracle gagal dimulakan

PHPz
PHPzasal
2023-04-04 09:25:3913162semak imbas

Dalam beberapa tahun kebelakangan ini, dengan perkembangan pesat teknologi Internet, pangkalan data telah digunakan dengan lebih meluas. Pangkalan data Oracle adalah pangkalan data yang digunakan secara meluas Walau bagaimanapun, semasa penggunaan pangkalan data Oracle, pelbagai masalah juga akan dihadapi. Salah satu masalah yang paling biasa ialah perkhidmatan mendengar yang memulakan Oracle tidak boleh dimulakan. Artikel ini akan memperincikan punca dan penyelesaian kepada masalah ini.

1. Punca masalah

Perkhidmatan mendengar pangkalan data Oracle ialah komponen yang sangat penting. Jika perkhidmatan mendengar tidak dapat dimulakan, ia akan mengakibatkan ketidakupayaan untuk menyambung ke contoh pangkalan data Oracle. Jadi apakah punca masalah ini?

  1. Status perkhidmatan mendengar adalah salah: Dalam pangkalan data Oracle, status perkhidmatan mendengar dibahagikan kepada jenis berikut: dimulakan, dihentikan dan digantung. Jika status perkhidmatan mendengar tidak betul, perkhidmatan mendengar mungkin gagal dimulakan.
  2. Pendudukan port: Port lalai yang digunakan oleh perkhidmatan mendengar Oracle ialah 1521. Jika port ini diduduki, perkhidmatan mendengar Oracle tidak akan bermula.
  3. Ralat resolusi nama TNS: TNS ialah kaedah penamaan dalam pangkalan data Oracle, yang digunakan untuk menentukan alamat tempat pelanggan menyambung ke pangkalan data. Jika resolusi nama TNS tidak betul, perkhidmatan mendengar mungkin gagal dimulakan.
  4. Ralat konfigurasi perkhidmatan mendengar: Jika terdapat ralat dalam fail konfigurasi perkhidmatan mendengar, ia juga boleh menyebabkan perkhidmatan mendengar gagal dimulakan.

2. Penyelesaian kepada masalah

Selepas menentukan punca masalah, kita perlu mengambil penyelesaian yang sepadan. Di bawah, beberapa kaedah untuk menyelesaikan masalah ini akan diperkenalkan.

Kaedah 1: Semak status perkhidmatan mendengar

Pertama, kita perlu menyemak status perkhidmatan mendengar. Di bawah sistem pengendalian Windows, anda boleh menyemak status perkhidmatan mendengar melalui langkah berikut:

  1. Buka tetingkap "Command Prompt".
  2. Masukkan arahan "lsnrctl status" dan tekan kekunci "Enter".

Jika anda melihat output yang serupa dengan maklumat berikut, perkhidmatan mendengar telah dimulakan:

LSNRCTL untuk Windows 64-bit: Versi 11.2.0.2.0 - Pengeluaran pada 08- JAN -2022 22:16:29
Hak Cipta (c) 1991, 2010, Oracle Semua hak terpelihara.
Menyambung ke (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=127.0.0.1)(PORT. = 1521)))

STATUS PENDENGAR

Alias ​​​​LISTENER_VERSION_1
Versi TNSLSNR untuk Windows 64-bit: Versi 11.2.0.2.0 - Pengeluaran
Tarikh Mula 8 -DEC- 2021 20:18:39
Masa beroperasi 11 hari 1 jam 57 min 50 saat
Tahap Jejak dimatikan
Keselamatan HIDUP: Pengesahan OS Setempat
SNMP DIMATIKAN
Parameter Pendengar :apporacleproduct11. 2.0dbhome_2networkadminlistener.ora
Fail Log Pendengar C:apporaclediagtnslsnrDESKTOPTestalertlog.xml
Ringkasan Titik Akhir Mendengar...
(DESKRIPSI=(.KODOR=(2.PROTO)(1.KOTAK=(2.PROTO)) =1521) ))
Ringkasan Perkhidmatan...
Perkhidmatan "ORCL" mempunyai 1 contoh.
Instance "ORCL", status SEDIA, mempunyai 1 pengendali untuk perkhidmatan ini...
Perkhidmatan "ORCLXDB" mempunyai 1 contoh.
Instance "ORCL", status SEDIA, mempunyai 1 pengendali untuk perkhidmatan ini...
Perkhidmatan "testdb" mempunyai 1 contoh .
Instance "testdb", status SEDIA, mempunyai 1 pengendali untuk perkhidmatan ini...
Perkhidmatan "testxdb" mempunyai 1 tika.
Instance "testdb", status SEDIA, mempunyai 1 pengendali untuk perkhidmatan ini...
Arahan berjaya diselesaikan.

Jika anda melihat output yang serupa dengan maklumat berikut, perkhidmatan mendengar belum dimulakan:

LSNRCTL untuk Windows 64-bit : Versi 11.2.0.2.0 - Pengeluaran pada 08-JAN-2022 22:17:43
Hak Cipta (c) 1991, 2010, Hak cipta terpelihara.
Menyambung ke (DESCRIPTION= (ALAMAT=(PROTOKOL =TCP)(HOST=127.0.0.1)(PORT=1521)))
TNS-12541: TNS:tiada pendengar
TNS-12560: TNS:ralat penyesuai protokol
TNS- 00511: Tiada pendengar
Ralat Windows 64-bit: 61: Ralat tidak diketahui
Penyelesaian: Jika status perkhidmatan mendengar dimulakan, tiada tindakan diperlukan. Jika status perkhidmatan mendengar dihentikan atau digantung, anda perlu memulakan perkhidmatan mendengar.

Di bawah sistem pengendalian Windows, anda boleh memulakan perkhidmatan mendengar Oracle melalui langkah berikut:

  1. Buka tetingkap "Command Prompt".
  2. Masukkan arahan "lsnrctl start" dan tekan kekunci "Enter".

Kaedah 2: Semak penghunian port

Jika perkhidmatan mendengar Oracle tidak dapat dimulakan, ini mungkin kerana port telah diisi. Anda boleh menyemak penghunian port melalui langkah berikut:

  1. Buka tetingkap "Command Prompt".
  2. Masukkan arahan "netstat -an" dan tekan kekunci "Enter".
  3. Cari baris dengan nombor port 1521 dalam output:

TCP 127.0.0.1:1521 0.0.0.0:0 MENDENGAR

Jika anda melihat sesuatu seperti Maklumat keluaran di atas menunjukkan bahawa pelabuhan telah diduduki.

Penyelesaian: Anda boleh melepaskan port dengan mengikuti langkah berikut:

  1. Buka tetingkap Command Prompt.
  2. Masukkan arahan "taskkill /pid [PID] /f" dan tekan kekunci "Enter", dengan [PID] ialah ID proses yang menduduki port. Contohnya, jika ID proses ialah 1234, anda boleh memasukkan arahan berikut:

taskkill /pid 1234 /f

  1. Periksa penghunian port sekali lagi untuk memastikan bahawa pelabuhan telah dikeluarkan.

Kaedah 3: Semak resolusi nama TNS

Jika anda melihat output berikut semasa menjalankan arahan "lsnrctl status":

LSNRCTL untuk Windows 64-bit: Versi 11.2.0.2.0 - Pengeluaran pada 08-JAN-2022 22:17:43
Hak Cipta (c) 1991, 2010, Hak cipta terpelihara.
Menyambung ke (DESCRIPTION=(ADDRESS=(PROTOCOL=. TCP)(HOST=127.0.0.1)(PORT=1521)))
TNS-12541: TNS:tiada pendengar
TNS-12560: TNS:ralat penyesuai protokol
TNS-00511: Tiada pendengar
Ralat Windows 64-bit: 61: Ralat tidak diketahui

Ini mungkin disebabkan oleh ralat resolusi nama TNS.

Penyelesaian: Resolusi nama TNS boleh disemak dengan mengikuti langkah berikut:

  1. Buka fail "tnsnames.ora" klien Oracle.
  2. Pastikan peleraian nama TNS betul. Contohnya, untuk peleraian nama TNS berikut:

ORCL =
(DESCRIPTION =

(ADDRESS_LIST =
  (ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521))
)
(CONNECT_DATA =
  (SERVER = DEDICATED)
  (SERVICE_NAME = orcl)
)

)

Nama TNS di sini ialah "ORCL ".

Kaedah 4: Semak konfigurasi perkhidmatan mendengar

Jika tiada kaedah di atas menyelesaikan masalah, ia mungkin disebabkan oleh konfigurasi perkhidmatan pendengaran yang salah. Anda boleh menyemak konfigurasi perkhidmatan mendengar dengan mengikuti langkah berikut:

  1. Buka fail konfigurasi perkhidmatan mendengar Oracle (fail listener.ora).
  2. Semak sama ada sintaks fail konfigurasi adalah betul.
  3. Fail konfigurasi boleh dipulihkan daripada fail sandaran jika perlu.

Ringkasan

Ia adalah masalah biasa bahawa perkhidmatan mendengar Oracle tidak boleh dimulakan. Terdapat banyak sebab untuk masalah ini, yang mungkin disebabkan oleh status perkhidmatan pendengaran yang salah, pekerjaan pelabuhan, ralat resolusi nama TNS atau konfigurasi perkhidmatan pendengaran yang salah. Untuk menyelesaikan masalah ini, anda boleh menyemak status perkhidmatan mendengar, menyemak penghunian port, menyemak resolusi nama TNS dan menyemak konfigurasi perkhidmatan mendengar. Apabila menyelesaikan masalah ini, pendekatan yang berbeza diperlukan bergantung pada situasi tertentu. Melalui pengenalan artikel ini, saya percaya bahawa pembaca boleh menyelesaikan masalah tidak dapat memulakan perkhidmatan pemantauan Oracle dengan lebih baik.

Atas ialah kandungan terperinci [Ringkasan] Sebab dan penyelesaian untuk perkhidmatan pemantauan oracle gagal dimulakan. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn