Geek Diary
denne pos dekker scenariene nedenfor:
- Gjenopprette fra tapte sys passord ved HJELP AV os-godkjenning På Unix.
- Gjenopprette tapte sys passord ved hjelp av passwordfile autentisering På Unix.
- Gjenopprette fra tapte sys passord ved HJELP AV nts-godkjenning På Windows.
- Gjenopprette tapte sys passord ved hjelp av passwordfile autentisering På Windows.
metodene som skal brukes, er avhengige av:
1. OS-godkjenning
2. passwordfile autentisering.
Gjenopprette fra tapte sys passord ved HJELP AV os-godkjenning På Unix
1. Kontroller AT OS-brukeren som er logget på, er medlem av dba-gruppen. Hvis dba-gruppen ikke er kjent, sjekk filen:
$ ORACLE_HOME/rdbms/lib/config.c (or config.s)
2. Kontroller at sqlnet.ora-filen inneholder ikke:
sqlnet.authentication_services
parameter. Hvis denne parameteren eksisterer, bør den kommenteres.
3. kontroller PARAMETRENE ORACLE_HOME, ORACLE_SID OG PATH. De må svare til parametrene I Oracle-forekomsten der SYS-passordet har gått tapt.
4. koble til forekomsten ved hjelp av:
$ sqlplus /nologsql> connect / as sysdba
5. Endre sys-passordet ved hjelp av:
sql> alter user sys identified by ;
hvis en passwordfile er i bruk, vil kommandoen oppdatere passordfilen også, så det er ikke nødvendig å gjenskape denne filen.
Gjenopprette tapte sys passord ved hjelp av passwordfile autentisering På Unix
HVIS SYS passord ikke er kjent OG OS-godkjenning er ikke et alternativ, kan denne metoden brukes. Denne metoden antar AT SYS-kontoen ikke er tilgjengelig, derfor kan det være nødvendig med en abrupt avslutning for databasen.
1. Kontroller at initialiseringsparameteren REMOTE_LOGIN_PASSWORDFILE er satt TIL DELT eller EKSKLUSIV. Endring av denne parameterverdien krever en instansstart.
2. Deaktiver os-godkjenning, hvis den er aktivert av en eller annen grunn, ved å sette:
sqlnet.authentication_services=(none)
i sqlnet.ora-fil (sikkerhetskopier eksisterende sqlnet.før du gjør noen endringer).
3. gå til OS-destinasjonen for passordetfil:
$ cd $ORACLE_HOME/dbs
4. Lag en sikkerhetskopi av det forrige passordetfil:
$ cp orapw$ORACLE_SID orapw$ORACLE_SID.bak
5. Gjenta passwordfile ved hjelp av orapwd-kommandoen:
$ orapwd file=orapw$ORACLE_SID password=
6. Prøv å koble til med det nye passordet.
$ sqlplus /nologconnect sys as sysdba
7. Som en ekstra sjekk, hvis ovennevnte er vellykket, spør:
sql> select * from v$pwfile_users;
hvis den returnerer minst en linje, er alt ok, og den nye passwordfile er i bruk.
8. Endre sys-passordet i dataordlisten ved hjelp av:
sql> alter user sys identified by ;
Selvfølgelig må det nye passordet samsvare med det nye passordet til passwordfile, hvis passordet skal holdes, eller det kan settes til noe annet hvis det første passordet skal endres. Denne kommandoen vil også oppdatere passwordfile.
9. Hvis testen i trinn ikke lykkes, må forekomsten startes på nytt. Det kan være at, hvis ingen sysdba eller sysoper tilgang er mulig, at forekomsten må bringes ned brått, gjør dette ved å:
– drepe en bakgrunnsprosess– helst drepe SMON, SÅ PMON kan fortsatt gjøre litt opprydding).
– fjerne de delte minneressursene ved hjelp av ipcrm hvis de ikke fjernes av MIN PMON.
10. Etter å ha startet forekomsten, sjekk om SYS-passordet er operativt, og hvis det er minst en oppføring i v$pwfile_users. Hvis andre brukere tidligere hadde oppføringer i passordetfil, gi DEM SYSDBA eller SYSOPER igjen.
11. Gjenopprett sqlnet.ora fil fra backup utført på trinn # 2, om nødvendig.
Gjenopprette fra tapte sys passord ved HJELP AV nts-godkjenning På Windows
1. Kontroller AT OS-brukeren som er logget på, er medlem Av Gruppen Windows ORA_DBA.
2. Kontroller også at sqlnet.ora-filen har følgende linje:
sqlnet.authentication_services = (nts)
3. Koble til forekomsten ved hjelp av:
$ sqlplus /nologconnect / as sysdba
4. Endre sys-passordet ved hjelp av:
sql> alter user sys identified by ;
hvis en passwordfile er i bruk, vil kommandoen oppdatere passordfilen også, så det er ikke nødvendig å gjenskape denne filen.
Gjenopprette tapte sys passord ved hjelp av passwordfile autentisering På Windows
HVIS SYS passord ikke er kjent OG OS-godkjenning er ikke et alternativ, kan denne metoden brukes. Denne metoden forutsetter AT SYS-kontoen ikke er tilgjengelig, derfor kan det være nødvendig med en nedleggelse for databasen.
1. Kontroller at initialiseringsparameteren REMOTE_LOGIN_PASSWORDFILE er satt TIL DELT eller EKSKLUSIV.
2. deaktiver os-godkjenning, hvis den er aktivert av en eller annen grunn, ved å sette:
sqlnet.authentication_services=(none)
i sqlnet.ora fil
3. gå til OS-destinasjonen for passordetfil:
cd %ORACLE_HOME%\database
4. Lag en sikkerhetskopi av det forrige passordetfil:
cp pwd.ora pwd.ora.bak
5. Gjenta passwordfile ved hjelp av orapwd-kommandoen:
orapwd file=pwd.ora password=
6. Prøv å koble til med det nye passordet.
sqlplus /nologconnect sys as sysdba
7. Som en ekstra sjekk, hvis ovennevnte er vellykket, spør:
sql> select * from v$pwfile_users;
hvis den returnerer minst en linje, er alt ok, og den nye passwordfile er i bruk.
8. endre sys-passordet i dataordlisten ved hjelp av:
sql> alter user sys identified by ;
Selvfølgelig må det nye passordet samsvare med det nye passordet til passwordfile, hvis passordet skal holdes, eller det kan settes til noe annet hvis det første passordet skal endres. Denne kommandoen vil også oppdatere passwordfile.
9. Hvis testen i trinn ikke lykkes, må forekomsten startes på nytt. Dette kan gjøres ved å starte tjenesten på nytt.
10. Etter å ha startet forekomsten, sjekk om SYS-passordet er operativt, og hvis det er minst en oppføring i v$pwfile_users. Hvis andre brukere tidligere hadde oppføringer i passordetfil, gi DEM SYSDBA eller SYSOPER igjen.
11. aktiver nts-godkjenning på nytt ved å angi:
sqlnet.authentication_services=(nts)
om nødvendig.