sql >> Databasteknik >  >> RDS >> Oracle

ORA-01017 Oracle-fellösningstips

ORA-01017 är ett av de vanligaste felen vid anslutning till Oracle-databasen.

Här är vad dokumentationen säger om detta fel

Här är checklistan att köra för att lösa ORA-01017:ogiltigt användarnamn/lösenord

(1) Huvudproblemet med en ORA-01017 felet är en ogiltig kombination av användar-ID och lösenord. Du måste se till att du anger rätt lösenord

Om målsystemet är 11g kan lösenordet vara skiftlägeskänsligt

Du kan kontrollera parametern i systemet

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

När ovanstående parameter är inställd på sant är skiftlägeskänsligheten på. Du kan inaktivera den och kontrollera anslutningen igen

SQL> ALTER SYSTEM SET SEC_CASE_SENSITIVE_LOGON = FALSE;

System altered.

Och försök att ansluta. Om det fungerar vet du att skiftlägeskänsligheten är problemet. Du kanske vill ändra användarlösenordet  och skriva det någonstans för att komma ihåg det skiftlägeskänsliga lösenordet och sedan aktivera systemparametern igen

SQL> ALTER user test identified by TEST1;

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

System altered.

(2) Det kan vara så att användar-ID:t är ogiltigt för målsystemet . Kontrollera om  användar-ID:t finns som användarnamnskolumnen i vyn dba_users.

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

(3) Kontrollera miljöparametern $ORACLE_SID  eller $TWO_TASK. Om din $ORACLE_SID är inställd på fel databas kan du få en ORA-01017 fel eftersom du ansluter till fel Oracle-databas.

(4) Kontrollera din tnsnames.ora för att säkerställa att TNS-tjänsten pekar till rätt databas. Du kan använda kommandot tnsping för att kontrollera det också

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) Du kan också få ORA-01017-fel i dataguard-miljö och standby-miljö

Se till att SYS-användarlösenordet är detsamma på både den primära och standby-sidan. Skapa oracle-lösenordsfilen med orapwd med samma lösenord på både primär- och standbysidan

Med Oracle-databas 12c, om primär RAC-databas, måste vi ha lösenordsfilen på delad  plats

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

(6) Ibland kan det finnas andra orsaker till felet och ORA-01017 är ett missvisande fel.

Du kan spåra samtalsstacken genom att använda truss eller trace-kommando

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) Detta fel kan också uppstå under RMAN aktiv duplicering

 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) Skiftlägeskänsliga lösenord och ORA-1017 ogiltigt användarnamn ellerlösenord

Standardautentiseringsprotokollet för Oracle Database 12c version 2 (12.2) är 12 (exklusivt läge). Detta protokoll kräver skiftlägeskänsliga lösenord för autentisering. Granska dina alternativ om du har tidigare versioner av lösenordsversioner.

Från och med Oracle Database 12c version 2 (12.2) ändras standardvärdet för SQLNET.ORA-parametern ALLOWED_LOGON_VERSION_SERVER till 12. Denna parameter hänvisar till inloggningsautentiseringsprotokollet som används för servern, inte Oracle Database-versionen.

Som standard stöder Oracle inte längre skiftlägeskänslig lösenordsbaserad autentisering; endast de nya lösenordsversionerna (11G och 12C) är tillåtna. Den skiftlägesokänsliga 10G-lösenordsversionen genereras inte längre.

Om du har konton som kräver 10G-lösenordsversioner kan du ändra från ett exklusivt läge till ett mer tillåtande autentiseringsprotokoll för att förhindra att konton som använder den lösenordsversionen låses ute från databasen.

Lösenordsversionen kan kontrolleras som

select username,password_version from dba_users;

Logga in som administratör.

Redigera filen SQLNET.ORA för att ändra inställningen SQLNET.ALLOWED_LOGON_VERSION_SERVER från standardinställningen 12 till 11 eller lägre. Till exempel:

SQLNET.ALLOWED_LOGON_VERSION_SERVER=11

(9)   ORA-01017 med “sqlplus / as sysdba”

Detta kan hända om OS-användaren där du försöker använda kommandot ovan inte är medlem i dba-gruppen.

Se till att OS-användaren är en del av DBA-gruppen.

Kontrollera även sqlnet.ora  .om du har  sqlnet.authentication_services=none , kan du också få det här felet

Hoppas du gillar innehållet på ORA-01017 ogiltigt användarnamn/lösenord

Relaterade artiklar
ORA-00911 :Det här inlägget är för vanliga orsaker till ORA-00911:ogiltigt tecken i oracle med exempel och upplösning för att hjälpa dig att slutföra jobbet
ORA-29913 :felsökningstips för ORA-fel som ora- 29913:fel vid exekvering av odciexttableopen callout, ora-29913:fel vid exekvering av odciexttablefetch callout
ORA-00257 :Lär dig hur du felsöker för ORA-00257 arkiveringsfel. Anslut endast internt fel. Olika upplösningar och exempel tillhandahålls steg för steg.
Ändra användare som identifieras av värden:Lär dig om Oracle-lösenord, lagrat i databasen, algoritm, hur du loggar in som användare utan att ändra oracle-lösenordet med hjälp av alter user identifieras av värden
ORA-28000 :ORA-28000 kontot är låst är ett mycket vanligt fel. Kolla in det här inlägget om hur du löser det steg för steg enkelt utan problem
ORA-00904 :Det här inlägget för beskrivning och möjliga lösningar för ORA-00904:invalid identifier.felsökningstips tillhandahålls också
ORA -28002 :Det här inlägget om hur man löser ORA-28002 lösenordet kommer att upphöra. Vad kan göras för att helt undvika det genom att skapa en ny profil
Oracle 12.2 Documentation


  1. Hur kör man två mysql-frågor som en i PHP/MYSQL?

  2. Vilket är det bästa verktyget för att jämföra två SQL Server-databaser (schema och data)?

  3. Vad är STATISTICS IO i SQL Server?

  4. PostgreSQL VAKUUM och ANALYSE Bästa praxis-tips