Geek päiväkirja
tämä pos kattaa alla skenaarioita:
- toipumassa menetetty SYS salasanan avulla OS todennus Unix.
- kadonneen SYS-salasanan palauttaminen passwordfile-todennuksen avulla Unixissa.
- toipumassa kadonneesta SYS-salasanasta käyttäen NTS-todennusta Windowsissa.
- kadonneen SYS-salasanan palauttaminen passwordfile-todennuksen avulla Windowsissa.
käytettävät menetelmät perustuvat:
1. Käyttöjärjestelmän todennus
2. salasanatiedoston todennus.
toipumassa kadonneesta sys-salasanasta käyttäen OS-todennusta Unixissa
1. Varmista, että käyttöjärjestelmän käyttäjä, joka on kirjautunut sisään, on DBA-ryhmän jäsen. Jos DBA-ryhmää ei tunneta, tarkista tiedosto:
$ ORACLE_HOME/rdbms/lib/config.c (or config.s)
2. Varmista, että sqlnet.ora-tiedosto ei sisällä:
sqlnet.authentication_services
parametri. Jos tämä parametri on olemassa,se on kommentoitava.
3. tarkista oracle_home -, ORACLE_SID-ja POLKUPARAMETRIT. Niiden on vastattava Oracle-instanssin parametreja, joissa SYS-salasana on kadonnut.
4. yhdistä instanssiin käyttämällä:
$ sqlplus /nologsql> connect / as sysdba
5. Vaihda SYS-salasana käyttäen:
sql> alter user sys identified by ;
jos salasanatiedosto on käytössä, komento päivittää myös salasanatiedoston, joten tätä tiedostoa ei tarvitse luoda uudelleen.
kadonneen sys-salasanan palauttaminen passwordfile-todennuksella Unixissa
jos SYS-salasana ei ole tiedossa eikä käyttöjärjestelmän todennus ole vaihtoehto, tätä menetelmää voidaan käyttää. Tämä menetelmä olettaa, että SYS-tili ei ole käytettävissä, joten äkillinen sammutus tietokantaan voidaan tarvita.
1. Varmista, että alustusparametri REMOTE_LOGIN_PASSWORDFILE on jaettu tai yksinomainen. Tämän parametrin arvon muuttaminen vaatii instanssin uudelleenkäynnistyksen.
2. Poista käyttöjärjestelmän todennus käytöstä, jos se on jostain syystä käytössä, asettamalla:
sqlnet.authentication_services=(none)
sqlnetissä.ora-tiedosto (varmuuskopioi nykyinen sqlnet.ora-tiedosto ennen muutosten tekemistä).
3. siirry käyttöjärjestelmän määränpäähän salasanatiedosto:
$ cd $ORACLE_HOME/dbs
4. Tee varmuuskopio edellisestä salasanatiedostosta:
$ cp orapw$ORACLE_SID orapw$ORACLE_SID.bak
5. Luo salasana uudelleen orapwd-komennolla:
$ orapwd file=orapw$ORACLE_SID password=
6. Yritä muodostaa yhteys uudella salasanalla.
$ sqlplus /nologconnect sys as sysdba
7. Lisätarkistuksena, jos yllä oleva on onnistunut, Kysy:
sql> select * from v$pwfile_users;
jos se palauttaa ainakin yhden rivin, niin kaikki on ok ja uusi passwordfile on käytössä.
8. Vaihda SYS-salasana data-sanakirjassa käyttäen:
sql> alter user sys identified by ;
uuden salasanan on tietenkin vastattava salasanatiedoston uutta salasanaa, jos kyseinen salasana halutaan säilyttää, tai se voidaan asettaa johonkin muuhun, jos alkuperäinen salasana halutaan vaihtaa. Tämä komento päivittää passwordfile samoin.
9. Jos Step-testi ei onnistu, instanssi on käynnistettävä uudelleen. Voi olla, että jos sysdba tai sysoper ei ole mahdollista, että esiintymä on kaadettava äkillisesti, tee tämä seuraavasti:
– tappamalla taustaprosessi (mieluiten tapa SMON, jotta PMON voi vielä siivota jonkin verran).
– yhteisten muistiresurssien poistaminen ipcrm: llä, jos pmon ei poista niitä.
10. Kun olet käynnistänyt instanssin uudelleen, tarkista, onko SYS-salasana toiminnassa ja onko V$pwfile_users-tiedostossa ainakin yksi merkintä. Jos muilla käyttäjillä oli aiemmin merkintöjä password-tiedostossa, anna heille SYSDBA tai sysoper uudelleen.
11. Palauta sqlnet.ora tiedosto varmuuskopiosta suoritetaan vaiheessa #2, tarvittaessa.
toipumassa kadonneesta sys-salasanasta käyttäen NTS-todennusta Windowsissa
1. Varmista, että käyttöjärjestelmän käyttäjä, joka on kirjautunut sisään, on Windows ORA_DBA-ryhmän jäsen.
2. Varmista myös, että sqlnet.ora-tiedostolla on seuraava rivi:
sqlnet.authentication_services = (nts)
3. Yhdistä instanssiin käyttämällä:
$ sqlplus /nologconnect / as sysdba
4. Vaihda SYS-salasana käyttäen:
sql> alter user sys identified by ;
jos salasanatiedosto on käytössä, komento päivittää myös salasanatiedoston, joten tätä tiedostoa ei tarvitse luoda uudelleen.
kadonneen sys-salasanan palauttaminen passwordfile-todennuksella Windows
jos SYS-salasana ei ole tiedossa eikä käyttöjärjestelmän todennus ole vaihtoehto, tätä menetelmää voidaan käyttää. Tämä menetelmä olettaa, että SYS-tili ei ole käytettävissä, joten sammutus tietokantaan voidaan tarvita, tämä voidaan toteuttaa pysäyttämällä oracleservicesid järjestelmään.
1. Varmista, että alustusparametri REMOTE_LOGIN_PASSWORDFILE on jaettu tai yksinomainen.
2. poista käyttöjärjestelmän todennus käytöstä, jos se on jostain syystä käytössä, asettamalla:
sqlnet.authentication_services=(none)
sqlnetissä.ora-tiedosto
3. siirry käyttöjärjestelmän määränpäähän salasanatiedosto:
cd %ORACLE_HOME%\database
4. Tee varmuuskopio edellisestä salasanatiedostosta:
cp pwd.ora pwd.ora.bak
5. Luo salasana uudelleen orapwd-komennolla:
orapwd file=pwd.ora password=
6. Yritä muodostaa yhteys uudella salasanalla.
sqlplus /nologconnect sys as sysdba
7. Lisätarkistuksena, jos yllä oleva on onnistunut, Kysy:
sql> select * from v$pwfile_users;
jos se palauttaa ainakin yhden rivin, niin kaikki on ok ja uusi passwordfile on käytössä.
8. vaihda SYS-salasana data-sanakirjassa käyttäen:
sql> alter user sys identified by ;
uuden salasanan on tietenkin vastattava salasanatiedoston uutta salasanaa, jos kyseinen salasana halutaan säilyttää, tai se voidaan asettaa johonkin muuhun, jos alkuperäinen salasana halutaan vaihtaa. Tämä komento päivittää passwordfile samoin.
9. Jos Step-testi ei onnistu, instanssi on käynnistettävä uudelleen. Tämä voidaan tehdä käynnistämällä palvelu uudelleen.
10. Kun olet käynnistänyt instanssin uudelleen, tarkista, onko SYS-salasana toiminnassa ja onko V$pwfile_users-tiedostossa ainakin yksi merkintä. Jos muilla käyttäjillä oli aiemmin merkintöjä password-tiedostossa, anna heille SYSDBA tai sysoper uudelleen.
11. ota NTS-todennus uudelleen käyttöön asettamalla:
sqlnet.authentication_services=(nts)
tarvittaessa.