sql >> Databáze >  >> RDS >> Oracle

ORA-01017 Tipy pro řešení chyb Oracle

ORA-01017 je jednou z běžných chyb při připojování k databázi Oracle.

Zde je to, co o této chybě říká dokumentace

Zde je kontrolní seznam, který je třeba spustit k vyřešení problému ORA-01017:neplatné uživatelské jméno/heslo

(1)Hlavní problém s ORA-01017 chyba je neplatná kombinace uživatelského jména a hesla. Musíte se ujistit, že zadáváte správné heslo

V případě, že cílový systém je 11g, může být heslo citlivé na velká a malá písmena

Parametr můžete zkontrolovat v systému

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

Když je výše uvedený parametr nastaven na hodnotu true, rozlišování malých a velkých písmen je zapnuto, můžete jej deaktivovat a znovu zkontrolovat připojení

SQL> ALTER SYSTEM SET SEC_CASE_SENSITIVE_LOGON = FALSE;

System altered.

A pokus o připojení. Pokud to funguje , pak víte, že problémem je rozlišování malých a velkých písmen, možná budete chtít změnit uživatelské heslo  a zapsat ho někam, abyste si zapamatovali heslo rozlišující malá a velká písmena, a poté znovu povolit systémový parametr

SQL> ALTER user test identified by TEST1;

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

System altered.

(2) Může se stát, že ID uživatele je pro cílový systém neplatné. Zkontrolujte, zda v zobrazení dba_users ve sloupci uživatelského jména existuje ID uživatele.

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

(3) Zkontrolujte svůj $ORACLE_SID  nebo $TWO_TASK environmentální parametr. Pokud je váš $ORACLE_SID nastaven na nesprávnou databázi, můžete získat ORA-01017 chyba, protože se připojujete ke špatné databázi Oracle.

(4) Zkontrolujte svůj tnsnames.ora a ujistěte se, že služba TNS ukazuje na správnou databázi. Můžete to také zkontrolovat pomocí příkazu tnsping

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) Může se také objevit chyba ORA-01017 v prostředí dataguard a v pohotovostním prostředí

Ujistěte se, že heslo uživatele SYS je stejné na primární i pohotovostní straně. Vytvořte soubor s hesly oracle pomocí orapwd se stejným heslem na primární i pohotovostní straně

S databází Oracle 12c potřebujeme pro případ primární databáze RAC mít soubor s hesly ve sdíleném umístění

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

(6) Někdy může existovat jiný důvod chyby a ORA-01017 je zavádějící chyba.

Zásobník volání můžete sledovat pomocí příkazu truss nebo 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) K této chybě může dojít také během aktivní duplikace 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) Hesla nerozlišující malá a velká písmena a neplatné uživatelské jméno nebo heslo ORA-1017

Výchozí ověřovací protokol Oracle Database 12c verze 2 (12.2) je 12 (Exclusive Mode). Tento protokol vyžaduje pro ověření hesla rozlišující malá a velká písmena. Zkontrolujte své možnosti, pokud máte dřívější verze hesla.

Počínaje Oracle Database 12c vydáním 2 (12.2) je výchozí hodnota parametru SQLNET.ORA ALLOWED_LOGON_VERSION_SERVER změněna na 12. Tento parametr odkazuje na přihlašovací autentizační protokol používaný pro server, nikoli na verzi Oracle Database.

Ve výchozím nastavení již Oracle nepodporuje autentizaci na základě hesla bez ohledu na velikost písmen; jsou povoleny pouze nové verze hesla (11G a 12C). Verze hesla 10G bez rozlišení malých a velkých písmen se již negeneruje.

Pokud máte účty, které vyžadují verze hesla 10G, pak chcete-li zabránit tomu, aby účty používající tuto verzi hesla byly uzamčeny z databáze, můžete přejít z exkluzivního režimu na tolerantnější ověřovací protokol.

Verzi hesla lze zkontrolovat jako

select username,password_version from dba_users;

Přihlaste se jako správce.

Upravte soubor SQLNET.ORA a změňte nastavení SQLNET.ALLOWED_LOGON_VERSION_SERVER z výchozí hodnoty 12 na hodnotu 11 nebo nižší. Například:

SQLNET.ALLOWED_LOGON_VERSION_SERVER=11

(9)   ORA-01017 pomocí „sqlplus / jako sysdba“

K tomu může dojít, pokud uživatel operačního systému, ve kterém se pokoušíte použít výše uvedený příkaz, není členem skupiny dba.

Ujistěte se, že uživatel OS je součástí skupiny DBA.

Zkontrolujte také sqlnet.ora  .pokud máte  sqlnet.authentication_services=none , pak se také může zobrazit tato chyba

Doufám, že se vám obsah na ORA-01017 neplatné uživatelské jméno/heslo bude líbit

Související články
ORA-00911 :Tento příspěvek je pro běžné příčiny ORA-00911:neplatný znak v oracle s příklady a řešením, které vám pomohou dokončit práci
ORA-29913 :tipy pro odstraňování problémů s chybami ORA, jako je ora- 29913:chyba při provádění výzvy odciexttableopen, ora-29913:chyba při provádění výzvy odciexttablefetch
ORA-00257 :Zjistěte, jak odstranit chybu archivátoru ORA-00257. Pouze interní chyba připojení.Různá řešení a příklady jsou uvedeny krok za krokem.
změnit uživatele identifikovaného hodnotami :Zjistěte více o heslu Oracle , uloženém v databázi, algoritmu , jak se přihlásit jako uživatel bez změny hesla oracle pomocí změny uživatele identifikováno hodnotami
ORA-28000 :ORA-28000 účet je uzamčen je velmi častá chyba. Podívejte se na tento příspěvek o tom, jak to krok za krokem snadno vyřešit bez jakýchkoli problémů
ORA-00904 :Tento příspěvek s popisem a možnými řešeními ORA-00904:neplatný identifikátor. K dispozici jsou také tipy pro řešení problémů
ORA -28002:Tento příspěvek o tom, jak vyřešit ORA-28002 heslo vyprší. Co lze udělat, abyste se tomu úplně vyhnuli vytvořením nového profilu
Dokumentace Oracle 12.2


  1. Strana Vztah Vzor. Jak modelovat vztahy

  2. Funkce Oracle Analytic - resetování klauzule pro vytváření oken

  3. Trigram Wildcard String Search v SQL Server

  4. Nástroj ADODFCMP