Oracle XE 18C Express Edition Ora-12541: TNS: нет слушателя

Я установил Oracle XE 18C Express Edition на свою Windows 10 и в первый раз успешно подключился к подключаемой базе данных XEPDB1, после чего все мои соблазны подключиться к этой базе данных потерпели неудачу. Я получаю следующее сообщение об ошибке:

Ora-12541 : TNS : No listener.

При проверке панели управления все следующие службы работают: OracleOraDB18Home1MTSRecoveryServiceOracleOraDB18Home1TNSListenerOracleServiceXE только следующая служба не работает: OracleVssWriterXE. Когда я проверил статус слушателя по умолчанию "xe", я получил:

LSNRCTL> status xe
Connexion α (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=****)(PORT=1521)))
TNS-12541: TNS : aucun processus d'Θcoute
 TNS-12560: TNS : erreur d'adaptateur de protocole
  TNS-00511: Pas de processus d'Θcoute
   64-bit Windows Error: 61: Unknown error
Connexion α (DESCRIPTION=(ADDRESS=(PROTOCOL=IPC)(KEY=EXTPROC1521)))
TNS-12541: TNS : aucun processus d'Θcoute
 TNS-12560: TNS : erreur d'adaptateur de protocole
  TNS-00511: Pas de processus d'Θcoute
   64-bit Windows Error: 2: No such file or directory

Вот содержимое моего listener.ora:

# listener.ora Network Configuration File: C:\app\windows\product\18.0.0\dbhomeXE\NETWORK\ADMIN\listener.ora
# Generated by Oracle configuration tools.

DEFAULT_SERVICE_LISTENER = XE

SID_LIST_LISTENER =
  (SID_LIST =
    (SID_DESC =
      (SID_NAME = CLRExtProc)
      (ORACLE_HOME = C:\app\windows\product\18.0.0\dbhomeXE)
      (PROGRAM = extproc)
      (ENVS = "EXTPROC_DLLS=ONLY:C:\app\windows\product\18.0.0\dbhomeXE\bin\oraclr18.dll")
    )
  )

XE =
  (DESCRIPTION_LIST =
    (DESCRIPTION =
      (ADDRESS = (PROTOCOL = TCP)(HOST = ****)(PORT = 1521))
      (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521))
    )
  )

А вот мой tnsnames.ora:

# tnsnames.ora Network Configuration File: C:\app\windows\product\18.0.0\dbhomeXE\NETWORK\ADMIN\tnsnames.ora
# Generated by Oracle configuration tools.

XE =
  (DESCRIPTION =
    (ADDRESS = (PROTOCOL = TCP)(HOST = ****)(PORT = 1521))
    (CONNECT_DATA =
      (SERVER = DEDICATED)
      (SERVICE_NAME = XE)
    )
  )

LISTENER_XE =
  (ADDRESS = (PROTOCOL = TCP)(HOST = ****)(PORT = 1521))


ORACLR_CONNECTION_DATA =
  (DESCRIPTION =
    (ADDRESS_LIST =
      (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521))
    )
    (CONNECT_DATA =
      (SID = CLRExtProc)
      (PRESENTATION = RO)
    )
  )

1 ответ

Учитывая опубликованный вами файл tnsnames.ora, вам необходимо добавить запись для подключаемой базы данных XEPDB1.

скопируйте существующую запись для XE и вставьте под записью XE.

Измените строку XE = на XEPDB1 = и отредактируйте строку SERVICE_NAME, заменив XE на XEPDB1.

Сохраните изменения, закройте файл, остановите все службы Oracle, перезапустите все службы Oracle, и все должно быть хорошо.

Другие вопросы по тегам