La pagina Web Oracle 12c Express Enterprise Manager non viene caricata


13

Riepilogo dei problemi

Quando si accede all'interfaccia Web di Oracle 12c EM Express, la pagina scade quando si utilizza un URL come:

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

Quando si utilizza un URL contenente l'indirizzo IP o localhost, la pagina viene caricata, ma molto lentamente (fino a 5 minuti).

  • http (s): // ip-address / em
  • http (s): // localhost / em

Quando si utilizza il nome host, il registro del listener mostra errori (multipli di questi):

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

Quando si utilizza l'indirizzo IP o localhost, il registro del listener non mostra errori:

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

Questo problema si presenta in tutto il Web (vedi riferimenti a piè di pagina) e nessuno sembra essere in grado di trovare la causa di ciò. Ho provato ogni suggerimento che ho trovato e ho elencato i risultati di seguito. Lascerò che questa fantastica community abbia una crepa, e poi sarà fuori dal supporto Oracle ...

Informazioni sulla piattaforma

  • Windows Server 2012 R2 x64
  • Oracle 12.1.0.2.0
  • Un database contenitore multi-tenant (CDB) con due database Pluggable (PDB)
  • La gestione automatica dell'archiviazione (ASM) non viene utilizzata
  • Esecuzione di test in locale sul server, con firewall completamente disabilitato

Test già eseguiti

emctl
Molte persone suggeriscono di controllare "emctl" per abitudine. Questo non esiste per 12c, poiché utilizza EM Express e non il controllo Database.

http / https
Ho impostato e testato questo per http e https. Nessuna differenza.

Browser
Ho provato questo nelle installazioni vanilla di IE 11, chrome e firefox. Nessun componente aggiuntivo abilitato.

Accesso al database È possibile accedere a
CDB e PDB e interrogare tramite SQLPlus

Telnet L'
apertura delle connessioni telnet alle porte (ad es. 5500) funziona.

Registro degli avvisi
Il registro degli avvisi di Oracle non contiene alcun messaggio di errore.

Le mie ipotesi

  • Qualcosa legato alla ricerca del nome host, poiché funziona -semplice- quando si utilizza l'indirizzo IP anziché il nome host.
  • Qualcosa correlato al certificato, sebbene lo stesso problema si presenti per http.
  • Qualcosa correlato alla configurazione dell'XDB o del servizio listener.
  • Qualcosa correlato alla parte di dominio del nome host inclusa o meno. Dato che questo viene aggiunto nella maggior parte dei file di configurazione, ma forse non ovunque?

Informazioni dettagliate sulla piattaforma

Nota: in questi frammenti, ho sempre sostituito il nome host effettivo con "HOSTNAME" e il dominio effettivo con "dominio". Se si utilizza "HOSTNAME", significa che non è stato seguito dal nome del dominio. Il caso rappresenta il caso effettivo in cui viene visualizzato il nome host.

SYS_CONTEXT (, 'SERVER_HOST' 'USERENV')
hostname

variabile hostname in CMD
HOSTNAME

SYS_CONTEXT (, 'DB_DOMAIN' 'USERENV')
del dominio

dbms_xdb_config.gethttpsport ()
5500

dbms_xdb_config.gethttpport ()
2200

Uscita "stato lsnrctl"

    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

Output "servizi 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 ( Ritagliato , contiene anche altre impostazioni ...)

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

netstat -a
(selezione pertinente)

 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

file hosts di windows
(questo file è vuoto)

Variabili ambientali

  • PERCORSO contiene C: \ ORACLE \ HOME \ bin
  • ORACLE_HOME = C: \ ORACLE \ HOME
  • ORACLE_SID = ecoomdb

Registro HKEY_LOCAL_MACHINE \ SOFTWARE \ ORACLE \ KEY_OraDB12Home1

  • ORACLE_HOME = C: \ ORACLE \ HOME
  • ORACLE_SID = ecoomdb

Domande / documenti correlati e duplicati (senza risposta)

Risorse online

Domande su Stackexchange

Discussioni Reddit

Comunità Oracle


Il nome host della tua macchina è in DNS o l'hai aggiunto al tuo file host?
Phil,

Il file hosts è vuoto. Non sono sicuro di come sia gestito esattamente il nome host, ma la rete utilizza un server ActiveDirectory in cui il server è registrato con il suo nome host e i server DNS lo riconoscono come tale.
Wouter,

Tutto suona sospettosamente come problemi / timeout DNS.
Philᵀᴹ

Qualche idea su come eseguire il debug, tenere traccia della causa esatta?
Wouter,

Risposte:


2

Cosa ottieni quando esegui questi comandi sull'host db

dal prompt dei comandi ping host ping ipaddress (host ipaddress) tnsping tnsalias

ed esegui i servizi lsnrctl e verifica se le connessioni vengono rifiutate

se il client Oracle è installato sul computer client (da cui si accede a Oracle Oracle Express)

esegui dal prompt dei comandi 1) ping ipaddress (indirizzo host db) - >> se ricevi un errore aggiungi ipaddress e nome dominio al file hosts 2) tnsping tnsalias

Modificare:

Dispatcher D000 mostra 21 connessioni rifiutate. Hai problemi di rete.

Prova a riavviare listener e connettiti a em express e vedi che l'output dei servizi lsnrctl idealmente le connessioni rifiutate dovrebbero essere zero.


Sto eseguendo tutti i test sull'host db. Il ping del nome host e dell'indirizzo IP e il trasferimento a CDB e PDB funzionano correttamente. Bella cattura delle connessioni rifiutate! Ho riavviato il listener e ho usato l'hostname-EM-URL: stesso problema "pagina web non disponibile" e lsnerctl non mostra ancora alcuna voce per XDB. Quando utilizzo ip-EM-URL EM si carica (lentamente) e ottengo una voce XDB, ma nessuna connessione rifiutata. Non ho idea di cosa farne, ma forse lo fa?
Wouter,

1
qual è l'output di questi due comandi dal contenitore db? SELEZIONA UTL_INADDR.get_host_address da dual; SELEZIONA UTL_INADDR.get_host_name da doppio;

host_address restituisce un indirizzo ipv6, l'host restituisce il nome host in maiuscolo, senza il dominio collegato. Ho anche eseguito un rapporto RDA, che mostrava "Ricerca DNS - NON RIUSCITA". Inoltre, Cloud Control non viene installato quando si utilizza il nome host, ma funziona quando si utilizza l'indirizzo IP. Ora sono sicuro che si tratta di una specie di problema DNS, non ho idea di come eseguire il debug / analisi ...
Wouter,

1

Dopo aver contattato il supporto Oracle, sono stato in grado di capire cosa stava succedendo. Questo server ha 4 adattatori di rete, 1 adattatore collegato alla rete e 3 adattatori non configurati collegati a una memoria iSCSI. Il problema sembra essere stato causato dal client Web o dal server EM (non sicuro qui) che tenta di inviare la richiesta della pagina Web all'adattatore errato.

Per chiunque si trovi ad affrontare lo stesso problema, puoi verificarlo andando all'URL (usando hostname.domain) e quindi controllando il file listener.log (-oracle_base- / diag / tnslsnr / -instance- / listener / trace / listener. log). Per me, nel messaggio di errore è stato mostrato un indirizzo IP diverso dall'indirizzo IP delle schede di rete principali del server. L'indirizzo IP di uno degli adattatori di rete collegati all'iSCSI dove mostrato. Quando ho omesso gli indirizzi IP nel mio post originale, non ho notato questa differenza di indirizzo 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

Quando si disabilitano le schede di rete aggiuntive, tutto funziona correttamente.

Inoltre, quando si va su "chrome: // net-internals / # dns" in chrome, gli indirizzi IP di tutte e quattro le schede di rete si sono presentati per il mio nome host.

Apparentemente, questo problema non si verifica quando si accede alla pagina Web da un altro host. Inoltre, nslookup restituisce solo l'indirizzo IP corretto. Quindi sembra che questo non sia un problema DNS, ma un problema locale. Penso che questa non sia una risposta completa al problema, poiché disabilitare gli adattatori di rete non può essere una soluzione definitiva, ma spero che chiunque affronti questo problema in futuro abbia "ancora da fare" ora ...

Da dove viene la discrepanza tra l'indirizzo IP restituito dal server DNS e gli indirizzi IP utilizzati dai browser Web?

Ho anche apportato alcune modifiche aggiuntive che potrebbero aver influenzato la soluzione finale, quindi per completezza le includerò. Non sono sicuro se pertinente ...:

  • Parametro dei processi aumentato del database da 300 a 1000
  • Modificato il parametro "dispatchers" aggiungendo "(DISPATCHERS = 5)"

0

Prova a utilizzare l'indirizzo IP:

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

In questo modo sarai sicuro di colpire la scheda di rete che si collega all'ip.


Presumo che intendi, provare ad aggiungere il numero di porta all'URL? Nel mio post ho detto che ho provato http (s): // indirizzo IP / em, tuttavia, sospetto che sia un errore di battitura e in realtà l'ho provato con il numero di porta. Non penso che si caricerebbe affatto sulla porta predefinita (80). Ad ogni modo, non ho modo di testarlo ora, poiché siamo passati da Oracle a SQL Server e non torneremo mai indietro. Oracle non ha senso in nulla tranne che negli ambienti colossali.
Wouter,

0

Ho avuto lo stesso problema dopo l'installazione di Oracle 12.2.0.1 su Windows 2016.

Innanzitutto ho scoperto che TCP / IPv6 era attivo, quindi l'ho spento.

Quindi ho provato a seguire il numero di nota Oracle (ID documento 1608258.1) - 12c EM Express mostra errore certificato non valido nel browser web.

Inoltre non ha funzionato.

L'ho riparato alla vecchia maniera ... :)

Ho scoperto che l'utente Windows Oracle_DBA (che ha effettuato l'accesso al PC e utilizzato per installare Oracle 12c) non ha alcuna autorizzazione per i 2 file nella cartella "xdb_wallet".

Così:

1- Ho cambiato la proprietà della cartella "xdb_wallet" da qualunque cosa fosse a Oracle_DBA:

inserisci qui la descrizione dell'immagine

2- ha cambiato la proprietà dei 2 file (ewallet.p12, cwallet.sso) nella cartella "xdb_wallet" da qualunque cosa fosse a Oracle_DBA:

inserisci qui la descrizione dell'immagine

3- Ho eseguito nuovamente il passaggio 1 e verificato che la proprietà sia cambiata per il file 2.

Il sito web https: // nome host: 5500 / em ha funzionato bene su FireFox, perché IE11 / Win2016 ha problemi divertenti con Flash Player.

Non so dal punto di vista della sicurezza cosa significhi (passaggi 1-3) o quali minacce potrebbero verificarsi a causa di tali cambiamenti.

Si prega di avvisare se lo sapete.


-1

Verifica l'indirizzo IP per il nome host nel /etc/hostsfile

ad esempio, di seguito è riportato il mio file hosts

127.0.0.1       localhost
10.148.180.115  tom

tomè il mio nome host ed 10.148.180.115è l'indirizzo IP per il mio host

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.