create_load1.DOC

(47 KB) Pobierz
Zadania do wykonania na laboratorium

2

Laboratorium  Oracle’a – Administracja                           

Zadania do wykonania na laboratorium

1         Czynności wstępne

1.1        Uruchomienie DBA-Studio i SQL-Worksheet

START ð PROGRAMY ð ORACLE-ORAHOME81 ð DATABASE ADMINISTRATION

2         Informacje o utworzonej bazie danych; segmenty wycofania

2.1        Połącz się jako użytkownik SYS

              user:               SYS

              password:               oraload

              service:               load

2.2        Sprawdź jakie są ustawienia parametrów w pliku inicjalizacyjnym, oglądając perspektywę V$PARAMETER

              select * from v$parameter;

lub: prawy klawisz myszy na perspektywie i opcja Show contents

2.3        Oglądnij tylko te parametry, które w swojej nazwie mają słowo block

              select * from v$parameter where name like ‘%block%’;

2.4        Wykonaj polecenie:

              show parameters block

2.5        Które informacje są bardziej czytelne: te, które ukazały się na ekranie po wykonaniu punktu 2.2, czy np. te z punktu 2.4?

2.6        Stwórz przestrzeń tabel APPL1:

              create tablespace APPL1

              datafile ‘c:\oracle\oradata\load\appl1.dbf’ size 100K,

                                          ‘c:\oracle\oradata\load\appl11.dbf’ size 50K

2.7        W przestrzeni APPL1 stwórz segment wycofania r11 o następujących parametrach: rozmiar pierwszego obszaru obiektu: 16K, rozmiar następnych obszarów obiektu: 16K, minimalna liczba obszarów alokowanych w momencie tworzenia obiektu: 2, maksymalna liczba: 3:

create rollback segment r11 tablespace APPL1

storage(initial 16k next 16k minextents 2 maxextents 20);

2.8        Zmień status nowo utworzonego segmentu:

alter rollback segment r11 online

2.9        Wyświetl informację o liczbie segmentów wycofania (perspektywa DBA_ROLLBACK_SEGS)

2.10    Sprawdź, jaki jest rozmiar segmentu wycofania SYSTEM (perspektywa DBA_EXTENTS)

2.11    Podaj wszystkie typy segmentów, występujące w Twojej bazie danych (perspektywa DBA_SEGMENTS (użyj klauzuli distinct).

2.12    Sprawdź spory o segment wycofania

              select class, count

              from v$waitstat

where class in (‘system undo headers’,
‘system undo block’,
‘undo header’,
‘undo block’)

2.13    Stwórz jednoatrybutową tabelę w przestrzeni APPL1:

              create table example (<atr> <typ>) tablespace APPL1;

Uwaga: Dozwolone typy kolumn w tabeli to: CHAR(x), VARCHAR2(x), NUMBER, NUMBER(x), DATE, LONG

2.14    Oglądnij informacje (zawarte w słowniku bazy) o przestrzeni APPL1 (perspektywa DBA_TABLESPACES)

2.15    Spróbuj usunąć przestrzeń APPL1:

              drop tablespace APPL1;

2.16    Dlaczego nie udało się usunąć tej przestrzeni?

2.17    Wyświetl podsumowanie o wszystkich segmentach we wszystkich przestrzeniach tabel:

              select tablespace_name, count(*), sum(bytes)

              from dba_segments

              group by tablespace_name;

2.18    Zmień status nowo utworzonego segmentu:

              alter rollback segment r11 offline

2.19    Ponownie spróbuj usunąć przestrzeń APPL1. Dlaczego i tym razem nie udało się usunąć tej przestrzeni?

2.20    Usuń przestrzeń APPL1 dodając opcję including contents

2.21    Sprawdź wydajność obszaru biblioteki i obszaru słownika; stosunek chybień do trafień powinien być bliski 0 (inaczej: zwiększyć parametr SHARED_POOL_SIZE):

              select sum(pins) „wykonania”, sum(reloads) „chybienia poczas wyk.”

              from v$librarycache;

 

              select sum(gets) „pobrania ze slownika”, sum(getmisses) „chybienia”

              from v$rowcache;

2.22    Oglądnij perspektywy:V$SGA, V$DATABASE, DBA_USERS. Jakie informacje są w nich zapisane?

3        
Tworzenie dodatkowych przestrzeni tabel

3.1        Stwórz przestrzeń PRIVATE1 z plikiem priv1.dbf o rozmiarze 50K:

create tablespace PRIVATE1

datafile ‘c:\oracle\oradata\load\priv1.dbf’ size 50K online;

3.2        Stwórz tabelę PRÓBA1 w przestrzeni PRIVATE1, przy czym parametr INITIAL ma mieć wartość 50K:

create table próba1 (<atr> <typ>) tablespace PRIVATE1

storage (initial 50K);

Uwaga: Dozwolone typy kolumn w tabeli to: CHAR(x), VARCHAR2(x), NUMBER, NUMBER(x), DATE, LONG

3.3        Sprawdź, ile jest wolnego miejsca w przestrzeni PRIVATE1 (perspektywa DBA_FREE_SPACE)

3.4        Dlaczego nie udało się stworzyć tabeli?

3.5        Stwórz w przestrzeni PRIVATE1 tabelę PRÓBA1 bez parametrów

create table próba1 (<atr> <typ>) tablespace PRIVATE1;

3.6        Sprawdź, ile miejsca wolnego zostało w przestrzeni PRIVATE1 (perspektywa DBA_FREE_SPACE)

3.7        Odczytaj ze słownika obszary wolnej przestrzeni w każdej przestrzeni tabel:

              select dfs.tablespace_name, block_id, dfs.bytes, dfs.blocks, df.file_name

              from dba_free_space dfs, dba_data_files df

              where dfs.file_id = df.file_id

              order by 1, 2;

3.8        Odczytaj ze słownika ilość wolnej przestrzeni (z podziałem na pliki; podanej w blokach i bajtach), oraz liczbę wolnych obszarów (perspektywy: DBA_FREE_SPACE, DBA_DATA_FILES)

3.9        Odczytaj ze słownika ilość wolnej przestrzeni (z podziałem na przestrzenie; podanej w blokach i bajtach), oraz liczbę wolnych obszarów (perspektywa DBA_FREE_SPACE )

3.10    Wyświetl nazwy plików należących do przestrzeni PRIVATE1 (perspektywa DBA_DATA_FILES)

3.11    Sprawdź, ile jest wolnego miejsca w Twojej bazie danych (ilość w blokach) (perspektywa DBA_FREE_SPACE)

3.12    Sprawdź, w której przestrzeni została utworzona tabela PRÓBA1 (perspektywa USER_EXTENTS)

3.13   
Sprawdź ilość fizycznych odczytów i zapisów do plików przestrzeni (upewnij się, że parametr TIMED_STATISTICS jest ustawiony na TRUE):

              select name, phywrts, phyrds

              from v$datafile df, v$filestat fs

              where df.file# = fs.file#;

4         Tablice

4.1        Stwórz przestrzeń LAB1 z 3 plikami po 110K oraz tablicę BUSY1 z INITIAL = 300K w przestrzeni LAB1:

              create tablespace LAB1 datafile ‘c:\oracle\oradata\load\plik11.dbf’ size 110K,

              ‘c:\oracle\oradata\load\plik12.dbf’ size 110K, ‘c:\oracle\oradata\load\plik13.dbf’ size 110K online;

4.2        Zmień parametry pamięciowe tablicy BUSY1 tak, aby zaalokowała ona podaną w poprzednim poleceniu ilość 300K pamięci (NIE dodawaj dodatkowego pliku do przestrzeni!).

4.3        Sprawdź, ile wolnego miejsca zostało w przestrzeni (perspektywa DBA_FREE_SPACE).

4.4        Sprawdź w perspektywie USER_SEGMENTS ile przestrzeni wykorzystuje tabela BUSY1
(...segment_name = ‘BUSY1’....).

4.5        Wyświetl ze słownika danych parametry alokacji tablicy BUSY1 (perspektywa USER_TABLES, USER_SEGMENTS). Jakie są wartości parametrów MINEXTENTS, MAXEXTENTS?

4.6        Napisz zapytanie, które pokaże nazwę każdego segmentu, ilość bajtów i bloków oraz ilość dodatkowych obszarów dozwolonych do alokacji:

              select segment_name, blocks, bytes,
max_extents – extents „dozwolone do alokacji”

              from dba_segments;

4.7        Napisz zapytanie, które pokaże jedynie te segmenty, które zaalokowały 2 obszary.

4.8        Napisz zapytanie, używając perspektyw USER_TABLES i DBA_FREE_SPACE, które przedstawi tabele, które nie mogą zaalokować następnego obszaru:

              select tablespace_name, next_extent

              from user_tables t1

              where not exists (
select *
from dba_free_space t2
where t1.tablespace_name = t2.tablespace_name and
              bytes >= next_extent);

5         Pliki dziennika powtórzeń

5.1        Wyświetl nazwy i aktualny stan plików dziennika powtórzeń: (perspektywa V$LOGFILE)

5.2        Sprawdź, czy rozmiar buforów dziennika powtórzeń jest odpowiedni (odczytana wartość ma być bliska 0; inaczej należy zwiększyć parametr LOG_BUFFERS):

              select name, value

              from v$sysstat

              where name =’redo log space requests’;

...
Zgłoś jeśli naruszono regulamin