it-swarm.com.de

Die Oracle 12c Express Enterprise Manager-Webseite wird nicht geladen

Problemzusammenfassung

Wenn Sie zum Oracle 12c EM Express-Webinterface navigieren, tritt bei Verwendung einer URL wie dem folgenden eine Zeitüberschreitung auf:

  • http (s): // Hostname: 5500/em
  • http (s): //hostname.domain: 5500/em

Bei Verwendung einer URL mit der IP-Adresse oder localhost wird die Seite geladen, jedoch sehr, sehr langsam (bis zu 5 Minuten).

  • http (s): // IP-Adresse/em
  • http (s): // localhost/em

Bei Verwendung des Hostnamens werden im Listener-Protokoll Fehler angezeigt (mehrere davon):

03-DEC-2015 11:25:33 * http * (ADDRESS=(PROTOCOL=tcps)(Host=<ip address>%14)(PORT=52925)) * handoff * http * 12518
TNS-12518: TNS:listener could not hand off client connection
TNS-12560: TNS:protocol adapter error

Bei Verwendung der IP-Adresse oder des lokalen Hosts werden im Listener-Protokoll keine Fehler angezeigt:

03-DEC-2015 11:23:39 * http * (ADDRESS=(PROTOCOL=tcps)(Host=<ip address>)(PORT=52902)) * handoff * http * 0

Dieses Problem tritt im gesamten Web auf (siehe Referenzen in der Fußzeile), und niemand scheint in der Lage zu sein, die Ursache dafür zu finden. Ich habe jeden Vorschlag ausprobiert, den ich finden konnte, und die Ergebnisse unten aufgelistet. Ich werde dieser großartigen Community einen Knaller geben, und dann geht es zum Oracle-Support ...

Plattforminformationen

  • Windows Server 2012 R2 x64
  • Oracle 12.1.0.2.0
  • Eine Multitenant-Container-Datenbank (CDB) mit zwei Pluggable-Datenbanken (PDB)
  • Das automatische Speichermanagement (ASM) wird nicht verwendet
  • Lokale Tests auf dem Server durchführen, wobei die Firewall vollständig deaktiviert ist

Tests bereits durchgeführt

emctl
Viele Leute würden vorschlagen, "emctl" aus Gewohnheit zu überprüfen. Dies ist für 12c nicht vorhanden, da EM Express und nicht die Datenbanksteuerung verwendet wird.

http/https
Ich habe dies eingerichtet und für http und https getestet. Kein Unterschied.

Browser
Ich habe dies in Vanilla-Installationen von IE 11, chrome und Firefox. Keine Add-Ons aktiviert) getestet.

Datenbankzugriff
Auf die CDBs und PDBs kann über SQLPlus zugegriffen und abgefragt werden

Telnet
Das Öffnen von Telnet-Verbindungen zu den Ports (z. B. 5500) funktioniert.

Alarmprotokoll
Das Oracle-Warnprotokoll enthält keine Fehlermeldungen.

Meine Hypothesen

  • Etwas im Zusammenhang mit der Suche nach Hostnamen, da dies bei Verwendung der IP-Adresse anstelle des Hostnamens leicht funktioniert.
  • Etwas im Zusammenhang mit dem Zertifikat, obwohl das gleiche Problem für http auftritt.
  • Etwas im Zusammenhang mit der Konfiguration der XDB oder des Listener-Dienstes.
  • Etwas, das mit dem Domain-Teil des Hostnamens zusammenhängt, der enthalten ist oder nicht. Wie wird dies in den meisten Konfigurationsdateien hinzugefügt, aber vielleicht nicht überall?

Detaillierte Plattforminformationen

Hinweis: In diesen Snippets habe ich immer den tatsächlichen Hostnamen durch "HOSTNAME" und die tatsächliche Domain durch "domain" ersetzt. Wenn "HOSTNAME" verwendet wird, bedeutet dies, dass der Domainname nicht nachgestellt wurde. Der Fall stellt den tatsächlichen Fall dar, in dem der Hostname angezeigt wird.

SYS_CONTEXT ('USERENV', 'SERVER_Host')
Hostname

Hostname Variable in CMD
HOSTNAME

SYS_CONTEXT ('USERENV', 'DB_DOMAIN')
Domain

dbms_xdb_config.gethttpsport ()
5500

dbms_xdb_config.gethttpport ()
2200

Ausgabe "lsnrctl status"

    LSNRCTL for 64-bit Windows: Version 12.1.0.2.0 - Production on 03-DEC-2015 15:33:12

    Copyright (c) 1991, 2014, Oracle.  All rights reserved.

    Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(Host=hostname.domain)(PORT=1521)))
    STATUS of the LISTENER
    ------------------------
    Alias                     listener
    Version                   TNSLSNR for 64-bit Windows: Version 12.1.0.2.0 - Production
    Start Date                03-DEC-2015 12:27:51
    Uptime                    0 days 3 hr. 5 min. 21 sec
    Trace Level               off
    Security                  ON: Local OS Authentication
    SNMP                      OFF
    Listener Parameter File   C:\Oracle\HOME\network\admin\listener.ora
    Listener Log File         C:\Oracle\diag\tnslsnr\HOSTNAME\listener\alert\log.xml
    Listening Endpoints Summary...
      (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(Host=HOSTNAME.domain)(PORT=1521)))
      (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(PIPENAME=\\.\pipe\EXTPROC1521ipc)))
      (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(Host=HOSTNAME.domain)(PORT=2200))(Presentation=HTTP)(Session=RAW))
      (DESCRIPTION=(ADDRESS=(PROTOCOL=tcps)(Host=HOSTNAME.domain)(PORT=5501))(Security=(my_wallet_directory=C:\Oracle\admin\ecoomdb\xdb_wallet))(Presentation=HTTP)(Session=RAW))
      (DESCRIPTION=(ADDRESS=(PROTOCOL=tcps)(Host=HOSTNAME.domain)(PORT=5500))(Security=(my_wallet_directory=C:\Oracle\admin\ecoomdb\xdb_wallet))(Presentation=HTTP)(Session=RAW))
    Services Summary...
    Service "CLRExtProc" has 1 instance(s).
      Instance "CLRExtProc", status UNKNOWN, has 1 handler(s) for this service...
    Service "bibliodb.domain" has 1 instance(s).
      Instance "ecoomdb", status READY, has 1 handler(s) for this service...
    Service "ecoomdb.domain" has 1 instance(s).
      Instance "ecoomdb", status READY, has 1 handler(s) for this service...
    Service "ecoomdbXDB.domain" has 1 instance(s).
      Instance "ecoomdb", status READY, has 1 handler(s) for this service...
    Service "technodb.domain" has 1 instance(s).
      Instance "ecoomdb", status READY, has 1 handler(s) for this service...
    The command completed successfully

Ausgabe "lsnrctl services"

    LSNRCTL for 64-bit Windows: Version 12.1.0.2.0 - Production on 03-DEC-2015 15:34:22

    Copyright (c) 1991, 2014, Oracle.  All rights reserved.

    Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(Host=HOSTNAME.domain)(PORT=1521)))
    Services Summary...
    Service "CLRExtProc" has 1 instance(s).
      Instance "CLRExtProc", status UNKNOWN, has 1 handler(s) for this service...
        Handler(s):
          "DEDICATED" established:0 refused:0
             LOCAL SERVER
    Service "bibliodb.domain" has 1 instance(s).
      Instance "ecoomdb", status READY, has 1 handler(s) for this service...
        Handler(s):
          "DEDICATED" established:9 refused:0 state:ready
             LOCAL SERVER
    Service "ecoomdb.domain" has 1 instance(s).
      Instance "ecoomdb", status READY, has 1 handler(s) for this service...
        Handler(s):
          "DEDICATED" established:9 refused:0 state:ready
             LOCAL SERVER
    Service "ecoomdbXDB.domain" has 1 instance(s).
      Instance "ecoomdb", status READY, has 1 handler(s) for this service...
        Handler(s):
          "D000" established:8 refused:21 current:0 max:1022 state:ready
             DISPATCHER <machine: HOSTNAME, pid: 4040>
             (ADDRESS=(PROTOCOL=tcp)(Host=HOSTNAME.domain)(PORT=49179))
    Service "technodb.domain" has 1 instance(s).
      Instance "ecoomdb", status READY, has 1 handler(s) for this service...
        Handler(s):
          "DEDICATED" established:9 refused:0 state:ready
             LOCAL SERVER
    The command completed successfully

listener.ora

    SID_LIST_LISTENER =
      (SID_LIST =
        (SID_DESC =
          (SID_NAME = CLRExtProc)
          (Oracle_HOME = C:\Oracle\HOME)
          (PROGRAM = extproc)
          (ENVS = "EXTPROC_DLLS=ONLY:C:\Oracle\HOME\bin\oraclr12.dll")
        )
      )

    LISTENER =
      (DESCRIPTION_LIST =
        (DESCRIPTION =
          (ADDRESS = (PROTOCOL = TCP)(Host = HOSTNAME.domain)(PORT = 1521))
          (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521))
        )
      )

init.ora (Beschnitten, enthält auch andere Einstellungen ...)

db_domain=domain
db_name="ecoomdb"
dispatchers="(PROTOCOL=TCP) (SERVICE=ecoomdbXDB)"
local_listener=LISTENER*

netstat -a
(Relevante Auswahl)

 TCP    0.0.0.0:1521           ECONECOOMDB1:0         LISTENING
TCP    0.0.0.0:5500           ECONECOOMDB1:0         LISTENING
TCP    0.0.0.0:5501           ECONECOOMDB1:0         LISTENING
TCP    [::]:5500              ECONECOOMDB1:0         LISTENING
TCP    [::]:5501              ECONECOOMDB1:0         LISTENING

Windows-Hosts-Datei
(Diese Datei ist leer)

Umgebungsvariablen

  • PATH enthält C:\Oracle\HOME\bin
  • Oracle_HOME = C:\Oracle\HOME
  • Oracle_SID = ecoomdb

Registrierung HKEY_LOCAL_MACHINE\SOFTWARE\Oracle\KEY_OraDB12Home1

  • Oracle_HOME = C:\Oracle\HOME
  • Oracle_SID = ecoomdb

Verwandte und doppelte (unbeantwortete) Fragen/Dokumente

Online-Ressourcen

Fragen zum Stapelaustausch

Reddit-Threads

Oracle-Community

13
Wouter

Was erhalten Sie, wenn Sie diese Befehle auf db Host ausführen?

from Befehl Eingabeaufforderung ping Host-Ping-IP-Adresse (Host-IP-Adresse) tnsping tnsalias

führen Sie die Dienste lsnrctl aus und prüfen Sie, ob Verbindungen abgelehnt wurden

wenn der Oracle-Client auf dem Client-Computer installiert ist (von wo aus Sie auf Oracle em Express zugreifen)

führen Sie den Befehl aus. Eingabeaufforderung 1) Ping-IP-Adresse (Datenbank-Host-IP-Adresse) - >> Wenn Sie eine Fehlermeldung erhalten, fügen Sie der Host-Datei IP-Adresse und Domänennamen hinzu. 2) tnsping tnsalias

Bearbeiten:

Dispatcher D000 zeigt 21 abgelehnte Verbindungen an. Sie haben ein Netzwerkproblem.

Versuchen Sie, den Listener neu zu starten und eine Verbindung zu em express herzustellen, und sehen Sie, dass die ideal abgelehnten Verbindungen der lsnrctl-Dienste Null sein sollten.

2
user82397

Nachdem ich mich an den Oracle-Support gewandt hatte, konnte ich herausfinden, was los war. Dieser Server verfügt über 4 Netzwerkadapter, 1 an das Netzwerk angeschlossenen Adapter und 3 nicht konfigurierte Adapter, die an einen iSCSI-Speicher angeschlossen sind. Das Problem scheint darauf zurückzuführen zu sein, dass der Webclient oder der EM-Server (hier nicht sicher) versucht, die Webseitenanforderung an den falschen Adapter zu senden.

Wenn Sie mit demselben Problem konfrontiert sind, können Sie dies überprüfen, indem Sie zur URL navigieren (unter Verwendung der Datei hostname.domain) und anschließend die Datei listener.log (-Oracle_base-/diag/tnslsnr/-instance-/listener/trace/listener) überprüfen. Log). In der Fehlermeldung wurde für mich eine andere IP-Adresse als die IP-Adresse des Hauptnetzwerkadapters des Servers angezeigt. Die IP-Adresse eines der mit dem iSCSI verbundenen Netzwerkadapter wurde angezeigt. Beim Weglassen der IP-Adressen in meinem ursprünglichen Beitrag habe ich diesen Unterschied in der IP-Adresse nicht festgestellt.

18-DEC-2015 14:17:04 * http * (ADDRESS=(PROTOCOL=tcps)(Host=<NOT SERVER IP address!>%14)(PORT=62119)) * handoff * http * 12518
TNS-12518: TNS:listener could not hand off client connection
 TNS-12560: TNS:protocol adapter error

Wenn Sie die zusätzlichen Netzwerkadapter deaktivieren, funktioniert alles einwandfrei.

Wenn Sie in Chrome zu "chrome: // net-internals/# dns" gehen, werden außerdem die IP-Adressen aller vier Netzwerkadapter für meinen Hostnamen angezeigt.

Anscheinend tritt dieses Problem nicht auf, wenn Sie von einem anderen Host zur Webseite navigieren. Außerdem gibt nslookup nur die richtige IP-Adresse zurück. Es scheint also, dass dies kein DNS-Problem ist, sondern ein lokales Problem. Ich denke, dies ist keine vollständige Antwort auf das Problem, da das Deaktivieren von Netzwerkadaptern keine endgültige Lösung sein kann, aber ich hoffe, dass jeder, der in Zukunft mit diesem Problem konfrontiert ist, jetzt "mehr zu tun" hat ...

Woher kommt die Diskrepanz zwischen der vom DNS-Server zurückgegebenen IP-Adresse und den von Webbrowsern verwendeten IP-Adressen?

Ich habe auch einige zusätzliche Änderungen vorgenommen, die die Endlösung beeinflusst haben könnten. Der Vollständigkeit halber werde ich sie einschließen. Nicht sicher, ob relevant ...:

  • Der Prozessparameter der Datenbank wurde von 300 auf 1000 erhöht
  • Der Parameter "Dispatcher" wurde durch Hinzufügen von "(DISPATCHERS = 5)" geändert.
1
Wouter

Ich hatte das gleiche Problem nach der Installation von Oracle 12.2.0.1 unter Windows 2016.

Zuerst stellte ich fest, dass TCP/IPv6 aktiviert war, und schaltete es aus.

Versuchen Sie dann, der Oracle-Hinweisnummer (Doc ID 1608258.1) zu folgen - 12c EM Express zeigt einen ungültigen Zertifikatfehler im Webbrowser an.

Hat auch nicht funktioniert.

Ich habe es nach alter Schule repariert ... :)

Ich habe festgestellt, dass der Windows-Benutzer Oracle_DBA (der sich am PC angemeldet und Oracle 12c installiert hat) keine Berechtigungen für die beiden Dateien im Ordner "xdb_wallet" hat.

Damit:

1- Ich habe den Besitz für den Ordner "xdb_wallet" von "Oracle_DBA" geändert:

(enter image description here

2- änderte den Besitz der 2 Dateien (ewallet.p12, cwallet.sso) unter dem Ordner "xdb_wallet" von Oracle_DBA:

(enter image description here

3- Ich habe Schritt 1 erneut ausgeführt und überprüft, ob sich der Besitz für die Datei 2 geändert hat.

Die Website https: // Hostname: 5500/em hat unter FireFox einwandfrei funktioniert, da IE11/Win2016 lustige Probleme mit Flash Player hat.

Ich weiß aus Sicherheitsgründen nicht, was dies bedeutet (Schritte 1 bis 3) oder welche Bedrohungen aufgrund dieser Änderungen auftreten können.

Bitte beraten Sie, wenn Sie wissen.

0
Najee Ghanim

Versuchen Sie es mit der IP-Adresse:

http(s)://192.168.1.100:5500/em

Auf diese Weise können Sie sicher sein, dass die Netzwerkkarte an die IP gebunden ist.

0
Brian McGinity