Problemzusammenfassung
Beim Browsen zum Oracle 12c EM Express-Webinterface tritt eine Zeitüberschreitung auf, wenn eine URL wie die folgende verwendet wird:
- http (s): // Hostname: 5500 / em
- http (s): //hostname.domain: 5500 / em
Bei Verwendung einer URL, die die IP-Adresse oder localhost enthält, 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 Verweise in der Fußzeile), und niemand scheint in der Lage zu sein, die Ursache dafür zu finden. Ich habe versucht, jeden Vorschlag, den ich finden konnte, und die Ergebnisse unten aufgeführt. Ich werde dieser großartigen Community eine Chance geben, und dann geht es an den Oracle-Support ...
Plattforminformationen
- Windows Server 2012 R2 x64
- Oracle 12.1.0.2.0
- Eine Multitenant-Container-Datenbank (CDB) mit zwei Pluggable-Datenbanken (PDB)
- Automatic Storage Management (ASM) wird nicht verwendet
- Lokale Durchführung von Tests auf dem Server bei vollständig deaktivierter Firewall
Tests bereits durchgeführt
emctl
Viele Leute würden vorschlagen, "emctl" aus Gewohnheit zu überprüfen. Dies ist in 12c nicht vorhanden, da EM Express und nicht die Datenbanksteuerung verwendet wird.
http / https
habe ich eingerichtet und auf http und https getestet. Kein Unterschied.
Browser
Ich habe dies in Vanille-Installationen von IE 11, Chrome und Firefox getestet. Keine Add-Ons aktiviert.
Datenbankzugriff
Sowohl auf die CDB als auch auf die PDB kann über SQLPlus zugegriffen und abgefragt werden
Telnet Das
Öffnen von Telnet-Verbindungen zu den Ports (z. B. 5500) funktioniert.
Warnprotokoll
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 problemlos funktioniert.
- Etwas im Zusammenhang mit dem Zertifikat, obwohl das gleiche Problem bei http auftritt.
- Etwas im Zusammenhang mit der Konfiguration des XDB- oder Listener-Dienstes.
- Etwas im Zusammenhang mit dem Domain-Teil des Hostnamens, der enthalten ist oder nicht. Wie wird das 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 es nicht vom Domain-Namen gefolgt wurde. Der Fall stellt den tatsächlichen Fall dar, in dem der Hostname angezeigt wird.
SYS_CONTEXT ('USERENV', 'SERVER_HOST')
Hostname
Hostnamenvariable in CMD
HOSTNAME
SYS_CONTEXT ( 'USERENV', 'DB_DOMAIN')
Domain
dbms_xdb_config.gethttpsport ()
5500
dbms_xdb_config.gethttpport ()
2200
Ausgang "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 von "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
Internetquellen
Stapelwechselfragen
- Es kann keine Verbindung zu Oracle 12c Enterprise Manager Express hergestellt werden
- "Seite kann nicht angezeigt werden" mit Oracle 12c Enterprise Manager Database Express
- Starten Sie Oracle 12c Enterprise Manager in Windows 7
- Wie starte ich ORACLE 12C EM?
- Oracle 12c Express Enterprise Manager unter Centos 6.5 ist nicht erreichbar
Reddit-Threads
https://www.reddit.com/r/oracle/comments/2pq7wz/oracle_12c_express_enterprise_manager/
https://www.reddit.com/r/oracle/comments/29npk2/having_trouble_getting_enterprise_manager_express/
Oracle-Community
- https://community.oracle.com/thread/3595774?start=0&tstart=0
- https://community.oracle.com/thread/2590962?start=0&tstart=0
- https://community.oracle.com/thread/3730316?start=0&tstart=0
- https://community.oracle.com/thread/3739356?start=0&tstart=0
- https://community.oracle.com/thread/3682977?start=0&tstart=0
Antworten:
Was bekommen Sie, wenn Sie diese Befehle auf db host ausführen?
an der Eingabeaufforderung ping host ping ipaddress (host ipaddress) tnsping tnsalias
Führen Sie lsnrctl-Dienste aus und prüfen Sie, ob eine oder mehrere Verbindungen abgelehnt wurden
Wenn Oracle Client auf dem Client-Computer installiert ist (von dem aus Sie auf Oracle EM Express zugreifen)
Führen Sie den Befehl an der Eingabeaufforderung aus. 1) ping ipaddress (db host ipaddress) - >> Wenn Sie eine Fehlermeldung erhalten, fügen Sie der Hostdatei ipaddress und domain name hinzu. 2) tnsping tnsalias
Bearbeiten:
In Dispatcher D000 werden 21 Verbindungen abgelehnt. Es liegt ein Netzwerkproblem vor.
Versuchen Sie, den Listener neu zu starten und eine Verbindung zu em express herzustellen, und sehen Sie, dass die Ausgabe der lsnrctl-Dienste idealerweise keine Verbindungen zulässt.
quelle
Nachdem ich mich an den Oracle-Support gewandt hatte, konnte ich herausfinden, was los war. Dieser Server verfügt über 4 Netzwerkadapter, 1 Adapter, der mit dem Netzwerk verbunden ist, und 3 nicht konfigurierte Adapter, die mit einem iSCSI-Speicher verbunden 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 das gleiche Problem haben, können Sie dies überprüfen, indem Sie zur URL navigieren (mit dem Hostnamen.domain) und dann die Datei listener.log (-oracle_base- / diag / tnslsnr / -instance- / listener / trace / listener) überprüfen. Log). Für mich wurde in der Fehlermeldung eine andere IP-Adresse als die IP-Adresse des Hauptnetzwerkadapters des Servers angezeigt. Die IP-Adresse eines der mit dem iSCSI verbundenen Netzwerkadapter wird angezeigt. Wenn ich die IP-Adressen in meinem ursprünglichen Beitrag weglasse, habe ich diesen IP-Adressunterschied nicht festgestellt.
Wenn Sie die zusätzlichen Netzwerkadapter deaktivieren, funktioniert alles einwandfrei.
Wenn ich in Chrome zu "chrome: // net-internals / # dns" gehe, 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 aus auf die 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 jemand, der sich diesem Problem in Zukunft gegenübersieht, 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 einbeziehen. Nicht sicher, ob relevant ...:
quelle
Versuchen Sie es mit der IP-Adresse:
Auf diese Weise können Sie sicher sein, dass die Netzwerkkarte an die IP gebunden ist.
quelle
Ich hatte das gleiche Problem nach der Installation von Oracle 12.2.0.1 unter Windows 2016.
Zuerst habe ich festgestellt, dass TCP / IPv6 aktiviert ist, und habe es daher deaktiviert.
Versuchen Sie es dann mit der folgenden Oracle-Hinweisnummer (Doc ID 1608258.1). 12c EM Express zeigt im Webbrowser den Fehler "Ungültiges Zertifikat" an.
Hat auch nicht funktioniert.
Ich habe es nach alter Schule repariert ... :)
Ich habe festgestellt, dass der Windows-Benutzer Oracle_DBA (der sich auf dem PC angemeldet und zur Installation von Oracle 12c verwendet hat) keine Berechtigungen für die 2 Dateien im Ordner "xdb_wallet" hat.
So:
1- Ich habe den Besitz für den Ordner "xdb_wallet" von "was auch immer" in "Oracle_DBA" geändert:
2- änderte den Besitz der 2 Dateien (ewallet.p12, cwallet.sso) unter dem Ordner "xdb_wallet" von was auch immer es war zu Oracle_DBA:
3- Ich habe Schritt 1 erneut ausgeführt und überprüft, ob sich der Besitz für die 2-Datei geändert hat.
Die Website https: // hostname: 5500 / em hat in FireFox einwandfrei funktioniert, da IE11 / Win2016 unterhaltsame Probleme mit Flash Player hat.
Ich weiß aus Sicherheitsgründen nicht, was dies bedeutet (Schritte 1-3) oder welche Bedrohungen aufgrund dieser Änderungen auftreten können.
Bitte beraten Sie, wenn Sie wissen.
quelle
Überprüfen Sie die IP-Adresse für den Hostnamen in der
/etc/hosts
DateiDas Folgende ist beispielsweise meine Hosts-Datei
tom
ist mein Hostname und10.148.180.115
die IP-Adresse für meinen Hostquelle