Lorsque vous accédez à l'interface Web Oracle 12c EM Express, la page expire lorsque vous utilisez une URL comme:
Lorsque vous utilisez une URL contenant l'adresse IP ou localhost, la page se charge, mais très très lentement (jusqu'à 5 minutes).
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, et ensuite ce sera au support Oracle ...
emctl
Beaucoup de gens suggèrent de vérifier "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 de IE 11, chrome et 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.
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
NOM D'HÔTE
SYS_CONTEXT ('USERENV', 'DB_DOMAIN')
domaine
dbms_xdb_config.gethttpsport ()
5500
dbms_xdb_config.gethttpport ()
2200
Sortie "état 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
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 (Trim, 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
Windows héberge le fichier
(ce fichier est vide)
Variables d'environnement
Registre HKEY_LOCAL_MACHINE\SOFTWARE\Oracle\KEY_OraDB12Home1
Ressources en ligne
Questions d'échange de pile
Threads 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
Qu'obtenez-vous lorsque vous exécutez ces commandes sur l'hôte db
à partir de la commande Invite 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.
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 le vérifier 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 cartes réseau principales 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.
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
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 l'écart 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 ...:
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 des problèmes amusants 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.
Essayez d'utiliser l'adresse IP:
http(s)://192.168.1.100:5500/em
De cette façon, vous serez sûr de frapper la liaison de la carte réseau à l'IP.