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