Oracle
 sql >> Datenbank >  >> RDS >> Oracle

Oracle-Listener so konfigurieren, dass er extern lauscht

Wenn Sie möchten, dass Ihr Listener interne und externe Verbindungen mit beiden Adressen handhabt, müssen Sie beide in der listener.ora auflisten , indem Sie eine ADDRESS_LIST hinzufügen Ebene mit ausgeglichenen Klammern:

LISTENER =
  (DESCRIPTION_LIST =
    (DESCRIPTION =
      (ADDRESS_LIST=
        (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521))
        (ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521))
        (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.10.110)(PORT = 1521))
      )
    )
  )

Für beide Adressen kann derselbe Port verwendet werden, oder sie können unterschiedlich sein, wenn Sie dies bevorzugen. Wenn sie unterschiedlich sind, könnte ein separater Listener weniger verwirrend sein, aber es wird so oder so funktionieren.

Sie müssen dann den Listener stoppen und starten, um die Änderungen zu übernehmen. Sie können mit lsnrctl status überprüfen, worauf es lauscht und/oder netstat.

Sie können auch überprüfen, wie sich Ihre Datenbank registriert, indem Sie sich den LOCAL_LISTENER ansehen Initialisierungsparameter. Wenn dies nicht festgelegt ist oder einen Hostnamen verwendet, überprüfen Sie, ob es zu einer der von Ihnen angegebenen IP-Adressen aufgelöst wird - entweder über DNS oder in /etc/hosts. Wenn es nicht richtig aufgelöst werden kann, kann es sich nicht beim Listener lsnrctl services registrieren listet seine Dienstnamen nicht auf, und Sie können sich nicht über SQL*Net mit einem Dienstnamen verbinden. (Oder eine SID, da Sie SID_LIST_LISTENER nicht haben Einträge).