28 stycznia, 2022

The Geek Diary

ten pos obejmuje poniższe scenariusze:

  • Odzyskiwanie utraconego hasła sys przy użyciu uwierzytelniania systemu operacyjnego w systemie Unix.
  • Odzyskiwanie utraconego hasła sys za pomocą uwierzytelniania plików Password w systemie Unix.
  • Odzyskiwanie utraconego hasła sys za pomocą uwierzytelniania NTS w systemie Windows.
  • Odzyskiwanie utraconego hasła sys za pomocą uwierzytelniania plików Password w systemie Windows.

stosowane metody polegają na:
1. Uwierzytelnianie systemu operacyjnego
2. uwierzytelnianie plików haseł.

Odzyskiwanie utraconego hasła sys za pomocą uwierzytelniania systemu operacyjnego w systemie Unix

1. Upewnij się, że zalogowany użytkownik systemu operacyjnego jest członkiem grupy dba. Jeśli grupa dba nie jest znana, sprawdź plik:

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

2. Upewnij się, że sqlnet.plik ora nie zawiera:

sqlnet.authentication_services

parametr. Jeśli ten parametr istnieje, należy go skomentować.

3. sprawdź parametry ORACLE_HOME, ORACLE_SID i PATH. Muszą odpowiadać parametrom instancji Oracle, w której hasło SYS zostało utracone.

4. połącz się z instancją za pomocą:

$ sqlplus /nologsql> connect / as sysdba

5. Zmień hasło sys używając:

sql> alter user sys identified by ;

Jeśli plik hasła jest w użyciu, polecenie zaktualizuje również plik hasła, więc nie ma potrzeby odtwarzania tego pliku.

Odzyskiwanie utraconego hasła sys za pomocą uwierzytelniania plików Password w systemie Unix

jeśli hasło SYS nie jest znane, a uwierzytelnianie systemu operacyjnego nie jest możliwe, można użyć tej metody. Metoda ta zakłada, że konto SYS nie jest dostępne, dlatego może być potrzebne nagłe zamknięcie bazy danych.

1. Upewnij się, że parametr inicjalizacji REMOTE_LOGIN_PASSWORDFILE jest ustawiony na SHARED lub EXCLUSIVE. Zmiana wartości tego parametru wymaga ponownego uruchomienia instancji.

2. Wyłącz uwierzytelnianie systemu operacyjnego, jeśli jest włączone z jakiegoś powodu, ustawiając:

sqlnet.authentication_services=(none)

w sieci sqlnet.plik ora (kopia zapasowa istniejącego sqlnet.plik ora przed dokonaniem jakichkolwiek zmian).

3. przejdź do miejsca docelowego systemu operacyjnego dla pliku hasła:

$ cd $ORACLE_HOME/dbs

4. Wykonaj kopię zapasową poprzedniego pliku hasła:

$ cp orapw$ORACLE_SID orapw$ORACLE_SID.bak

5. Odtwórz plik hasła za pomocą polecenia orapwd:

$ orapwd file=orapw$ORACLE_SID password=

6. Spróbuj połączyć się przy użyciu nowego hasła.

$ sqlplus /nologconnect sys as sysdba

7. Jako dodatkowe sprawdzenie, jeśli powyższe się powiedzie, zapytanie:

sql> select * from v$pwfile_users;

jeżeli zwraca przynajmniej jedną linię, wtedy wszystko jest w porządku i nowy plik hasła jest w użyciu.

8. Zmień hasło sys w słowniku danych za pomocą:

sql> alter user sys identified by ;

oczywiście nowe hasło musi być zgodne z nowym hasłem pliku password, jeśli hasło ma być zachowane, lub może być ustawione na coś innego, jeśli początkowe hasło ma zostać zmienione. To polecenie zaktualizuje również plik password.

9. Jeśli test w kroku nie powiedzie się, instancja musi zostać uruchomiona ponownie. Może być tak, że jeśli nie ma dostępu do SYSDBA lub sysoper, instancja musi zostać nagle wyłączona, zrób to przez:

– zabijając proces w tle (najlepiej Zabij SMONA, więc PMON może jeszcze trochę posprzątać).
– usuwanie zasobów pamięci współdzielonej przy użyciu ipcrm, jeśli nie są one usuwane przez mój PMON.

10. Po ponownym uruchomieniu instancji sprawdź, czy hasło SYS działa i czy w v $ pwfile_users jest co najmniej jeden wpis. Jeśli inni użytkownicy wcześniej mieli wpisy w pliku hasła, przyznaj im ponownie SYSDBA lub sysoper.

11. Przywróć sqlnet.plik ora z kopii zapasowej wykonanej w Kroku # 2, w razie potrzeby.

Odzyskiwanie utraconego hasła sys za pomocą uwierzytelniania NTS w systemie Windows

1. Upewnij się, że zalogowany użytkownik systemu operacyjnego jest członkiem Grupy Windows ORA_DBA.

2. Upewnij się również, że sqlnet.plik ora ma następującą linię:

sqlnet.authentication_services = (nts)

3. Połącz się z instancją za pomocą:

$ sqlplus /nologconnect / as sysdba

4. Zmień hasło sys używając:

sql> alter user sys identified by ;

Jeśli plik hasła jest w użyciu, polecenie zaktualizuje również plik hasła, więc nie ma potrzeby odtwarzania tego pliku.

Odzyskiwanie utraconego hasła sys za pomocą uwierzytelniania plików Password w systemie Windows

jeśli hasło SYS nie jest znane, a uwierzytelnianie systemu operacyjnego nie jest możliwe, można użyć tej metody. Ta metoda zakłada, że konto SYS nie jest dostępne, dlatego może być potrzebne zamknięcie bazy danych, można to osiągnąć poprzez zatrzymanie OracleServiceSID w systemie.

1. Upewnij się, że parametr inicjalizacji REMOTE_LOGIN_PASSWORDFILE jest ustawiony na SHARED lub EXCLUSIVE.

2. wyłącz uwierzytelnianie systemu operacyjnego, jeśli jest włączone z jakiegoś powodu, ustawiając:

sqlnet.authentication_services=(none)

w sieci sqlnet.plik ora

3. przejdź do miejsca docelowego systemu operacyjnego dla pliku hasła:

cd %ORACLE_HOME%\database

4. Wykonaj kopię zapasową poprzedniego pliku hasła:

cp pwd.ora pwd.ora.bak

5. Odtwórz plik hasła za pomocą polecenia orapwd:

orapwd file=pwd.ora password=

6. Spróbuj połączyć się przy użyciu nowego hasła.

sqlplus /nologconnect sys as sysdba

7. Jako dodatkowe sprawdzenie, jeśli powyższe się powiedzie, zapytanie:

sql> select * from v$pwfile_users;

jeżeli zwraca przynajmniej jedną linię, wtedy wszystko jest w porządku i nowy plik hasła jest w użyciu.

8. Zmień hasło sys w słowniku danych za pomocą:

sql> alter user sys identified by ;

oczywiście nowe hasło musi być zgodne z nowym hasłem pliku password, jeśli hasło ma być zachowane, lub może być ustawione na coś innego, jeśli początkowe hasło ma zostać zmienione. To polecenie zaktualizuje również plik password.

9. Jeśli test w kroku nie powiedzie się, instancja musi zostać uruchomiona ponownie. Można to zrobić poprzez ponowne uruchomienie usługi.

10. Po ponownym uruchomieniu instancji sprawdź, czy hasło SYS działa i czy w v $ pwfile_users jest co najmniej jeden wpis. Jeśli inni użytkownicy wcześniej mieli wpisy w pliku hasła, przyznaj im ponownie SYSDBA lub sysoper.

11. ponownie włącz uwierzytelnianie NTS, ustawiając:

sqlnet.authentication_services=(nts)

w razie potrzeby.

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany.