Oracle
 sql >> Database >  >> RDS >> Oracle

ORA-01017 Suggerimenti per la risoluzione degli errori Oracle

ORA-01017 è uno degli errori più comuni visti durante la connessione al database di Oracle.

Ecco cosa dice la documentazione su questo errore

Ecco l'elenco di controllo da eseguire per risolvere l'ORA-01017:nome utente/password non validi

(1)Il problema principale con un ORA-01017 l'errore è una combinazione di ID utente e password non valida. Devi assicurarti di aver inserito la password corretta

Nel caso in cui il sistema di destinazione sia 11g, la password può distinguere tra maiuscole e minuscole

Puoi controllare il parametro nel sistema

SQL> SHOW PARAMETER SEC_CASE_SENSITIVE_LOGON
NAME                                 TYPE        VALUE
------------------------------------ ----------- ------------------------------
sec_case_sensitive_logon             boolean     TRUE
SQL>

Quando il parametro sopra è impostato su true, la distinzione tra maiuscole e minuscole è attiva, puoi disabilitarla e controllare di nuovo la connessione

SQL> ALTER SYSTEM SET SEC_CASE_SENSITIVE_LOGON = FALSE;

System altered.

E prova a connetterti. Se funziona, allora sai che la distinzione tra maiuscole e minuscole è il problema, potresti voler modificare la password dell'utente e scriverla da qualche parte per ricordare la password con distinzione tra maiuscole e minuscole e quindi abilitare nuovamente il parametro di sistema

SQL> ALTER user test identified by TEST1;

User altered.
SQL> ALTER SYSTEM SET SEC_CASE_SENSITIVE_LOGON = TRUE;

System altered.

(2) È possibile che l'ID utente non sia valido per il sistema di destinazione. Verifica se l'ID utente esiste come colonna nome utente nella vista dba_users.

select username from dba_users where username ='<user name>';

(3) Controlla il tuo parametro ambientale $ORACLE_SID o $TWO_TASK. Se il tuo $ORACLE_SID è impostato sul database sbagliato, potresti ricevere un ORA-01017 errore perché ti stai connettendo al database Oracle sbagliato.

(4) Controlla il tuo tnsnames.ora per assicurarti che il servizio TNS punti al database corretto. Puoi usare il comando tnsping per verificarlo anche

TNS Ping Utility for Linux: Version 11.2.0.4.0 - Production on 22-JUNE-2016 23:01:06

Copyright (c) 1997, 2014, Oracle.  All rights reserved.

Used parameter files:
/oracle/product/11.2.0.4/network/admin/sqlnet.ora

Used TNSNAMES adapter to resolve the alias
Attempting to contact (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = techgoeasy.com)(PORT = 1521))
(CONNECT_DATA = (SERVER = DEDICATED) (SERVICE_NAME = TEST)))
OK (0 msec)

(5) È possibile che venga visualizzato l'errore ORA-01017 anche nell'ambiente di protezione dati e nell'ambiente di standby

Assicurarsi che la password dell'utente SYS sia la stessa sia sul lato primario che su quello di standby. Crea il file della password Oracle utilizzando orapwd con la stessa password sia sul lato principale che su quello di standby

Con il database Oracle 12c, nel caso del database RAC primario, è necessario disporre di un file di password in una posizione condivisa

orapwd file='+DATA/TEST/PASSWORDFILE/oraTEST' entries=10 dbuniquename=TEST password=<sys pass>

(6) A volte, potrebbero esserci altri motivi per l'errore e ORA-01017 è un errore fuorviante.

Puoi tracciare lo stack di chiamate utilizzando il comando truss o trace

Linux:
strace -o /tmp/strace_user.output -cfT sqlplus Scott/[email protected]

AIX, Solaris:
truss -fea -o /tmp/truss_user.output sqlplus scott/[email protected]

HP-UX:
tusc -afpo /tmp/tusc_user.output -aef sqlplus scott/[email protected]

(7) Questo errore può essere riscontrato anche durante la duplicazione attiva RMAN

 Cause The SYS password is not the same between the original/source database and auxiliary/duplicate database. 
SOLUTION Perform the following steps:
 1) Copy the password file from the original/source database to the auxiliary/duplicate database. 
 2) Run the following OS command "cksum" to check whether the password files are the same on both the original/source database and auxiliary/duplicate database. 
cksum {password_file_name}

(8) Password senza distinzione tra maiuscole e minuscole e ORA-1017 Nome utente o password non validi

Il protocollo di autenticazione predefinito di Oracle Database 12c versione 2 (12.2) è 12 (modalità esclusiva). Questo protocollo richiede password con distinzione tra maiuscole e minuscole per l'autenticazione. Esamina le tue opzioni se disponi di versioni precedenti della password di rilascio.

A partire da Oracle Database 12c versione 2 (12.2), il valore predefinito per il parametro SQLNET.ORA ALLOWED_LOGON_VERSION_SERVER viene modificato in 12. Questo parametro fa riferimento al protocollo di autenticazione di accesso utilizzato per il server, non alla versione di Oracle Database.

Per impostazione predefinita, Oracle non supporta più l'autenticazione basata su password senza distinzione tra maiuscole e minuscole; sono consentite solo le nuove versioni della password (11G e 12C). La versione della password 10G senza distinzione tra maiuscole e minuscole non viene più generata.

Se disponi di account che richiedono versioni di password 10G, per impedire che gli account che utilizzano quella versione di password vengano bloccati dal database, puoi passare da una modalità esclusiva a un protocollo di autenticazione più permissivo.

La versione della password può essere verificata come

select username,password_version from dba_users;

Accedi come amministratore.

Modificare il file SQLNET.ORA per modificare l'impostazione SQLNET.ALLOWED_LOGON_VERSION_SERVER dall'impostazione predefinita, 12, a 11 o inferiore. Ad esempio:

SQLNET.ALLOWED_LOGON_VERSION_SERVER=11

(9)   ORA-01017 utilizzando "sqlplus / as sysdba"

Ciò può accadere se l'utente del sistema operativo in cui stai tentando di utilizzare il comando precedente non è membro del gruppo dba.

Assicurati che l'utente del sistema operativo faccia parte del gruppo DBA.

Controlla anche sqlnet.ora .se hai sqlnet.authentication_services=none, allora potresti anche ricevere questo errore

Spero che il contenuto di ORA-01017 nome utente/password non validi ti piaccia

Articoli correlati
ORA-00911:questo post è per cause comuni di ORA-00911:carattere non valido in Oracle con esempi e risoluzione per aiutarti a completare il lavoro
ORA-29913:suggerimenti per la risoluzione dei problemi relativi agli errori ORA come ora- 29913:errore nell'esecuzione del callout odciexttableopen, ora-29913:errore nell'esecuzione del callout odciexttablefetch
ORA-00257 :Scopri come risolvere l'errore dell'archiver ORA-00257. Collega l'unico errore interno. Varie risoluzioni ed esempi forniti passo dopo passo. identificato da valori
ORA-28000 :ORA-28000 l'account è bloccato è un errore molto comune. Dai un'occhiata a questo post su come risolverlo passo dopo passo facilmente senza problemi
ORA-00904 :Questo post per la descrizione e le possibili soluzioni di ORA-00904:identificatore non valido. Vengono forniti anche suggerimenti per la risoluzione dei problemi
ORA -28002 :Questo post su come risolvere ORA-28002 la password scadrà. Cosa si può fare per evitarlo del tutto creando un nuovo profilo
Documentazione Oracle 12.2