Lab Oracle Katowice 2013v1 Fizyczna i logiczna struktura bazy danych 1 http://platforma.polsl.pl/rau2/mod/folder/view.php?id=9975 RB_lab2_v04st Przykładowe pomocne strony www: Zadania do wykonania na laboratorium 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-Worksheet START PROGRAMY (All Programs) ORAClient10g... Application Development SQLPlus Worksheet 2 Przygotowanie przestrzeni tabel: 2.1 Połącz się jako użytkownik SYS user: sys password: manager service: orcl connect as: sysdba (sys/manager@orcl AS SYSDBA) 2.2 Stwórz przestrzeń tabel AP21: 2.3 Stwórz przestrzeń tabel AP22: create tablespace AP21 datafile 'c:\oracle\oradata\orcl\ap21.dbf' size 200K ; http://edu.pjwstk.edu.pl/wyklady/sbd/scb/rw12a.htm
Lab Oracle Katowice 2013v1 Fizyczna i logiczna struktura bazy danych 2 create tablespace AP22 datafile 'c:\oracle\oradata\orcl\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 (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 Spróbuj usunąć przestrzeń AP21: drop tablespace AP21; 2.8 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:\oracle\oradata\orcl\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:\oracle\oradata\orcl\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. 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' 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 Katowice 2013v1 Fizyczna i logiczna struktura bazy danych 3 3 Parametry pamięciowe przestrzeni tabel 3.1 Stwórz przestrzeń PRIVATE1 z plikiem priv1.dbf o rozmiarze 200K: create tablespace PRIVATE1 datafile 'c:\oracle\oradata\orcl\priv1.dbf' size 200K ; 3.2 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 miejsca w przestrzeni PRIVATE1 (perspektywa DBA_FREE_SPACE) 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ę? 3.6 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 przestrzeni PRIVATE1 (perspektywa DBA_FREE_SPACE, DBA_DATA_FILES) 3.8 Sprawdź, w której przestrzeni została utworzona tabela PRÓBA1 (perspektywa USER_EXTENTS) 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#;
Lab Oracle Katowice 2013v1 Fizyczna i logiczna struktura bazy danych 4 4 Tablice 4.1 Stwórz przestrzeń LAB1 z 3 plikami po 210K oraz tablicę BUSY1 z INITIAL = 600K w przestrzeni LAB1: create tablespace LAB1 datafile 'c:\oracle\oradata\orcl\plik11.dbf' size 210K, 'c:\oracle\oradata\orcl\plik12.dbf' size 210K, 'c:\oracle\oradata\orcl\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 tablicy BUSY1 tak, aby zaalokowała ona maksymalną możliwą ilość pamięci (NIE dodawć dodatkowego pliku do przestrzeni!). 4.4 Sprawdź, ile wolnego miejsca zostało teraz w przestrzeni (perspektywa 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 tablicy BUSY1 (perspektywa USER_TABLES, USER_SEGMENTS). Jakie są wartości parametrów MINEXTENTS, MAXEXTENTS? 4.7 Utwórz 4 przestrzenie tabel o nazwach: P11, P12, P13, P14, których pliki nazywają się odpowiednio p11.dbf, p12.dbf, p13.dbf, p14.dbf i mają rozmiar 400 KB. Na końcu polecenia create tablespace dodać frazę autoextend on maxsize 1M. 4.8 Dla tabeli mgmt_aru_product_release_map ze schematu sysman utworzyć partycję zakresową względem wartości atrybutu product_id, tworząc nową tabelę PART1 create table part1 partition by range (product_id) ( partition part_p11 values less than (1000) tablespace P11, partition part_p12 values less than (2000) tablespace P12, partition part_p13 values less than (10000) tablespace P13, partition part_p14 values less than (MAXVALUE) tablespace P14 ) as select * from sysman.mgmt_aru_product_release_map; 4.9 Przejrzyj informacje o utworzonych partycjach: select * from user_tab_partitions where table_name = 'PART1'; 4.10 Przekonwertuj partycję part_p11 na samodzielną tabelę: create table tab_np1 tablespace users as select * from part1 where 1=0; alter table part1 exchange partition part_p11 with table tab_np1; 4.11 select * from tab_np1 ;
Lab Oracle Katowice 2013v1 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' ; 6 Uruchomić i przejrzeć: 6.1 START PROGRAMY (All Programs) ORAClient10g... Enterprise Manager Console 6.2 START PROGRAMY (All Programs) OraDB11g... Application Development SQL Developer 6.3 START PROGRAMY (All Programs) OraDB11g... Configuration and Migration Tools Database Configuration Assistant Create Database 'lab123' jeżeli proces tworzenia trwa zbyt długo to można go anulować. 7 Otworzyć katalog C:\Oracle\oradata\orcl C:\Oracle\cfgtoollogs\dbca\orcl C:\Oracle\admin\orcl C:\Oracle\ Sprawdzić zawartość. 8 Ocena: Zadania 1 do 7 ocena 4.5 Zaprezentować zrealizowane zadania: zad 2.14; 3.5; zad. 4.2 do 4.7; 4.11 Dodatkowo 1 podzadanie z: zadanie 7 - lab1v8: ocena 5.0