Ćwiczenie 6_1
I KATALOG SYSTEMOWY - tzw. słownik danych
Słownik danych jest jednym z najbardziej użytecznych narzędzi dostępnych w bazie danych. Pozwala on uporządkować bazę i jest mechanizmem wymuszającym integralność bazy danych, pozwala np. odpowiedzieć na pytanie skąd podczas tworzenia tabeli serwer bazy danych wie, czy istnieje już w bazie tabela o tej nazwie? W jaki sposób, podczas tworzenia zapytania jest sprawdzane, czy użytkownik posiada niezbędne przywileje dostępu do tabeli itd. Ze słownika bazy danych korzystają zarówno użytkownicy końcowi w sposób pośredni, jak i twórcy systemu w sposób bezpośredni.
Właścicielem tabel systemowych w słowniku bazy Oracle jest SYS. Tabele są podzielne na trzy kategorie:
widoki dostępne dla uzytkowników
widoki administratora bazy danych
dynamiczne tabele opisujące wydajność bazy danych, takie jak statystyka procesów, dynamiczne użycie segmentów wycofania transakcji, wykorzystanie pamięci itp. Nazwy tych tabel rozpoczynają się na V$.
WIDOKI UŻYTKOWNIKA
Niezbędnym przywilejem do przeglądania widoków jest przywilej systemowy CREATE SESSION
Kim jestem? |
SQL>select * from user_users; SQL>select * from all_users; |
Jakie mam prawa? |
SQL>select * from user_sys_privs; |
Do czego mam dostęp? |
SQL>select * from user_catalog; SQL>select * from all_catalog; SQL>select substr(object_type,1,15)object_type, substr(object_name,1,30)object_name, created, status from user_objects order by 1; |
|
SQL>select table_name, initial_extent, next_extent
|
|
SQL>select substr(owner,1,15)owner,
from all_tables; |
|
SQL>select substr(segment_name,1,35) segment_name,
|
|
SQL>select substr(table_schema,1,10) owner,
from all_tab_privs; |
|
SQL>select substr(tablespace_name,1,30) tablespace_name,
|
|
SQL>select substr(tablespace_name,1,30) tablespace_name,
|
Widoki przeznaczone dla Administratora są dla użytkownika niedostępne.
DYNAMICZNE WIDOKI WYDAJNOŚCI
Polecenie
SQL> describe V$SESSION;
pokazuje detale zawarte w widoku. Aby pobrać informacje o bieżącej sesji bazy danych należy użyć zdania select z powyższym widokiem:
SQL>select username, command, status
from V$session
where username is not null;
Baza Oracle udostępnia dwa narzędzia pozwalające śledzić szybkość poleceń:
explain plan, identyfikujące ścieżkę dostępu do danych
tkprof, mierzące czas wykonania każdej z faz przetwarzania polecenia SQL.
LABORATORIUM z BAZ DANYCH
ORACLE