Oracle
 sql >> база данни >  >> RDS >> Oracle

ORA-01017 Съвети за разрешаване на грешки на Oracle

ORA-01017 е една от често срещаните грешки, наблюдавани при свързване с база данни на oracle.

Ето какво се казва в документацията за тази грешка

Ето контролния списък, който да изпълните, за да разрешите ORA-01017:невалидно потребителско име/парола

(1)Основният проблем с ORA-01017 грешката е невалидна комбинация от потребителски идентификатор и парола. Трябва да се уверите, че въвеждате правилната парола

В случай, че целевата система е 11g, паролата може да бъде чувствителна към главни букви

Можете да проверите параметъра в системата

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

Когато горният параметър е настроен на true, чувствителността на малки и малки букви е включена, можете да го деактивирате и да проверите връзката отново

SQL> ALTER SYSTEM SET SEC_CASE_SENSITIVE_LOGON = FALSE;

System altered.

И опитайте да се свържете. Ако работи, тогава знаете, че чувствителността на малки и малки букви е проблемът, може да искате да промените потребителската парола и да я запишете някъде, за да запомните паролата, която е чувствителна към малки и големи букви и след това отново да активирате системния параметър

SQL> ALTER user test identified by TEST1;

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

System altered.

(2) Възможно е потребителският идентификатор да е невалиден за целевата система. Проверете дали  потребителският идентификатор съществува като колона с потребителско име в изгледа dba_users.

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

(3) Проверете своя $ORACLE_SID  или $TWO_TASK параметър на околната среда. Ако вашият $ORACLE_SID е настроен на грешна база данни, тогава може да получите ORA-01017 грешка, защото се свързвате с грешна база данни на Oracle.

(4) Проверете вашия tnsnames.ora, за да се уверите, че услугата TNS сочи към правилната база данни. Можете да използвате командата 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) Възможно е също да получите грешка ORA-01017 в среда за защита на данни и в готовност

Уверете се, че потребителската парола за SYS е една и съща както на основната, така и в режим на готовност. Създайте файла с паролата на Oracle, като използвате orapwd със същата парола както на основната, така и на резервната страна

С базата данни Oracle 12c, в случай, че е основна база данни RAC, трябва да имаме файл с парола на споделено местоположение

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

(6) Понякога може да има друга причина за грешката и ORA-01017 е подвеждаща грешка.

Можете да проследите стека от повиквания, като използвате команда truss или 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) Тази грешка може да се срещне и по време на активно дублиране на 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) Нечувствителни пароли и ORA-1017 невалидно потребителско име или парола

Протоколът за удостоверяване на Oracle Database 12c версия 2 (12.2) по подразбиране е 12 (Изключителен режим). Този протокол изисква пароли, чувствителни към малки и големи букви за удостоверяване. Прегледайте опциите си, ако имате по-ранни версии на паролата за издаване.

Започвайки с Oracle Database 12c версия 2 (12.2), стойността по подразбиране за параметъра SQLNET.ORA ALLOWED_LOGON_VERSION_SERVER се променя на 12. Този параметър се отнася до протокола за удостоверяване при влизане, използван за сървъра, а не версията на Oracle Database.

По подразбиране Oracle вече не поддържа удостоверяване, базирано на парола, независимо от главните букви; само новите версии на паролата (11G и 12C) са разрешени. Версията на паролата за 10G без значение на малките букви вече не се генерира.

Ако имате акаунти, които изискват версии на парола 10G, тогава, за да предотвратите блокиране на акаунти, използващи тази версия на паролата, от базата данни, можете да преминете от изключителен режим към по-разрешителен протокол за удостоверяване.

Версията на паролата може да се провери като

select username,password_version from dba_users;

Влезте като администратор.

Редактирайте файла SQLNET.ORA, за да промените настройката SQLNET.ALLOWED_LOGON_VERSION_SERVER от по подразбиране, 12, на 11 или по-ниска. Например:

SQLNET.ALLOWED_LOGON_VERSION_SERVER=11

(9)   ORA-01017 с помощта на „sqlplus / as sysdba“

Това може да се случи, ако потребителят на ОС, където се опитвате да използвате горната команда, не е член на групата dba.

Уверете се, че потребителят на ОС е част от групата DBA.

Също така проверете sqlnet.ora  .ако имате  sqlnet.authentication_services=none , тогава също може да получите тази грешка

Надяваме се да ви хареса съдържанието на ORA-01017 невалидно потребителско име/парола

Сродни статии
ORA-00911 :Тази публикация е за често срещани причини за ORA-00911:невалиден знак в oracle с примери и резолюция, които да ви помогнат да завършите задачата
ORA-29913 :съвети за отстраняване на неизправности за ORA грешки като ora- 29913:грешка при изпълнение на извикване za odciexttableopen, ora-29913:грешка при изпълнение на извикване на odciexttablefetch
ORA-00257 :Научете как да отстраните неизправности за грешка в архиватора ORA-00257. Свържете само вътрешна грешка. Различна разделителна способност и пример са предоставени стъпка по стъпка.
променете потребител, идентифициран чрез стойности:Научете за паролата на Oracle, съхранявана в базата данни, алгоритъма, как да влезете като потребител, без да променяте паролата на oracle, като използвате alter user идентифицирани по стойности
ORA-28000 :ORA-28000 акаунтът е заключен е много често срещана грешка. Вижте тази публикация за това как да я разрешите стъпка по стъпка лесно без проблеми
ORA-00904 :Тази публикация за описанието и възможните решения на ORA-00904:невалиден идентификатор.предоставени са и съвети за отстраняване на проблеми
ORA -28002 :Тази публикация за това как да разрешите ORA-28002 паролата ще изтече. Какво може да се направи, за да се избегне като цяло, като се създаде нов профил
Документация на Oracle 12.2


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Самоприсъединете се към Oracle с примери

  2. Как мога да избера записи САМО от вчера?

  3. Как да получите работни дни или часове между две дати

  4. Поглед към грешката на Oracle Group-by

  5. Намерете дублиращи се записи в колона