Laboratorium administracji rdbms oracle



Pobieranie 88,25 Kb.
Data23.04.2018
Rozmiar88,25 Kb.

Laboratorium administracji RDBMS ORACLE

Ćwiczenie 1

Przenoszenie bazy danych- tworzenie kopii zapasowej i odzyskiwanie bazy z kopii

Uwaga:


Wszystkie polecenia musisz wykonać dokładnie według wskazówek prowadzącego i w poniższych poleceniach.

  1. Obejrzyj podkatalogi katalogu ORACLE na dysku C.

  2. Otwórz bazę. Obejrzyj perspektywy dynamiczne:

V$CONTROLFILE

V$DATAFILE

V$LOGFILE

i zanotuj dokładnie nazwy i położenie wszystkich plików bazy.

Zamknij bazę w trybie NORMAL albo IMMEDIATE.

Korzystając z otrzymanych powyżej informacji, skopiuj pliki bazy danych do katalogu C:\DATA i tam twórz odtąd wszystkie swoje pliki. Skopiuj również plik INIT.ora do katalogu C:\DATA. Przejdź do katalogu C:\DATA.



  1. Zmodyfikuj plik INIT.ora w katalogu C:\DATA tak aby wskazywał nowe położenie pliku kontrolnego. Przy okazji obejrzyj plik parametrów.

  2. Zamontuj bazę korzystając z nowego pliku parametrów (klauzula PFILE polecenia STARTUP). Uważaj abyś nie otworzył bazy, bo otworzy się baza z katalogu Oracle.

  3. Kolejno poleceniem:

ALTER DATABASE RENAME FILE ‘filename’ TO ‘filename’;

Zmień położenie każdego pliku danych i dziennika na nowe.

Musisz w ten sposób zmienić zapisy w pliku kontrolnym o wszystkich plikach, bo inaczej otworzysz bazę złożoną z plików w różnych lokalizacjach.


  1. Otwórz bazę danych poleceniem ALTER DATABASE OPEN.

  2. Obejrzyj perspektywy:

V$CONTROLFILE

V$DATAFILE

V$LOGFILE

I sprawdź czy dobrze przeniosłeś bazę. Jeśli nie to popraw. Jeśli tak to już potrafisz wykonać kopię zapasową i odtworzenie bazy danych w innym niż oryginalne miejscu.



Uruchamianie i zamykanie instancji,

Posługiwanie się Server Managerem

  1. Podłącz się do instancji przez program Server Manager (svrmgrl.exe) jako “internal”.

  2. Uruchom bazę w trybie mount, tak aby dostęp do niej miała tylko jedna instancja.

  3. Obejrzyj perspektywy: V$SGA, V$PARAMETER, przećwicz polecenie Show SGA i Show parameter

  4. Obejrzyj perspektywę słownika danych DBA_USERS. Co się stało i dlaczego ?

  5. Otwórz bazę danych. Obejrzyj perspektywy DBA_USERS i DBA_FREE_SPACE.

  6. Zamknij bazę danych przerywając sesje ewentualnych użytkowników.

  7. Skopiuj plik parametrów i w kopii zmień nazwę bazy danych. Uruchom Server Manager i otwórz bazę danych używając zmodyfikowanego pliku parametrów. Co się stało i dlaczego.

  8. Wystartuj bazę w trybie open z dostępem tylko dla użytkowników z uprawnieniami RESTRICTED SESSION.

  9. Wykonaj polecenia: CREATE USER SCOTT IDENTIFIED BY TIGER;

GRANT CREATE SESSION TO SCOTT;

  1. Spróbuj podłączyć się jako SCOTT/TIGER.

  2. Pozwól na przyłączanie się wszystkim użytkownikom i przyłącz się jako SCOTT.

  3. Przełącz się na użytkownika z odpowiednimi uprawnieniami i zamknij bazę używając dowolnej opcji zamykania.

  4. Usuń pliki bazy (zostaw plik parametrów).

Tworzenie bazy danych

  1. Określ odpowiednie zmienne systemowe i przygotuj plik parametrów.

  2. Utwórz bazę danych z jednym plikiem kontrolnym, dwoma grupami plików dziennika powtórzeń i ze zbiorem znaków EE8ISO8859P2.

Jako sys wykonaj skrypty catalog.sql i catproc.sql oraz jako system wykonaj skrypt catdbsyn.sql.

  1. Co stanie się po powtórnym wykonaniu CATALOG.SQL ?

  2. Zobacz ile jest grup plików dziennika powtórzeń w twojej bazie. Do każdej grupy dodaj element używając właściwej konwencji nazw. Cyfra niech oznacza numer grupy, a litera kolejny element. Po wykonaniu sprawdź poprawność realizacji w perspektywach V$LOGFILE i V$LOG.

  3. Wyświetl nazwy plików kontrolnych. Zamknij bazę i zrób kopię pliku kontrolnego. Upewnij się, że Serwer Oracle ma prawo zapisu do katalogu z kopią pliku kontrolnego. Zmodyfikuj plik parametrów i otwórz bazę danych tak aby używała obu plików kontrolnych. Sprawdź poprawność przy pomocy V$CONTROLFILE.

  4. Spróbuj uruchomić bazę danych bez pliku kontrolnego (zmień tymczasowo nazwę plików).

  5. Obejrzyj swoją bazę danych. Sprawdź w perspektywie DBA_USERS jakich masz użytkowników. Sprawdź ile masz wolnej przestrzeni w przestrzeniach tabel. Sprawdź jak nazywają się pliki twojej bazy danych i gdzie się znajdują. Wyświetl dane o przestrzeniach tabel twojej bazy danych i o domyślnych parametrach segmentów dla tych przestrzeni. Ile jest segmentów wycofania i jakie są ich parametry.

  6. Sprawdź w swojej bazie:

Jaki jest rozmiar bloku danych ?

Jaki jest rozmiar SGA i jego składowych ?

Sprawdź w DBA_TABLES ile tabel jest już w twojej bazie.

Jak nazywa się twoja baza danych i w jakim trybie archiwizacji pracuje ?

Jaki jest numer wersji serwera, z którą pracuje twoja baza ?

Jaka jest maksymalna liczba procesów użytkownika, które mogą pracować jednocześnie ?

Spróbuj zmienić rozmiar bloku bazy. Co się stało ?

Sprawdź, czy w twojej bazie są obiekty ze statusem INVALID.

Dodatkowe:

Zmień rozmiar plików dziennika powtórzeń.



  1. Na zakończenie ćwiczenia zachowaj swój katalog DATA na dysku H:. Dlaczego nie można uruchomić bazy, która byłaby na dysku H? Kto ma czas niech sprawdzi.

  2. Staraj się przechowywać na dysku H jedynie niezbędne pliki.

  3. Na początku każdego następnego ćwiczenia będziecie odtwarzać stan katalogu C:\DATA z dysku H i na zakończenie składować niezbędne pliki na dysku H. Zawartość katalogu C:\DATA będzie utracona.

Ćwiczenie2

Przestrzenie tabel

  1. Utwórz przestrzeń tabel dla segmentów wycofania ROLL z plikiem ROLL01.dbf o rozmiarze 100kB z opcjami MINEXTENTS=2 i PCTINCREASE=0.

  2. Utwórz przestrzeń tabel dla segmentów tymczasowych TEMP z plikiem TEMP01.dbf o rozmiarze 100kB z opcją PCTINCREASE=0.

  3. Utwórz przestrzeń tabel DATA z plikiem DATA01.dbf o rozmiarze 200kB z opcjami INITIAL=20K , NEXT= 20K i PCTINCREASE=0.

  4. Utwórz przestrzeń tabel USERS z plikiem USER01.dbf o rozmiarze 400kB.

  5. Sprawdź w słowniku danych czy powiodło się utworzenie wyżej wymienionych przestrzeni.

  6. Utwórz tabelę TEST w przestrzeni USERS z pierwszym segmentem wielkości 400KB. Co się stało i dlaczego?

  7. Stwórz tabelę TEST nie używając klauzuli zarządzania pamięcią. Wstaw wiersz do tabeli. Co się stał i dlaczego ?

  8. W przestrzeni USER utwórz tabelę TEST2 jako kopię TEST

(CREATE TABLE TEST2 AS SELECT * FROM TEST;).

  1. Przełącz przestrzeń USER w tryb tylko do odczytu.

  2. Usuń tabelę TEST2. Co się stało i dlaczego?

  3. Jako system (albo sys) wykonaj polecenie:

GRANT RESOURCE TO SCOTT;

Zaloguj się jako SCOTT i przy pomocy właściwego skryptu załóż tabele w schemacie użytkownika SCOTT.



Zarządzanie przydziałem przestrzeni

  1. Obejrzyj perspektywę DBA_SEGMENTS (bajty, bloki, dopuszczalna liczba ekstentów). Zobacz czy są obiekty, które zbliżają się do limitu ekstentów. Uwzględnij wszystkie typy segmentów oprócz CACHE.

  2. Obejrzyj wolną przestrzeń (DBA_FREE_SPACE). Oceń czy wolna przestrzeń w twojej bazie jest sfragmentowana. Jakie największe ekstenty możesz umieścić w poszczególnych przestrzeniach tabel?

  3. Napisz zapytanie tak aby odpowiedź zawierała nazwę pliku, ilość wolnej przestrzeni i wielkość największego spójnego wolnego obszaru w danym pliku.

  4. Napisz zapytanie, które zwróci segmenty, którym nie da się przydzielić następnego ekstentu.

  5. Napisz zapytanie, które zwróci numer pliku i numer bloku nagłówka wybranej tabeli.

  6. Napisz zapytanie, które zwróci nazwę i typ segmentu dla podanego jako parametr numeru pliku i numeru nagłówka.

  7. Korzystając z polecenia ANALYZE wyświetl listę wierszy w łańcuchach należących do tabeli EMP użytkownika SCOTT.

Segmenty wycofania

  1. Dodaj do przestrzeni tabel ROLL plik (jeśli to możliwe z opcją AUTOEXTEND ON).

  2. Utwórz nowy segment wycofania RB02. Podaj OPTIMAL 20K zostawiając inne parametry jako domyślne.

  3. Przełącz segment RB02 w stan ONLINE.

  4. Spróbuj wstawić wiersze do tabeli TEST z poprzednich ćwiczeń w ramach jednej transakcji.

  5. W V$ROLLSTAT sprawdź czy występowało rozszerzenie (EXTENDS) lub zmniejszenie (SHRINKS). Czy wskaźnik wysokiej wody (HWMSIZE) wskazuje aktualną wielkość? W jakim przypadku nie będzie wskazywał maksymalnej wielkości?

  6. Obejrzyj perspektywę DBA_ROLLBACK_SEGS aby zobaczyć liczbę i status segmentów wycofania.

  7. Spróbuj usunąć segment RB02. Co się stało? Co zrobić aby można było ten segment usunąć?

  8. Zmniejsz segment do rozmiaru optymalnego jeśli udało ci się go powiększyć. Sprawdź w V$ROLLSTAT czy operacja się powiodła.

  9. Zmodyfikuj plik parametrów, aby baza otwierała się z włączonymi wszystkimi segmentami wycofania.

  10. Utwórz segment RB03 z domyślnymi parametrami. Zmień w tym segmencie parametr MAXEXTENTS na 3. Przełącz segment na ONLINE. Inne segmenty wycofania oprócz segmentu SYSTEM przełącz w stan OFFLINE. Utwórz tabelę E jako kopię EMP użytkownika SCOTT. Powtarzaj polecenie INSERT INTO E SELECT * FROM E aż do uzyskania błędu. Jaki wystąpił błąd? Zatwierdź transakcję i zobacz ile wierszy udało ci się wprowadzić do tabeli. Usuń wszystkie wiersze z tabeli. Co się stało?

Ćwiczenie 3

Indeksy i tabele

  1. Podłącz się jako SCOTT i utwórz indeks nieunikalny X_EMP na kolumnach LAST_NAME i FIRST_NAME tabeli EMP. Korzystając z polecenia ANALYZE zbierz statystyki by zobaczyć ile miejsca zajmuje indeks. Jaką perspektywę powinieneś obejrzeć?

  2. Powiększ tabelę przez ponowne wstawienie do niej jej własnych wierszy. Zbierz i przeanalizuj statystyki. Co zauważyłeś?

  3. Usuń i utwórz indeks X_EMP ponownie. Ponownie zbierz statystyki i porównaj wyniki z poprzednimi. Czy i dlaczego wyniki różnią się od poprzednich czy nie?

  4. Utwórz ponownie indeks X_EMP przy pomocy opcji REBUILD. Zobacz czy indeks ten wykorzystuje te same bloki co poprzednio. Utwórz go jeszcze raz w innej przestrzeni tabel także korzystając z opcji REBUILD.

  5. Usuń indeks X_EMP.

  6. Załóżmy, że baza wymaga dużej bardzo obciążonej tabeli rozłożonej na parę dysków. Utwórz przestrzeń tabel STRIP złożoną z 3 plików o rozmiarze 80 KB każdy. Obejrzyj ile jest wolnego miejsca załóżmy, że tabela ma zajmować 210 KB. Spróbuj założyć tabelę S z obszarem INITIAL 100KB. Jaki otrzymałeś błąd i dlaczego? Ponownie utwórz tabelę tak aby od razu miała zarezerwowane pełne 240 KB. Ile wolnej przestrzeni zostało i w jakich fragmentach?

  7. Usuń tabelę S i przestrzeń STRIP.


Deklaratywne warunki (więzy) integralności





  1. Obejrzyj perspektywy bazy danych, w których dostępne są informacje o więzach integralności.

  2. Sprawdź czy w twojej bazy wszystkie więzy są włączone. Jeśli nie spróbuj je włączyć.

Opcjonalne:

  1. Napisz skrypt SQL opisujący powiązania między kluczami głównymi i unikalnymi, a kluczami obcymi tabel.

Klastry

Utwórz 3 wersje tabeli w schemacie SYSTEM:



  • samodzielna tabela,

  • tabela w klastrze haszującym,

  • tabela w klastrze indeksowym.

Wskazówki:

  1. Utwórz tabelę S_PRAC w przestrzeni danych DATA z kolumnami:

NR NUMBER(4)

NAME VARCHAR2(16)

SURNAME VARCHAR2(16)

DEPTNR NUMBER(2)

2. Utwórz w przestrzeni DATA klaster haszujący PRAC_CLUSTER o 100 wartościach kluczy opartych o kolumnę NAME tabeli S_PRAC. Każdy klucz ma mieć 80 bajtów.

W klastrze PRAC_CLUSTER utwórz tabelę H_PRAC z kolumnami jak w p.1.



  1. Utwórz klaster indeksowy o nazwie DEPT_PRAC_CLUSTER. Kolumna klucza klastra powinna być typu NUMBER(2). Oprócz niżej wymienionych użyj parametrów domyślnych.

TABLESPACE DATA

SIZE 500


INITIAL 5K

Utwórz indeks klastra DEPT_PRAC_CLUSTER. Ustaw przestrzeń tabel na DATA inne parametry zostaw domyślne.

Skopiuj tabelę S_PRAC do klastra DEPT_PRAC_CLUSTER używając do grupowania kolumny DEPTNR. Nazwij kopię I_PRAC.

Dodaj do klastra tabelę I_DEPT o kolumnach:

ID NUMBER(2)

NAZWA VARCHAR2(12)

wykorzystując właściwą z nich do klucza.


  1. W perspektywie USER_SEGMENTS obejrzyj ile przestrzeni zajmuje każdy z utworzonych obiektów w przestrzeni DATA.



Ćwiczenie 4

Użytkownicy bazy danych





  1. Podłącz się jako system i załóż użytkownika BOLEK z hasłem BOLEK bez specyfikowania przestrzeni domyślnej specyfikując przestrzeń TEMP jako tymczasową dla tego użytkownika. Nadaj mu nieograniczony dostęp do przestrzeni SYSTEM oraz rolę CONNECT.

  2. Obejrzyj DBA_USERS i DBA_TS_QUOTAS by zobaczyć informacje o przestrzeniach tabel i przyznanych limitach.

  3. Utwórz użytkownika LOLEK z hasłem LOLEK przestrzenią domyślną DATA i tymczasową TEMP. Nie nadawaj kwot na przestrzenie tabel gdyż ma to być użytkownik końcowy aplikacji.

  4. Zastanów się jakie nadać im kwoty na przestrzenie TEMP i ROLL. BOLEK ma tworzyć tabele, perspektywy i indeksy oraz raporty miesięczne, a LOLEK ma wstawiać, modyfikować i usuwać dane z tabel należących do BOLKA.

  5. Obejrzyj definicje wszystkich użytkowników bazy danych.

  6. Zmień wszystkim użytkownikom przestrzeń tymczasową na TEMP, a przestrzeń domyślną na DATA (oprócz użytkownika SYS). Przy okazji zmiany przestrzeni tymczasowej dla SYS zmień hasło a Bolkowi odbierz kwotę na przestrzeń SYSTEM i przydziel 2M na przestrzeni DATA.

  7. Jako SYS wybierz kolumny SERIAL# i SID z perspektywy V$SESSION. Spróbuj zabić własna sesję. Co się stało i dlaczego?

  8. Spróbuj podłączyć się jako LOLEK ? Czy wystąpił błąd?

(Jeśli użytkownik LOLEK był zakładany z narzędzia Server Manager w trybie okienkowym lub z OEM, to błąd nie wystąpi, gdyż domyślnie nadawana jest rola CONNECT).

Jako LOLEK zmień swoje hasło.



Spróbuj zmienić sobie tymczasową przestrzeń tabel.

  1. Co należy zrobić aby baza danych sprawdzała wykorzystanie zasobów? Podłącz się jako SYS i zrób to.

Opcjonalne:

  1. Zmień w profilu DEFAULT czas bezczynności (IDLE TIME) na 1 minutę.

  2. Podłącz się jako BOLEK i wykonaj zapytanie na dowolnej perspektywie. Poczekaj ponad minutę i powtórz polecenie. Co się stało i dlaczego.


Przywileje bazy danych



Przywileje systemowe:

  1. Jako SYSTEM nadaj BOLKOWI i LOLKOWI prawa potrzebne do podłączenia się do bazy.

  2. Podłącz się jako LOLEK i obejrzyj perspektywy SESSION_PRIVS i USER_SYS_PRIVS.

  3. Podłącz się jako BOLEK i wykonaj skrypt DEMOBLD.SQL. Obejrzyj perspektywę USER_OBJECTS i sprawdź jakie są tam obiekty. Zwróć uwagę na indeksy.


Przywileje obiektowe:

  1. Jako SYSTEM wykonaj SELECT na tabeli EMP należącej do BOLKA. Spróbuj nadać LOLKOWI uprawnienia do czytania tabeli EMP.

  2. Podłącz się jako BOLEK i nadaj LOLKOWI prawo odczytu tabeli EMP. W perspektywie USER_TAB_PRIVS sprawdź czy przywilej ten został poprawnie nadany.

  3. Podłącz się jako LOLEK i sprawdź czy posiada on przywilej SELECT na tabeli EMP.

  4. Podłącz się jako BOLEK i nadaj LOLKOWI prawo do modyfikacji kolumn zawierających nazwisko i stanowisko.

  5. Jako LOLEK obejrzyj perspektywy USER_TAB_PRIVS i USER_COL_PRIVS.

  6. Jako LOLEK podnieś wszystkim urzędnikom (CLERK) pensję o 10%. Co sie stało i dlaczego.

  7. Zamiast płacy zmień stanowisko na SR_CLERK. Czy powiodło się i dlaczego?

  8. Wycofaj zmianę.

  9. Jakiego przywileju potrzebował system aby nadać LOLKOWI prawo odczytu tabeli EMP BOLKA. Jako BOLEK nadaj to prawo SYSTEMOWI i jako SYSTEM nadaj to samo prawo LOLKOWI.

  10. Jako BOLEK obejrzyj perspektywy USER_TAB_PRIVS i USER_TAB_PRIVS_MADE.

  11. Czy LOLEK może nadawać prawo SELECT na tabeli EMP użytkownika BOLEK. Od czego to zależy?

  12. Odbierz użytkownikowi SYSTEM prawo SELECT na tabeli EMP. Sprawdź co się stało z prawami użytkownika LOLEK.



Role





  1. Podłącz się jako SYSTEM i utwórz użytkownika CERBER z hasłem CERBER, który będzie odpowiedzialny za bezpieczeństwo bazy. Ustaw przestrzenie DATA i TEMP jako domyślną i tymczasową, przydziel nieograniczony limit na przestrzeń DATA. Nadaj użytkownikowi CERBER prawo tworzenia sesji.

  2. Jakie przywileje systemowe powinien mieć CERBER?

  3. Zobacz w słowniku danych jakie przywileje systemowe posiadają role CONNECT i RESOURCE.

  4. Utwórz użytkownika ROLESKI i nadaj mu rolę CONNECT. Obejrzyj jego uprawnienia systemowe i odbierz mu rolę CONNECT.

  5. Nadaj rolę RESOURCE użytkownikowi ROLESKI i obejrzyj jego uprawnienia systemowe. Czy nie jest ich za dużo ? Usuń użytkownika ROLESKI.

  6. Nadal jako SYSTEM utwórz rolę SECURITY i nadaj jej przywileje z p. 2.

  7. Obejrzyj zapisy dotyczące nowej roli w DBA_ROLE_PRIVS, DBA_ROLES i DBA_SYS_PRIVS.

  8. Nadaj rolę SECURITY użytkownikowi CERBER i jako on obejrzyj SESSION_ROLES i SESSION_PRIVS.

  9. Jako SECURITY utwórz rolę DEVELOPER. Zawrzyj w niej uprawnienia do tworzenia tabel, perspektyw, klastrów, sekwencji i synonimów. Nadaj tę rolę BOLKOWI.

  10. Podłącz się jako BOLEK i zbadaj perspektywy: SESSION_ROLES SESSION_PRIVS, USER_SYS_PRIVS, USER_ROLES_PRIVS i ROLE_SYS_PRIVS;

Nadaj roli SECURITY wszystkie przywileje obiektowe na EMP roli SECURITY.

Obejrzyj USER_TAB_PRIVS dla tabeli EMP.



  1. Ponownie podłącz się jako CERBER i utwórz rolę ENDUSER. Nadaj tej roli prawo do wykonywania SELECT, UPDATE kolumn z nazwiskiem i stanowiskiem, INSERT do kolumn z numerem pracownika, nazwiskiem, data zatrudnienia, stanowiskiem i numerem departamentu. Nadaj rolę ENDUSER LOLKOWI.

  2. Podłącz się jako BOLEK i odbierz LOLKOWI przywileje obiektowe na tabeli EMP? Podłącz się jako LOLEK i sprawdź, że dzięki roli ENDUSER może on nadal wykonywać zapytania na BOLEK. EMP.



Ćwiczenie 5

Obserwacja bazy danych - Auditing





  1. Sprawdź czy istnieje użytkownik SCOTT. Jeśli nie załóż go z hasłem TIGER, domyślna przestrzenią tabel DATA, tymczasową przestrzenią tabel TEMP i uprawnieniami CONNECT , RESOURCE.

  2. SYSTEM chce skorzystać z możliwości obserwacji do sprawdzenia co robią użytkownicy. Co należy zrobić aby umożliwić mu obserwacje. Ustaw odpowiednie parametry i opcje.

  3. Jakie opcje włączyć aby obserwować próby włamania do bazy danych? Włącz je.

  4. Sprawdź we właściwej perspektywie, że ustawiłeś poprawne opcje.

  5. Podłącz się jako SCOTT z hasłem SCOTT. Co się stało i dlaczego? Podłącz się jako SCOTT z poprawnym hasłem.

  6. Podłącz się jako SYSTEM i sprawdź rezultaty obserwacji. Jakiej perspektywy należy użyć by sprawdzić, czy były próby podłączenia przez nieuprawnionych użytkowników. Wyświetl tę perspektywę i porównaj zapisy udanych i nieudanych podłączeń.

  7. Podejrzewasz, że ktoś zmienia kwoty i domyślne przestrzenie tabel. Jakie opcje włączyć by to sprawdzić? Włącz je.

  8. Załóż użytkownika LOLEK z hasłem LOLEK, domyślna przestrzenią tabel DATA, tymczasową przestrzenią tabel TEMP i odpowiednimi uprawnieniami. Podłącz się jako LOLEK. Zmień kwotę SCOTTA dla jego domyślnej przestrzeni tabel na 1M i domyslna przestrzeń zmień na USERS.

  9. Jakie perspektywy powinien obejrzeć SYSTEM aby obserwować modyfikacje domyślnych przestrzeni tabel i kwot.

  10. Jakie opcje należy ustawić i jakie perspektywy należy obejrzeć aby obserwować wszystkie udane modyfikacje tabeli SCOTTA EMP. Jaką perspektywę należy użyć by sprawdzić, czy zostały ustawione odpowiednie opcje ? Wykonaj kilka operacji na tabeli EMP jako SCOTT i LOLEK. Jako system wyświetl dzienniki obserwacji.

  11. Jak obserwować polecenia DDL dotyczące tabel? W jakiej perspektywie będą widoczne ustawienia opcji obserwacji ? Jako LOLEK utwórz i usuń kilka razy tabelę L_EMP będącą kopią tabeli SCOTT.EMP. Wyświetl dziennik obserwacji.

  12. Wyłącz opcje obserwacji.

Profile


  1. Co należy zrobić aby baza danych sprawdzała wykorzystanie zasobów? Podłącz się jako SYS i zrób to.

  2. Zmień w profilu DEFAULT czas bezczynności (IDLE TIME) na 1 minutę.

  3. Podłącz się jako SCOTT i wykonaj zapytanie na dowolnej perspektywie. Poczekaj ponad minutę i powtórz polecenie. Co się stało i dlaczego.

  4. Utwórz nowy profil NEW_PROFIL pozwalający przypisanym doń użytkownikom na dwie równoczesne sesje oraz minutę bezczynności. Przydziel utworzony profil użytkownikowi SCOTT. Wyświetl wyniki dokonanych zmian ze słownika danych. Spróbuj otworzyć więcej niż dwie sesje użytkownika SCOTT.

  5. Włącz zarządzanie hasłami – wykonaj skrypt utlpwdmg.sql. Spróbuj zmienić hasło użytkownika SCOTT na SCOTT. Co się stało ?

  6. Utwórz profil NEW_PROFIL spełniający następujące warunki:

  • po dwóch próbach (nieudanych) podłączania się konto powinno być blokowane

  • hasło powinno wygasać po 14 dniach

  • to samo hasło nie może być wykorzystane ponownie przynajmniej przez minute

  • użytkownik powinien po wygaśnięciu hasła mieć siedem dni na jego zmianę. Wyświetl wyniki dokonanych zmian ze słownika danych.

  1. Tak utworzony profil przydziel użytkownikowi SCOTT. Połącz się trzykrotnie jako SCOTT z nieprawidłowym hasłem. Następnie spróbuj połączyć się podając prawidłowe hasło.

  2. Odblokuj konto SCOTT, tak by mógł połączyć się z bazą.

  3. Wyłącz sprawdzanie haseł w profilu NEW_PROFIL.



Archiwizacja logiczna




  1. Zapoznaj się z opcjami exportu i importu. Wykonaj polecenia exp80 help =y i imp80 help=y.

  2. Wykonaj skrypt C:\orant\rdbms80\admin\bdemobld.sql. Sprawdz liczbę ekstentów i ogólną liczbę bloków w tabelach EMP i DEPT. Dodaj ręcznie do tabel nowy ekstent i zanotuj liczbę ekstentów oraz liczbę bloków jaka jest obecnie.

  3. Przy pomocy narzędzia Eksport zrób kopię tabel EMP i DEPT ze schematu użytkownika SCOTT.

  4. Podłącz się jako SCOTT i usuń tabele EMP i DEPT.

  5. Wykonaj polecenie:

Imp system/manager file=c:\temp\expfile.dmp indexfile=empdept.idx tables=(EMP,.DEPT) fromuser=scott touser=scott log=c:\temp\expfile.log




  1. Obejrzyj plik empdept.idx edytorem tekstowym. Przekonaj się, że nic nie zostało zaimportowane do bazy. Do czego może się przydać ten plik ?

  2. Przy pomocy narzędzia Import załaduj ponownie tabele EMP i DEPT. Zanotuj liczbę ekstentów oraz liczbę bloków jaka jest obecnie. Co się zmieniło ?

  3. W oparciu o wcześniejsze spostrzeżenia przygotuj skrypt i przenieś indeksy na tabelach EMP i DEPT do przestrzeni tabel INDEX01.

Ćwiczenie 6

Metody archiwizacji (zrzutu, tworzenia kopii zapasowej).
1. Jakie kroki powinien podjąć DBA po przerwie w zasilaniu systemu ?

2. Jaki typ backupu będzie potrzebny do odtworzenia po awarii dysku ?

3. Czego potrzeba do realizacji pełnego odtwarzania ?

4. Co będzie potrzebne do odtwarzania jeśli użytkownik zmodyfikował złe wiersze w tabeli i wyszedł z systemu ?

5. Zrób pełny backup bazy offline.


  • Przy otwartej bazie podłącz się jako system i zrób listę wszystkich plików jakie będą potrzebne do późniejszego odtworzenia bazy.

  • Zamknij bazę danych tak aby nie uszkodzić bazy i dotychczasowych kopii.

  • Wykonaj narzędziami systemu operacyjnego kopie wszystkich niezbędnych plików do katalogu 'backup'.

  • Otwórz bazę danych udostępniając ją użytkownikom.

6. Załóż użytkownika NOWY z przestrzenią domyślną DATA i załóż jako on tabelę EMP na podstawie tabel przykładowych Scotta.

7. Zamknij bazę.

8. Przenieś plik(i) przestrzeni DATA do innego katalogu by zasymulować awarię dysku (utrata pliku danych).

Odtwarzanie bez archiwizacji


1. Spróbuj otworzyć bazę. Co się stało i dlaczego?

2. Ponieważ nie była realizowana archiwizacja plików dziennika powtórzeń, awaria ta jest postrzegana jako awaria nośnika i należy wgrać pełny backup offline. Usuń pliki aktualne i zastąp je plikami kopii zapasowej.

3. Wystartuj instancję i otwórz bazę dla wszystkich użytkowników.

4. Spróbuj podłączyć się jako NOWY. Co się stało i dlaczego ?

5. Podłącz się jako system i sprawdź jakich masz w bazie użytkowników. Co sądzisz o backupach typu offline?

6. Czy jeśli utracisz przestrzeń tabel z indeksami konieczne będzie odtwarzanie z backupu?


Odtwarzanie kompletne (pełne) z archiwizacją


1. Podłącz się jako SYSTEM i zmień domyślną przestrzeń tego użytkownika na DATA. Utwórz w schemacie tego użytkownika tabele EMP i DEPT (demobld.sql).

2. Wypisz kroki niezbędne do uruchomienia archiwizacji.

3. Zmodyfikuj odpowiednio plik parametrów tak by startował proces ARCH.

4. Zamknij bazę danych i wystartuj ponownie w trybie MOUNT.

5. Wyświetl tabelę V$DATABASE by zobaczyć tryb pracy bazy.

6. Poleceniem ALTER DATABASE przełącz bazę w tryb ARCHIVELOG.

7. Wykonaj polecenie ARCHIVE LOG LIST obejrzyj status archiwizacji i zanotuj aktualny numer sekwencyjny dziennika powtórzeń.

8. Otwórz bazę danych.

9. Zamknij bazę, wykonaj pełny backup offline i umieść go w katalogu 'backup'.

10. Otwórz bazę danych do użytku.

11. Wykonaj parokrotną duplikację zawartości tabeli EMP. Sprawdź czy powstało kilka kopii archiwalnych dziennika powtórzeń.

12. Obejrzyj poleceniem ARCHIVE_LOG_LIST status archiwizacji i aktualny numer sekwencyjny dziennika powtórzeń.

13. Obejrzyj perspektywę DBA_DATA_FILES aby zidentyfikować pliki przestrzeni DATA.

14. Oblicz sumę kolumny SALARY w tabeli EMP aby sprawdzić potem poprawność odtworzenia.

15. Zamknij instancję i przenieś plik przestrzeni DATA w inne miejsce.

16. Wgraj w miejsce tego pliku jego kopię wykonaną w punkcie 9.

17. Spróbuj otworzyć bazę. Co się stało i dlaczego?

18. Odtwórz przestrzeń DATA.

Zamontuj bazę.

Ustaw AUTORECOVERY ON i wydaj polecenie RECOVER DATABASE.

Otwórz bazę tak by stała się dostępna dla użytkowników.

19. Obejrzyj perspektywę DBA_TABLESPACES aby zobaczyć stan przestrzeni DATA.

20. Sprawdź poprawność odtworzenia przez obliczenie ponowne sumy kolumny SALARY tabeli EMP.

Minimalizacja czasu niedostępności bazy


1. Zamknij instancję.

2. Wgraj ponownie kopię zapasową pliku przestrzeni DATA do katalogu z bazą danych.

3. Spróbuj wystartować bazę. Co się dzieje i dlaczego?

4. Wystartuj bazę danych z wyłączonym plikiem przestrzeni DATA.

5. Odtwórz przestrzeń DATA i włącz przestrzeń w stan ONLINE.

6. Obejrzyj zawartość tabeli EMP.


Obsługa operacji 24-godzinnych


1. Wypisz przestrzenie tabel i pliki, które mają być skopiowane. Ponieważ już masz backup nie musisz tu uwzględniać plików przestrzeni tabel tylko do odczytu.

2. Napisz sekwencję kroków niezbędnych do wykonania backupu jednej przestrzeni tabel.

3. Kolejno wykonaj te kroki dla każdej przestrzeni. Dla kopii załóż nowy katalog BACK2.

4. Wykonaj backup pliku kontrolnego i utwórz plik z poleceniami koniecznymi do utworzenia pliku kontrolnego.

5. Wykonaj dowolne modyfikacje w bazie.

6. Zasymuluj awarię nośnika przez zamazanie pliku przestrzeni DATA jego kopią sporządzoną poprzednio.

7. Odtwórz przestrzeń DATA używając polecenia RECOVER TABLESPACE.

Odtwarzanie niepełne


1. Jakie perspektywy należy obejrzeć by sprawdzić nazwy i lokalizacje plików danych, kontrolnych i dzienników powtórzeń? Wykonaj te zapytania i zanotuj nazwy.

2. Sprawdź czy baza jest w trybie ARCHIVELOG i czy jest włączona automatyczna archiwizacja. Jeśli nie to doprowadź ją do takiego stanu.

3. Wykonaj backup pliku kontrolnego do pliku śladu i obejrzyj jego zawartość.

4. Zamknij bazę i wykonaj pełen backup łącznie z plikiem kontrolnym jeśli nie masz aktualnej pełnej kopii.

5. Wystartuj bazę i zanotuj numer sekwencyjny dziennika powtórzeń.

6. Zaloguj się jako system i wykonaj operacje w tabeli EMP:



  • Wprowadź pracownika KOWALSKI z płacą 2000.

  • Wprowadź pracownika JANOWSKI z płacą 2500.

  • Zatwierdź transakcję.

  • Jako DBA spowoduj przełączenie pliku dziennika powtórzeń.

7. Kontynuuj zmiany.

  • Wprowadź pracownika NOWACKI z płacą 1500 i zatwierdź.

  • Jako DBA spowoduj przełączenie pliku dziennika powtórzeń.

  • Sprawdź i zanotuj czas systemowy (!date).

  • Zmień płacę KOWALSKIEGO na 2500.

  • Przełącz dziennik powtórzeń

  • Zatwierdź płace Kowalskiego.

8. Zasymuluj awarie nośnika przez wykasowanie wszystkich plików danych. Nie kasuj pliku kontrolnego i dzienników powtórzeń.

9. Spróbuj wystartować bazę. Co się stało i dlaczego?

10. Wgraj kopię zapasową:


  • Wykonaj kopie pliku kontrolnego do katalogu 'backup'.

  • Wystartuj instancję i odtwórz bazę danych.

  • Zamknij bazę danych.

11. Odtwórz bazę do czasu zanotowanego w punkcie 6.

  • Wgraj ponownie kopie zapasową.

  • Odtwórz bazę i spróbuj otworzyć ją bez podawania żadnych opcji.

  • Co się stało i dlaczego?

12. Otwórz bazę danych z wyzerowaniem dziennika powtórzeń. Jaki teraz jest aktualny numer dziennika?

13. Obejrzyj płace KOWALSKIEGO, JANOWSKIEGO i NOWACKIEGO.

14. Zamknij bazę i wykonaj backup, który zawsze powinien być robiony po zerowaniu plików dziennika.

15. Użytkownicy sygnalizują, że nie mogą korzystać z bazy. Zasymuluj utratę pliku kontrolnego przez skopiowanie go do innego katalogu.

16. Spróbuj wystartować bazę. Co się stało i dlaczego? Czego brakuje i co należy zrobić?

17. Z powrotem skopiuj plik kontrolny na właściwe miejsce i wystartuj bazę.

18. Na nowo utwórz skrypt do tworzenia pliku kontrolnego. Obejrzyj plik śladu. Zamknij bazę danych. Przenieś pliki kontrolne w inne miejsce.

19. Utwórz plik kontrolny korzystając ze skryptu sporządzonego w kroku poprzednim.



20. Sprawdź czy baza danych startuje.








©operacji.org 2017
wyślij wiadomość

    Strona główna