BAZAMI DANYCH. Rozdzia y Rok akademicki 2007/ Notatki do wyk adów z przedmiotu Administracja bazami danych

Podobne dokumenty
1. ROLA ADMINISTRATORA

(a) T (b) N (c) N (d) T

Administracja bazy danych Oracle 10g

Archiwizacja i odtwarzanie bazy danych

startup pfile= '$HOME/admin/pfile/initDBx.ora'; create spfile from pfile= '$HOME/admin/pfile/initDBx.ora';

System Oracle podstawowe czynności administracyjne

ADMINISTRACJA BAZAMI DANYCH

Server Oracle - System Zarządzania Bazą Danych - składa się z instancji Oracle i bazy danych Oracle Instancja Oracle - pewne procesy drugoplanowe i

Administracja bazy danych Oracle 10g

Przygotowanie bazy do wykonywania kopii bezpieczeństwa

(c) Politechnika Poznańska, Instytut Informatyki

(c) Politechnika Poznańska, Instytut Informatyki

Administracja bazy danych Oracle 10g

Zarządzanie strukturą bazy danych Oracle11g

Organizacja przestrzeni danych (2) Struktura bazy danych Oracle. Przestrzenie tabel. baza danych. tabel. tabel. struktury. (relacje, schematy,

Oracle Database 11g: podstawy administracji. Instalowanie serwera bazy danych

Podstawy systemów UNIX Podstawy RMAN

Zarządzanie kontami użytkowników w i uprawnieniami

Przyczyny awarii. Struktury wykorzystywane do odtwarzania bd. Archiwizowanie plików dziennika. Archiwizowanie danych. danych

Zarządzanie instancją bazy danych Oracle11g

Bazy danych. Plan wykładu. Rozproszona baza danych. Fragmetaryzacja. Cechy bazy rozproszonej. Replikacje (zalety) Wykład 15: Rozproszone bazy danych

Szkolenie obejmuje zagadnienia związane z tworzeniem i zarządzaniem bazą danych Oracle, jej zasobami i dostępem do danych.

Uprawnienia, role, synonimy

Zadania do wykonania na laboratorium

Tworzenie bazy danych Biblioteka tworzenie tabel i powiza, manipulowanie danymi. Zadania do wykonani przed przystpieniem do pracy:

Odtwarzanie po awarii plików bazy danych

Program kadrowo płacowy - wersja wielodostępna z bazą danych Oracle SQL Server 10g

Tytuł kursu: Oracle 11g XE Administracja (kompleksowe)

SQL> startup pfile=./admin/pfile/initdbx.ora. SQL> create spfile from pfile='$home/admin/pfile/initdbx.ora' create user bolek identified by bolek;

Baza danych Oracle podstawowe pojęcia

Bazy danych. Wykład IV SQL - wprowadzenie. Copyrights by Arkadiusz Rzucidło 1

Instalacja programu Sprzeda z motorem. bazy danych Pervasive V8

Zadania do wykonaj przed przyst!pieniem do pracy:

Przed modyfikacją buforów danych proces serwera zapisuje w buforze dziennika powtórzeń wszystkie zmiany dokonane w bazie danych.

Instalacja programu Sprzeda

Oracle11g: Wprowadzenie do SQL

Ćwiczenie 2. Struktura bazy danych Oracle

Bazy danych Transakcje

Zarządzanie wolną przestrzenią w bloku. Rozszerzenia

1. Informacje ogólne.

Typy bazy danych Textract

T-SQL dla każdego / Alison Balter. Gliwice, cop Spis treści. O autorce 11. Dedykacja 12. Podziękowania 12. Wstęp 15

1 Instalowanie i uaktualnianie serwera SQL Server

Typy tabel serwera MySQL

Instrukcja Obsugi Programu

Block Change Tracking

Systemowe aspekty baz

Ćwiczenie 2. Struktura bazy danych Oracle

Terminologia baz danych

Poradnik korzystania z serwisu UNET: Konfiguracja programu pocztowego

Program kadrowo płacowy - wersja wielodostępna z bazą danych Oracle SQL Server 8 lub 9

Opera Wykorzystanie certyfikatów niekwalifikowanych w oprogramowaniu Opera wersja 1.1 UNIZETO TECHNOLOGIES SA

Architektura Systemu Zarządzania Bazą Danych Oracle

3. Instalator rozpocznie proces instalacji

Instalacja Oracle Designera ( )

obsług dowolnego typu formularzy (np. formularzy ankietowych), pobieranie wzorców formularzy z serwera centralnego,

Paweł Rajba

SZKOLENIE: Administrator baz danych. Cel szkolenia

Sieciowa instalacja Sekafi 3 SQL

Plan ćwiczenia. Rozdział 16 Uwierzytelnianie i autoryzacja w bazie danych. UŜytkownicy i schematy (2) UŜytkownicy i schematy (1) baza danych: ZESP99

Bazy danych. Zaliczenie. Literatura. Strony WWW. Wykład 1: Wprowadzenie do baz danych. Semestr 1

System midzybankowej informacji gospodarczej Dokumenty Zastrzeone MIG DZ ver Aplikacja WWW ver. 2.1 Instrukcja Obsługi

Wyzwalacz - procedura wyzwalana, składowana fizycznie w bazie, uruchamiana automatycznie po nastąpieniu określonego w definicji zdarzenia

Spis treści. Przedmowa

Oracle PL/SQL. Paweł Rajba.

Ćwiczenia laboratoryjne nr 11 Bazy danych i SQL.

Kopie bezpieczeństwa NAPRAWA BAZ DANYCH

Administracja i programowanie pod Microsoft SQL Server 2000

Administracja bazami danych

PROCEDURA BACKUP & RECOVER Dokument opisuje procedurę backup u i odtwarzania dla bazy Oracle 11gR2

Uywanie licencji typu Standalone. Japanese Using a Standalone License. Language. Contents

AltiumLive Dashboard - sownik. AltiumLive Dashboard - Glossary. Language. Contents

Klonowanie MAC adresu oraz TTL

Zarządzanie obiektami bazy danych Oracle11g

Kreator automatycznego uaktualniania firmware'u

PODSTAWY BAZ DANYCH Wykład 6 4. Metody Implementacji Baz Danych

Bazy danych Podstawy teoretyczne

Bazy danych. Andrzej Grzybowski. Instytut Fizyki, Uniwersytet Śląski

Planowanie adresacji IP dla przedsibiorstwa.

Zarządzanie transakcjami

Projektowanie bezpiecze stwa sieci

PODSTAWY BAZ DANYCH. 7. Metody Implementacji Baz Danych. 2009/ Notatki do wykładu "Podstawy baz danych" 1

System Connector Opis wdrożenia systemu

Kopie zapasowe w SQL Server. Michał Bleja

Problemy techniczne SQL Server

strukturalny język zapytań używany do tworzenia i modyfikowania baz danych oraz do umieszczania i pobierania danych z baz danych

UPDATE Studenci SET Rok = Rok + 1 WHERE Rodzaj_studiow =' INŻ_ST'; UPDATE Studenci SET Rok = Rok 1 WHERE Nr_albumu IN ( '111345','100678');

Instrukcja obsługi programu Pilot PS 5rc

Problemy techniczne SQL Server

Architektura środowiska rozproszonego. Środowisko komunikacyjne Oracle*Net. Weryfikacja instalacji protokołu u sieciowego

Oracle Designer. Oracle Designer jest jednym z głównych komponentów pakietu Oracle Developer Suite. Oracle Designer wspiera :

Projektowanie systemów baz danych

FORTECA DF - terminal kasowy

Plan ćwiczenia. Rozdział 16 Uwierzytelnianie i autoryzacja w bazie danych. Użytkownicy i schematy (1) Użytkownicy i schematy (2) baza danych: ZESP99

Mozilla Firefox PL. Wykorzystanie certyfikatów niekwalifikowanych w oprogramowaniu Mozilla Firefox PL. wersja 1.1

Część I Tworzenie baz danych SQL Server na potrzeby przechowywania danych

Wydajność hurtowni danych opartej o Oracle10g Database

zdefiniowanie kilku grup dyskusyjnych, z których chcemy odbiera informacje, dodawanie, usuwanie lub edycj wczeniej zdefiniowanych grup dyskusyjnych,

Zakres wykładów (2) T orzenie, monitorowanie i usuwanie uż u ytkowników. ytkowników Kontrolowanie haseł Kontrolowanie hase i zasobów systemowych i

Transkrypt:

ADMINISTRACJA BAZAMI DANYCH Rozdziay 1-13 Rok akademicki 2007/2008 Notatki do wykadów z przedmiotu Administracja bazami danych SPIS TRECI -2- SPIS TRECI 1. ROLA ADMINISTRATORA... 4 1.1. Rodzaje uytkowników... 4 1.2. Zadania administratora... 5 2. ARCHITEKTURA SYSTEMU ZARZDZANIA BAZ DANYCH ORACLE... 6 2.1. Pojcie instancji... 6 2.2. Struktura pamici SGA... 8 2.3. Proces Globar Area... 9 3. PLIKI SYSTEMU ORACLE... 10 4. POCZENIE Z INSTANCJ... 15 4.1. Sposób czenia si z instancj... 15 4.2. Klient Oracle... 17 4.3. Rodzaje serwerów baz danych Oracle... 18 5. PROCESY BAZY DANYCH... 22 5.1. Rodzaje procesów... 22 5.2. Procesy drugoplanowe... 22 5.3. Procesy usugowe i procesy uytkowników... 25 6. URUCHAMIANIE I ZAMYKANIE INSTANCJI... 26 6.1. Uruchamianie i zatrzymywanie serwisu nasuchowego... 26 6.2. Uruchamianie i zatrzymywanie serwisu i instancji... 27 6.3. Otwieranie serwisu instancji przy pomocy programu Oradim... 27 6.4. Otwieranie instancji przy pomocy programu Oradim... 27 6.5. Zatrzymywanie serwisu instancji i instancji... 28 6.6. Otwieranie instancji przy pomocy SQL*Plus... 28 6.7. Zamykanie instancji... 32 6.8. Przykady uruchamiania i zamykania instancji... 33 7. PARAMETRY BAZY DANYCH ORACLE... 37 7.1. Zmiany parametrów... 37 7.2. Plik init<sid>.ora... 38 8. STRUKTURA PRZECHOWYWANIA... 41 8.1. Warstwa fizyczna i logiczna przechowywania danych... 41 8.2. Segmenty danych... 50 8.3. Segmenty wycofania... 58 Rok akademicki 2007/2008 - Notatki do wykadów z przedmiotu Administracja bazami danych

SPIS TRECI -3-8.4. Automatyczne zarzdzanie wycofywaniem transakcji... 68 8.5. Zarzdzanie przestrzeniami tabel i plikami danych... 68 8.6. Zarzdzanie przestrzeniami tymczasowymi i automatycznego wycofywania... 81 8.6.1. Zarzdzanie przestrzeniami tymczasowymi... 81 8.6.2. Zarzdzanie przestrzeniami automatycznego wycofywania... 81 9. OBIEKTY BAZY DANYCH (POWTÓRZENIE)... 83 9.1. Tabela... 83 9.2. Indeksy... 84 9.3. Perspektywy... 85 9.4. Synonimy... 86 10. ZARZDZANIE BEZPIECZESTWEM... 87 10.1. Autoryzacja przez plik hase... 87 10.2. Uytkownicy... 89 10.3. Przykady... 93 10.4. Zakoczenie sesji uytkownika... 95 10.5. Profile... 97 10.6. Przykady zwizane z zarzdzaniem hasami z poziomu profili... 103 10.7. Weryfikacja hasa... 111 11. UPRAWNIENIA... 115 11.1. Przykadowe uprawnienia systemowe... 115 11.2. Przykady... 120 11.3. Uprawnienia obiektowe... 123 12. ROLE... 128 12.1. Tworzenie roli... 128 12.2. Przyznawanie uprawnie systemowych i ról... 132 12.3. Przyznawanie uprawnie obiektowych... 134 13. PLIK PARAMETRÓW SPFILE<SID>.ORA... 136 Rok akademicki 2007/2008 - Notatki do wykadów z przedmiotu Administracja bazami danych 1. ROLA ADMINISTRATORA -4-1. ROLA ADMINISTRATORA 1.1. Rodzaje uytkowników Uytkownik kocowy Korzysta z wczeniej przygotowanych interfejsów. Posiada uprawnienia do odczytywania i modyfikowania wybranych danych. Projektant/Programista Korzysta z narzdzi do projektowania aplikacji. Posiada uprawnienia do tworzenia bazy, tabel, Administrator Opiekuje si gotowymi aplikacjami, instaluje je. Zarzdza uytkownikami, nadaje im uprawnienia. Odpowiada za cigo pracy. Odpowiada za wydajno. Tworzy kopie bezpieczestwa. Rok akademicki 2007/2008 - Notatki do wykadów z przedmiotu Administracja bazami danych

1. ROLA ADMINISTRATORA -5 1.2. Zadania administratora Instalacja systemu Zapewnienie cigej pracy aplikacji. Startowanie bazy. Tworzenie kopii zapasowych. Zapewnienie optymalnych warunków dostpu do bazy. Dbanie o wydajno systemu. Monitorowanie systemu. Zapewnienie dostpu do bazy na zasadach bezpieczestwa okrelonych odpowiedni polityk (tajno danych, zgodno z ustawami, ). Zakadanie lub kasowanie uytkowników. Nadawanie lub odbieranie uprawnie uytkownikom. Przywracanie bazy po awarii. Rok akademicki 2007/2008 - Notatki do wykadów z przedmiotu Administracja bazami danych 2. ARCHITEKTURA SYSTEMU ZARZDZANIA BAZ DANYCH ORACLE -6-2. ARCHITEKTURA SYSTEMU ZARZDZANIA BAZ DANYCH ORACLE 2.1. Pojcie instancji Naley rozróni pojcie bazy danych (pliki do przechowywania danych) od pojcia instancji. Pojcie instancji bazy danych mona zilustrowa nastpujco: Baza danych komplet plików przechowujcych dane i zarzdzanej przez specjaln aplikacj. Instancja uruchomiona aplikacja do zarzdzania baz danych skadajca si ze wspólnej pamici SGA oraz zestawu procesów drugoplanowych. Dostp do danych odbywa si poprzez instancj. Rok akademicki 2007/2008 - Notatki do wykadów z przedmiotu Administracja bazami danych

2. ARCHITEKTURA SYSTEMU ZARZDZANIA BAZ DANYCH ORACLE -7- U1 U2 Un Procesy uytkowników P1 P2 Pn Procesy usugowe Globalny obszar systemowy SGA Instancja bazy danych Procesy drugoplanowe Pliki bazy danych Rysunek 2.1.1. Pojcie instancji Rok akademicki 2007/2008 - Notatki do wykadów z przedmiotu Administracja bazami danych 2. ARCHITEKTURA SYSTEMU ZARZDZANIA BAZ DANYCH ORACLE -8-2.2. Struktura pamici SGA Obszar SGA (System Globar Area) jest tworzony w pamici RAM w momencie startu instancji. Mona go zilustrowa nastpujco: Shared pool - Obszar wspódzielony Database buffers Bufor danych Redo buffers Bufor dziennika powtórze Shared SQL Area Wspódzielony obszar polece SQL Dictionary cache Bufor sownika danych Inne gdzie Rysunek 2.2.1. Globalny obszar systemowy SGA. Bufor danych - przechowuje dane odczytane z dysku; Bufor dziennika powtórze - przechowuje informacje o zmianach wprowadzonych do bazy danych; Rok akademicki 2007/2008 - Notatki do wykadów z przedmiotu Administracja bazami danych

2. ARCHITEKTURA SYSTEMU ZARZDZANIA BAZ DANYCH ORACLE -9- Obszar wspódzielony - przeznaczony do obsugi polece SQL i PL/SQL; Wspódzielony obszar polece SQL - przechowuje informacje o poleceniach SQL uytkowników ( np. ich optymalizacj ) Bufor sownika danych - przechowuje informacje ze sownika danych. Total System Global Area 285212672 bytes Fixed Size 1287016 bytes... /* Inne */ Variable Size 100666520 bytes /* Shared pool */ Database Buffers 180355072 bytes Redo Buffers 2904064 bytes Dane te mona otrzyma z perspektywy dynamicznej V$SGA poleceniem: SQL> SELECT * FROM v$sga; lub poleceniem edytora sqlplus: SQL> SHOW sga 2.3. Proces Globar Area Kady proces usugowy i drugoplanowy ma przydzielony obszar pamici operacyjnej zwany pamici procesu. Obszary te tworz obszar pamici nazywanym PGA Proces Global Area, którego maksymalny rozmiar jest zgodny z parametrem instancji PGA_AGGREGATE_TARGET. Rok akademicki 2007/2008 - Notatki do wykadów z przedmiotu Administracja bazami danych 3. PLIKI SYSTEMU ORACLE -10-3. PLIKI SYSTEMU ORACLE System Zarzdzania Baz Danych Oracle wykorzystuje pliki kodu i bazy danych, tj. pliki danych, dziennika powtórze, kontrolne, konfiguracyjne, hase i rejestrujce sposób pracy bazy danych. Pliki kodu (oracle code files) zawieraj oprogramowanie systemu zarzdzania baz danych, programy usugowe i skrypty z poleceniami SQL wykorzystywane m.in. do administrowania systemem, tworzenia bazy danych i rónego rodzaju dodatkowych obiektów systemowych. Pliki kodu znajduj si w nastpujcych podkatalogach katalogu domowego Oracle: bin, rdbms. Pliki danych (data files) su do przechowywania danych systemowych i danych wprowadzanych przez uytkownika. Zgodnie z konwencj pliki bazy danych posiadaj rozszerzenie dbf. Pliki kontrolne (control files) zawieraj informacje o bazie danych, m.in. nazwy i pooenie plików danych, plików dziennika powtórze, informacje o dostpnoci poszczególnych plików oraz dane wykorzystywane w czasie odtwarzania bazy danych po awarii. Rok akademicki 2007/2008 - Notatki do wykadów z przedmiotu Administracja bazami danych

3. PLIKI SYSTEMU ORACLE -11- Przyjmuje si, e pliki te posiadaj rozszerzenia ctl lub dbf. Rysunek 3.1.1. Pliki kontrolne, danych i wycofywania. Pliki dziennika powtórze (redo log files) rejestruj wszystkie operacje wykonywane na bazie danych. Pliki te s wykorzystywane m.in. do odtwarzania bazy danych po awarii. Wyrónia si dwa rodzaje plików dziennika powtórze: aktywne (online redo log files) i zarchiwizowane (archived redo log files). Zgodnie z konwencj aktywne pliki dziennika powtórze posiadaj rozszerzenia log, a zarchiwizowane arc. Rok akademicki 2007/2008 - Notatki do wykadów z przedmiotu Administracja bazami danych 3. PLIKI SYSTEMU ORACLE -12- Rysunek 3.1.2. Pliki dziennika powtórze. Pliki kontrolne (control files) zawieraj informacje o bazie danych, m.in. nazwy i pooenie plików danych, plików dziennika powtórze, informacje o dostpnoci poszczególnych plików oraz dane wykorzystywane w czasie odtwarzania bazy danych po awarii. Przyjmuje si, e pliki te posiadaj rozszerzenia ctl lub dbf. Rok akademicki 2007/2008 - Notatki do wykadów z przedmiotu Administracja bazami danych

3. PLIKI SYSTEMU ORACLE -13- Rysunek 3.1.3. Pliki kontrolne, danych i wycofywania. Pliki konfiguracyjne (init files) zawieraj parametry konfiguracyjne bazy danych. S one odczytywane przez system w czasie uruchamiania bazy danych. Pliki te posiadaj nazwy init<sid>.ora, pwd<sid>.ora lub spfile<sid>.ora, gdzie <SID> oznacza nazw instancji bazy danych, np. initxe.ora, pwdxe.ora lub spfilexe.ora. Rok akademicki 2007/2008 - Notatki do wykadów z przedmiotu Administracja bazami danych 3. PLIKI SYSTEMU ORACLE -14- Rysunek 3.1.4. Pliki konfiguracyjne bazy. Pliki zawieraj parametry konfiguracyjne sieci. S one wykorzystywane przy poczeniach z instancj. S to pliki np. tnsnames.ora, listener.ora, sqlnet.ora. Rysunek 3.1.5. Sieciowe pliki konfiguracyjne. Rok akademicki 2007/2008 - Notatki do wykadów z przedmiotu Administracja bazami danych

4. POCZENIE Z INSTANCJ 4. POCZENIE Z INSTANCJ 4.1. Sposób czenia si z instancj # TNSNAMES.ORA Network Configuration File: #...\network\admin\tnsnames.ora # Generated by Oracle configuration tools. XXXX = (DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP) (HOST = localhost)(port = 1521)) ) (CONNECT_DATA = (SERVER = DEDICATED) (SERVICE_NAME = xxxx) ) ) TEST = (DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP) (HOST = localhost)(port = 1521)) ) (CONNECT_DATA = ) ) (SERVER = DEDICATED) (SERVICE_NAME = test) /*nazwa instancji*/ /*nazwa instancji*/ -15- # LISTENER.ORA Network Configuration File: #..\network\admin\listener.ora # Generated by Oracle configuration tools. LISTENER = (DESCRIPTION_LIST = (DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP) (HOST = localhost)(port = 1521)) ) ) ) SID_LIST_LISTENER = (SID_LIST = (SID_DESC = (GLOBAL_DBNAME = test) (ORACLE_HOME = C:\oraclexe\app\oracle \product\10.2.0\server) (SID_NAME = test) ) (SID_DESC = (GLOBAL_DBNAME = xxxx) (ORACLE_HOME = C:\oraclexe\app\oracle \product\10.2.0\server) (SID_NAME = xxxx) ) ) Rok akademicki 2007/2008 - Notatki do wykadów z przedmiotu Administracja bazami danych 5. PROCESY BAZY DANYCH -16- Rysunek 4.1.1. Proces nasuchowy (Listener). Na stacji roboczej musi by zainstalowany klient Oracle. Na serwerze jest zainstalowany serwer Oracle i uruchomiony jest proces nasuchowy Listener. Uytkownik czy si podajc nazw uytkownika, haso i identyfikator poczenia. Narzdzie klienckie odczytuje parametry poczenia z lokalnego pliku tnsnames.ora. Sygna idzie do programu nasuchujcego, który sprawdza: o Czy instancja serwera jest uruchomiona? o Czy identyfikator uytkownika i haso jest poprawne? Proces nasuchowy tworzy proces serwera odpowiedzialny za realizacjda uytkownika. Do uytkownika zwracany jest adres i port (TCP/IP) tak utworzonego procesu. Rok akademicki 2007/2008 - Notatki do wykadów z przedmiotu Administracja bazami danych

5. PROCESY BAZY DANYCH -17- Uwaga. Instancji korzystajcych z tych samych plików danych moe by wiele. Umoliwia to równomierne rozoenie obcieda wielu uytkowników. 4.2. Klient Oracle Podamy teraz przykad instalacji najprostszego klienta Oracle. W zasadzie kade narzdzie firmy Oracle zawiera klienta. Z http://www.oracle.com/technology//software/index.html Instant Client mona pobra pliki Instantclient-basic-win32-10.2.0.1-20050930.zip InstantClientPackage-SQL*Plus. Pliki te naley rozpakowa np. do katalogu c:\instantclient W Mój Komputer->Waciwoci->Zaawansowane->Zmienne rodowiskowe Zmienne rodowiskowe: Edytujemy ciek PATH i na pocztku dodajemy: c:\instantclient; Dodajemy now: SQLPATH o wartoci c:\instantclient; Dodajemy now: TNS_ADMIN o wartoci c:\instantclient; Dodajemy now: NLS_LANG o wartoci POLISH_POLAND.WE8MSWIN1252 Plik tekstowy tnsnames.ora umieszczamy w katalogu c:\instantclient Rok akademicki 2007/2008 - Notatki do wykadów z przedmiotu Administracja bazami danych 5. PROCESY BAZY DANYCH -18- BAZA = (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP) (HOST = ZYSKNT.MATH.UNI.LODZ.PL)(PORT = 1521)) (CONNECT_DATA = (SERVER = DEDICATED) (SERVICE_NAME = baza) ) ) Po takiej instalacji dostpny jest z linii polece program sqlplus. Poza tym mona wykorzystywa wszystkie programy, które wymagaj klienta Oracle. 4.3. Rodzaje serwerów baz danych Oracle Serwer dedykowany o o Konfiguracja dla 1-100 uytkowników. Dla kadego uytkownika tworzony jest oddzielny proces serwera wraz z oddzielnym obszarem pamici (PGA). Rok akademicki 2007/2008 - Notatki do wykadów z przedmiotu Administracja bazami danych

5. PROCESY BAZY DANYCH -19- Instancja Rysunek 4.3.1. Serwer dedykowany. Serwer wielokanaowy o Konfiguracja dla 100-300 uytkowników. o Przy uruchamianiu systemu tworzona jest staa liczba procesów serwera. danie uytkownika przydzielane jest do wolnego procesu lub ustawiane jest w kolejk. Rok akademicki 2007/2008 - Notatki do wykadów z przedmiotu Administracja bazami danych 5. PROCESY BAZY DANYCH -20- Instancja Do kolejki Rysunek 4.3.2. Serwer wielokanaowy. Serwer wieloinstancyjny o Dla jednego zbioru plików danych tworzonych jest kilka instancji. Rok akademicki 2007/2008 - Notatki do wykadów z przedmiotu Administracja bazami danych

5. PROCESY BAZY DANYCH -21- Instancja_1 Instancja_2 Rysunek 4.3.3. Serwer wieloinstancyjny. Rok akademicki 2007/2008 - Notatki do wykadów z przedmiotu Administracja bazami danych 5. PROCESY BAZY DANYCH -22-5. PROCESY BAZY DANYCH 5.1. Rodzaje procesów System Oracle wykorzystuje nastpujce trzy rodzaje procesów: Drugoplanowe. Usugowe. Uytkowników. 5.2. Procesy drugoplanowe Kada instancja bazy danych moe posiada od do rónych procesów zwanych drugoplanowymi (backgroup processes). Ich liczba jest zalena od konfiguracji, w jakiej pracuje baza danych. Instancja Oracle skada si midzy innymi z nastpujcych procesów drugoplanowych: Proces monitorowania procesów (ang. process monitor process PMON). Dokonuje on porzdkowania po nieprawidowym zakoczeniu procesu uytkownika. Wycofuje pozostawione niezatwierdzone transakcje i zwalnia zasoby zajte przez nieistniejcy ju proces. Proces zapisujcy do baz danych (ang. database writer process DBWR). Rok akademicki 2007/2008 - Notatki do wykadów z przedmiotu Administracja bazami danych

5. PROCESY BAZY DANYCH -23- Dla zapewnienia wydajnego i równoczesnego operowania na danych, Oracle nie zezwala procesowi uytkownika na bezporednie modyfikowanie bloku danych na dysku. Bloki, które musz by zmodyfikowane lub te, do których wstawiane s dane, s najpierw przenoszone do wspólnego banku buforów zwanego cache bufor ( ang. buffer cache). Bloki te s nastpnie zapisywane partiami na dysk przez proces drugoplanowy DBWR. Tak, wic DBWR jest jedynym procesem, który ma prawa zapisu do plików Oracle. Proces zapisujcy do rejestru ( ang. log writer process LGWR). Za kadym razem, gdy proces Oracle modyfikuje blok danych, zapisuje równie zmiany do buforów rejestrów. Proces LGWR odpowiedzialny jest za zapisywanie buforów rejestrów do bezporedniego pliku rejestru. Proces ten odczytuje partiami zawarto buforów rejestrów i zapisuje je sekwencyjnie do bezporedniego pliku rejestrowego. Naley mie na uwadze to, e LGWR jest jedynym procesem zapisujcym do plików rejestrowych. Algorytm zatwierdzania transakcji Oracle zapewnia przeniesienie zawartoci buforów rejestrów do bezporedniego pliku rejestrowego za kadym razem, gdy transakcja zostaje potwierdzona. Rok akademicki 2007/2008 - Notatki do wykadów z przedmiotu Administracja bazami danych 5. PROCESY BAZY DANYCH -24- Proces archiwizujcy ( ang. archiver process ARCH). Proces ten jest uruchamiany, gdy baza danych znajduje si w trybie archiwizowania rejestru i wczone jest automatyczne archiwizowanie. Kopiuje ostatnio zapeniony plik rejestru w miejsce przydzielone na kopi zapasow. Proces monitorujcy system ( ang. system monitor process SMON). Ten proces drugoplanowy wykonuje operacje takie, jak zwalnianie miejsca i scalanie przylegych wolnych obszarów w jeden duy obszar. SMON jest równie odpowiedzialny za odtwarzanie transakcji podczas odtwarzania instancji ( w czasie uruchamiania instancji po awarii lub po zamkniciu w trybie przerwania - ABORT). Proces kontrolny ( ang. checkpoint process CKPT). W momencie kontrolnym proces DBWR zapisuje wszystkie zmodyfikowane bloki na dysk. Rok akademicki 2007/2008 - Notatki do wykadów z przedmiotu Administracja bazami danych

5. PROCESY BAZY DANYCH -25-5.3. Procesy usugowe i procesy uytkowników Uytkownik komunikuje si z instancj za pomoc procesu tworzonego w momencie uruchomienia aplikacji. Dla kadego procesu uytkownika tworzony jest jeden proces usugowy, który wykonuje nastpujce operacje: Analizuje i optymalizuje skadni polece SQL. Wykonuje polecenia SQL. Odczytuje dane dane z dysku. Przekazuje wyniki polece SQL do procesów uytkowników. Kady proces usugowy ma przydzielony obszar pamici operacyjnej w PGA Proces Global Area. Rok akademicki 2007/2008 - Notatki do wykadów z przedmiotu Administracja bazami danych 7. PARAMETRY BAZY DANYCH ORACLE -26-6. URUCHAMIANIE I ZAMYKANIE INSTANCJI 6.1. Uruchamianie i zatrzymywanie serwisu nasuchowego Uruchamianie i zatrzymywanie serwisu nasuchowego (Listener) mona w rodowisku Windows dokona w nastpujcy sposób: Uruchamianie: c:\lsnrctl.exe LSNRCTL> start lub c:\net start nazwa_serwisu_listenera Zatrzymywanie: c:\lsnrctl.exe LSNRCTL> stop lub c:\net stop nazwa_serwisu_listenera Rok akademicki 2007/2008 - Notatki do wykadów z przedmiotu Administracja bazami danych

6. URUCHAMIANIE I ZAMYKANIE INSTANCJI -27-6.2. Uruchamianie i zatrzymywanie serwisu i instancji Do uruchamiania serwisu instancji i instancji mona uy programu Oradim z parametrami: C:\oradim -STARTUP -SID sid [-STARTTYPE srvc inst srvc,inst] [-PFILE filename SPFILE] gdzie: sid - nazwa instancji, filename - nazwa pliku konfiguracyjnego init<sid>.ora. W przypadku braku parametru -PFILE FILENAME lub SPFILE pliki konfiguracyjne szukane s w katalogach domylnych, najpierw plik z parametrami typu SPFILE a w przypadku jego braku plik typu PFILE. 6.3. Otwieranie serwisu instancji przy pomocy programu Oradim Sam serwis instancji mona uruchomi nastpujco: c:\oradim -STARTUP -SID xe -STARTTYPE srvc 6.4. Otwieranie instancji przy pomocy programu Oradim Sam instancj mona uruchomi nastpujco: c:\oradim -STARTUP -SID xe -STARTTYPE inst Rok akademicki 2007/2008 - Notatki do wykadów z przedmiotu Administracja bazami danych 6. URUCHAMIANIE I ZAMYKANIE INSTANCJI -28- lub jednoczenie z serwisem: c:\oradim -STARTUP -SID xe -STARTTYPE srvc,inst lub jeszcze dodatkowo ze wskazaniem pliku z parametrami c:\oradim -STARTUP -SID xe -STARTTYPE srvc,inst -PFILE c:\initxe.ora 6.5. Zatrzymywanie serwisu instancji i instancji Ztrzymanie serwisu instancji i samej instancji mona wykona nastpujco: c:\oradim -SHUTDOWN -SID xe -SHUTTYPE srvc,inst 6.6. Otwieranie instancji przy pomocy SQL*Plus Otwieranie samej instancji realizuje si za pomoc polecenia STARTUP lub STARTUP OPEN. Ponisza sekwencja polece prowadzi do otwarcia instancji (musi by uruchomiony proces nasuchowy i serwis instancji): Wywoanie programu SQL*Plus z opcj /nolog. c:\sqlplus /nolog Rok akademicki 2007/2008 - Notatki do wykadów z przedmiotu Administracja bazami danych

6. URUCHAMIANIE I ZAMYKANIE INSTANCJI -29- Doczenie si do instancji jako uytkownik SYS lub SYSTEM z uprawnieniami SYSOPER lub SYSDBA predefiniowany administrator bazy danych. SQL> CONNECT system/password@nazwa_instancji AS SYSDBA lub SQL> CONNECT system AS SYSDBA Otwarcie instancji: SQL> STARTUP lub SQL> STARTUP OPEN Instancja ORACLE zostaa uruchomiona. Baza danych zostaa zamontowana. Baza danych zostaa otwarta. W wyniku wydania polecenia startup open lub startup instancja przechodzi przez trzy tryby pracy: NOMOUNT, MOUNT i OPEN. Administrator bazy danych moe j równie uruchomi w trybie NOMOUNT i MOUNT. Rok akademicki 2007/2008 - Notatki do wykadów z przedmiotu Administracja bazami danych 6. URUCHAMIANIE I ZAMYKANIE INSTANCJI -30- OPEN MOUNT NOMOUNT Zatrzymana Rysunek 6.6.1. Etapy uruchamiania instancji Tryb NOMOUNT jest wykorzystywany m.in. do tworzeni bazy danych i plików kontrolnych. W tym trybie Oracle: Odczytuje pliki parametrów konfiguracyjnych instancji init<sid>.ora lub spfile<sid>.ora. W szczególnoci znajduje nazwy i lokalizacje plików kontrolnych. Tworzy i inicjuje obszar pamici SGA. Uruchamia procesy drugoplanowe.. Do uruchomienia instancji w trybie NOMOUNT suy polecenie: SQL> STARTUP NOUMOUNT Rok akademicki 2007/2008 - Notatki do wykadów z przedmiotu Administracja bazami danych

6. URUCHAMIANIE I ZAMYKANIE INSTANCJI -31- Tryb MOUNT jest wykorzystywany m.in. do zmiany pooenia plików danych, zmiany pooenia, tworzenia nowych i usuwania istniejcych plików dziennika powtórze, odtwarzania bazy danych. W tym trybie Oracle: Odczytuje plik kontrolny w celu zlokalizowania plików danych i dziennika powtórze. Przycza pliki danych i pliki dziennika powtórze. Do uruchomienia instancji z baz danych w trybie MOUNT suy polecenie SQL> STARTUP MOUNT lub z trybu NOMOUNT poleceniem SQL> ALTER DATABASE MOUNT W trybie OPEN s otwierane pliki danych i pliki dziennika powtórze, co powoduje, e baza danych staje si dostpna dla uytkowników. Tryb ten jest równie wykorzystywany do odtwarzania czci bazy danych po awarii. Do uruchomienia instancji z baz danych w trybie OPEN suy polecenie SQL> STARTUP [OPEN] lub gdy baza jest w trybie MOUNT poleceniem Rok akademicki 2007/2008 - Notatki do wykadów z przedmiotu Administracja bazami danych 6. URUCHAMIANIE I ZAMYKANIE INSTANCJI -32- SQL> ALTER DATABASE OPEN 6.7. Zamykanie instancji Zamykanie instancji przebiega w trzech fazach. W fazie pierwszej s zamykane pliki danych i pliki dziennika powtórze, w drugiej instancja odcza te pliki i zamyka pliki kontrolne. W fazie trzeciej s usuwane procesy bazy danych i zwalniana jest pami zaalokowana dla obszaru SGA. Instancj mona zamkn w czterech trybach: NORMAL, TRANSACTIONAL, IMMEDIATE, ABORT. Zamknicie instancji w trybie NORMAL wykonuje si za pomoc polecenia SHUTDOWN lub SHUTDOWN NORMAL. Zamknicie w tym trybie czeka na zakoczenie wszystkich sesji (blokuje otwarcie nowych sesji). Zamknicie instancji w trybie TRANSACTIONAL wykonuje si za pomoc polecenia SHUTDOWN TRANSACTIONAL. Zamknicie w tym trybie czeka na zakoczenie wszystkich aktualnych transakcji uytkownika (blokuje otwarcie nowych sesji) i odcza go. Do zamknicia instancji w trybie IMMEDIATE suy polecenie SHUTDOWN IMMEDIATE. Tryb ten róni si od trybu NORMAL tym, e aktualnie wykonywane polecenia s przerywane i wszystkie aktywne transakcje s natychmiast wycofywane (blokuje otwarcie nowych sesji). Rok akademicki 2007/2008 - Notatki do wykadów z przedmiotu Administracja bazami danych

6. URUCHAMIANIE I ZAMYKANIE INSTANCJI -33- W trybie ABORT instancj zamyka si za pomoc polecenia SHUTDOWN ABORT. Polecenie to stosuje si, gdy instancji nie mona zamkn ani w trybie NORMAL ani IMMEDIATE. W wyniku wykonania polecenia SHUTDOWN ABORT wszystkie aktualnie wykonywane polecenia s natychmiast przerywane, ale transakcje nie s wycofywane. Po zamkniciu w tym trybie mog wystpi problemy przy ponownym otwarciu. Moe by potrzebne wykonanie polecenia RECOVERY. 6.8. Przykady uruchamiania i zamykania instancji Instancja ma nazw xe. c:\sqlplus /nolog SQL*Plus: Release 10.2.0.1.0 - Production on N Mar 11 18:18:17 2007 Copyright (c) 1982, 2005, Oracle. All rights reserved. SQL> CONNECT sys@xe AS SYSDBA Enter password:****** - Prosz poda haso: ****** Connected. - Poczono SQL> SHUTDOWN Database closed. Database dismounted. ORACLE instance shut down. SQL> desc all_users ERROR: ORA-...: ORACLE not available - Baza danych zostaa zamknita. - Baza danych zostaa zdemontowana. - Instancja ORACLE zostaa zamknita. Rok akademicki 2007/2008 - Notatki do wykadów z przedmiotu Administracja bazami danych 6. URUCHAMIANIE I ZAMYKANIE INSTANCJI -34- SQL> STARTUP ORACLE instance started. Total System Global Area 285212672 bytes Fixed Size 1287016 bytes Variable Size 100666520 bytes Database Buffers 180355072 bytes Redo Buffers 2904064 bytes Database mounted. Database opened. SQL> SHUTDOWN Database closed. Database dismounted. ORACLE instance shut down. SQL> STARTUP RESTRICT ORACLE instance started. Total System Global Area 285212672 bytes... Redo Buffers 2904064 bytes Database mounted. Database opened. SQL> CONNECT hr/hr@xe - Instancja ORACLE zostaa uruchomiona. - Baza danych zostaa zamontowana. - Baza danych zostaa otwarta. - Baza danych zostaa zamknita. - Baza danych zostaa zdemontowana. - Instancja ORACLE zostaa zamknita. - Instancja ORACLE zostaa uruchomiona. - Baza danych zostaa zamontowana. - Baza danych zostaa otwarta. ERROR: ORA-XXXXX: ORACLE only available to users with RESTRICTED SESSION privilege SQL> CONNECT sys@xe AS SYSDBA Enter password:****** - Prosz poda haso: ****** Connected. - Poczono SQL> GRANT RESTRICTED SESSION TO hr; Grant succeeded. SQL> CONNECT hr/hr@xe Connected. - Przyznanie uprawnie zakoczone powodzeniem. - Poczono. Rok akademicki 2007/2008 - Notatki do wykadów z przedmiotu Administracja bazami danych

6. URUCHAMIANIE I ZAMYKANIE INSTANCJI -35- SQL> CONNECT sys@xe AS SYSDBA Enter password:****** - Prosz poda haso: ****** Connected. - Poczono SQL> REVOKE RESTRICTED SESSION FROM hr; Revoke succeeded. SQL> SHUTDOWN Database closed. Database dismounted. ORACLE instance shut down. SQL> STARTUP OPEN ORACLE instance started. Total System Global Area 285212672 bytes... Redo Buffers 2904064 bytes Database mounted. Database opened. SQL> SHUTDOWN IMMEDIATE Database closed. Database dismounted. ORACLE instance shut down. SQL> STARTUP MOUNT ORACLE instance started. Total System Global Area 285212672 bytes... Redo Buffers 2904064 bytes Database mounted. SQL> STARTUP - Pozbawienie uprawnie zakoczone powodzeniem. - Baza danych zostaa zamknita. - Baza danych zostaa zdemontowana. - Instancja ORACLE zostaa zamknita. - Instancja ORACLE zostaa uruchomiona. - Baza danych zostaa zamontowana. - Baza danych zostaa otwarta. - Baza danych zostaa zamknita. - Baza danych zostaa zdemontowana. - Instancja ORACLE zostaa zamknita. - Instancja ORACLE zostaa uruchomiona. - Baza danych zostaa zamontowana. ORA-XXXXX: cannot start already-running ORACLE-shut it down first Rok akademicki 2007/2008 - Notatki do wykadów z przedmiotu Administracja bazami danych 6. URUCHAMIANIE I ZAMYKANIE INSTANCJI -36- ORA-XXXXX: nie mona startowa ju aktywnej ORACLE - naley ja najpierw zamkn SQL> SHUTDOWN ORA- XXXXX: baza danych nie jest zamontowana Instancja ORACLE zostaa zamknita. SQL> STARTUP NOMOUNT ORACLE instance started. Total System Global Area 285212672 bytes... Redo Buffers 2904064 bytes - Instancja ORACLE zostaa uruchomiona. Z poziomu MOUNT mona przej do poziomu OPEN otwarcia poleceniem: SQL> ALTER DATABASE OPEN; Database altered. Z poziomu NOMOUNT nie mona tym poleceniem przej do poziomu OPEN. Mona jednak wykona nastpujce polecenia: SQL> ALTER DATABASE MOUNT; Database altered. SQL> ALTER DATABASE OPEN; Database altered. Uwaga. Poleceniem ALTER DATABASE nie mona obnia poziomu otwarcia. Rok akademicki 2007/2008 - Notatki do wykadów z przedmiotu Administracja bazami danych

7. PARAMETRY BAZY DANYCH ORACLE -37-7. PARAMETRY BAZY DANYCH ORACLE 7.1. Zmiany parametrów W najnowszych wersjach Oracle uruchamiany system korzysta z binarnego piku parametrów spfile<sid>.ora. Jest moliwo wystartowania z parametrami z odpowiednika, pliku tekstowego init<sid>.ora. W pliku binarnym SPFILE moemy zmienia warto parametrów z poziomu SQL. W pliku tekstowym PFILE jest to niemoliwe. Sposoby tworzenia tych plików pokazuj nastpujce przykady: ( z uprawnieniami SYSDBA) SQL> CREATE SPFILE='c:\spfilexe.ora' FROM PFILE='c:\initxe.ora'; SQL> CREATE PFILE='c:\initxe.ora' FROM SPFILE; Sposób zmiany pewnych parametrów z poziomu SQL pokazuj nastpujce przykady: SQL> ALTER SYSTEM SET resource_limit=true SCOPE=MEMORY; System altered. Po restarcie systemu obowizuje poprzednia warto. SQL> ALTER SYSTEM SET open_cursors =400 SCOPE=SPFILE; System altered. Rok akademicki 2007/2008 - Notatki do wykadów z przedmiotu Administracja bazami danych 7. PARAMETRY BAZY DANYCH ORACLE -38- Ustawienia obowizuj dopiero po restarcie systemu. SQL> ALTER SYSTEM SET open_cursors =400 SCOPE=BOTH; System altered. Ustawienia obowizuj natychmiast i po restarcie. 7.2. Plik init<sid>.ora W pliku init<sid>.ora (spfile<sid>.ora) ustawiane s midzy innymi nastpujce parametry: DB_NAME - Identyfikator bazy danych (maks. 8 znaków). Aby zmieni nazw istniejcej bazy danych, naley uy wyraenia CREATE CONTROLFILE w celu odtworzenia plików sterujcych i okreli now nazw. CONTROL_FILES - Nazwy plików sterujcych. OPEN_CURSORS Ilo jednoczenie otwartych kursorów w czasie sesji. DB_BLOCK_SIZE - Rozmiar bloku bazy danych w bajtach. SHARED_POOL_SIZE - Rozmiar wspódzielonej puli w bajtach. BACKGROUND_DUMP_DEST - Miejsce, w którym przechowywane bd pliki do ledzenia procesów drugoplanowych. USER_DUM_DEST - Miejsce, w którym przechowywane bd pliki do ledzenia procesów uytkownika. COMPATIBILE - Wersja serwera, z któr zgodna jest instancja. LOG_ARCHIVE_START - Automatyczne archiwizowanie. LOG_ARCHIVE_FORMAT - Format nazwy plików archiwum. LOG_ARCHIVE_DEST - Miejsce archiwizowania plików rejestru. UNDO_MANAGEMENT - Metoda zarzdzania wycofywaniem transakcji. PROCESSES Maksymalna ilo procesów chccych poczy si z instancj. HASH_JOIN_ENABLED Dostp do metody Hash Join w optymalizatorze zapyta. Rok akademicki 2007/2008 - Notatki do wykadów z przedmiotu Administracja bazami danych

7. PARAMETRY BAZY DANYCH ORACLE -39- Przykadowy plik initxe.ora ( wersja z instalacji Expres Edition). db_cache_size=180355072 java_pool_size=4194304 large_pool_size=8388608 shared_pool_size=88080384 streams_pool_size=0 audit_file_dest='c:\oraclexe\app\oracle\admin\xe\adump' background_dump_dest='c:\oraclexe\app\oracle\admin\xe\bdump' compatible='10.2.0.1.0' control_files='c:\oraclexe\oradata\xe\control.dbf' core_dump_dest='c:\oraclexe\app\oracle\admin\xe\cdump' db_name='xe' DB_RECOVERY_FILE_DEST_SIZE=10G DB_RECOVERY_FILE_DEST='c:\oraclexe\app\oracle\flash_recovery_area' dispatchers='(protocol=tcp) (SERVICE=xeXDB)' job_queue_processes=4 open_cursors=300 os_authent_prefix='' pga_aggregate_target=90m remote_login_passwordfile='exclusive' sessions=20 sga_target=270m shared_servers=4 undo_management='auto' undo_tablespace='undo' user_dump_dest='c:\oraclexe\app\oracle\admin\xe\udump' Rok akademicki 2007/2008 - Notatki do wykadów z przedmiotu Administracja bazami danych 7. PARAMETRY BAZY DANYCH ORACLE -40- Warto wszystkich parametrów mona odczyta z dynamicznej perspektywy V$PARAMETER ju od stanu NOMOUNT. SQL> SELECT name, value FROM v$parameter; Wartoci parametrów nie wystpujcych w pliku init<sid>.ora lub spfile<sid>.ora przyjmuj wartoci domylne. Rok akademicki 2007/2008 - Notatki do wykadów z przedmiotu Administracja bazami danych

8. STRUKTURA PRZECHOWYWANIA -41-8. STRUKTURA PRZECHOWYWANIA 8.1. Warstwa fizyczna i logiczna przechowywania danych Struktur przechowywania bazy danych ORACLE mona podzieli na fizyczn i logiczn. Rysunek 8.1.1. Warstwa logiczna i fizyczna danych. Rok akademicki 2007/2008 - Notatki do wykadów z przedmiotu Administracja bazami danych 8. STRUKTURA PRZECHOWYWANIA -42- Rozdzielenie warstw fizycznej i logicznej uelastycznia zarzdzanie systemem. Fizycznie baza skada si z plików danych. Logicznie baza skada si z przestrzeni tabel (tablespace). Dla danej przestrzeni tabel musi istnie, co najmniej jeden plik danych. Rysunek 8.1.2. Przestrzenie danych. Rok akademicki 2007/2008 - Notatki do wykadów z przedmiotu Administracja bazami danych

8. STRUKTURA PRZECHOWYWANIA -43- Kady plik danych jest logicznie podzielony na mniejsze jednostki. Najmniejsz jednostk logiczn pliku danych jest blok. Z bloków stanowicych cigy obszar zbudowane s rozszerzenia (extent). Segment to zbiór rozszerze. Jednej tabeli przydzielany jest jeden i tylko jeden segment. Do jednego segmentu przydzielana jest jedna tabela. Rok akademicki 2007/2008 - Notatki do wykadów z przedmiotu Administracja bazami danych 8. STRUKTURA PRZECHOWYWANIA -44- Tablespace Dane Dane01.dbf Dane02.dbf Rozszerzenie 1 Rozszerzenie 3 Rozszerzenie 2 Segment Rozszerzenie 1 Rozszerzenie 2 Rozszerzenie 3 Rysunek 8.1.3. Rozszerzenia i segment. Rok akademicki 2007/2008 - Notatki do wykadów z przedmiotu Administracja bazami danych

8. STRUKTURA PRZECHOWYWANIA -45- Nastpny rysunek ilustruje budow segmentu (parametry bd omówione póniej). Rysunek 8.1.4. Budowa segmentu. Blok jest najmniejsz jednostk alokacji przestrzeni dyskowej dla bazy Oracle, skadajcy si z jednego lub wielu bloków systemu operacyjnego. Rozmiar bloku jest ustawiany podczas tworzenia bazy przez parametr DB_BLOCK_SIZE. Rok akademicki 2007/2008 - Notatki do wykadów z przedmiotu Administracja bazami danych 8. STRUKTURA PRZECHOWYWANIA -46- Blok mona podzieli na: Nagówek. Woln przestrze. Przestrze danych. Blok np. 8192 B Nagówek bloku Wolna przestrze Dane Rysunek 8.1.5. Budowa bloku Nagówek bloku (ang. block header) przechowuje midzy innymi: informacje o typie segmentu, w skad, którego wchodzi, oraz adres bloku, dane o transakcjach, w których blok jest uywany. Wolna przestrze bloku znajduje si pomidzy nagówkiem i przestrzeni danych. Konstrukcja taka pozwala na rozrastanie si nagówka, jak i przestrzeni danych. Pocztkowo wolna przestrze jest spójnym obszarem jednak operacje wstawiania i aktualizacji mog by przyczyn fragmentacji wolnej przestrzeni. Defragmentacja wolnej przestrzeni jest przeprowadzana przez system automatycznie. Rok akademicki 2007/2008 - Notatki do wykadów z przedmiotu Administracja bazami danych

8. STRUKTURA PRZECHOWYWANIA -47- Klauzula przechowywania (ang. storage clause) moe by okrelona na poziomie przestrzeni tabel lub segmentu (tabeli). Jeeli parametry przechowywania nie s jawnie ustawione na poziomie segmentu, to stosowane s parametry jego przestrzeni tabel (poza MINIMUM EXTENT). Jeeli przestrze tabel nie ma jawnie okrelonych parametrów przechowywania przyjmowane s wartoci domylne systemu. Po zmianie parametru przechowywania, nowa warto jest stosowana jedynie dla nowo przydzielanych zakresów. Nowe zakresy s przydzielane, gdy segment jest: tworzony, rozszerzany, zmieniany. Zakresy s zwalniane, gdy segment jest: usuwany, zmieniany, obcinany, automatycznie zmniejszany (tylko segment wycofania). Rok akademicki 2007/2008 - Notatki do wykadów z przedmiotu Administracja bazami danych 8. STRUKTURA PRZECHOWYWANIA -48- Po utworzeniu przestrzeni tabel plik danych skada si z bloku nagówka, który jest pierwszym blokiem pliku oraz z wolnego zakresu bdcego pozosta czci pliku danych. Podczas tworzenia segmentów, przydzielana jest im przestrze naleca do wolnych zakresów. Zakresy zwalniane przez segmenty s dodawane do puli wolnych zakresów w przestrzeni tabel. Spójny fragment przestrzeni wykorzystywany przez segment nazywany jest wykorzystanym zakresem (ang. used extent). Czste przydzielanie i zwalnianie zakresów moe prowadzi do fragmentacji przestrzeni w pliku danych. W przestrzeni tabel moe powsta cigy obszar wolnej przestrzeni zoonej z kilku zakresów, który mona zczy (ang. coalesed) w jeden zakres. Takie zczenie w jeden zakres nastpuje, gdy: SMON zainicjuje transakcj przestrzeni (ang. space transaction), system próbuje przydzieli zakres, który potrzebuje wicej przestrzeni ni przestrze jednego z ssiednich zakresów, wydane zostanie polecenie SQL> ALTER TABLESPACE nazwa_przestrzeni_tabel COALESCE; Rok akademicki 2007/2008 - Notatki do wykadów z przedmiotu Administracja bazami danych

8. STRUKTURA PRZECHOWYWANIA -49- Proces SMON czy zakresy w przestrzeniach tabel, w których PCTINCREASE > 0, zatem, aby zczenia nastpoway automatycznie w przestrzeniach zawierajcych obiekty uytkowników naley w domylnej klauzuli przechowywania przestrzeni tabel ustawi PCTINCREASE = 1. Ponisze zapytanie pokazuje jak sprawdzi, które przestrzenie zawieraj zakresy mogce podlega zczeniu. SQL> SELECT tablespace_name, total_extents, percent_extents_coalesced FROM dba_free_space_coalesced WHERE percent_extents_coalesced!= 100; TABLESPACE_NAME TOTAL_EXTENTS PERCENT_EXTENTS_COALESCED USERS 7 42,857142857 Jak wida moemy zczy zakresy w przestrzeni USERS. SQL> ALTER TABLESPACE users COALESCE; Róne typy segmentów maj rón skonno do fragmentacji, dlatego zalecane jest umieszczanie ich w osobnych przestrzeniach tabel. Rok akademicki 2007/2008 - Notatki do wykadów z przedmiotu Administracja bazami danych 8. STRUKTURA PRZECHOWYWANIA -50-8.2. Segmenty danych Segmenty to obiekty bazy danych, które zajmuj jej przestrze. Tabele s podstawowymi obiektami relacyjnych baz danych. Dane tabel s przechowywane w segmentach danych. Dane wierszy s przechowywane w bazie w rekordach zmiennej dugoci. Kolumny wiersza s zazwyczaj przechowywane w takim porzdku, w jakim wystpuj kolumny w tabeli. Kady wiersz tabeli posiada: Nagówek wiersza wykorzystywany do przechowywania liczby kolumn wiersza, oraz informacji o acuchu i statusie blokady wiersza. Dane wiersza zawierajce: dugoci kolumn, wartoci kolumn. Na przechowanie dugoci kolumny nieprzekraczajcej 250 bajtów potrzebny jest 1 bajt, natomiast dla duszych kolumn wymagane s 3 bajty. Dane znakowe mog by przechowywane w bazie jako acuchy staej lub zmiennej dugoci. Typy znakowe staej dugoci (CHAR, NCHAR) s przechowywane w zadeklarowanej dugoci. Typy znakowe zmiennej dugoci (VARCHAR2, NVARCHAR2) wykorzystuj tylko przestrze potrzebn do zapisania biecej wartoci kolumny. Wiersze tej samej kolumny mog róni si dugoci. Rok akademicki 2007/2008 - Notatki do wykadów z przedmiotu Administracja bazami danych

8. STRUKTURA PRZECHOWYWANIA -51- Liczby w bazie danych ORACLE s zawsze (bez wzgldu na definicj) przechowywane jako dane zmiennej dugoci. Mog one mie 38 cyfr znaczcych. Liczbowy typ danych wymaga: jednego bajta na wykadnik, jednego bajta na kade dwie cyfry znaczce mantysy, dodatkowo jednego bajta dla liczb ujemnych, jeli liczba cyfr znaczcych jest mniejsza ni 38. Typ danych DATE jest siedmiobajtowym typem staej dugoci przechowujcym dat i czas. Baza ORACLE udostpnia nastpujce typy danych do przechowywania wielkich obiektów (LOB - Large Object): CLOB - przeznaczony do przechowywania duych iloci danych z zestawem znaków staej szerokoci, NCLOB - przeznaczony do przechowywania duej iloci danych znakowych staej szerokoci, BLOB - przeznaczony do przechowywania danych bez struktury, BFILE - przeznaczony do przechowywania danych w plikach systemu operacyjnego. W bazie ORACLE istnieje specjalny typ danych dla identyfikatorów wierszy ROWID. ROWID jest pseudokolumn typu ROWID, posiadajc nastpujce waciwoci: Jest unikalnym identyfikatorem kadego wiersza w caej bazie danych, Rok akademicki 2007/2008 - Notatki do wykadów z przedmiotu Administracja bazami danych 8. STRUKTURA PRZECHOWYWANIA -52- Nie jest jawnie przechowywana jak inne wartoci kolumn, Zapewnia najszybsz metod dostpu do wiersza, Jest wykorzystywana w indeksach do wyszukiwania wiersza z okrelon wartoci klucza. Przykadowy ROWID mógby skada si z nastpujcych czci (w zalenoci od wersji Oracle): Numeru obiektu danych (ang. Data Object Number), który jest unikalnym w caej bazie numerem przypisanym do kadego obiektu danych, Wzgldnego numeru pliku (ang. Relative File Number), który jest unikalnym numer pliku w ramach przestrzeni tabel, Numeru bloku (ang. Block Number), który reprezentuje pozycj bloku zawierajcego dany wiersz w pliku danych, Numeru wiersza (ang. Row Number), który identyfikuje numer pozycji wiersza w katalogu wierszy nagówka bloku. ROWID Nr obiektu danych Wzgldny Numer bloku numer pliku Rysunek 8.2.1. Budowa ROWID Numer wiersza Rok akademicki 2007/2008 - Notatki do wykadów z przedmiotu Administracja bazami danych

8. STRUKTURA PRZECHOWYWANIA -53- Ponisze zapytanie wybiera z tabeli osoby kolumny ROWID i id. SQL> SELECT ROWID, id FROM osoby; ROWID ID AAABo6AADAAAAL7AAA 1 AAABo6AADAAAAL7AAB 2 Jak widzimy dla wybranych wierszy numer obiektu danych to AAABo6, wzgldny numer pliku to AAD numer bloku to AAAAL7 Natomiast wiersz o id = 1 ma numer wiersza w katalogu wierszy równy AAA. cieka lokalizacji wiersza przez ROWID: Na podstawie numeru obiektu danych system moe okreli przestrze tabel, poniewa segment moe by umieszczony tylko w jednej przestrzeni tabel. Znajc przestrze tabel i wzgldny numer pliku danych w przestrzeni tabel mona okreli plik danych. Dalej, znajc plik danych i numer bloku, mona odszuka blok zawierajcy wiersz. Rok akademicki 2007/2008 - Notatki do wykadów z przedmiotu Administracja bazami danych 8. STRUKTURA PRZECHOWYWANIA -54- Po zlokalizowaniu bloku, znajc numer wiersza w katalogu wierszy umieszczonym w nagówku bloku, mona odczyta pozycj wiersza w bloku. Parametry skadowania INITRANS i MAXTRANS oznaczaj odpowiednio pocztkow i maksymaln liczb obszarów transakcji tworzonych w bloku. Obszary transakcji przechowuj informacje o wszystkich transakcjach dokonujcych w danym momencie zmian w bloku. Dla kadej transakcji przeznaczony jest tylko jeden obszar, bez wzgldu na to ile wierszy modyfikuje. Warto domylna parametru INITRANS dla segmentów danych wynosi 1. Parametr MAXTRANS ustala limit wspóbienych transakcji dokonujcych zmian w bloku. Warto domylna parametru MAXTRANS wynosi 255. Niska warto MAXTRANS ogranicza wykorzystywanie wolnej przestrzeni na obszary transakcji i w ten sposób zwiksza przestrze przeznaczon dla danych. Parametr PCTFREE okrela procentowo (w stosunku do rozmiaru bloku pomniejszonego o nagówek) wielko obszaru zarezerwowanego dla aktualizacji wierszy ju znajdujcych si w bloku. Jeeli warto parametru PCTFREE nie jest ustawiona przyjmowana jest warto domylna. Rok akademicki 2007/2008 - Notatki do wykadów z przedmiotu Administracja bazami danych

8. STRUKTURA PRZECHOWYWANIA -55- Blok np. 8192 B Nagówek bloku Wolna przestrze PCTFREE Np. 20 Dane PCTUSED Np. 40 Rysunek 8.2.2. Parametry PCTFREE i PCTUSED Wstawianie rekordów do bloku moe nastpowa dopóty, dopóki parametr PCTFREE nie zostanie przekroczony. Niski wspóczynnik PCTFREE: Powoduje rezerwowanie maej iloci miejsca na aktualizacj wierszy, Zapewnia lepsze wypenienie bloku, Moe powodowa wysoki koszt przetwarzania (np. przy operacji UPDATE moe zabrakn miejsca na nowe wartoci). Rok akademicki 2007/2008 - Notatki do wykadów z przedmiotu Administracja bazami danych 8. STRUKTURA PRZECHOWYWANIA -56- Wysoki wspóczynnik PCTFREE: Powoduje rezerwowanie duej przestrzeni dla aktualizacji wierszy, Zmniejsza wykorzystanie przestrzeni, Moe zmniejszy koszt przetwarzania (np. przy operacji UPDATE). Du warto PCTFREE naley ustawia, jeeli tabela zawiera wiersze, które w wyniku aktualizacji bd zwikszay rozmiar. Ma warto PCTFREE naley ustawia, jeeli tabela zawiera wiersze, które nie bd zmieniane. Parametr PCTUSED jest podawany procentowo i okrela minimalny procent wykorzystanej przestrzeni, jaki system stara si zachowa w kadym bloku. Blok jest ponownie umieszczany na licie bloków wolnych, kiedy wykorzystana w nim przestrze spadnie poniej PCTUSED, czyli wtedy, gdy istnieje wystarczajca przestrze na wstawienie redniej wielkoci wiersza. Lista bloków wolnych w segmencie, to lista bloków gotowych do przyjcia kolejnych wierszy. Jeeli warto parametru PCTUSED nie jest ustawiona przyjmowana jest warto domylna. Rok akademicki 2007/2008 - Notatki do wykadów z przedmiotu Administracja bazami danych

8. STRUKTURA PRZECHOWYWANIA -57- Przy wstawieniu wiersza system przeglda kolejne bloki z listy wolnych i szuka bloku z wystarczajc przestrzeni. Poprawne ustawienie PCTUSED powoduje, e system szybko znajduje blok majcy wystarczajco duo wolnej przestrzeni dla wstawianego wiersza. Niski wspóczynnik PCTUSED Powoduje gorsze wykorzystanie przestrzeni, Zmniejsza koszt operacji UPDATE i DELETE, przez rzadkie przenoszenie bloku na list wolnych. Zmniejsza koszt operacji INSERT bo szybciej znajduje bloki dostpne do wstawiania. Wysoki wspóczynnik PCTUSED Powoduje lepsze wykorzystanie przestrzeni, Zwiksza koszt np. operacji INSERT (wzrasta czas znalezienia bloku, do którego moe by wstawiany wiersz). Jeeli wiersz jest tak duy, e nie mieci si w jednym bloku, to system dzieli taki wiersz na mniejsze czci zwane elementami wiersza. Kady element wiersza jest przechowywany w osobnym bloku wraz ze wskanikiem do nastpnej czci wiersza. Wiersz taki nazywany jest wierszem w acuchu. Rok akademicki 2007/2008 - Notatki do wykadów z przedmiotu Administracja bazami danych 8. STRUKTURA PRZECHOWYWANIA -58-8.3. Segmenty wycofania Segment wycofania (rollback segment) przechowuje dane sprzed ich zmodyfikowaniem przez niezatwierdzon transakcj. Kada baza danych musi posiada przynajmniej jeden segment wycofania. Segment ten (o nazwie SYSTEM) jest tzw. systemowym segmentem wycofania. Segment ten jest wykorzystywany m.in. przez transakcje zapisujce informacje do sownika bazy danych. Oracle zaleca, aby kada baza danych posiadaa dodatkowe niesystemowe segmenty wycofania. Kady taki segment jest tworzony w okrelonej przestrzeni tabel, podanej w poleceniu tworzcym segment wycofania. Zadania segmentów wycofania: Wycofywanie transakcji Kiedy transakcja dokonuje modyfikacji wiersza tabeli poprzednie wartoci tego wiersza s przechowywane w segmencie wycofania, a do zakoczenia transakcji. W przypadku wycofywania transakcji nastpuje przywrócenie wartoci wiersza na podstawie danych zapisanych w segmencie wycofania. Odtwarzanie transakcji Po awarii systemu z rozpocztymi transakcjami przy ponownym otwieraniu bazy serwer musi wycofa niezatwierdzone transakcje. Rok akademicki 2007/2008 - Notatki do wykadów z przedmiotu Administracja bazami danych

8. STRUKTURA PRZECHOWYWANIA -59- Wyrónia si nastpujce typy segmentów wycofania: Systemowy (SYSTEM) tworzony podczas tworzenia bazy danych w przestrzeni tabel SYSTEM, moe by wykorzystywany tylko przy zmianach obiektów z tej przestrzeni tabel. Niesystemowe prywatne wykorzystywane tylko przez jedn instancj. Kada transakcja musi mie przydzielony segment wycofania. Jeeli nie wystpi jawne danie okrelonego segmentu np. SQL> SET TRANSACTION USE ROLLBACK SEGMENT nazwa_segmentu NAME nazwa_transakcji; serwer przydzieli segment z najmniejsz liczb transakcji. Segmenty wycofania tworzy si poleceniem CREATE ROLLBACK SEGMENT. Do wykonywania tego polecenia wymagane jest posiadanie uprawnienia systemowego o tej samej nazwie. Segmenty wycofania s tworzone przy pomocy polecenia o nastpujcej skadni: SQL> CREATE [PUBLIC] ROLLBACK SEGMENT nazwa_segmentu TABLESPACE nazwa_przestrzeni Rok akademicki 2007/2008 - Notatki do wykadów z przedmiotu Administracja bazami danych 8. STRUKTURA PRZECHOWYWANIA -60- STORAGE ( [INITIAL rozmiar [K M]] [NEXT rozmiar [K M]] [MINEXTENTS liczba] [MAXEXTENTS liczba] [OPTIMAL rozmiar [K M] NULL] ); gdzie: OPTIMAL - Pozwala wyspecyfikowa optymalny rozmiar segmentu wycofania. System automatycznie dba o zmniejszanie segmentu do podanej wielkoci. OPTIMAL NULL - Opcja ta powoduje, e system nie bdzie automatycznie zmniejsza rozmiaru segmentu. Przykadowo ponisze polecenie tworzy segment wycofania o nazwie rb01 w przestrzeni tabel users. Rozmiar pierwszego rozszerzenia wynosi 256KB. Rozmiar drugiego i kadego nastpnego rozszerzenia równie wynosi 256KB. Minimalna liczba rozszerze zostaa okrelona jako 2, a maksymalna na 20. Oznacza to, e maksymalny rozmiar segmentu wycofania moe osign warto 20*256KB=5120KB. SQL> CREATE ROLLBACK SEGMENT rb01 TABLESPACE users STORAGE ( INITIAL 256K Rok akademicki 2007/2008 - Notatki do wykadów z przedmiotu Administracja bazami danych

8. STRUKTURA PRZECHOWYWANIA -61- NEXT 256K MINEXTENTS 2 MAXEXTENTS 20 OPTIMAL 512K ); Po utworzeniu segment wycofania jest nieaktywny, tj. posiada status offline. W celu jego uaktywnienia (wczenia) stosuje si polecenie: SQL> ALTER ROLLBACK SEGMENT nazwa_segmentu ONLINE; Do wyczenia segmentu wycofania suy polecenie: SQL> ALTER ROLLBACK SEGMENT nazwa_segmentu OFFLINE; Opis utworzonych segmentów wycofania mona uzyska wydajc zapytania do perspektyw systemowych: DBA_SEGMENTS i DBA_ROLLBACK_SEGS. Transakcje wykorzystuj zakresy segmentu wycofania w sposób cykliczny. W momencie zapenienia aktualnego segmentu wycofania wskanik zapisów jest przesuwany na nastpny zakres. Rok akademicki 2007/2008 - Notatki do wykadów z przedmiotu Administracja bazami danych 8. STRUKTURA PRZECHOWYWANIA -62- Rysunek 8.3.1. Rollback segment Kiedy ostatni dostpny zakres jest zapeniony, wskanik moe zosta przeniesiony na pocztek pierwszego zakresu tylko wtedy, gdy jest on wolny. Wskanik nie moe przeskoczy zajtego zakresu i przenie si na pierwszy wolny. Jeeli po wypenieniu aktualnego zakresu nastpny jest zajty, to nastpuje rozszerzenie segmentu Rok akademicki 2007/2008 - Notatki do wykadów z przedmiotu Administracja bazami danych

8. STRUKTURA PRZECHOWYWANIA -63- wycofania, przez dodanie dodatkowego zakresu. Segment wycofania moe tak rosn a do uzyskania maksymalnej liczby zakresów, wyspecyfikowanej w parametrze MAXEXTENTS. Dla segmentów wycofania mona poda parametr przechowywania OPTIMAL, który okrela w bajtach rozmiar, do którego segment powinien powróci, gdy bdzie to moliwe. Powrót rozszerzonego segmentu do rozmiaru podanego w parametrze OPTIMAL nastpuje, gdy istniej spójne nieaktywne zakresy. System próbuje zmniejsza segment wycofania dopóty, dopóki jego rozmiar nie jest optymalny. W rodowisku bazy transakcyjnej, w którym zwykle maj miejsce krótkie transakcje, zalecanych jest istnienie wielu maych segmentów wycofania (np. jeden segment wycofania na 4 wspóbiene transakcje). Dua liczba segmentów wycofania zapobiega rywalizacji o nagówek segmentu wycofania. W przypadku rodowiska, w który wykonuje si gównie przetwarzania wsadowe dokonujce wielu zmian przy maej liczbie wspóbienych transakcji, zalecane jest utworzenie maej liczby duych segmentów wycofania, które powinny by umieszczone w duych przestrzeniach tabel, aby umoliwi im rozrastanie si. Rozmiar segmentu wycofania zaley od: Typu wykonywanych instrukcji (wstawianie, modyfikacja, usuwanie). Rozmiaru przetwarzanych rekordów. Rok akademicki 2007/2008 - Notatki do wykadów z przedmiotu Administracja bazami danych 8. STRUKTURA PRZECHOWYWANIA -64- Wstawienie rekordu do tabeli generuje mniej danych wycofania, ni usunicie tego samego rekordu. Dzieje si tak, dlatego, e usunicie wymaga zapisania w segmencie wycofania caego wiersza, natomiast wstawienie zapisuje tylko identyfikator ROWID. Uwagi. Po utworzeniu segmentu wycofania jest on w trybie OFFLINE. Segmentu utworzonego jako publiczny nie mona zmieni na prywatny i odwrotnie. Dla segmentu wycofania parametr MINEXTENTS musi by wikszy lub równy 2. Warto parametru OPTIMAL musi wynosi przynajmniej tyle, co inicjalny rozmiar segmentu wyznaczony przez parametry INITIAL, NEXT i MINEXTENTS. Dla segmentów wycofania wskazane jest, aby rozmiar wszystkich zakresów by równy, czyli warto parametru INITIAL powinna by równa wartoci parametru NEXT. Naley unika ustawiania parametru MAXEXTENTS na UNLIMITED, poniewa moe to powodowa nadmierny wzrost segmentów wycofania i plików danych w przypadku wystpienia bdów aplikacji. Rok akademicki 2007/2008 - Notatki do wykadów z przedmiotu Administracja bazami danych