improvvisamente il DB Oracle 9.2 installato sul mio pc di casa, non parte
piu.
Alla accensione del pc mi viene visualizzato un messaggio di errore che mi
dice :
"Si è verificato un' errore in Oracle RDBMS Kernel Executable.L'applicazione
verra chiusa."
Ho provato a riavviare a mano il servizio Oracle ed il suo listener, ma
quando cerco di accedere
alla gestione del db tramite Enterprise Manager Console, mi dice :
"Il listner non ha risolto SERVICE_NAME fornito nel descrittore di
connessione" e successivamente
quest'altro:
"Si è verificato un'errore in TNSLSNR.EXE"
Ho provato anche ad accedere tramite SQLNET ma quando cerco di fare il
login, mi da questo messaggio di errore:
"Oracle not available"
"shared memory realm does not exist"
Non mi resta che disinstallare e reinstallare, oppure posso provare a fare
qualche tentativo
di ripristino?
P.s : non sò se puo aver influito il fatto di aver cancellato tramite
Enterprise Manager Console,alcuni utenti
che non utilizzavo piu!!
Grazie
Nicola Ambrosino
Ciao Nicola,
cosa ti restituisce il comando:
tnsping <SID>
e qual'e' il contenuto del tuo listener.ora (e la stringa di conessione
associata nel tnsnames.ora)?
> Non mi resta che disinstallare e reinstallare, oppure posso provare a fare
> qualche tentativo
> di ripristino?
>
Non e' necessario a meno che non sia successo qualcosa di irreperabile
ai binari di oracle.
>
> P.s : non sò se puo aver influito il fatto di aver cancellato tramite
> Enterprise Manager Console,alcuni utenti
> che non utilizzavo piu!!
>
Semplici utenti?
Allora la risposta e' no.
--
Fabrizio Magni
replace mycontinent with europe
"Fabrizio" <fabrizi...@mycontinent.com> ha scritto nel messaggio
news:42ee1fe5$0$38186$892e...@authen.white.readfreenews.net...
>
>
> Ciao Nicola,
ciao Fabrizio, e grazie per l'interessamento!!
> cosa ti restituisce il comando:
>
> tnsping <SID>
Il suddetto comando mi restituisce:
E' stato utilizzato l'adattatore TNSNAMES per risolvere l'alias
Attempting to contact (DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL =
TCP)
(HOST = cutoff)(PORT = 1521))) (CONNECT_DATA = (SERVER = DEDICATED)
(SERVICE_NAME = locale)))
> e qual'e' il contenuto del tuo listener.ora (e la stringa di conessione
> associata nel tnsnames.ora)?
>
Nel listner.ora c'è scritto:
# LISTENER.ORA Network Configuration File:
C:\oracle\ora92\network\admin\listener.ora
# Generated by Oracle configuration tools.
LOCALE =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = cutoff)(PORT = 1523))
)
)
)
SID_LIST_LOCALE =
(SID_LIST =
(SID_DESC =
(SID_NAME = PLSExtProc)
(ORACLE_HOME = C:\oracle\ora92)
(PROGRAM = extproc)
)
)
mentre nel tnsnames.ora c'è scritto:
# TNSNAMES.ORA Network Configuration File:
C:\oracle\ora92\network\admin\tnsnames.ora
# Generated by Oracle configuration tools.
LOCALE =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = cutoff)(PORT = 1521))
)
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = locale)
)
)
Come puoi notare l'unica differenza è la PORTA, ma pur mettendo anche nel
listner.ora la porta 1521, non ho ottenuto nessun risultato.
LOCALE è il nome del mio db.
>> Non mi resta che disinstallare e reinstallare, oppure posso provare a
>> fare qualche tentativo
>> di ripristino?
>>
>
> Non e' necessario a meno che non sia successo qualcosa di irreperabile ai
> binari di oracle.
>
>>
>> P.s : non sò se puo aver influito il fatto di aver cancellato tramite
>> Enterprise Manager Console,alcuni utenti
>> che non utilizzavo piu!!
>>
>
> Semplici utenti?
Si erano semplici utenti!!
> Allora la risposta e' no.
OK grazie.
Resto in attesa di un' ulteriore tuo consiglio
Nicola Ambrosino
Nicola Ambrosino
Le porte nel tnsnames.ora e del listener.ora devono coincidere.
Se cambi quella del listener devi poi riavviarlo o dare lsnrctl reload.
Piu' facile modificare quella del tnsnames.ora (fa riferimento al client).
Se vuoi mettili entrambi su 1521, assicurati che il listener ascolti su
quella porta (lsnrctl status), e prova una connessione semplice via
sqlplus (assicurati anche che il DB sia su).
> Dimenticavo di dire che non appena faccio tnsping SID, mi "cade" il listner.
>
Questo e' un brutto segno.
Guarda nei log del listner o quelli di windows se trovi un motivo valido
per la caduta.
Si infatti, ho provato a fare questa impostazione del resto abbastanza
logica, ma il risultato è stato ugualmente negativo!!
> > Dimenticavo di dire che non appena faccio tnsping SID, mi "cade" il
listner.
> >
>
> Questo e' un brutto segno.
Reinstallazione vicina?
> Guarda nei log del listner o quelli di windows se trovi un motivo valido
> per la caduta.
Ok appena torno a casa(Sabato)provo!
Grazie cmq della collaborazione.
--------------------------------
Inviato via http://arianna.libero.it/usenet/
Grazie
Nicola Ambrosino
Prima cosa che mi viene in mente: hai due ORACLE_HOME diverse e stai
modificando i file di configurazione di quella sbagliata.
Controlla nei settaggi dell'environment del DOS e nel registro di
windows per vedere quali sono le home di oracle e dove puntano.
Sempre da dos puoi usare la linea di comando per avere dettagli:
lsnrctl status
per capire se il listener puntato dal tuo environment funziona, che
porte usa e quali file di configurazione lo controllano.
Ciao
> Prima cosa che mi viene in mente: hai due ORACLE_HOME diverse e stai
> modificando i file di configurazione di quella sbagliata.
Ho controllato ma ne ho solo 1, cosi settata:
ORACLE_HOME=C:\oracle\ora92
mentre la variabile path è:
Path=C:\J2SDK1.4.2_06\BIN;C:\ORACLE\ORA92\BIN;C:\PROGRAMMI\ORACLE\JRE\1.3.1\BIN;C:\PROGRAMMI\ORACLE\JRE\1.1.8\BIN;C:\WINDOWS\SYSTEM32;C:\WINDOWS;C:\WINDOWS\SYSTEM32\WBEM;C:\PROGRAMMI\SECURECRT
3.0;C:\PROGRAMMI\ULTRAEDIT;C:\PROGRA~1\SECUREFX;C:\Programmi\Panda
Software\Panda Titanium Antivirus 2005\
> Controlla nei settaggi dell'environment del DOS e nel registro di windows
> per vedere quali sono le home di oracle e dove puntano.
>
> Sempre da dos puoi usare la linea di comando per avere dettagli:
>
> lsnrctl status
Digitaando lsnrctl status mi esce :
C:\>lsnrctl status
LSNRCTL for 32-bit Windows: Version 9.2.0.1.0 - Production on 07-AGO-2005
10:45:41
Copyright (c) 1991, 2002, Oracle Corporation. All rights reserved.
Connessione a (ADDRESS=(PROTOCOL=tcp)(PORT=1521))
STATO del LISTENER
------------------------
Alias LISTENER
Versione TNSLSNR for 32-bit Windows: Version 9.2.0.1.0 -
Production
Data di inizio 07-AGO-2005 10:45:37
Tempo operativo 0 giorni 0 ore 0 min. 4 sec.
Livello di traccia off
Sicurezza OFF
SNMP OFF
File di parametro del listener C:\oracle\ora92\network\admin\listener.ora
File log del listener C:\oracle\ora92\network\log\listener.log
Summary table degli endpoint di ascolto...
(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=cutoff)(PORT=1521)))
Il listener non supporta i servizi
Il comando Þ stato eseguito
e mi CADE IL LISTENER!!!
In ogni caso mi chiedo COME é POSSIBILE, la porta 1521?????nel file
listener.ora c'e scritto:
# LISTENER.ORA Network Configuration File:
C:\oracle\ora92\network\admin\listener.ora
# Generated by Oracle configuration tools.
LOCALE =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = cutoff)(PORT = 1523))
)
)
)
SID_LIST_LOCALE =
(SID_LIST =
(SID_DESC =
(SID_NAME = PLSExtProc)
(ORACLE_HOME = C:\oracle\ora92)
(PROGRAM = extproc)
)
)
Quando eseguo il comando suindicato nel file di log, listener.log, viene
scritto:
TNSLSNR for 32-bit Windows: Version 9.2.0.1.0 - Production on 07-AGO-2005
10:45:37
Copyright (c) 1991, 2002, Oracle Corporation. All rights reserved.
Il file dei parametri di sistema è
C:\oracle\ora92\network\admin\listener.ora
Messaggi di log registrati in C:\oracle\ora92\network\log\listener.log
Informazioni di traccia registrate in
C:\oracle\ora92\network\trace\listener.trc
Il livello di traccia attuale è 0
Avviato con PID=3088
Ascolto su: (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=cutoff)(PORT=1521)))
TIMESTAMP * CONNECT DATA [* PROTOCOL INFO] * EVENT [* SID] * RETURN CODE
07-AGO-2005 10:45:42 *
(CONNECT_DATA=(CID=(PROGRAM=)(HOST=)(USER=Nicola))(COMMAND=status)(ARGUMENTS=64)(SERVICE=LISTENER)(VERSION=153092352))
* status * 0
Mi spiace di continuare a disturbarla, ma a me sembra molto strano sta
cosa!!!
Mi sà che c'è qualche diavoletto nel mio pc, che mi blocca Oracle!!!!
Non so che dire,se per caso le viene in mente qualcos'altro... sono qui a
riprovare.
Il fatto che abbia TOAD installato, non penso crei problemi di nessuna
sorta, vero?
Grazie ancora
Nicola Ambrosino
La prima cosa che vedo dalla tua risposta:
nel tuo listener.ora hai un listener configurato che si chiama LOCALE
che ascolta sulla 1523!!
Tu hai fatto partire un listener di default chiamato LISTENER (che
ascolta sulla 1521).
prova il comando
lsnrctl start LOCALE
Ho un pranzo.
Torno nel pomeriggio a dare un'occhiata al resto del tuo post.
Buona domenica.
> Ciao Nicola,
> dammi pure del tu.
OK.Fabrizio.
> La prima cosa che vedo dalla tua risposta:
>
> nel tuo listener.ora hai un listener configurato che si chiama LOCALE che
> ascolta sulla 1523!!
Si, l'ho messo sulla 1523 invece che sulla 1521 come è di default.
> Tu hai fatto partire un listener di default chiamato LISTENER (che ascolta
> sulla 1521).
No, il listener l'ho anch'esso configurato in modo che ascolti sulla
1523.Ecco il file tnsnames.ora:
# TNSNAMES.ORA Network Configuration File:
C:\oracle\ora92\network\admin\tnsnames.ora
# Generated by Oracle configuration tools.
LOCALE =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = cutoff)(PORT = 1523))
)
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = locale)
)
)
> prova il comando
> lsnrctl start LOCALE
Ho pravto questo comando e mi da:
Copyright (c) 1991, 2002, Oracle Corporation. All rights reserved.
Avvio di tnslsnr: attendere...
Failed to open service <OracleOraHome92TNSListenerLOCALE>, error 1060.
TNSLSNR for 32-bit Windows: Version 9.2.0.1.0 - Production
Il file dei parametri di sistema Þ
C:\oracle\ora92\network\admin\listener.ora
Messaggi di log registrati in C:\oracle\ora92\network\log\locale.log
Ascolto su: (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=cutoff)(PORT=1523)))
Connessione a (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=cutoff)(PORT=1523)))
STATO del LISTENER
------------------------
Alias LOCALE
Versione TNSLSNR for 32-bit Windows: Version 9.2.0.1.0 -
Produ
ction
Data di inizio 07-AGO-2005 12:47:52
Tempo operativo 0 giorni 0 ore 0 min. 0 sec.
Livello di traccia off
Sicurezza OFF
SNMP OFF
File di parametro del listener C:\oracle\ora92\network\admin\listener.ora
File log del listener C:\oracle\ora92\network\log\locale.log
dopodiche come al solito mi CADE il listener!
Nel file locale.log vedo scritto:
TNSLSNR for 32-bit Windows: Version 9.2.0.1.0 - Production on 07-AGO-2005
13:01:35
Copyright (c) 1991, 2002, Oracle Corporation. All rights reserved.
Il file dei parametri di sistema è
C:\oracle\ora92\network\admin\listener.ora
Messaggi di log registrati in C:\oracle\ora92\network\log\locale.log
Informazioni di traccia registrate in
C:\oracle\ora92\network\trace\locale.trc
Il livello di traccia attuale è 0
Avviato con PID=244
Ascolto su: (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=cutoff)(PORT=1523)))
TIMESTAMP * CONNECT DATA [* PROTOCOL INFO] * EVENT [* SID] * RETURN CODE
07-AGO-2005 13:01:35 *
(CONNECT_DATA=(CID=(PROGRAM=)(HOST=)(USER=Nicola))(COMMAND=status)(ARGUMENTS=64)(SERVICE=LOCALE)(VERSION=153092352))
* status * 0
> Ho un pranzo.
Buon pranzo allora.
> > Torno nel pomeriggio a dare un'occhiata al resto del tuo post.
Ok, grazie ancora
> Buona domenica.
Anche a te.
Nicola Ambrosino
> Ho pravto questo comando e mi da:
>
> Copyright (c) 1991, 2002, Oracle Corporation. All rights reserved.
>
> Avvio di tnslsnr: attendere...
>
> Failed to open service <OracleOraHome92TNSListenerLOCALE>, error 1060.
> TNSLSNR for 32-bit Windows: Version 9.2.0.1.0 - Production
> Il file dei parametri di sistema Þ
> C:\oracle\ora92\network\admin\listener.ora
> Messaggi di log registrati in C:\oracle\ora92\network\log\locale.log
> Ascolto su: (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=cutoff)(PORT=1523)))
>
> Connessione a (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=cutoff)(PORT=1523)))
> STATO del LISTENER
> ------------------------
> Alias LOCALE
> Versione TNSLSNR for 32-bit Windows: Version 9.2.0.1.0 -
> Produ
> ction
> Data di inizio 07-AGO-2005 12:47:52
> Tempo operativo 0 giorni 0 ore 0 min. 0 sec.
> Livello di traccia off
> Sicurezza OFF
> SNMP OFF
> File di parametro del listener C:\oracle\ora92\network\admin\listener.ora
> File log del listener C:\oracle\ora92\network\log\locale.log
>
Ora il tuo problema sembra essere che il servizio di windows del
listener non corisponde al nome nel listener.ora.
Con tutta probabilita' il tuo servizio si chiama:
OracleOraHome92TNSListenerLISTENER.
Se e' cosi' ecco una semplice proposta:
in listener.ora cambia LOCALE con LISTENER e SID_LIST_LOCALE con
SID_LIST_LISTENER.
Quindi riavvia il listener.
Prova prima con la linea di comando: lsnrctl (stop e poi start).
Se tutto va bene prova poi dai servizi di windows.
Ricorda che il nome del listener non deve essere uguale a quello
dell'istanza!
Ricorda inoltre che la tua configurazione richiede che l'istanza oracle
(il pmon) si registri nel listener.
Se quest'ultimo, quindi, parte dopo l'istanza ci vorranno alcuni minuti
prima che la registrazione avvenga e tu ti possa collegare al DB.
Usa lsnrctl status per controllare quando l'istanza compare tra i
servizi registrati nel listener.
Ops, oppure solo OracleOraHome92TNSListener.
> Ora il tuo problema sembra essere che il servizio di windows del listener
> non corisponde al nome nel listener.ora.
>
> Con tutta probabilita' il tuo servizio si chiama:
> OracleOraHome92TNSListenerLISTENER.
Si ora nei servizi di windows mi compaiono 2 listener :
OracleOraHome92TNSListenerLOCALE
e
OracleOraHome92TNSListener
> in listener.ora cambia LOCALE con LISTENER e SID_LIST_LOCALE con
> SID_LIST_LISTENER.
OK fatto!!
> Quindi riavvia il listener.
> Prova prima con la linea di comando: lsnrctl (stop e poi start).
Da DOS dopo aver fatto lsnrctl stop, faccio lsnrctl start e
il listener sembra partire per un'attimo poichè PURTROPPO subito dopo mi
compare
il messaggio di errore:
Si è verificato un errore in TNSLSNR.EXE.L'applicazione verra chiusa.
e quindi il listener mi ricade.
> Se tutto va bene prova poi dai servizi di windows.
Ho provato anche a farlo partire direttamente dai servizi di windows, parte
ma quando faccio il login
con la Enterprise Manager Console, mi ricade ugualmente il listener.
Penso che l'unica cosa che mi resta da fare è reinstallare; non voglio farti
perdere altro tempo!!!
Grazie comunque per l'aiuto e se per caso di viene in mente un'ultima
soluzione.......la provo!
Nicola Ambrosino
In generale sono contro le reinstallazioni.
Non sempre risolvono i problemi e sicuramente non insegnano molto.
In questo momento non posso consigliarti gran che se non di guardare
nell'event viewer di windows (che dovrebbe riportare eventuali motivi di
fallimento di servizi) e nel log del tuo listener:
C:\oracle\ora92\network\log\locale.log
In ogni caso la caduta e' molto strana.
Ho guardato sul metalink (non sono il mago di oracle su windows) e
risulta che alcuni programmi installati, come antivirus e software di
download, potrebbero provocare questo tipo di problemi.
A volte la soluzione e' quella di settare nel registro di windows
(\\HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE\HOME<#>):
USE_SHARED_SOCKET = TRUE
e nel file sqlnet.ora:
SQLNET.AUTHENTICATION_SERVICES = (NTS)
L'ultimo tentativo e' veramente uno sparo nel buio... ma hai poco da
perdere...
Ciao
Anch'io avevo gia settato questa variabile,in questo modo e..
> SQLNET.AUTHENTICATION_SERVICES = (NTS)
Anche questo, gia fatto.
Penso anch'io a questo punto che ci sia incompatibilità tra la versione di
Oracle(9.2)che ho installato, e qualche programma.
Del resto già la prima volta che l'ho installato(qualche mese fa), ho avuto
lo stesso problema, ma poi settando
USE_SHARED_SOCKET = TRUE
sono riuscito a farlo partire e lavorato per qualche mese.Evidentemente,
devo aver installato qualche altro programma
che va anch'esso in conflitto con Oracle.
In ogni caso grazie mille per l'attenzione dimostratami e buon lavoro o
buone ferie se sei in ferie.
Nicola Ambrosino
prova con netstat -an ,
magari ricorda la porta dell'EOM
e vedi se quelle che indichi ad oracle sono occupate o meno,
per indenderci, la 1521/1523 e quella dell'OEM.
non mi viene altro in mente :(
felice_pago
beh qui metterei NONE, apprescindere
felice_pago
Sconsiglio:
oracle@rangelife:/u01/app/oracle/product/10.1/db_1/network/admin> cat
sqlnet.ora
SQLNET.AUTHENTICATION_SERVICES = (NONE)
ORACLE_SID=TEST16K
oracle@rangelife:/u01/app/oracle/product/10.1/db_1/network/admin>
sqlplus "/as sysdba"
SQL*Plus: Release 10.1.0.3.0 - Production on Tue Aug 9 10:17:50 2005
Copyright (c) 1982, 2004, Oracle. All rights reserved.
ERROR:
ORA-01031: insufficient privileges
Enter user-name:
Mentre il:
USE_SHARED_SOCKET = TRUE
e
SQLNET.AUTHENTICATION_SERVICES = (NTS)
era consigliato da metalink per la soluzione del problema del crash del
listener su linux.
Anche l'autenticazione NTS puo' avere i suoi vantaggi (anche se ormai
non la usa quasi piu' nessuno).