januar 28, 2022

The Geek Diary

denne pos dækker nedenstående scenarier:

  • Gendannelse fra mistet sys-adgangskode ved hjælp af os-godkendelse på .
  • Gendannelse af den mistede sys-adgangskode ved hjælp af adgangskodefilgodkendelse på .
  • Gendannelse fra mistet sys-adgangskode ved hjælp af NTS-godkendelse på vinduer.
  • Gendannelse af den mistede sys-adgangskode ved hjælp af adgangskodefilgodkendelse på vinduer.

de metoder, der skal anvendes, er afhængige af:
1. OS-godkendelse
2. adgangskodefil godkendelse.

Gendannelse fra mistet sys-adgangskode ved hjælp af os-godkendelse på unik

1. Sørg for, at den OS-bruger, der er logget på, er medlem af DBA-gruppen. Hvis DBA-gruppen ikke er kendt, skal du kontrollere filen:

$ ORACLE_HOME/rdbms/lib/config.c (or config.s)

2. Sørg for, at netværket.ora-filen indeholder ikke:

sqlnet.authentication_services

parameter. Hvis denne parameter findes, skal den kommenteres.

3. tjek parametrene ORACLE_HOME, ORACLE_SID og PATH. De skal svare til parametrene i Oracle-forekomsten, hvor SYS-adgangskoden er gået tabt.

4. Opret forbindelse til forekomsten ved hjælp af:

$ sqlplus /nologsql> connect / as sysdba

5. Skift sys-adgangskoden ved hjælp af:

sql> alter user sys identified by ;

hvis en adgangskodefil er i brug, vil kommandoen også opdatere adgangskodefilen, så der er ingen grund til at genskabe denne fil.

Gendannelse af den mistede sys-adgangskode ved hjælp af adgangskodefilgodkendelse på unik

hvis SYS-adgangskoden ikke er kendt, og OS-godkendelsen ikke er en mulighed, kan denne metode bruges. Denne metode antager, at SYS-kontoen ikke er tilgængelig, hvorfor en pludselig nedlukning af databasen kunne være nødvendig.

1. Sørg for, at initialiseringsparameteren REMOTE_LOGIN_PASSORDFILE er indstillet til delt eller eksklusiv. Ændring af denne parameterværdi kræver en genstart af forekomsten.

2. Deaktiver os-godkendelse, hvis den er aktiveret af en eller anden grund, ved at indstille:

sqlnet.authentication_services=(none)

på nettet.ora-fil (sikkerhedskopier det eksisterende netværk.ora fil, før du foretager ændringer).

3. gå til os-destinationen for adgangskodenfil:

$ cd $ORACLE_HOME/dbs

4. Lav en sikkerhedskopi af det forrige adgangskodefil:

$ cp orapw$ORACLE_SID orapw$ORACLE_SID.bak

5. Genskab adgangskodefilen ved hjælp af kommandoen:

$ orapwd file=orapw$ORACLE_SID password=

6. Prøv at oprette forbindelse ved hjælp af den nye adgangskode.

$ sqlplus /nologconnect sys as sysdba

7. Som en ekstra kontrol, hvis ovenstående er vellykket, forespørgsel:

sql> select * from v$pwfile_users;

hvis den returnerer mindst en linje, er alt ok, og den nye adgangskodefil er i brug.

8. Skift sys-adgangskoden i dataordbogen ved hjælp af:

sql> alter user sys identified by ;

selvfølgelig skal den nye adgangskode matche adgangskodens nye adgangskodefil, hvis adgangskoden skal opbevares, eller den kan indstilles til noget andet, hvis den oprindelige adgangskode skal ændres. Denne kommando vil også opdatere adgangskodefilen.

9. Hvis testen i trin ikke lykkes, skal forekomsten genstartes. Det kan være, at hvis ingen sysdba– eller sysoper-adgang er mulig, at forekomsten skal nedbringes brat, skal du gøre dette ved:

– dræbe en baggrundsproces (helst dræbe SMON, så PMON kan stadig gøre noget oprydning).
– fjernelse af de delte hukommelsesressourcer ved hjælp af ipcrm, hvis de ikke fjernes af min PMON.

10. Når du har genstartet forekomsten, skal du kontrollere, om SYS-adgangskoden er i drift, og om der er mindst en post i v$. Hvis andre brugere tidligere havde poster i adgangskodefilen, skal du give dem SYSDBA eller SYSOPER igen.

11. Gendan netværket.ora fil fra backup udføres på trin #2, hvis det er nødvendigt.

Gendannelse fra mistet sys-adgangskode ved hjælp af NTS-godkendelse på vinduer

1. Sørg for, at den OS-bruger, der er logget på, er medlem af Ora_dba-gruppen.

2. Sørg også for, at netværket.ora-filen har følgende linje:

sqlnet.authentication_services = (nts)

3. Opret forbindelse til forekomsten ved hjælp af:

$ sqlplus /nologconnect / as sysdba

4. Skift sys-adgangskoden ved hjælp af:

sql> alter user sys identified by ;

hvis en adgangskodefil er i brug, vil kommandoen også opdatere adgangskodefilen, så der er ingen grund til at genskabe denne fil.

Gendannelse af den mistede sys-adgangskode ved hjælp af adgangskodefilgodkendelse på vinduer

hvis SYS-adgangskoden ikke er kendt, og OS-godkendelsen ikke er en mulighed, kan denne metode bruges. Denne metode antager, at SYS-kontoen ikke er tilgængelig, og derfor kan en nedlukning af databasen være nødvendig, dette kan opnås ved at stoppe OracleServiceSID på dit system.

1. Sørg for, at initialiseringsparameteren REMOTE_LOGIN_PASSORDFILE er indstillet til delt eller eksklusiv.

2. Deaktiver os-godkendelse, hvis den er aktiveret af en eller anden grund, ved at indstille:

sqlnet.authentication_services=(none)

på nettet.ora fil

3. gå til os-destinationen for adgangskodenfil:

cd %ORACLE_HOME%\database

4. Lav en sikkerhedskopi af det forrige adgangskodefil:

cp pwd.ora pwd.ora.bak

5. Genskab adgangskodefilen ved hjælp af kommandoen:

orapwd file=pwd.ora password=

6. Prøv at oprette forbindelse ved hjælp af den nye adgangskode.

sqlplus /nologconnect sys as sysdba

7. Som en ekstra kontrol, hvis ovenstående er vellykket, forespørgsel:

sql> select * from v$pwfile_users;

hvis den returnerer mindst en linje, er alt ok, og den nye adgangskodefil er i brug.

8. skift sys-adgangskoden i dataordbogen ved hjælp af:

sql> alter user sys identified by ;

selvfølgelig skal den nye adgangskode matche adgangskodens nye adgangskodefil, hvis adgangskoden skal opbevares, eller den kan indstilles til noget andet, hvis den oprindelige adgangskode skal ændres. Denne kommando vil også opdatere adgangskodefilen.

9. Hvis testen i trin ikke lykkes, skal forekomsten genstartes. Dette kan gøres ved at genstarte tjenesten.

10. Når du har genstartet forekomsten, skal du kontrollere, om SYS-adgangskoden er i drift, og om der er mindst en post i v$. Hvis andre brugere tidligere havde poster i adgangskodefilen, skal du give dem SYSDBA eller SYSOPER igen.

11. genaktiver NTS-godkendelse ved at indstille:

sqlnet.authentication_services=(nts)

hvis det er nødvendigt.

Skriv et svar

Din e-mailadresse vil ikke blive publiceret.