Podsumowanie problemu
Podczas przeglądania strony internetowej Oracle 12c EM Express czas oczekiwania strony upływa przy użyciu adresu URL, takiego jak:
- http (s): // nazwa hosta: 5500 / em
- http (s): //hostname.domain: 5500 / em
Podczas korzystania z adresu URL zawierającego adres IP lub host lokalny strona ładuje się, ale bardzo wolno (do 5 minut).
- http (s): // adres ip / em
- http (s): // localhost / em
Podczas używania nazwy hosta dziennik nasłuchiwania pokazuje błędy (wiele z nich):
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
Podczas korzystania z adresu IP lub hosta lokalnego dziennik nasłuchiwania nie pokazuje błędów:
03-DEC-2015 11:23:39 * http * (ADDRESS=(PROTOCOL=tcps)(HOST=<ip address>)(PORT=52902)) * handoff * http * 0
Ten problem pojawia się w całej sieci (patrz odnośniki w stopce) i wydaje się, że nikt nie jest w stanie znaleźć przyczyny tego problemu. Wypróbowałem - każdą - sugestię, którą mogłem znaleźć, i wymieniłem wyniki poniżej. Pozwolę, aby ta wspaniała społeczność się na to zgodziła, a potem będzie to zależało od wsparcia Oracle ...
Informacje o platformie
- Windows Server 2012 R2 x64
- Oracle 12.1.0.2.0
- Wielozadaniowa baza danych kontenerów (CDB) z dwiema bazami danych wtykowymi (PDB)
- Automatyczne zarządzanie pamięcią masową (ASM) nie jest używane
- Wykonywanie testów lokalnie na serwerze z całkowicie wyłączoną zaporą ogniową
Testy już wykonane
emctl
Wiele osób sugeruje sprawdzenie „emctl” przyzwyczajenia. Nie dotyczy to 12c, ponieważ używa EM Express, a nie kontroli bazy danych.
http / https
Skonfigurowałem i przetestowałem to dla http i https. Bez różnicy.
Przeglądarka
Przetestowałem to w instalacjach waniliowych IE 11, Chrome i Firefox. Żadne dodatki nie są włączone.
Dostęp do bazy danych
Zarówno CDB, jak i PDB są dostępne i zapytania poprzez SQLPlus
Telnet
Działa otwieranie połączeń telnet do portów (np. 5500).
Dziennik alertów Dziennik alertów
Oracle nie zawiera żadnych komunikatów o błędach.
Moje hipotezy
- Coś związanego z wyszukiwaniem nazwy hosta, ponieważ działa -slighty-, gdy używasz adresu IP zamiast nazwy hosta.
- Coś związanego z certyfikatem, chociaż ten sam problem pojawia się w przypadku http.
- Coś związanego z konfiguracją XDB lub usługi nasłuchiwania.
- Coś związanego z częścią domeny nazwy hosta jest uwzględniona lub nie. Ponieważ jest to dodawane w większości plików konfiguracyjnych, ale może nie wszędzie?
Szczegółowe informacje o platformie
Uwaga: w tych fragmentach zawsze zastępowałem rzeczywistą nazwę hosta „HOSTNAME”, a rzeczywistą domenę „domeną”. Jeśli używana jest nazwa „HOSTNAME”, oznacza to, że nazwa domeny nie była śledzona. Przypadek reprezentuje rzeczywisty przypadek, w którym wyświetlana jest nazwa hosta.
SYS_CONTEXT („USERENV”, „SERVER_HOST”) nazwa
hosta
zmienna
nazwa hosta w CMD HOSTNAME
SYS_CONTEXT ( 'USERENV', 'DB_DOMAIN')
domeny
dbms_xdb_config.gethttpsport ()
5500
dbms_xdb_config.gethttpport ()
2200
Wyjście „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
Wyjście „usług lsnrctl”
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 ( przycięty , zawiera także inne ustawienia ...)
db_domain=domain
db_name="ecoomdb"
dispatchers="(PROTOCOL=TCP) (SERVICE=ecoomdbXDB)"
local_listener=LISTENER*
netstat -a
(odpowiedni wybór)
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
plik hosts systemu Windows
(ten plik jest pusty)
Zmienne środowiska
- ŚCIEŻKA zawiera C: \ ORACLE \ HOME \ bin
- ORACLE_HOME = C: \ ORACLE \ HOME
- ORACLE_SID = ecoomdb
Rejestr HKEY_LOCAL_MACHINE \ SOFTWARE \ ORACLE \ KEY_OraDB12
- ORACLE_HOME = C: \ ORACLE \ HOME
- ORACLE_SID = ecoomdb
Powiązane i zduplikowane pytania / dokumenty
Zasoby online
Pytania dotyczące wymiany stosu
- Nie można otworzyć / połączyć się z Oracle 12c Enterprise Manager Express
- „Nie można wyświetlić strony” w Oracle 12c Enterprise Manager Database Express
- Uruchom Oracle 12c Enterprise Manager w Windows 7
- Jak uruchomić ORACLE 12C EM?
- Oracle 12c Express Enterprise Manager na Centos 6.5 jest nieosiągalny
Wątki Reddit
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/
Społeczność Oracle
- 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
Odpowiedzi:
Co otrzymujesz po uruchomieniu tych poleceń na hoście db
z wiersza polecenia ping host host ping ipaddress (host ipaddress) tnsping tnsalias
i uruchom usługi lsnrctl i sprawdź, czy odmówiono jakichkolwiek połączeń
jeśli klient Oracle jest zainstalowany na komputerze klienta (z którego uzyskujesz dostęp do Oracle Express)
uruchom z wiersza polecenia 1) ping ipaddress (db host ipaddress) - >> jeśli pojawi się błąd, dodaj ipaddress i nazwę domeny do pliku hostów 2) tnsping tnsalias
Edytować:
Dispatcher D000 pokazuje 21 odmówionych połączeń. Masz problem z siecią.
Spróbuj zrestartować program nasłuchujący i połączyć się z em express i przekonaj się, że wyjście usług lsnrctl idealnie odmawia połączenia powinno wynosić zero.
źródło
Po skontaktowaniu się ze wsparciem Oracle, udało mi się dowiedzieć, co się dzieje. Ten serwer ma 4 karty sieciowe, 1 kartę podłączoną do sieci i 3 nieskonfigurowane karty podłączone do pamięci iSCSI. Problem wydaje się być spowodowany przez klienta WWW lub serwer EM (tutaj nie jestem pewien) próbujący wysłać żądanie strony do niewłaściwego adaptera.
Dla każdego, kto ma ten sam problem, możesz to sprawdzić, przechodząc do adresu URL (przy użyciu nazwy hosta.domain), a następnie sprawdzając plik listener.log (-oracle_base- / diag / tnslsnr / -instance- / listener / trace / listener. log). Dla mnie w komunikacie o błędzie pokazano inny adres IP niż adres IP głównych kart sieciowych serwerów. Adres IP jednej z kart sieciowych podłączonych do iSCSI, jeśli pokazano. Pomijając adresy IP w moim oryginalnym poście, nie zauważyłem różnicy adresów IP.
Podczas wyłączania dodatkowych kart sieciowych wszystko działa dobrze.
Dodatkowo, gdy przechodzisz do „chrome: // net-internals / # dns” w chrome, adresy IP wszystkich czterech kart sieciowych pokazały się dla mojej nazwy hosta.
Najwyraźniej ten problem się nie zdarza podczas przeglądania strony internetowej z innego hosta. Ponadto nslookup zwraca tylko poprawny adres IP. Wygląda więc na to, że nie jest to problem DNS, ale problem lokalny. Myślę, że nie jest to pełna odpowiedź na problem, ponieważ wyłączenie kart sieciowych nie może być ostatecznym rozwiązaniem, ale mam nadzieję, że każdy, kto napotka ten problem w przyszłości, ma teraz „więcej do zrobienia”…
Skąd bierze się rozbieżność między adresem IP zwróconym przez serwer DNS a adresami IP używanymi przez przeglądarki internetowe?
Wprowadziłem również dodatkowe zmiany, które mogły mieć wpływ na końcowe rozwiązanie, więc dla kompletności uwzględnię je. Nie jestem pewien, czy dotyczy ...
źródło
Spróbuj użyć adresu IP:
W ten sposób z pewnością trafisz w kartę sieciową powiązaną z ip.
źródło
Miałem ten sam problem po zainstalowaniu Oracle 12.2.0.1 w systemie Windows 2016.
Najpierw stwierdziłem, że protokół TCP / IPv6 jest włączony, więc go wyłączyłem.
Następnie wypróbowałem następujący numer Oracle Note (Doc ID 1608258.1) - 12c EM Express pokazuje błąd nieprawidłowego certyfikatu w przeglądarce internetowej.
Też nie działał.
Naprawiłem to oldschoolowym sposobem ... :)
Odkryłem, że użytkownik systemu Windows Oracle_DBA (zalogowany na komputerze i użyty do zainstalowania Oracle 12c) nie ma żadnych uprawnień do 2 plików w folderze „xdb_wallet”.
Więc:
1- Zmieniłem własność folderu „xdb_wallet” z cokolwiek to było na Oracle_DBA:
2- zmienił własność 2 plików (ewallet.p12, cwallet.sso) w folderze „xdb_wallet” z dowolnego innego na Oracle_DBA:
3- Zrobiłem krok 1 ponownie i sprawdziłem, czy własność zmieniła się dla pliku 2.
Witryna https: // nazwa hosta: 5500 / em działała dobrze w FireFox, ponieważ IE11 / Win2016 ma śmieszne problemy z Flash Playerem.
Nie wiem z punktu widzenia bezpieczeństwa, co to oznacza (kroki 1-3) ani jakie zagrożenia mogą się zdarzyć z powodu tych zmian.
Proszę o poradę, jeśli wiesz.
źródło
Sprawdź adres IP nazwy hosta w
/etc/hosts
plikuna przykład poniżej znajduje się mój plik hosts
tom
to moja nazwa hosta i10.148.180.115
adres IP mojego hostaźródło