sql >> Database teknologi >  >> RDS >> Oracle

ORA-01017 Oracle-fejlløsningstips

ORA-01017 er en af ​​de almindelige fejl, der ses under forbindelse til Oracle-databasen.

Her er, hvad dokumentationen siger om denne fejl

Her er tjeklisten, der skal køres for at løse ORA-01017:ugyldigt brugernavn/adgangskode

(1) Hovedproblemet med en ORA-01017 fejlen er en ugyldig kombination af bruger-id og adgangskoder. Du skal sikre dig, at du indtaster den rigtige adgangskode

I tilfælde af at målsystemet er 11g, kan adgangskoden være forskel på store og små bogstaver

Du kan kontrollere parameteren i systemet

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

Når ovenstående parameter er sat til sand, er følsomheden for store og små bogstaver slået til. Du kan deaktivere den og kontrollere forbindelsen igen

SQL> ALTER SYSTEM SET SEC_CASE_SENSITIVE_LOGON = FALSE;

System altered.

Og prøv at forbinde. Hvis det virker , så ved du, at der er forskel på store og små bogstaver, der er problemet. Du vil måske ændre brugeradgangskoden  og skrive den et sted for at huske den store og små bogstaver og derefter aktivere systemparameteren igen

SQL> ALTER user test identified by TEST1;

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

System altered.

(2) Det kan være, at bruger-id'et er ugyldigt for målsystemet. Tjek, om  bruger-id'et findes som brugernavn-kolonnen i dba_users-visningen.

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

(3) Tjek din $ORACLE_SID  eller $TWO_TASK miljøparameter. Hvis din $ORACLE_SID er indstillet til den forkerte database, får du muligvis en ORA-01017 fejl, fordi du opretter forbindelse til den forkerte oracle-database.

(4) Tjek din tnsnames.ora for at sikre, at TNS-tjenesten peger på den rigtige database. Du kan også bruge tnsping-kommandoen til at kontrollere det

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 også få ORA-01017-fejl i dataguard-miljøet og standby-miljøet

Sørg for, at SYS-brugeradgangskoden er den samme på både den primære og standby-siden. Opret oracle-adgangskodefilen ved hjælp af orapwd med samme adgangskode på både den primære side og standby-siden

Med Oracle-database 12c, i tilfælde af Primær RAC-database, skal vi have adgangskodefil på delt  placering

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

(6) Nogle gange kan der være en anden årsag til fejlen, og ORA-01017 er en vildledende fejl.

Du kan spore opkaldsstakken ved at bruge truss eller sporingskommando

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) Denne fejl kan også opstå under RMAN aktiv duplikering

 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) Ugyldige adgangskoder og ORA-1017 ugyldigt brugernavn eller adgangskode

Oracle Database 12c release 2 (12.2) standardgodkendelsesprotokol er 12 (Eksklusiv tilstand). Denne protokol kræver store og små bogstaver i adgangskoder til godkendelse. Gennemgå dine muligheder, hvis du har tidligere udgivelsesadgangskodeversioner.

Fra og med Oracle Database 12c version 2 (12.2) ændres standardværdien for SQLNET.ORA-parameteren ALLOWED_LOGON_VERSION_SERVER til 12. Denne parameter refererer til logon-godkendelsesprotokol, der bruges til serveren, ikke Oracle Database-udgivelsen.

Som standard understøtter Oracle ikke længere versal-ufølsom adgangskodebaseret godkendelse; kun de nye adgangskodeversioner (11G og 12C) er tilladt. Den versal-ufølsomme 10G-adgangskodeversion genereres ikke længere.

Hvis du har konti, der kræver 10G-adgangskodeversioner, kan du for at forhindre, at konti, der bruger denne adgangskodeversion, bliver låst ude af databasen, skifte fra en eksklusiv tilstand til en mere tilladelig godkendelsesprotokol.

Adgangskodeversion kan kontrolleres som

select username,password_version from dba_users;

Log ind som administrator.

Rediger filen SQLNET.ORA for at ændre indstillingen SQLNET.ALLOWED_LOGON_VERSION_SERVER fra standardindstillingen 12 til 11 eller lavere. For eksempel:

SQLNET.ALLOWED_LOGON_VERSION_SERVER=11

(9)   ORA-01017 ved hjælp af "sqlplus / as sysdba"

Dette kan ske, hvis OS-brugeren, hvor du forsøger at bruge kommandoen ovenfor, ikke er medlem af dba-gruppen.

Sørg for, at OS-brugeren er en del af DBA-gruppen.

Tjek også sqlnet.ora  .hvis du har  sqlnet.authentication_services=none , så får du muligvis også denne fejl

Håber du kan lide indholdet på ORA-01017 ugyldigt brugernavn/adgangskode

Relaterede artikler
ORA-00911 :Dette indlæg er for almindelige årsager til ORA-00911:ugyldig karakter i oracle med eksempler og opløsning for at hjælpe dig med at fuldføre jobbet
ORA-29913 :fejlfindingstip til ORA-fejl som ora- 29913:fejl ved udførelse af odciexttableopen callout, ora-29913:fejl ved udførelse af odciexttablefetch callout
ORA-00257 :Lær hvordan du fejlfinder for ORA-00257 arkiveringsfejl. Tilslut kun intern fejl. Forskellige opløsninger og eksempler leveres trin for trin.
ændre bruger identificeret ved værdier:Lær om Oracle-adgangskode, gemt i databasen, algoritme, hvordan du logger ind som bruger uden at ændre oracle-adgangskoden ved hjælp af ændre bruger identificeret ved værdier
ORA-28000 :ORA-28000 kontoen er låst er en meget almindelig fejl. Tjek dette indlæg om, hvordan du nemt løser det trin for trin uden problemer
ORA-00904 :Dette indlæg for beskrivelsen og mulige løsninger af ORA-00904:invalid identifier.fejlfindingstip er også givet
ORA -28002:Dette indlæg om, hvordan man løser ORA-28002, vil adgangskoden udløbe. Hvad kan man gøre for helt at undgå det ved at oprette en ny profil
Oracle 12.2-dokumentation


  1. Hvordan kontrollerer man, om en kolonne eksisterer, før man tilføjer den til en eksisterende tabel i PL/SQL?

  2. få JOIN-tabel som en række resultater med PostgreSQL/NodeJS

  3. SQL opdeler værdier til flere rækker

  4. Hvad er CHAR_LENGTH() i MySQL?