Zakres wykładów(1) Poznanie architektury i głównych cech serwera Oracle Database 11g. Uruchamianie i zamykanie bazy danych. Tworzenie kompletnej bazy danych. Operacje dostępu i aktualizacji danych. Zasady współbieżności ż ś it transakcji jii i spójności ś odczytu. Dopasowanie bazy danych do potrzeb przez określenie plików parametrów PFILE i SPFILE Zarządzanie fizyczną i logiczną strukturą bazy danych. Zarządzanie przydziałem przestrzeni i wzrostem segmentów bazy danych. Przestrzenie zarządzane lokalnie i przez słownik danych. Zarządzanie segmentami: tabele zwykłe i partycjonowane, IOT, indeksy, klastry indeksowe i haszujące, sortowane klastry haszujące. Zarządzanie danymi wycofania i segmentami tymczasowymi. Zapewnienie integralności danych.
Zakres wykładów (2) Tworzenie, monitorowanie i usuwanie użytkowników. Kontrolowanie haseł i zasobów systemowych użytkowników. Przydzielanie, monitorowanie i kontrolowanie uprawnień w bazie danych. Włączanie, wyłączanie i określenie zakresu, śledzenia. Tworzenie kopii zapasowych i odtwarzanie bazy danych. Globalizacja możliwość korzystania z systemu do pracy w wielu językach i różnych krajach. Konfiguracje procesów usługowych ł serwera: serwer dedykowany (domyślna) serwer dzielony Wydania serwera i opcje dodatkowe wydania Enterprise. Zarządzanie bazą danych narzędziami SQLPlus SQLDeveloper i Oracle Enterprise Manager.
Obowiązki Administratora Bazy Danych Ewaluacja sprzętu dla systemu Oracle Database. Pierwsza instalacja i instalowanie nowych wersji serwera Oracle Database oraz narzędzi aplikacyjnych. Utworzenie podstawowych struktur bazy danych (fiz. I log.), podstawowych obiektów systemu Oracle11g i aplikacji. Przydział przestrzeni systemowej, wycofania i tymczasowej oraz planowanie przyszłych wymagań przestrzeni w bazie. Modyfikowanie struktury bazy danych i obiektów aplikacji. Zakładanie ada użytkowników i zarządzanie a ich przywilejami. Kontrolowanie i monitorowanie dostępu użytkowników do bazy danych i aplikacji. Archiwizacja i odtwarzanie bazy danych. Zapewnienie bezpieczeństwa systemu. Monitorowanie i i optymalizacja efektywności ś ibazy danych. Pozyskiwanie i instalacja łat (patches) dla systemu Oracle.
Przegląd ą architektury Oracle11g Poznanie elementów architektury Oracle11g i ich zadań. Rozumienie przeznaczenia każdego z tych elementów. DBA powinien dokładnie znać i rozumieć architekturę serwera Oracle. Administrator powinien rozumieć działanie i znać zadania następujących elementów: Procesy: usługowe, drugoplanowe, nasłuchujący. Struktury pamięci (SGA, PGA). Pliki bazy danych i inne związane z systemem Oracle Database. Oracle Database jest Systemem Zarządzania ą Bazą ą Danych - otwartą i zintegrowaną platformą zarządzania informacją. System Oracle Database składa się z instancji Oracle i bazy danych.
Przegląd elementów architektury Procesy Struktury pamięci Pliki
Globalny Obszar Systemowy (SGA) Obszar dzielony (Shared Pool) Bufory bazy danych (Buffer Cache) Bufor dziennika powtórzeń (Redo Log Buffer) Obszar Javy (Java Pool) Obszar stream (Streams Pool) Obszar wielki (LargePool)
Procesy tła RECO RECO SMON SMON QMN QMN S D PMON PMON RECO RECO SMON SMON QMNn QMNn Snnn nnn Pnnn nnn Dnnn nnn CJQn CJQn SGA SGA DBWn DBWn PMON PMON Obszar dzielony Bufory bazy danych Bufor dziennika powtórzeń LGWR LGWR ARCn ARCn CKPT CKPT MMNL MMNL MMAN MMAN MMON MMON OSMB OSMB RBAL RBAL ORB ORB MMNL MMNL MMAN MMAN MMON MMON RBAL RBAL ORBn ORBn
PMON Porządkuje system po awaryjnym przerwaniu podłączenia. Wycofuje nie zatwierdzone transakcje. Zwalnia blokady nałożone przez przerwany proces. Zwalnia zasoby SGA zajęte przez przerwany proces. Uruchamia ponownie przerwane awaryjnie procesy serwera dzielonego i dyspozytora. Rejestruje informacje o instancji i procesach dyspozytora w procesie nasłuchującym Uruchamiany regularnie lub wywoływany przez inny proces w razie potrzeby
SMON Wykonuje automatyczne odtwarzanie instancji. Zwalnia obszar zajęty przez nieużywane już segmenty tymczasowe. Łączy sąsiednie obszary wolnej przestrzeni plików danych w spójny obszar. Uruchamiany regularnie lub wywoływany przez inny y g y y y y proces w razie potrzeby.
Procesy RECO, CJQn, QMNn, RECO (recoverer) rozwiązuje ą problemy związane ą z awarią transakcji rozproszonych. CJQn (job queue coordinator) pozwalają na używanie jobów (zlecanych periodycznie i zadań), odczytuje okresowo tabelę JOB$ i uruchamia proces zależny (Jnnn) w razie potrzeby. Po zakończeniu procesu zależnego uruchamia kolejny albo usypia na pewien czas. QMNn (queue monitor) monitoruje kolejki komunikatów w opcji Oracle Streams Advanced Queuing. Jego awaria nie powoduje awarii instancji. LMS zarządza zasobami i umożliwia zarządzanie pracą wielu instancji (tylko w środowisku RAC).
Procesy serwera (usługowe) i procesy użytkowników w konfiguracji serwera dedykowanego (dedicated server) SMON QMNn CJQn RECO Snnn Dnnn Pnnn PMON DBWn Obszar dzielony SGA Bufory bazy danych Bufor dziennika powtórzeń LGWR ARCn CKPT OSMB MMON MMNL MMAN RBAL ORBn Procesy serwera Procesy użytkowników
Instancja Oracle Instancja Instancja Oracle Oracle PMON PMON CJQn CJQn RECO RECO SMON SMON QMNn QMNn Snnn nnn Dnnn nnn Oracle Oracle Pnnn nnn SGA SGA DBWR DBWR LGWR LGWR Obszar dzielony Bufory bazy danych Bufor dziennika powtórzeń CKPT CKPT ARCH ARCH LGWR LGWR Procesy Procesy y serwerów y użytkowników LSNR LSNR
Baza danych Oracle Pliki danych Data files Pliki kontrolne Control files Pliki dziennika powtórzeń Redo Log files
Pliki dziennika powtórzeń Plik 1 Plik 2 Plik 3
Zwielokrotnione pliki dziennika powtórzeń (konfiguracja zalecana) Grupa 1 Grupa 2 Grupa 3 Dysk 1 Element A Element A Element A Element B Element B Element B Dysk 2
Plik Kontrolny Identyfikuje wszystkie niezbędne pliki danych i pliki dziennika. W pliku kontrolnym zapamiętana jest nazwa bazy danych, czas jej j utworzenia i unikalny identyfikator. Plik kontrolny jest niezbędny do montowania, otwarcia i w trakcie pracy otwartej bazy danych. Zawiera informacje o nazwach przestrzeni tabel (v$tablespace). Plik kontrolny przechowuje informację synchronizującą, potrzebną przy odtwarzaniu (numer punktu kontrolnego). Zalecana konfiguracja to minimum dwa pliki kontrolne przechowywane na różnych dyskach(jak pliki dziennika). Parametr CONTROL_FILES identyfikuje pliki kontrolne. Jest automatycznie modyfikowany by odnotować zmiany w bazie. Jest podzielony na sekcje o stałej długości, z wyjątkiem ostatniej przeznaczonej dla zapisów programu RMAN.
Plik parametrów i instancja Oracle PMON SMON QMNn CJQn RECO Snnn Instancja Oracle Dnnn Pnnn DBWR LGWR Obszar dzielony SGA Bufory bazy danych Bufor dziennika powtórzeń CKPT ARCH Plik parametrów (PFILE lub SPFILE)
Pliki parametrów inicjalizacyjnych Zawierają zapisy specyficzne dla instancji Parametry występują jawnie lub niejawnie: Jawnie: posiadają swój wpis w pliku parametrów Niejawnie : nie posiadają takiego wpisu Oracle nadaje im wartości domyślne Można przechowywać wiele plików parametrów w celu optymalizacji pracy bazy danych w różnych sytuacjach Zawsze jest zastosowany jeden. Zmiany w plikach parametrów przynoszą efekty zależne od rodzaju stosowanego pliku parametrów; Statycznego pliku PFILE - po starcie instancji Dynamicznego pliku SPFILE natychmiast albo po starcie instancji
Pliki parametrów - PFILE Wszystkie parametry są opcjonalne (mają wartości ś idomyślne) Zapis w PFILE: [sid.]nazwa_parametru = wartość_parametru. Kolejność parametrów i wielkość liter bez znaczenia. Komentarz zaczyna się od znaku #. Można umieszczać odwołania do innych plików (IFILE). W Windows domyślnie w: ORACLE_HOME\dbs\ Przykład: parametry dotyczące rozmiaru SGA Globalny obszar systemowy y (SGA) Obszar dzielony Bufory bazy danych Bufor dziennika powtórzeń SHARED_POOL_SIZE SIZE DB_CACHE_SIZE LOG_BUFFER SGA_MAX_SIZE
SPFILE spfilesid.ora Plik binarny umożliwiający dokonywanie zmian zachowywanych pomiędzy kolejnymi uruchomieniami instancji Zarządzany przez serwer Oracle Zapisuje zmiany wartości parametrów wykonywane przy pomocy polecenia ALTER SYSTEM np.: ALTER SYSTEM SET undo_tablespace = 'UNDO2'; Pozwala na określenie, czy zmiana ma być trwała, czy tymczasowa ( SCOPE = MEMORY FILE BOTH ) Parametry mogą być dodawane lub usuwane by można było powrócić do ich wartości domyślnych W Windows: ORACLE_HOME\database\
Plik ostrzeżeń Wszystkie pojawiające się błędy wewnętrzne (ORA-600), błędy zniszczenia bloku (ORA-1578), błędy zakleszczenia (ORA-60), błędy spójności odczytu (ORA-1555) inne. Działania administracyjne (DDL) i polecenia sterowania serwerem (STARTUP, SHUTDOWN, ARCHIVE LOG, RECOVER). Wszystkie inne niż domyślne wartości parametrów inicjalizacji j z chwili startu instancji. Lokalizacja: - wersja XML: - wersja TXT:
Pliki śladu Zawierają informacje o błędach wewnętrznych odnotowanych przez proces serwera lub proces tła. Tworzone w BACKGROUND_DUMP_DEST DUMP DEST USER_DUMP_DEST jeśli występują problemy z procesami lub lub jeśli SQL_TRACE = TRUE (dla każdego procesu serwera), jeśli SQL_TRACE jest włączone dla procesu sesji: SQL> ALTER SESSION SET SQL_TRACE = TRUE;
Podsumowanie PMON SMON QMNn CJQn RECO Snnn Instancja Oracle Dnnn Pnnn DBWn LGWR Obszar dzielony SGA Bufory bazy danych Bufor dziennika powtórzeń CKPT ARCH Procesy serwera Procesy użytkowników Baza danych Oracle Plik parametrów Pliki kontrolne Pliki danych Pliki dziennika powtórzeń
Uruchamianie i zamykanie instancji Zakres wykładu Wybranie metody identyfikacji. Uruchamianie instancji w odpowiednim trybie. Zamykanie instancji w odpowiednim trybie. Zmiana trybu pracy bazy danych. Ograniczanie przyłączeń ą do bazy.
Przegląd treści wykładu Kroki uruchamiania bazy danych Wywołaj Enterprise Manager lub SQLPlus(/nologin). Wykonaj CONNECT użytkownik AS sysdba. Start instancji. Zamontowanie bazy danych. Otwarcie bazy danych. Zamykanie bazy danych Wywołaj Enterprise Manager lub SQLPlus. Wykonaj CONNECT użytkownik AS sysdba. Zamknij bazę i instancję.
Metody identyfikacji Administracja zdalna Administracja lokalna Czy Twoje połączenie jest bezpieczne? Tak Czy chcesz stosować identyfikację przez SO? Tak Identyfikacja przez SO Nie Nie Identyfikacja przez plik haseł
Metody identyfikacji Identyfikacja przez SO Ustaw identyfikację użytkownika w systemie operacyjnym i nadaj mu odpowiednie przywileje: UNIX, Linux grupa DBA, Windows grupa ORADBA. Ustaw parametr Oracle: REMOTE_LOGIN_PASSWORDFILE = NONE. Podłączenie przez polecenie CONNECT / AS sysdba. Identyfikacja przez plik haseł (w Windows: ORACLE_HOME\database\) Utwórz plik haseł narzędziem ORAPWD. Ustaw REMOTE_LOGIN_PASSWORDFILE = EXCLUSIVE albo REMOTE LOGIN PASSWORDFILE = SHARED. REMOTE_LOGIN_PASSWORDFILE SHARED. Nadaj uprawnienia SYSOPER lub SYSDBA administratorom w bazie danych (polecenie: GRANT SYS??? to XXX; ). Podłączenie przez polecenie: CONNECT użytkownik AS SYSDBA lub SYSOPER.
Uruchamianie Instancji OPEN MOUNT Otwarte wszystkie pliki opisane w pliku kontrolnym (danych i logów). NOMOUNT Otwarty plik kontrolny. SHUTDOWN Wystartowana Instancja.
Uruchamianie Instancji: Składnia polecenia STARTUP STARTUP FORCE RESTRICT PFILE=nazwa_pliku QUIET OPEN RECOVER nazwa b.d. READ WRITE READ ONLY MOUNT NOMOUNT
Montowanie i otwieranie Bazy Danych SQL> ALTER DATABASE MOUNT; Baza danych została zmieniona. Otwarcie pliku kontrolnego SQL> ALTER DATABASE OPEN; Baza danych została zmieniona. Otwarcie plików danych i dziennika
Ograniczenie możliwości tworzenia sesji dla nieuprzywilejowanych użytkowników ALTER SYSTEM ENABLE DISABLE RESTRICTED SESSION SQL> CONNECT / AS SYSDBA Connected. SQL> ALTER SYSTEM ENABLE RESTRICTED SESSION; Statement processed.
Zamykanie Bazy Danych SHUTDOWN NORMAL = SHUTDOWN Shutdown TRANSACTIONAL Shutdown IMMEDIATE Shutdown ABORT SQL> CONNECT / AS SYSDBA Connected. SQL> SHUTDOWN NORMAL; Database closed. Database dismounted. Oracle instance shutdown.
Podsumowanie OPEN MOUNT Otwarte wszyskie pliki opisane w pliku kontrolnym. NOMOUNT Otwarty plik kontrolny. SHUTDOWN Wystartowana Instancja.
Tworzenie bazy danych Zakres wykładu Omówienie diagramu związku między logicznymi elementami bazy danych i związanymi ą z nimi obiektami fizycznymi. y Przygotowanie do tworzenia bazy i utworzenie bazy danych. Budowanie słownika danych i instalacja opcji. Potrzeba wykonania backupu bazy danych. At Automatyczne t uruchamianie i (opcjonalnie). li)
Przegląd treści wykładu Organizacja zawartości bazy danych w przestrzenie tabel. Typy segmentów Projektowanie struktury bazy danych o optymalnej efektywności i minimalizującej fragmentację. Przygotowanie środowiska systemu operacyjnego do tworzenia bazy danych. Edycja pliku parametrów. Uruchomienie instancji (STARTUP NOMOUNT) Wykonanie polecenia SQL CREATE DATABASE. Zapewnienie bezpieczeństwa bazy danych przez zwielokrotnienie i i plików kontrolnych i dziennika ik powtórzeń. ń Utworzenie pliku haseł. Zdefiniowanie i i tabel i perspektyw słownika ł danych do zarządzania bazą danych.
Architektura Przestrzeni Oracle Blok SO Część Blok BD Część Złożony z Część Złożony z Extent Używany Wolny Część Część Złożony z Segment Danych Indeksu Segm. Wycof.ania Segm. Tymczasowy Plik Złożony z Część W Miejsce dla Przestrzeń tabel Miejsce dla Instance Część Złożony z Złożony z Częśćę Złożony z Kontroluje Kontrolowana przez Dysk lokalny Baza danych
Typy segmentów Segmenty danych: Tabela (Table) partycja tabeli (Table Partition) Klaster (Cluster) indeksowy lub haszujący tabela indeksowa (Index + Table) tabela zagnieżdżona (Nested Table) segment LOB (LobSegment) partycja LOB Segmenty indeksu: indeks (Index) partycja indeksu (Index Partition) Indeks LOB (Lob Index) Segmenty pozostałe: segment wycofania (Rollback lub Type2 Undo) segment tymczasowy
Baza danych Pliki DISK1/SYS1.dbf Planowanie Przestrzeni Tabel DISK2/ USER1.dbf PROD DISK3/ USER2.dbf DISK2/ UNDO.dbf DISK1/ TEMP.dbf DISK4/ SYSAUX1.dbf Przestrzenie tabel SYSTEM USER_DATA UNDOTBS TEMP SYSAUX Segmenty D.D. tabela Seg. danych Extenty S_DEPT D.D. Indeks Seg Seg Seg. indeksu RB danych danych S_EMP Seg S_DEPT c.d. Seg danych S_EMP FIRST_N AME Indeks 1 2 1 2 1 2 1 1 2 2 1 Wolne 1 1 2 2 1 Bloki Danych Oracle Seg ind. RBS1 Seg RB RBS2 Seg RB RBS1 c.d. Seg RB RBS2 c.d. Seg RB Temp Seg Tymcz.
Zalecane Przestrzenie Tabel (przykład) SYSTEM TEMP UNDOTBS APPL1_INDEX Dysk1 Dysk2 APPL1_DATA TOOLS SYSAUX USERS Dysk3 Dysk4
Charakterystyka fragmentacji Typ Segmentu Charakterystyka fragmentacji Segmenty słownika danych Segmenty danych aplikacji Segmenty indeksów aplikacji Segmenty wycofania Segmenty tymczasowe Brak skłonności do fragmentacji, nigdy nie dzielą wolnej przestrzeni. Mała skłonność do fragmentacji, ponieważ tabele zwykle mają określoną przestrzeń zgodną z wymaganiami projektu. Średnia skłonność do fragmentacji. Duża skłonność do fragmentacji. Duża skłonność do fragmentacji.
Minimalizacja rywalizacji o dysk przez oddzielanie segmentów Segmenty słownika od innych segmentów. Segmenty wycofania od innych segmentów. Segmenty danych od segmentów ich indeksów. Segmenty tymczasowe od innych segmentów. Oddzielanie Segmentów O różnych wymaganiach archiwizacji. Oi innych wymaganiach hdotyczących hdostępu. O innej częstości ich używania. O różnych wymaganiach przestrzeni (wielkości). ś i)
Zasady użytkowania plików Bazy Danych Zachowuj przynajmniej dwie aktywne kopie pliku kontrolnego bazy danych na przynajmniej dwóch urządzeniach fizycznych. Używaj zwielokrotnionych plików dziennika powtórzeń umieszczając elementy ee e tygupy grupy na różnych dyskach. Umieszczaj przestrzenie tabel, których dane mogą powodować rywalizację o dysk na różnych fizycznych dyskach (striping).
Tworzenie Bazy Danych Narzędzie Oracle Database Configuration Assistant. Narzędzie SQLPlus lub SQLDeveloper: Polecenie CREATE DATABASE Ustal liczbę instancji i unikalne nazwy instancji, rozmiar bloku, zestaw znaków bazy danych, maksymalną liczbę plików danych, maksymalną liczbę plików dziennika. Przygotuj plik parametrów ( init<sid>.ora ). Ustaw odpowiednie zmienne systemu operacyjnego. Uruchom SQLPlus w trybie linii poleceń i podłącz się jako sysdba ( connect / as sysdba ). Uruchom instancję (STARTUP NOMOUNT). Uruchom instancję (STARTUP NOMOUNT). Utwórz bazę danych (CREATE DATABASE).
Przygotowanie Pliku Parametrów Obszar Dzielony SGA Bufory bazy danych Bufor dziennika powtórzeń Archiwizowane pliki dziennika Instancja Oracle Pliki śladu i plik alertów Baza Danych Oracle Plik Parametrów Pliki Kontrolne Plik danych Pliki dziennika powtórzeń
Parametry Które Powinny Być Ustawione Parametr DB_NAME CONTROL_FILES DB_BLOCK_SIZE SGA_MAX_SIZE Opis Maksymalnie ośmioznakowy identyfikator bazy danych. Nazwy plików kontrolnych (ze scieżką). Rozmiar (w bajtach) bloku danych bazy danych Oracle. Domyślnie 2048. Maksymalny rozmiar SGA.
Parametry Które Powinny Być Ustawione Parametr BACKGROUND_DUMP_DEST Opis Miejsce tworzenia plików śladu procesów tła. USER_DUMP_DEST DB_CACHE_SIZE COMPATIBLE Miejsce tworzenia plików śladu użytkowników. Rozmiar obszaru buforów. Wersja serwera z którym kompatybilna ma być ta instancja. (min. 10.0.0 domyślnie 11.1.0
Najczęściej Modyfikowane Parametry Parametr AUDIT_TRAIL IFILE LOG_BUFFER LOG_ARCHIVE_FORMAT LOG_ARCHIVE_DEST_n LOG_CHECKPOINT_INTERVAL LOG_CHECKPOINT_TIMEOUT Opis Włącza lub wyłącza zapis do dziennika obserwacji. Nazwa innego pliku parametrów jaki ma być użyty przy starcie. Liczba bajtów zarezerwowana na bufor dziennika powtórzeń w SGA. Format nazw archiwizowanych plików dziennika. Miejsce archiwizowania plików dziennika. Ustawienie częstotliwości punktów kontrolnych. Okresowe wykonywanie punktów kontrolnych.
Najczęściej Modyfikowane Parametry Parametr MAX_DUMP_FILE_SIZE OPEN_CURSORS PROCESSES UNDO_TABLESPACE Opis Maksymalny rozmiar (wyrażony w blokach systemu operacyjnego) plików śladu. Maksymalna liczba kursorów otwieranych jednocześnie przez użytkownika. Maksymalna liczba procesów systemu operacyjnego podłączonych jednocześnie do tej instancji. Nazwa przestrzeni wycofania (dla AUTO). SQL_TRACE TIMED_STATISTICS Włącza lub wyłącza narzędzie śledzenia SQL dla wszystkich sesji użytkowników. Włącza lub wyłącza pomiar czasu dla statystyk systemu..
Przygotowanie Pliku Parametrów db_name = TEST_DB control_files = (/u01/oracle/d/control01.ctl,\ /u02/oracle/d/control02.ctl,\ /u03/oracle/d/control03.ctl) #Destination Directories background_dump_dest =?/dba1/log / user_dump_dest =?/dba1/log db_files = 20
Wyświetlanie Ustawień Parametrów SQL> SHOW PARAMETER DUMP_DESTDEST SQL> show parameter dump_dest NAME TYPE VALUE ----------------------------------- ----------- ------------------------------ background_dump_dest string D:\app\diag\rdbms\orcl\orcl\trace core_dump_dest dest string D:\app app\diag diag\rdbms rdbms\orcl orcl\orcl orcl\cdump cdump user_dump_dest string D:\app\diag\rdbms\orcl\orcl\trace
Ustawienie Identyfikatora Systemowego (UNIX) $ ORACLE_SID=TEST; export ORACLE_SID $ echo $ORACLE_SID TEST Wyświetlanie Listy Plików Parametrów $ ls $ORACLE_HOME/dbs/init*.ora /home/oracle/dbs/init.ora /home/oracle/dbs/initedu.ora /home/oracle/dbs/initdba01.ora
Podłączenie ą do bazy danych i uruchomienie instancji $ SQLPLUS /nologin SQL> CONNECT / AS SYSDBA Connected. SQL> STARTUP NOMOUNT ORACLE instance started. Utworzenie SPFILE (opcjonalne) SQL> CREATE SPFILE FROM PFILE ;
Tworzenie bazy danych przy użyciu OMF (Oracle Managed Files) Określ parametry inicjalizacyjne OMF w pliku parametrów DB_CREATE_FILE_DEST DB_ CREATE_ ONLINE_ DEST_ n STARTUP NOMOUNT CREATE DATABASE DEFAULT TEMPORARY TABLESPACE TEMP;
Tworzenie bazy danych klauzule polecenia CREATE DATABASE CONTROLFILE REUSE LOGFILE GROUP MAXLOGFILES MAXLOGMEMEBERS MAXLOGHISTORY DATAFILE filespec SYSAUX DATAFILE UNDO TABLESPACE DEFAULT TABLESPACE DEFAULT TEMPORARY TABLESPCE MAXDATAFILES MAXINSTANCES ARCHIVELOG NOARCHIVELOG EXCLUSIVE CHARACTER SET NATIONAL CHARACTER SET SET TIME ZONE
Tworzenie Bazy Danych CREATE DATABASE baza_danych CONTROLFILE REUSE LOGFILE GROUP numer MAXLOGFILES liczba MAXLOGMEMBERS liczba MAXLOGHISTORY liczba, DATAFILE spec. pliku, spec. pliku SYSAUX MAXDATAFILES liczba MAXINSTANCES liczba DATAFILE DEFAULT TEMPORARY TABLESPACE tsn TEMPFILE ARCHIVELOG NOARCHIVELOG CHARACTER SET zestaw_znaków spec. pliku, spec. pliku NATIONAL CHARACTER SET zestaw_znaków_unicode
Tworzenie bazy danych SQL> CREATE DATABASE test 2> DATAFILE /u02/oracle/dba01/sys1.dbf SIZE 180M 3> LOGFILE 4> Group 1 ( /u01/oracle/dba01/log1a.rdo, /O 0 / a. 5> /u02/oracle/dba01/log1b.rdo ) SIZE 5M, 6> Group 2 ( /u01/oracle/dba01/log2a.rdo, 7> ( /u02/oracle/dba01/log2b /u02/oracle/dba01/log2b.rdo rdo ) SIZE 5M 8> SYSAUX DATAFILE /u02/oracle/dba01/aux1.dbf SIZE 100M 9> CHARACTER SET WE8ISO8859P1;
Dodawanie pliku kontrolnego Zmodyfikuj serwerowy plik parametrów tak, aby zawierał nazwę nowej kopii ( gdy używasz SPFILE). Zamknij bazę danych. Skopiuj istniejący plik kontrolny w nowe miejsce. Zmodyfikuj plik parametrów tak, aby zawierał nazwę nowej kopii (gdy używasz PFILE). Uruchom bazę danych ze zmodyfikowanym plikiem parametrów.
Dodawanie Elementu Dziennika Powtórzeń SQL> ALTER DATABASE test 2> ADD LOGFILE MEMBER /u02/oracle/dba01/log1b.rdo 3> TO GROUP 1; Statement processed. SQL> SELECT * FROM v$logfile; GROUP# STATUS MEMBER =========================================== 1 /u01/oracle/dba01/log1a.rdo 2 /u01/oracle/dba01/log2a.rdo 1 /u02/oracle/dba01/log1b.rdo
Tworzenie Pliku Haseł ORAPWD FILE= orapwsid PASSWORD=secret ENTRIES=30 ( w Windows domyślnie w ORACLE_HOME\database\ ) Ustaw REMOTE_LOGIN_PASSWORDFILE = EXCLUSIVE Uruchom SQL*Plus lub Enterprise Manager w trybie linii Q p g y poleceń CONNECT / AS SYSDBA SHUTDOWN IMMEDIATE STARTUP Nadaj uprawnienia SYSDBA lub SYSOPER administratorom bazy danych GRANT SYSDBA TO system
Zawartość Słownika Danych Nazwy użytkowników serwera Oracle. Informacja o uprawnieniach i rolach nadanych każdemu użytkownikowi. Nazwy i definicje obiektów w schematach. Warunki integralności. Przydział pamięci obiektom bazy danych. Ogólna struktura bazy danych. Informacje kontroli i śledzenia. Pamiętane procedury i wyzwalacze bazy danych.
Tworzenie Dodatkowych Perspektyw Słownika Danych Wykonaj jako użytkownik SYS skrypty: Skrypt catalog.sql catproc.sql Zadanie Tworzenie często używanych perspektyw słownika danych. Uruchomienie i wszystkich skryptów wymaganych do używania PL/SQL po stronie serwera. Zk każdego konta administratora i t (SYSTEM, ) wykonaj skrypt catdbsyn.sql Skrypt catdbsyn.sql Zadanie Tworzenie prywatnych synonimów dla administratora i (SYSTEM).
Tworzenie Dodatkowych Perspektyw Słownika Danych SQL> @?/rdbms/admin/catalog... DROP VIEW v_$process ORA-00942: table or view does not exist CREATE VIEW v_$process AS SELECT * FROM v$process Statement processed. DROP PUBLIC SYNONYM v$process DROP PUBLIC SYNONYM v$process * ORA-1432 public synonym to be dropped does not exist CREATE PUBLIC SYNONYM v$process FOR v$process Statement processed....
Użytkownicy Słownika Danych Administratorzy bazy danych Użytkownicy bazy danych Aplikacje Serwer Oracle
Perspektywy Słownika Danych USER_xxx ALL_xxx DB A_xxx
Podsumowanie Zaprojektowanie struktury bazy danych. Utworzenie pliku parametrów. Wybranie unikalnej nazwy instancji. Uruchomienie instancji w trybie NOMOUNT. Utworzenie bazy danych. Zbudowanie słownika bazy danych. Dołączenie dodatkowych elementów dziennika i plików kontrolnych według potrzeb i plików kontrolnych, według potrzeb. Dopasowanie struktury bazy danych.
Wybieranie i aktualizacja danych Zakres wykładu Wyjaśnienie etapów przetwarzania polecenia SQL. Poznanie korzyści z obszaru dzielonego SQL Oracle. Poznanie funkcji i zawartości buforów bazy danych. Sposób w jaki serwer pobiera dane do buforów bazy danych. Zadania procesu sekretarza bazy danych (DBWn). Rozpoznanie zdarzeń jakie powodują aktywację sekretarza bazy danych (DBWn).
Przegląd Globalny Obszar Systemu (SGA) Obszar Dzielony Bufory Bazy Danych Bufor Dziennika Powtórzeń Obszary dzielone SQL Procesy Serwera DBWn Procesy Użytkownika Pliki Danych
Bufory Bazy Danych Obraz Późniejszy Obraz Wcześniejszy Bufory bloków danych (brudne) Bufory wycofania
Bufory Bazy Danych Lista LRU Ostatnio używane Dawno używane
Żądanie Użytkownika SGA Obszar Stosu PGA Dane Sesji Użytkownika Procesy Serwerów Procesy Użytkowników Żądanie Użytkownika
Krok 1: Analiza (Parse) Obszar Dzielony SGA Bufory Bazy Danych Obszary Dzielone SQL Procesy Serwerów Procesy Użytkowników SQL> SELECT first_name FROM s_emp;
Krok 2: Wykonanie (Execute) Obszar Dzielony SGA Bufory Bazy Danych Obszary Dzielone SQL Procesy Serwerów Procesy Użytkownika
Krok 3: Sprowadzanie (Fetch) Obszar Dzielony SGA Bufory Bazy Danych Obszary Dzielone SQL Obszar Stosu PGA Dane Sesji Użytkownika Procesy Serwerów Procesy Użytkownika
Obszary dzielone SQL w library cache Identyczne polecenia SQL wykorzystują ten sam obszar dzielony SQL. Domyślnie (cursor_sharing = EXACT) polecenia SQL są uważane za identyczne jeżeli: Ich zapis jest absolutnie identyczny, z dokładnością do małych i wielkich liter, separatorów itp. Odwołują się do tych samych obiektów. Typy i nazwy zmiennych są identyczne. Wartości parametru CURSOR_SHARING: EXACT SIMILAR FORCE
Operacja SELECT Obszar Dzielony Obszary dzielone SQL SGA Bufory Bazy Danych Proces Serwera 1 B2 Stock Clerk 940 Proces Użytkownika 1 Tabela a S_ EMP Blok B1 Blok B2 SQL> SELECT salary 2 FROM s_emp 3 WHERE id = 17; Plik danych 1
Operacja UPDATE Obszar Dzielony Shared SQL Areas SGA Bufory Bazy Danych R20 Txn2 Col Addr 940 Bufor Dziennika Powtórzeń B2 Stock Clerk 1034 Proces Serwera 1 Proces Serwera 2 Proces Użytkownika 1 SQL> SELECT salary 2 FROM s_emp 3 WHERE id = 17; Tabela S_EMP Blok B1 Blok B2 Plik danych 1 Tabela S_EMP Blok B19 Blok B20 Plik danych 2 Proces Użytkownika 2 SQL> UPDATE s_emp 2 SET salary = salary * 1.1 3 WHERE id = 17;
Odczyt bloków proces Serwera Zapis buforów - proces DBWn Obszar Dzielony Obszary dzielone SQL SGA Bufory Bazy Danych Proces Serwera 1 DBWn Proces Użytkownika 1 Pliki danych
Podsumowanie Wszystkie polecenia SQL są przetwarzane przez proces serwera, który otrzymuje żądania bezpośrednio od procesu użytkownika. Kolejne kroki przetwarzania polecenia SQL to analiza, wykonanie i (tylko dla SELECT) sprowadzenie. Identyczne polecenia SQL wykorzystują ten sam obszar dzielony SQL. Dane przechowywane w blokach segmentu danych, indeksu lub wycofania (obraz wcześniejszy) są przechowywane okresowo w buforach bazy danych w obszarze SGA. Bloki wycofania przechowują obraz wcześniejszy modyfikowanych danych używany podczas wycofywania transakcji i odtwarzania instancji. Podstawowym zadaniem DBWn jest zapis wszystkich zmienionych buforów do plików danych.