Zadania do wykonania na laboratorium

Transkrypt

Zadania do wykonania na laboratorium
Lab Oracle
Katowice 2016v3 – Fizyczna i logiczna struktura bazy danych
http://platforma.polsl.pl/rau2/mod/folder/view.php?id=9975 → RB_lab2_v08st
Zadania do wykonania na laboratorium
Przykładowe pomocne strony www:
http://math.uni.lodz.pl/~cybula/bd/pbd/ADMBD_2009_2010_calosc_A4_1.pdf
http://edu.pjwstk.edu.pl/wyklady/szb/scb/rw14.htm
http://bc.pollub.pl/Content/675/eksploatacja.pdf
http://www.uz.zgora.pl/~agramack/files/BazyDanych/ORACLE.pdf
http://www.adp-gmbh.ch/ora/sql/
http://www.uz.zgora.pl/~agramack/files/BazyDanych/sql_oracle.pdf
http://www.wykop.pl/ramka/516995/darmowy-kurs-oracle-sql/
1
Czynności wstępne:
1.1
Uruchomić maszynę wirtualną.
1.2
Uruchomić SQL Developer
Pulpit->SQL Developer
2
Przygotowanie przestrzeni tabel:
2.1
Połącz się jako użytkownik SYS
user:
sys
password:
manager
2.2
Stwórz przestrzeń tabel AP21:
create tablespace AP21
datafile 'C:\oraclexe\oradata\XE\ap21.dbf' size 200K ;
/// Tablespace AP21 created.
2.3
Stwórz przestrzeń tabel AP22:
http://edu.pjwstk.edu.pl/wyklady/sbd/scb/rw12a.htm
1
Lab Oracle
Katowice 2016v3 – Fizyczna i logiczna struktura bazy danych
2
create tablespace AP22
datafile 'c:\oraclexe\oradata\XE\ap22.dbf'
size 200K
autoextend on maxsize
2M
extent management local uniform size 64K;
2.4
Stwórz jednoatrybutową tabelę w przestrzeni AP21 – np.:
create table example21 (a NUMBER) tablespace AP21;
2.5
Przejrzyj informacje (zawarte w słowniku bazy) o przestrzeni AP21 i AP22 (perspektywa
DBA_TABLESPACES) ( select * from DBA_TABLESPACES )
2.6
Wyświetl podsumowanie o wszystkich segmentach we wszystkich przestrzeniach tabel:
select tablespace_name, count(*), sum(bytes)
from dba_segments
group by tablespace_name;
2.7
2.8
Spróbuj usunąć przestrzeń AP21:
drop tablespace AP21;
Dlaczego nie udało się usunąć tej przestrzeni?
2.9
Usuń przestrzeń AP21 dodając opcję including contents
2.10 Wykonaj ponownie p.: 2.2
Dlaczego nie da się stworzyć przestrzeni tabel?
Sprawdź czy istnieje: 'c:\oraclexe\oradata\XE \ap21.dbf'
Co w takiej sytuacji można zrobić?
2.11 Wykonaj ponownie p.: 2.2 dodając opcję ‘reuse’
create tablespace AP21
datafile 'c:\oraclexe\oradata\XE\ap21.dbf' size 200K reuse;
2.12 Wykonaj ponownie p.: 2.5 i 2.6
Dlaczego nie ma segmentów w przestrzeniach tabel AP21 i AP22
2.13 Stwórz jednoatrybutową tabelę w przestrzeni AP21 oraz AP22
2.14 Wykonaj ponownie p.: 2.6
Jaka jest różnica w stosunku do poprzedniego stanu i z czego ona wynika.
2.15 Usuń przestrzeń tabel AP21 i AP22 dodając opcję ‘and datafiles’
drop tablespace AP22 including contents and datafiles;
Sprawdź czy istnieją odpowiednie pliki '.dbf'
' C:\oraclexe\oradata\XE
2.16 Przejrzyj perspektywy.: V$SGA, V$DATABASE, DBA_USERS. Jakie inf. są tam
zapisane?
http://docs.oracle.com/cd/B19306_01/server.102/b14237/dynviews_1073.htm
http://docs.oracle.com/cd/B19306_01/server.102/b14237/statviews_4174.htm
Lab Oracle
3
3.1
3.2
Katowice 2016v3 – Fizyczna i logiczna struktura bazy danych
3
Parametry pamięciowe przestrzeni tabel
Stwórz przestrzeń PRIVATE1 z plikiem priv1.dbf o rozmiarze 200K:
create tablespace PRIVATE1
datafile 'C:\oraclexe\oradata\XE\priv1.dbf' size 200K ;
Stwórz tabelę PRÓBA1 w przestrzeni PRIVATE1, przy czym parametr INITIAL ma mieć
wartość 200K:
create table próba1 (a NUMBER) tablespace PRIVATE1
storage (initial 200K);
Uwaga: Dozwolone typy kolumn w tabeli to: CHAR(x), VARCHAR2(x), NUMBER,
NUMBER(x), DATE, LONG
3.3
Dlaczego nie udało się stworzyć tabeli?
Sprawdź, ile jest wolnego
DBA_FREE_SPACE)
miejsca
w
przestrzeni
PRIVATE1
(perspektywa
http://docs.oracle.com/cd/B19306_01/server.102/b14237/statviews_3122.htm
3.4
Stwórz w przestrzeni PRIVATE1 tabelę PRÓBA1 bez parametrów pamięciowych
create table próba1 (a NUMBER) tablespace PRIVATE1;
3.5
Sprawdź, ile miejsca wolnego zostało w przestrzeni PRIVATE1 (perspektywa
DBA_FREE_SPACE)
Czy zajmowane jest miejsce w przestrzeni tabel przy tworzeniu tabeli bez danych bez
początkowej alokacji zajmowanego miejsca?
Ile miejsca jest zajmowane przez taką tabelę?
Ile miejsca jest zajmowane przez tabelę z początkową alokacją 1KB? - (initial 1K)
Ile miejsca jest zajmowane przez tabelę z początkową alokacją 5KB? - (initial 5K)
Można wykonać dodatkowe eksperymenty np.:
{ Stwórz przestrzeń PRIVATE2 z plikiem priv2.dbf o rozmiarze 800K:
create tablespace PRIVATE2
datafile 'C:\oraclexe\oradata\XE\priv2.dbf' size 800K ;
Stwórz kilka tabel w przestrzeni PRIVATE2, przy czym parametr INITIAL ustaw na różne
wartości (1K; 5K; 65K; 200K; bez parametru pamięciowego)
create table próba2 (a NUMBER) tablespace PRIVATE2
storage (initial 1K);
Sprawdź ile zajmują miejsca tworzone tabele oraz ile zostaje wolnego miejsca w przestrzeni
tabel.
}
Lab Oracle
3.6
Katowice 2016v3 – Fizyczna i logiczna struktura bazy danych
4
Odczytaj ze słownika obszary wolnej przestrzeni w każdej przestrzeni tabel (z podziałem
na pliki; podanej w blokach i bajtach), oraz liczbę wolnych obszarów (perspektywy:
DBA_FREE_SPACE, DBA_DATA_FILES):
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.7
Wyświetl nazwy plików należących do
DBA_FREE_SPACE, DBA_DATA_FILES)
przestrzeni
3.8
Sprawdź, w której przestrzeni została utworzona tabela PRÓBA1 (perspektywa
USER_EXTENTS)
PRIVATE1
(perspektywa
Select * from USER_EXTENTS where SEGMENT_NAME like 'PRÓBA1';
3.9
Sprawdź ilość fizycznych odczytów (PHYRDS) i zapisów (PHYWRTS) do plików
przestrzeni (upewnij się, że parametr TIMED_STATISTICS jest ustawiony na TRUE):
ALTER SESSION SET TIMED_STATISTICS=TRUE;
select name, phywrts, phyrds
from v$datafile df, v$filestat fs
where df.file# = fs.file#;
4
Tabele
4.1
Stwórz przestrzeń LAB1 z 3 plikami po 210K oraz tabelę BUSY1 z INITIAL = 600K
w przestrzeni LAB1:
create tablespace LAB1 datafile 'C:\oraclexe\oradata\XE\plik11.dbf' size 210K,
'C:\oraclexe\oradata\XE\plik12.dbf' size 210K,
'C:\oraclexe\oradata\XE\plik13.dbf' size 210K online;
4.2
Sprawdź, ile jest wolnego miejsca w przestrzeni LAB1 (perspektywa DBA_FREE_SPACE).
4.3
Dodaj tabelę BUSY1 - ustaw parametry pamięciowe tabeli BUSY1 tak, aby zaalokowała ona
maksymalną możliwą ilość pamięci (NIE dodawć dodatkowego pliku do przestrzeni!)
(parametr wstawić jako wyliczona wcześniej konkretna wartość).
4.4
Sprawdź, ile wolnego
DBA_FREE_SPACE).
4.5
Sprawdź w perspektywie USER_SEGMENTS ile przestrzeni wykorzystuje tabela BUSY1
4.6
Wyświetlić ze słownika danych parametry alokacji tabeli BUSY1 (perspektywa
USER_TABLES, USER_SEGMENTS). Jakie są wartości parametrów MINEXTENTS,
MAXEXTENTS?
miejsca
zostało
teraz
w
przestrzeni
(perspektywa
Lab Oracle
Katowice 2016v3 – Fizyczna i logiczna struktura bazy danych
5
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żało by zwiększyć parametr LOG_BUFFERS):
select name, value
from v$sysstat
where name = 'redo log space requests' ;
Ocena:
Zadania 1 do 5 – ocena 4.5
Zaprezentować i omówić zrealizowane zadania: zad 2.14; 3.5; zad. 4.2 do 4.6; ( jako np.
zrzuty ekranu)
Zadania na 5:
Sprawdź (znajdź eksperymentalnie) jaka jest minimalna wielkość pamięci na której można
utworzyć przestrzeń tabel z dokładnością do 1B.