Oracle
 sql >> Baza danych >  >> RDS >> Oracle

ORA-01017 Wskazówki dotyczące rozwiązywania błędów Oracle

ORA-01017 jest jednym z najczęstszych błędów występujących podczas łączenia się z bazą danych Oracle.

Oto, co dokumentacja mówi o tym błędzie

Oto lista kontrolna do uruchomienia w celu rozwiązania problemu ORA-01017:nieprawidłowa nazwa użytkownika/hasło

(1)Główny problem z ORA-01017 błąd to nieprawidłowa kombinacja identyfikatora użytkownika i hasła. Musisz się upewnić, że wpisujesz właściwe hasło

Jeśli system docelowy to 11g, hasło może uwzględniać wielkość liter

Możesz sprawdzić parametr w systemie

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

Gdy powyższy parametr jest ustawiony na true, rozróżnianie wielkości liter jest włączone, możesz go wyłączyć i ponownie sprawdzić połączenie

SQL> ALTER SYSTEM SET SEC_CASE_SENSITIVE_LOGON = FALSE;

System altered.

I spróbuj się połączyć. Jeśli to działa , to wiesz, że problemem jest rozróżnianie wielkości liter, możesz zmienić hasło użytkownika i zapisać je gdzieś, aby zapamiętać hasło z rozróżnianiem wielkości liter, a następnie ponownie włączyć parametr systemowy

SQL> ALTER user test identified by TEST1;

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

System altered.

(2) Możliwe, że identyfikator użytkownika jest nieprawidłowy dla systemu docelowego. Sprawdź, czy identyfikator użytkownika istnieje jako kolumna nazwy użytkownika w widoku dba_users.

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

(3) Sprawdź parametr środowiskowy $ORACLE_SID lub $TWO_TASK. Jeśli Twój $ORACLE_SID jest ustawiony na niewłaściwą bazę danych, możesz otrzymać ORA-01017 błąd, ponieważ łączysz się z niewłaściwą bazą danych Oracle.

(4) Sprawdź plik tnsnames.ora, aby upewnić się, że usługa TNS wskazuje właściwą bazę danych. Możesz użyć polecenia tnsping, aby to również sprawdzić

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) Możesz również otrzymać błąd ORA-01017 w środowisku ochrony danych i środowisku gotowości

Upewnij się, że hasło użytkownika SYS jest takie samo po stronie głównej i po stronie gotowości. Utwórz plik hasła Oracle za pomocą orapwd z tym samym hasłem zarówno po stronie podstawowej, jak i po stronie gotowości

W przypadku bazy danych Oracle 12c, w przypadku podstawowej bazy danych RAC, musimy mieć plik z hasłami we wspólnej lokalizacji

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

(6) Czasami może być inny powód błędu, a ORA-01017 jest mylącym błędem.

Możesz prześledzić stos wywołań za pomocą polecenia truss lub 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) Ten błąd można również napotkać podczas aktywnego kopiowania 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) Hasła bez rozróżniania wielkości liter i nieprawidłowa nazwa użytkownika ORA-1017 lubhasło

Domyślnym protokołem uwierzytelniania Oracle Database 12c w wersji 2 (12.2) jest 12 (tryb wyłączności). Ten protokół wymaga do uwierzytelniania haseł z rozróżnianiem wielkości liter. Sprawdź swoje opcje, jeśli masz wcześniejsze wersje haseł.

Począwszy od Oracle Database 12c wersja 2 (12.2), domyślna wartość parametru SQLNET.ORA ALLOWED_LOGON_VERSION_SERVER jest zmieniana na 12. Ten parametr odnosi się do protokołu uwierzytelniania logowania używanego na serwerze, a nie do wersji Oracle Database.

Domyślnie Oracle nie obsługuje już uwierzytelniania opartego na hasłach bez rozróżniania wielkości liter; dozwolone są tylko nowe wersje hasła (11G i 12C). Wersja hasła 10G bez rozróżniania wielkości liter nie jest już generowana.

Jeśli masz konta wymagające wersji hasła 10G, aby zapobiec blokowaniu kont korzystających z tej wersji hasła z bazy danych, możesz zmienić tryb wyłączności na bardziej liberalny protokół uwierzytelniania.

Wersję hasła można sprawdzić jako

select username,password_version from dba_users;

Zaloguj się jako administrator.

Edytuj plik SQLNET.ORA, aby zmienić ustawienie SQLNET.ALLOWED_LOGON_VERSION_SERVER z domyślnego 12 na 11 lub mniej. Na przykład:

SQLNET.ALLOWED_LOGON_VERSION_SERVER=11

(9)   ORA-01017 przy użyciu „sqlplus / jako sysdba”

Może się to zdarzyć, jeśli użytkownik systemu operacyjnego, w którym próbujesz użyć powyższego polecenia, nie jest członkiem grupy dba.

Upewnij się, że użytkownik systemu operacyjnego należy do grupy DBA.

Sprawdź także sqlnet.ora. Jeśli masz sqlnet.authentication_services=none, możesz również otrzymać ten błąd

Mam nadzieję, że podoba Ci się treść na ORA-01017 nieprawidłowa nazwa użytkownika/hasło

Powiązane artykuły
ORA-00911 :Ten post dotyczy typowych przyczyn ORA-00911:nieprawidłowy znak w Oracle z przykładami i rozwiązaniami, które pomogą Ci ukończyć zadanie.
ORA-29913 :wskazówki dotyczące rozwiązywania problemów z błędami ORA, takimi jak ora- 29913:błąd podczas wykonywania objaśnienia odciexttableopen, ora-29913:błąd podczas wykonywania objaśnienia odciexttablefetch
ORA-00257 :Dowiedz się, jak rozwiązać problem z błędem archiwizatora ORA-00257. Podłącz błąd tylko wewnętrzny.Różne rozwiązania i przykład podane krok po kroku.
zmień użytkownika identyfikowanego przez wartości :Dowiedz się o haśle Oracle , przechowywanym w bazie danych, algorytmie , jak zalogować się jako użytkownik bez zmiany hasła Oracle za pomocą opcji alter user identyfikowane przez wartości
ORA-28000 :ORA-28000 konto jest zablokowane jest bardzo częstym błędem. Sprawdź ten post, aby dowiedzieć się, jak rozwiązać ten problem krok po kroku bez żadnych problemów.
ORA-00904 :Ten post zawiera opis i możliwe rozwiązania ORA-00904:nieprawidłowy identyfikator. Dostępne są również wskazówki dotyczące rozwiązywania problemów
ORA -28002 :Ten post w jak rozwiązać ORA-28002 hasło wygaśnie. Co można zrobić, aby całkowicie tego uniknąć, tworząc nowy profil
Dokumentacja 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. Jak skonfigurować OTA w R12 i 11i?

  2. Jak zweryfikować adres e-mail za pomocą PL/SQL?

  3. Duży plik .patch_storage

  4. PL/SQL wydrukuj ref kursor zwrócony przez procedurę składowaną

  5. Korzystanie z daty w ograniczeniu sprawdzającym, Oracle