sql >> Database >  >> RDS >> Oracle

ORA-01017 Tips voor het oplossen van Oracle-fouten

ORA-01017 is een van de meest voorkomende fouten bij het verbinden met de Oracle-database.

Dit is wat de documentatie over deze fout zegt

Hier is de checklist die moet worden uitgevoerd om de ORA-01017 op te lossen:ongeldige gebruikersnaam/wachtwoord

(1)Het belangrijkste probleem met een ORA-01017 fout is een ongeldige combinatie van gebruikers-ID en wachtwoord. U moet ervoor zorgen dat u het juiste wachtwoord invoert

Als het doelsysteem 11g is, kan het wachtwoord hoofdlettergevoelig zijn

U kunt de parameter in het systeem controleren

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

Wanneer de bovenstaande parameter is ingesteld op waar, is de hoofdlettergevoeligheid aan. U kunt deze uitschakelen en de verbinding opnieuw controleren

SQL> ALTER SYSTEM SET SEC_CASE_SENSITIVE_LOGON = FALSE;

System altered.

En probeer verbinding te maken. Als het werkt, weet u dat de hoofdlettergevoeligheid het probleem is. U kunt het gebruikerswachtwoord wijzigen en het ergens schrijven om het hoofdlettergevoelige wachtwoord te onthouden en vervolgens de systeemparameter weer inschakelen

SQL> ALTER user test identified by TEST1;

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

System altered.

(2) Het kan zijn dat de gebruikers-ID ongeldig is voor het doelsysteem. Controleer of de  gebruikers-ID bestaat als de gebruikersnaamkolom in de weergave dba_users.

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

(3) Controleer uw omgevingsparameter $ORACLE_SID  of $TWO_TASK. Als uw $ORACLE_SID op de verkeerde database is ingesteld, krijgt u mogelijk een ORA-01017 fout omdat u verbinding maakt met de verkeerde Oracle-database.

(4) Controleer uw tnsnames.ora om er zeker van te zijn dat de TNS-service naar de juiste database verwijst. U kunt het tnsping-commando gebruiken om dat ook te controleren

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) Mogelijk krijgt u ook een ORA-01017-fout in de dataguard-omgeving en de standby-omgeving

Zorg ervoor dat het SYS-gebruikerswachtwoord hetzelfde is aan zowel de primaire als de standby-zijde. Maak het orakel-wachtwoordbestand met orapwd met hetzelfde wachtwoord aan zowel de primaire als de standby-kant

Met Oracle-database 12c, in het geval van de primaire RAC-database, moeten we een wachtwoordbestand hebben op een gedeelde  locatie

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

(6) Soms kan er een andere reden zijn voor de fout en is ORA-01017 een misleidende fout.

U kunt de call-stack traceren met behulp van de truss- of trace-opdracht

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) Deze fout kan ook optreden tijdens RMAN actieve duplicatie

 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) Hoofdletterongevoelige wachtwoorden en ORA-1017 ongeldige gebruikersnaam of wachtwoord

Het standaard authenticatieprotocol van Oracle Database 12c release 2 (12.2) is 12 (exclusieve modus). Dit protocol vereist hoofdlettergevoelige wachtwoorden voor authenticatie. Bekijk uw opties als u eerdere wachtwoordversies heeft.

Vanaf Oracle Database 12c release 2 (12.2) wordt de standaardwaarde voor de SQLNET.ORA-parameter ALLOWED_LOGON_VERSION_SERVER gewijzigd in 12. Deze parameter verwijst naar het aanmeldingsverificatieprotocol dat voor de server wordt gebruikt, niet de Oracle Database-release.

Oracle ondersteunt standaard niet langer hoofdlettergevoelige authenticatie op basis van wachtwoorden; alleen de nieuwe wachtwoordversies (11G en 12C) zijn toegestaan. De hoofdletterongevoelige 10G-wachtwoordversie wordt niet langer gegenereerd.

Als u accounts heeft waarvoor een 10G-wachtwoordversie vereist is, kunt u, om te voorkomen dat accounts die die wachtwoordversie gebruiken, buiten de database worden vergrendeld, overschakelen van een exclusieve modus naar een meer tolerant authenticatieprotocol.

Wachtwoordversie kan worden gecontroleerd als

select username,password_version from dba_users;

Log in als beheerder.

Bewerk het bestand SQLNET.ORA om de instelling SQLNET.ALLOWED_LOGON_VERSION_SERVER te wijzigen van de standaardwaarde 12 naar 11 of lager. Bijvoorbeeld:

SQLNET.ALLOWED_LOGON_VERSION_SERVER=11

(9)   ORA-01017 met "sqlplus / as sysdba"

Dit kan gebeuren als de gebruiker van het besturingssysteem waarbij u de bovenstaande opdracht probeert te gebruiken, geen lid is van de dba-groep.

Zorg ervoor dat de OS-gebruiker deel uitmaakt van de DBA-groep.

Controleer ook de sqlnet.ora  .if je hebt  sqlnet.authentication_services=none, dan krijg je mogelijk ook deze foutmelding

Ik hoop dat je de inhoud op ORA-01017 ongeldige gebruikersnaam/wachtwoord . leuk vindt

Gerelateerde artikelen
ORA-00911:dit bericht is voor veelvoorkomende oorzaken van ORA-00911:ongeldig teken in orakel met voorbeelden en resolutie om u te helpen de taak te voltooien
ORA-29913:tips voor het oplossen van problemen met de ORA-fouten zoals ora- 29913:fout bij het uitvoeren van odciexttableopen callout, ora-29913:fout bij het uitvoeren van odciexttablefetch callout
ORA-00257:Meer informatie over het oplossen van een ORA-00257 archiverfout. Verbind alleen interne fout. Verschillende oplossingen en voorbeelden worden stap voor stap verstrekt.
gebruiker wijzigen geïdentificeerd door waarden:meer informatie over Oracle-wachtwoord, opgeslagen in database, algoritme, inloggen als gebruiker zonder het orakel-wachtwoord te wijzigen met behulp van gebruiker wijzigen geïdentificeerd door waarden
ORA-28000:ORA-28000 het account is vergrendeld is een veel voorkomende fout. Bekijk dit bericht over hoe je het stap voor stap gemakkelijk en zonder problemen kunt oplossen
ORA-00904 :Dit bericht voor de beschrijving en mogelijke oplossingen van ORA-00904:ongeldige identifier.troubleshooting tips wordt ook gegeven
ORA -28002 :Dit bericht over het oplossen van ORA-28002 het wachtwoord zal verlopen. Wat kan er gedaan worden om het helemaal te vermijden door een nieuw profiel aan te maken
Oracle 12.2 Documentatie


  1. MariaDB JSON_VALUE() uitgelegd

  2. if (selecteer count(column) from table)> 0 then

  3. PHP om afbeeldingen op te slaan in MySQL of niet?

  4. Hoe de CREATE VIEW-code voor een weergave in PostgreSQL te zien?