Résumé du problème
Lorsque vous accédez à l'interface Web Oracle 12c EM Express, la page expire lorsque vous utilisez une URL comme:
- http (s): // nom d'hôte: 5500 / em
- http (s): //hostname.domain: 5500 / em
Lorsque vous utilisez une URL contenant l'adresse IP ou localhost, la page se charge, mais très très lentement (jusqu'à 5 minutes).
- http (s): // adresse IP / em
- http (s): // localhost / em
Lors de l'utilisation du nom d'hôte, le journal du programme d'écoute affiche des erreurs (plusieurs d'entre elles):
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
Lors de l'utilisation de l'adresse IP ou de l'hôte local, le journal d'écoute ne montre aucune erreur:
03-DEC-2015 11:23:39 * http * (ADDRESS=(PROTOCOL=tcps)(HOST=<ip address>)(PORT=52902)) * handoff * http * 0
Ce problème apparaît partout sur le Web (voir les références dans le pied de page), et personne ne semble pouvoir en trouver la cause. J'ai essayé toutes les suggestions que j'ai pu trouver et j'ai listé les résultats ci-dessous. Je laisserai cette grande communauté avoir une fissure à elle, puis c'est au support Oracle ...
Informations sur la plateforme
- Windows Server 2012 R2 x64
- Oracle 12.1.0.2.0
- Une base de données de conteneurs multi-locataires (CDB) avec deux bases de données enfichables (PDB)
- La gestion automatique du stockage (ASM) n'est pas utilisée
- Effectuer des tests localement sur le serveur, avec le pare-feu complètement désactivé
Tests déjà effectués
emctl
Beaucoup de gens suggèrent de cocher "emctl" par habitude. Cela n'existe pas pour 12c, car il utilise EM Express et non le contrôle de base de données.
http / https
J'ai configuré et testé cela pour http et https. Aucune différence.
Navigateur
J'ai testé cela dans des installations vanilla d'IE 11, de chrome et de Firefox. Aucun module complémentaire activé.
Accès à la base de données
Les CDB et PDB sont accessibles et les requêtes via SQLPlus
Telnet L'
ouverture des connexions telnet aux ports (par exemple 5500) fonctionne.
Journal des alertes
Le journal des alertes Oracle ne contient aucun message d'erreur.
Mes hypothèses
- Quelque chose lié à la recherche de nom d'hôte, car il fonctionne -seulement- lors de l'utilisation de l'adresse IP au lieu du nom d'hôte.
- Quelque chose lié au certificat, bien que le même problème se présente pour http.
- Quelque chose lié à la configuration du service XDB ou du service d'écoute.
- Quelque chose lié à la partie de domaine du nom d'hôte incluse ou non. Comme cela est ajouté dans la plupart des fichiers de configuration, mais peut-être pas partout?
Informations détaillées sur la plateforme
Remarque: Dans ces extraits, j'ai toujours remplacé le nom d'hôte réel par "HOSTNAME" et le domaine réel par "domain". Si "HOSTNAME" est utilisé, cela signifie qu'il n'a pas été suivi par le nom de domaine. Le cas représente le cas réel dans lequel le nom d'hôte est affiché.
SYS_CONTEXT ('USERENV', 'SERVER_HOST')
nom d'hôte
variable de nom d'hôte dans CMD
HOSTNAME
SYS_CONTEXT ( 'USERENV', 'DB_DOMAIN')
domaine
dbms_xdb_config.gethttpsport ()
5500
dbms_xdb_config.gethttpport ()
2200
Sortie "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
Sortie "services 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 (Trimmed, contient également d'autres paramètres ...)
db_domain=domain
db_name="ecoomdb"
dispatchers="(PROTOCOL=TCP) (SERVICE=ecoomdbXDB)"
local_listener=LISTENER*
netstat -a
(sélection 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
fichier hôtes Windows
(ce fichier est vide)
Variables d'environnement
- PATH contient C: \ ORACLE \ HOME \ bin
- ORACLE_HOME = C: \ ORACLE \ HOME
- ORACLE_SID = ecoomdb
Registre HKEY_LOCAL_MACHINE \ SOFTWARE \ ORACLE \ KEY_OraDB12Home1
- ORACLE_HOME = C: \ ORACLE \ HOME
- ORACLE_SID = ecoomdb
Questions / documents connexes et en double (sans réponse)
Ressources en ligne
Questions sur Stackexchange
- Impossible d'ouvrir / de se connecter à Oracle 12c Enterprise Manager Express
- "Impossible d'afficher la page" avec Oracle 12c Enterprise Manager Database Express
- Démarrez Oracle 12c Enterprise Manager dans Windows 7
- Comment exécuter ORACLE 12C EM?
- Oracle 12c Express Enterprise Manager sur Centos 6.5 n'est pas accessible
Fils de discussion 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/
Communauté 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
Réponses:
Qu'obtenez-vous lorsque vous exécutez ces commandes sur l'hôte db
à partir de l'invite de commande ping host ping ipaddress (host ipaddress) tnsping tnsalias
et exécuter les services lsnrctl et voir si une ou plusieurs connexions sont refusées
si le client oracle est installé sur la machine client (d'où vous accédez à oracle em express)
exécutez à partir de l'invite de commandes 1) ping ipaddress (db host ipaddress) - >> si vous obtenez une erreur, ajoutez ipaddress et le nom de domaine au fichier hosts 2) tnsping tnsalias
Éditer:
Dispatcher D000 affiche 21 connexions refusées. Vous avez un problème de réseau.
Essayez de redémarrer l'écouteur et de vous connecter à em express et de voir la sortie des services lsnrctl idéalement, les connexions refusées doivent être nulles.
la source
Après avoir contacté le support Oracle, j'ai -kinda- pu comprendre ce qui se passait. Ce serveur dispose de 4 cartes réseau, 1 carte connectée au réseau et 3 cartes non configurées connectées à un stockage iSCSI. Le problème semble être dû au fait que le client Web ou le serveur EM (pas sûr ici) essaie d'envoyer la demande de page Web à la mauvaise carte.
Pour toute personne confrontée au même problème, vous pouvez vérifier cela en accédant à l'URL (en utilisant le nom d'hôte.domaine), puis en vérifiant le fichier listener.log (-oracle_base- / diag / tnslsnr / -instance- / listener / trace / listener. Journal). Pour moi, dans le message d'erreur, une adresse IP différente de l'adresse IP des adaptateurs réseau principaux du serveur a été affichée. L'adresse IP de l'un des adaptateurs réseau connectés à l'iSCSI est indiquée. En omettant les adresses IP dans mon message d'origine, je n'ai pas remarqué cette différence d'adresse IP.
Lors de la désactivation des adaptateurs réseau supplémentaires, tout fonctionne correctement.
De plus, lorsque vous accédez à "chrome: // net-internals / # dns" dans chrome, les adresses IP des quatre adaptateurs réseau s'affichent pour mon nom d'hôte.
Apparemment, ce problème ne se produit pas lors de la navigation sur la page Web à partir d'un autre hôte. En outre, nslookup renvoie uniquement la bonne adresse IP. Il semble donc que ce ne soit pas un problème DNS, mais un problème local. Je pense que ce n'est pas une réponse complète au problème, car la désactivation des adaptateurs réseau ne peut pas être une solution finale, mais j'espère que quiconque sera confronté à ce problème à l'avenir aura "plus à faire" maintenant ...
D'où vient la différence entre l'adresse IP renvoyée par le serveur DNS et les adresses IP utilisées par les navigateurs Web?
J'ai également apporté quelques modifications supplémentaires qui pourraient avoir influencé la solution finale, donc pour être complet, je les inclurai. Je ne sais pas si c'est pertinent ...:
la source
Essayez d'utiliser l'adresse IP:
De cette façon, vous serez sûr de frapper la liaison de la carte réseau à l'IP.
la source
J'ai eu le même problème après l'installation d'Oracle 12.2.0.1 sur Windows 2016.
J'ai d'abord découvert que TCP / IPv6 était activé, je l'ai donc désactivé.
Ensuite, j'ai essayé de suivre le numéro de note Oracle (Doc ID 1608258.1) - 12c EM Express affiche une erreur de certificat non valide dans le navigateur Web.
Cela n'a pas fonctionné non plus.
Je l'ai réparé à l'ancienne ... :)
J'ai découvert que l'utilisateur Windows Oracle_DBA (qui a ouvert une session sur le PC et utilisé pour installer Oracle 12c) n'a aucune autorisation sur les 2 fichiers sous le dossier "xdb_wallet".
Donc:
1- J'ai changé la propriété du dossier "xdb_wallet" de quoi que ce soit en Oracle_DBA:
2- changé la propriété des 2 fichiers (ewallet.p12, cwallet.sso) sous le dossier "xdb_wallet" de quoi que ce soit à Oracle_DBA:
3- J'ai recommencé l'étape 1 et vérifié que la propriété a changé pour le fichier 2.
Le site Web https: // hostname: 5500 / em a bien fonctionné sur FireFox, car IE11 / Win2016 a de drôles de problèmes avec Flash Player.
Je ne sais pas du point de vue de la sécurité ce que cela signifie (étapes 1 à 3), ni quelles menaces pourraient se produire en raison de ces changements.
Veuillez conseiller si vous le savez.
la source
Vérifiez l'adresse IP du nom d'hôte dans le
/etc/hosts
fichierpar exemple, voici mon fichier d'hôtes
tom
est mon nom d'hôte et10.148.180.115
l'adresse IP de mon hôtela source