Ho trovato una soluzione per questo problema. Per spiegare la mia soluzione, ho usato alcuni alias che si riferiscono ai miei parametri reali. Questi sono:
[ME] = my user name
[MYHOST] = my current workstation hostname (netbios name as well)
[MYHOST.mycompany.com] = my worksation's fully qualified domain name
All'inizio ho avuto la stessa situazione come già detto: sono stato in grado di connettersi al servizio di vertice anche dopo l'installazione di successo.
Prima ho usato l'utility tnsping oracolo:
C:\Users\ME>tnsping MYHOST
Questa è stata la risposta:
TNS Ping Utility for 32-bit Windows: Version 11.2.0.2.0 - Production
Copyright (c) 1997, 2010, Oracle. All rights reserved.
Used parameter files:
C:\oraclexe\app\oracle\product\11.2.0\server\network\admin\sqlnet.ora
Used HOSTNAME adapter to resolve the alias
Attempting to contact (DESCRIPTION=(CONNECT_DATA=(SERVICE_NAME=))(ADDRESS=
(PROTOCOL=TCP)(HOST=fe80::5d34:78a:5862:64%20)(PORT=1521))
(ADDRESS=(PROTOCOL=TCP)(HOST=fe80::c27:54a4:1600:86a4%26)(PORT=1521))(ADDRESS=
(PROTOCOL=TCP)(HOST=fe80::38ab:cdb4:dd77:7ed9%12)(PORT=1521))(ADDRESS=(PROTOCOL=TCP)
(HOST=10.9.32.208)(PORT=1521))(ADDRESS=(PROTOCOL=TCP)(HOST=192.168.56.1)(PORT=1521))
(ADDRESS=(PROTOCOL=TCP)(HOST=192.168.1.106)(PORT=1521)))
TNS-12541: TNS:no listener
che vedete qui sopra un sacco di indirizzi IP attualmente attivi diversi. Manca solo il 127.0.0.1 più importante. Lavoro su notebook in modo che la rete cambi "quasi sempre" (WLAN, 3G, HSDPA, Ethernet ecc.) Solo il localhost è fisso. E quello era il vero caso del problema. (Quando lavoravo nell'ambiente dell'ufficio collegato alla rete dell'ufficio stava funzionando anche.)
Quando ero in questa situazione ho anche iniziato a utilizzare l'utilità oracle lsnrctl. Ho visto quanto segue:
LSNRCTL> status
Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=IPC)(KEY=EXTPROC1)))
STATUS of the LISTENER
------------------------
Alias LISTENER
Version TNSLSNR for 32-bit Windows: Version 11.2.0.2.0 - Production
Default Service XE
Listener Parameter File /oraclexe/app/oracle/product/11.2.0/server\network\admin\listener.ora
Listener Log File C:\oraclexe\app\oracle\diag\tnslsnr\MYHOST\listener\alert\log.xml
Listening Endpoints Summary...
(DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(PIPENAME=\\.\pipe\EXTPROC1ipc)))
(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=MYHOST.mycompany.com)(PORT=1521)))
Services Summary...
Service "CLRExtProc" has 1 instance(s).
Instance "CLRExtProc", status UNKNOWN, has 1 handler(s) for this service...
Service "PLSExtProc" has 1 instance(s).
Instance "PLSExtProc", status UNKNOWN, has 1 handler(s) for this service...
The command completed successfully
Si può vedere che il servizio per il vertice al 8080 porta manca !!! Ho provato anche il ping normale, che ha funzionato perfettamente:
C: \ Users \ ME> ping MYHOST.mycompany.com
Il risultato è stato:
MYHOST.mycompany.com [fe80::c27:54a4:1600:86a4%26] ping
response fe80::c27:54a4:1600:86a4%26: time<10 ms
...
È possibile realizzare l'indirizzo IPv6 Esiste anche nel mio processo tnsping pure.
Così ho deciso di definire myhost nei miei file HOSTS locale direttamente:
127.0.0.1 localhost MYHOST MYHOST.mycompany.com
test ora con ping:
C:\Users\ME>ping MYHOST
E la risposta:
MYHOST.mycompany.com [127.0.0.1] ping:
response 127.0.0.1: byte=32 time<10 ms. TTL=128
...
A questo punto Ho riavviato (fermato e riavviato) entrambi i servizi Oracle in esecuzione (solo di sicuro):
OracleServiceXE
OracleXETNSListener
E guarda il miracolo:
C:\Users\ME>lsnrctl
LSNRCTL for 32-bit Windows: Version 11.2.0.2.0 - Production
LSNRCTL> status
Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=IPC)(KEY=EXTPROC1)))
STATUS of the LISTENER
------------------------
Alias LISTENER
Version TNSLSNR for 32-bit Windows: Version 11.2.0.2.0 - Production
Default Service XE
Listener Parameter File /oraclexe/app/oracle/product/11.2.0/server\network\admin\listener.ora
Listener Log File C:\oraclexe\app\oracle\diag\tnslsnr\MYHOST\listener\alert\log.xml
Listening Endpoints Summary...
(DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(PIPENAME=\\.\pipe\EXTPROC1ipc)))
(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=MYHOST.mycompany.com)(PORT=1521)))
(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=MYHOST.mycompany.com)(PORT=8080))(Presentation=HTTP)(Session=RAW))
Services Summary...
Service "CLRExtProc" has 1 instance(s).
Instance "CLRExtProc", status UNKNOWN, has 1 handler(s) for this service...
Service "PLSExtProc" has 1 instance(s).
Instance "PLSExtProc", status UNKNOWN, has 1 handler(s) for this service...
Service "XEXDB" has 1 instance(s).
Instance "xe", status READY, has 1 handler(s) for this service...
Service "xe" has 1 instance(s).
Instance "xe", status READY, has 1 handler(s) for this service...
The command completed successfully
LSNRCTL>
si può vedere l'importante linea con PORT = 8080 e il servizio istanza XE. Quindi sono felice che l'URL iniziale funzioni ancora.
Questo post ha svegliato un listener HTTP Oracle 11g XE dead stone sul mio sistema Win7. Aggiunta la riga indicata a C: \ Windows \ System32 \ drivers \ etc \ hosts e il servizio HTTP ha funzionato, anche senza riavviare i servizi Oracle. Many Thanx Miklos, hai salvato la mia giornata! –