Strona internetowa Oracle 12c Express Enterprise Manager nie ładuje się

13

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

Wątki Reddit

Społeczność Oracle

Wouter
źródło
Czy nazwa hosta dla twojego komputera jest w DNS, czy dodałeś go do pliku hosts?
Philᵀᴹ
Plik hosts jest pusty. Nie jestem pewien, jak dokładnie zarządzana jest nazwa hosta, ale sieć korzysta z serwera ActiveDirectory, na którym jest zarejestrowana jego nazwa hosta, a serwery DNS rozpoznają ją jako taką.
Wouter
To wszystko brzmi podejrzanie jak problemy / przekroczenia limitu czasu DNS.
Philᵀᴹ
Masz pomysł na debugowanie, śledzenie dokładnej przyczyny?
Wouter

Odpowiedzi:

2

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
Uruchamiam wszystkie testy na hoście db. Pingowanie nazwy hosta i ipaddress oraz tnsping do CDB i PDB działa dobrze. Niezły chwyt na temat odmówionych połączeń! Zrestartowałem odbiornik i użyłem nazwy hosta-EM-URL: ten sam problem „strona niedostępna”, a lsnerctl nie pokazuje jeszcze żadnego wpisu dla XDB. Podczas korzystania z adresu IP ip-EM-URL EM ładuje się (powoli) i pojawia się wpis XDB, ale nie ma odrzuconych połączeń. Nie mam pojęcia, co o tym sądzić, ale może ci to robi?
Wouter,
1
jakie są dane wyjściowe tych dwóch poleceń z db kontenera? Wybierz UTL_INADDR.get_host_address z dual; WYBIERZ UTL_INADDR.get_host_name z dual;
adres_hosta zwraca adres ipv6, host zwraca wielką literę, bez przyłączonej domeny. Uruchomiłem również raport RDA, który pokazuje „DNS Lookup - FAILED”. Ponadto Cloud Control nie instaluje się, gdy używasz nazwy hosta, ale działa, gdy używasz adresu IP. Jestem teraz pewien, że jest to jakiś problem z DNS, nie mam pojęcia, jak debugować / analizować ...
Wouter
1

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.

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

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 ...

  • Zwiększono parametr procesów bazy danych z 300 do 1000
  • Zmieniono parametr „dyspozytorów”, dodając „(DISPATCHERS = 5)”
Wouter
źródło
0

Spróbuj użyć adresu IP:

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

W ten sposób z pewnością trafisz w kartę sieciową powiązaną z ip.

Brian McGinity
źródło
Zakładam, że masz na myśli, spróbuj dodać numer portu do adresu URL? W swoim poście powiedziałem, że wypróbowałem http (s): // adres-ip / em, ale podejrzewam, że to literówka i faktycznie spróbowałem z numerem portu. Nie sądzę, żeby ładował się w ogóle przez domyślny port (80). Tak czy inaczej, nie mam teraz możliwości przetestowania tego, ponieważ przeszliśmy z Oracle na SQL Server i nigdy nie będziemy oglądać się za siebie. Oracle po prostu nie ma sensu w niczym oprócz kolosalnych środowisk.
Wouter
0

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:

wprowadź opis zdjęcia tutaj

2- zmienił własność 2 plików (ewallet.p12, cwallet.sso) w folderze „xdb_wallet” z dowolnego innego na Oracle_DBA:

wprowadź opis zdjęcia tutaj

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.

Najee Ghanim
źródło
-1

Sprawdź adres IP nazwy hosta w /etc/hostspliku

na przykład poniżej znajduje się mój plik hosts

127.0.0.1       localhost
10.148.180.115  tom

tomto moja nazwa hosta i 10.148.180.115adres IP mojego hosta

użytkownik123317
źródło