Usuwanie Backupów i plików – RMAN

Brutalne, niebezpieczne ale czasem konieczne – usuwanie kopii zapasowych.
Pierwszy nasz wpis od dawna i pierwszy na temat czarodziejskiego RMAN’a.

Pierwsze polecenie powoduje trwałe usunięcie wszystkich kopii z dysku(katalogu)
RMAN> DELETE BACKUP;

 

Powyższe polecenie zapyta czy na pewno chcemy usunąć wszystkie backupy bazy. Jeśli jesteśmy z góry pewni i lubimy ryzyko możemy pominąć potwierdzenie wpisując polecenie:
RMAN> DELETE NOPROMPT BACKUP;

 

Możemy też usunąć wszystkie kopie obrazu:
RMAN> DELETE DATAFILECOPY ALL;

 

Lub wybrane kopie obrazu, podając numer lub nazwę pliku:
RMAN> DELETE DATAFILECOPY 17;
RMAN> DELETE DATAFILECOPY '/u01/app/oracle/fra/test01.dbf’;

 

Bezpieczniejszą metodą zanim usuniemy wszystkie kopie będzie sprawdzenie i usunięcie tych, powiedzmy ‘przeterminowanych’ po wcześniejszym użyciu polecenia CROSSCHECK:
RMAN> DELETE EXPIRED BACKUP;

 

Warto również usunąć wszystkie ‘przeterminowane’ archive logi:
RMAN> DELETE EXPIRED ARCHIVELOG ALL;

 

Jest jeszcze polecenie z klauzulą OBSSOLATE które usunie wszystkie kopie które są zbyt stare zgodnie z polityką retencji:
RMAN> DELETE OBSOLETE;

 

Oczywiście nie są to wszystkie metody usuwania dlatego zapraszamy do dodawania komentarzy

Upgrade bazy do 12.2.0.1

Dzisiaj dla naszego Klienta będziemy robić pierwszy testowy Upgrade bazy danych do wersji 12.2.0.1.
Klient mniejszy co nie oznacza że wszystko pójdzie szybko.

Wsparcie na ten produkt rozpocznie się według tabeli Oracle dopiero w ostatnim kwartale 2017 więc będziemy 'trochę’ pionierami 🙂

support_date

Hasło wygasło

Poniedziałek rano w pracy to zazwyczaj nie jest dobra pora na awarię. Niestety awarie nie wybierają a niektórym udałoby się zapobiec gdyby nie … inne awarie J
Pracownicy nie mogą pracować więc pewnie coś poważnego musiało się stać.
Zalogowałem się do klienta i podczas próby zalogowania na właściciela schematu zobaczyłem dość przyjemny jak na ‘awarię’ komunikat:

ORA-28001: the password has expired

Sprawdziłem więc jaki profil ma przypisany nieszczęsny użytkownik i kiedy wygasło konto
001_expiry_passwd

Na zrzucie powyżej widać że dla użytkownika nie ma stworzonej specjalnej grupy a więc można przyjąć że jego hasło wygasa co 180 dni jeśli nikt wcześniej nie zmieniał nic w profilu Default. Ale sprawdzić można to poniższym zapytaniem
002_expiry_passwd

Jeśli istnieje taka konieczność to należy zmienić parametr password_life_time choć należy pamiętać że nie jest to zalecane ze względów bezpieczeństwa
003_expiry_passwd

I jeszcze raz wykonujemy zapytanie czy przy parametrze jest wartość unlimited.

Dobry zwyczaj:
Dobrą praktyką jest stworzenie dedykowanego profilu na potrzeby działania systemu a nie korzystanie z default’owego. Są użytkownicy których zmiana hasła nie jest pożądana ponieważ korzystają z niego aplikacje zewnętrzne i przy każdym zmianie hasła konieczna byłaby ich zmiana. Natomiast dla operatorów korzystających z aplikacji zmiana hasła co 180 dni jest jak najbardziej wskazana.
Oczywiście powyższej sytuacji można było uniknąć.

Użyte skrypty:

SELECT S.PROFILE, S.EXPIRY_DATE
FROM DBA_USERS S 
WHERE S.USERNAME = 'NAZWA_UŻYTKOWNIKA’;

SELECT RESOURCE_NAME, LIMIT
FROM DBA_PROFILES
WHERE PROFILE = 'DEFAULT’;

alter profile DEFAULT LIMIT password_life_time UNLIMITED;

 

Walidacja obiektów

Niekiedy a nawet dość często kiedy musimy dodać do wybranego schematu jakiś pakiet, procedurę lub funkcje okazuje się że inne obiekty schematu zostały rozkompilowane. Oczywiście w miarę używania kolejnych obiektów będą one kompilowane przez samą bazę jeśli nie mają w sobie błędów ale może to trwać bardzo długo. Warto po modyfikacjach sprawdzić więc czy na naszej bazie są jakieś obiekty które do prawidłowego działania będą potrzebne zwalidowane.

Sprawdzamy więc listę rozwalidowanych obiektów na naszej bazie

sprawdzenie obiektów

Czytaj dalej

Zmiana katalogu DATA_PUMP_DIR

Czasem mamy potrzebę aby załadować pliki dmp które ktoś nam wcześniej wyeksportował.
Powiedzmy że ktoś skopiował te pliki na dysk usb a my możemy taki dysk podłączyć do naszego serwera.

Nie musimy w tym momencie kopiować plików z dysku usb na serwer i oszczędzamy miejsce na serwerze gdy nie mamy go wystarczająco dużo na pliki dmp oraz pliki danych.

Piszemy zapytanie pod jaką lokalizacją został stworzony plik DATA_PUMP_DIR.

01

Czytaj dalej