La página web de Oracle 12c Express Enterprise Manager no se carga


13

Resumen del problema

Al navegar a la interfaz web Oracle 12c EM Express, el tiempo de espera de la página cuando se usa una URL como:

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

Cuando se utiliza una URL que contiene la dirección IP, o localhost, la página se carga, pero muy muy lentamente (hasta 5 minutos).

  • http (s): // dirección-ip / em
  • http (s): // localhost / em

Cuando se usa el nombre de host, el registro de escucha muestra errores (varios de estos):

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

Cuando se usa la dirección IP o localhost, el registro de escucha no muestra errores:

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

Este problema aparece en toda la web (ver referencias en el pie de página), y parece que nadie puede encontrar la causa de esto. Intenté todas las sugerencias que pude encontrar y enumeré los resultados a continuación. Dejaré que esta gran comunidad se divierta, y luego se irá al soporte de Oracle ...

Información de la plataforma

  • Windows Server 2012 R2 x64
  • Oracle 12.1.0.2.0
  • Una base de datos de contenedor de múltiples inquilinos (CDB) con dos bases de datos conectables (PDB)
  • La gestión automática de almacenamiento (ASM) no se está utilizando
  • Realizar pruebas localmente en el servidor, con el firewall completamente deshabilitado

Pruebas ya realizadas

emctl
Mucha gente sugeriría marcar "emctl" por costumbre. Esto no existe para 12c, ya que utiliza EM Express y no el control de la base de datos.

http / https
que configuré y probé esto para http y https. Ninguna diferencia.

Navegador
He probado esto en instalaciones de vainilla de IE 11, Chrome y Firefox. No hay complementos habilitados.

Acceso a la base de datos Se puede acceder
tanto al CDB como al PDB y consultas a través de SQLPlus

Telnet
Abrir conexiones telnet a los puertos (por ejemplo, 5500) funciona.

Registro de alertas
El registro de alertas de Oracle no contiene ningún mensaje de error.

Mis hipótesis

  • Algo relacionado con la búsqueda de nombres de host, ya que funciona -sighty- cuando se usa la dirección IP en lugar del nombre de host.
  • Algo relacionado con el certificado, aunque el mismo problema aparece para http.
  • Algo relacionado con la configuración de XDB o servicio de escucha.
  • Algo relacionado con la parte del dominio del nombre de host que se incluye o no. Como esto se agrega en la mayoría de los archivos de configuración, ¿pero quizás no en todas partes?

Información detallada de la plataforma

Nota: En estos fragmentos, siempre he reemplazado el nombre de host real con "HOSTNAME" y el dominio real con "dominio". Si se usa "HOSTNAME", significa que no fue seguido por el nombre de dominio. El caso representa el caso real en el que se muestra el nombre de host.

SYS_CONTEXT ('USERENV', 'SERVER_HOST')
nombre de host

variable de nombre de host en CMD
HOSTNAME

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

dbms_xdb_config.gethttpsport ()
5500

dbms_xdb_config.gethttpport ()
2200

Salida "estado 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

Salida de "servicios 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 ( Recortado , también contiene otras configuraciones ...)

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

netstat -a
(selección relevante)

 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 file
(este archivo está vacío)

Variables de entorno

  • RUTA 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

Preguntas / documentos relacionados y duplicados (sin respuesta)

Recursos en línea

Preguntas de intercambio de pila

Hilos Reddit

Comunidad Oracle


¿El nombre de host de su máquina está en DNS o lo ha agregado a su archivo de hosts?
Philᵀᴹ

El archivo de hosts está vacío. No estoy seguro de cómo se administra exactamente el nombre de host, pero la red utiliza un servidor ActiveDirectory donde el servidor está registrado con su nombre de host, y los servidores DNS lo reconocen como tal.
Wouter

Todo suena sospechosamente a problemas / tiempos de espera de DNS.
Philᵀᴹ

¿Alguna idea sobre cómo depurar, rastrear la causa exacta?
Wouter

Respuestas:


2

¿Qué obtienes cuando ejecutas estos comandos en el host db?

desde el símbolo del sistema ping host ping ipaddress (host ipaddress) tnsping tnsalias

y ejecutar servicios lsnrctl y ver si se rechaza alguna conexión

si el cliente oracle está instalado en la máquina del cliente (desde donde está accediendo a oracle em express)

ejecutar desde el símbolo del sistema 1) ping ipaddress (db host ipaddress) - >> si obtiene un error, agregue ipaddress y nombre de dominio al archivo de hosts 2) tnsping tnsalias

Editar:

Dispatcher D000 muestra 21 conexiones rechazadas. Tiene un problema de red.

Intente reiniciar el oyente y conéctese a em express y vea que la salida de los servicios lsnrctl idealmente, las conexiones rechazadas deberían ser cero.


Estoy ejecutando todas las pruebas en el host db. Hacer ping al nombre de host y dirección de IP, y hacer tnsping a CDB y PDB funciona bien. Buena captura sobre las conexiones rechazadas! He reiniciado la escucha y he usado el nombre de host-EM-URL: mismo problema "página web no disponible", y lsnerctl no muestra ninguna entrada aún para XDB. Cuando uso ip-EM-URL, EM carga (lentamente) y obtengo una entrada XDB, pero no rechazo las conexiones. No tengo idea de qué hacer con esto, pero ¿quizás te sirva?
Wouter

1
¿Cuál es la salida de estos dos comandos del contenedor db? SELECCIONE UTL_INADDR.get_host_address de dual; SELECCIONE UTL_INADDR.get_host_name de dual;

host_address devuelve una dirección ipv6, el host devuelve el nombre de host en mayúsculas, sin el dominio adjunto. También ejecuté un informe RDA, y que mostró "Búsqueda DNS - FALLIDO". Además, Cloud Control no se instala cuando se usa el nombre de host, pero funciona cuando se usa la dirección IP. Ahora estoy seguro de que se trata de algún tipo de problema de DNS, no tengo ni idea de cómo depurar / analizar ...
Wouter

1

Después de contactar al soporte de Oracle, he podido entender qué estaba pasando. Este servidor tiene 4 adaptadores de red, 1 adaptador conectado a la red y 3 adaptadores no configurados conectados a un almacenamiento iSCSI. El problema parece ser causado por el cliente web o el servidor EM (no estoy seguro aquí) al intentar enviar la solicitud de la página web al adaptador incorrecto.

Para cualquiera que tenga el mismo problema, puede verificar esto navegando a la URL (usando el nombre de host.dominio) y luego verificando el archivo listener.log (-oracle_base- / diag / tnslsnr / -instance- / listener / trace / listener. Iniciar sesión). Para mí, en el mensaje de error se mostró una dirección IP diferente a la dirección IP de los adaptadores de red principales del servidor. La dirección IP de uno de los adaptadores de red conectados al iSCSI donde se muestra. Al omitir las direcciones IP en mi publicación original, no vi esta diferencia de dirección 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

Al deshabilitar los adaptadores de red adicionales, todo funciona bien.

Además, al ir a "Chrome: // net-internals / # dns" en Chrome, las direcciones IP de los cuatro adaptadores de red aparecieron para mi nombre de host.

Aparentemente, este problema, no ocurre, al navegar a la página web desde otro host. Además, nslookup solo devuelve la dirección IP correcta. Parece que esto no es un problema de DNS, sino un problema local. Creo que esta no es una respuesta completa al problema, ya que deshabilitar los adaptadores de red no puede ser una solución final, pero espero que cualquier persona que enfrente este problema en el futuro tenga "más para continuar" ahora ...

¿De dónde proviene la discrepancia entre la dirección IP devuelta por el servidor DNS y las direcciones IP utilizadas por los navegadores web?

También he realizado algunos cambios adicionales que pueden haber influido en la solución final, por lo que para completarlos los incluiré. No estoy seguro si es relevante ...:

  • Se incrementó el parámetro de procesos de la base de datos de 300 a 1000
  • Se modificó el parámetro "despachadores" agregando "(DISPATCHERS = 5)"

0

Intente usar la dirección IP:

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

De esta manera, se asegurará de presionar el enlace de la tarjeta de red a la IP.


Supongo que quieres decir, ¿intentas agregar el número de puerto a la URL? En mi publicación, dije que probé http (s): // ip-address / em, pero sospecho que es un error tipográfico y en realidad lo intenté con el número de puerto. No creo que se cargue en absoluto sobre el puerto predeterminado (80). De cualquier manera, no tengo forma de probar esto ahora, ya que hemos cambiado de Oracle a SQL Server, y nunca volveremos a mirar atrás. Oracle simplemente no tiene sentido en nada, excepto en entornos colosales.
Wouter

0

Tuve el mismo problema después de instalar Oracle 12.2.0.1 en Windows 2016.

Primero descubrí que TCP / IPv6 estaba activado, así que lo apagué.

Luego intenté seguir el Número de nota de Oracle (Doc ID 1608258.1): 12c EM Express muestra un error de certificado no válido en el navegador web.

Tampoco funcionó.

Lo arreglé por la vieja escuela ... :)

Descubrí que el usuario de Windows Oracle_DBA (que inició sesión en la PC y solía instalar Oracle 12c) no tiene ningún permiso en los 2 archivos en la carpeta "xdb_wallet".

Entonces:

1- Cambié la propiedad de la carpeta "xdb_wallet" de lo que sea a Oracle_DBA:

ingrese la descripción de la imagen aquí

2- cambió la propiedad de los 2 archivos (ewallet.p12, cwallet.sso) en la carpeta "xdb_wallet" de lo que sea a Oracle_DBA:

ingrese la descripción de la imagen aquí

3- Realicé el paso 1 nuevamente y verifiqué que la propiedad cambió para el archivo 2.

El sitio web https: // hostname: 5500 / em funcionó bien en Firefox, porque IE11 / Win2016 tiene problemas divertidos con Flash Player.

No sé, desde el punto de vista de la seguridad, qué significa eso (pasos 1-3) o qué amenazas pueden ocurrir debido a esos cambios.

Por favor consejo si lo sabes.


-1

Verifique la dirección IP para el nombre de host en el /etc/hostsarchivo

por ejemplo, el siguiente es mi archivo de hosts

127.0.0.1       localhost
10.148.180.115  tom

tomes mi nombre de host y 10.148.180.115es la dirección IP de mi host

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.