create_dbs.DOC

(109 KB) Pobierz
· Etapy tworzenia bazy danych

Laboratorium baz danych - Tworzenie bazy danych                            3

 

 

 

 

Laboratorium Baz Danych

 

 

 

 

 

 

 

 

Tworzenie bazy danych

 

 

 

 

 

 

 

 

Opracowała:

Mgr inż. Aleksandra Werner

 

 

1        
Tworzenie/start bazy danych.

1.1         Etapy tworzenia bazy danych

·         Organizacja danych w przestrzenie tabel

·         Zaprojektowanie struktury bazy tak, aby zapobiec fragmentacji i brakowi zasobów

·         Przygotowanie systemu operacyjnego (ustawienie zmiennej ORACLE_SID)

·         Przygotowanie pliku startowego

·         Start instancji

·         Wykonanie komendy CREATE DATABASE

·         Zapewnienie bezpieczeństwa bazy poprzez stworzenie wielokrotnych plików dziennika i powielenie pliku kontrolnego

·         Stworzenie tablic i perspektyw słownika danych

 

1.2         Etapy startu bazy danych (Rys.1)

STARTUP

 

wystartowała instancja

został otwarty plik kontrolny, pliki danych

i pliki dziennika





              OPEN

 

 





                                          MOUNT

STARTUP MOUNT

wystartowała instancja

został otwarty plik kontrolny

 

STARTUP NOMOUNT

wystartowała instancja





              NOMOUNT

 

              SHUTDOWN

Rys.1 Start bazy danych

 

·      Ustawienie zmiennej środowiskowej ORACLE_SID,

·      Podłączenie do bazy jako użytkownik INTERNAL (na poziomie Systemu Operacyjnego następuje weryfikacja),

·      Wydanie polecenia startu bazy (STARTUP) z ewentualnymi parametrami.

1.3         Instancja Oracle’a

Instancja jest to grupa buforów (tzw. Obszar Globalny Systemu – SGA) wykorzystywana do obsługi bazy oraz szereg procesów drugoplanowych (programów rezydujących w pamięci operacyjnej komputera pracującego jako serwer Oracle’a), wykonujących wszystkie czynności związane z obsługą bazy i jej użytkowników. Zwykle dla jednej bazy podniesiona jest jedna instancja. Możliwe jest jednak otwarcie wielu instancji pracujących na danych jednej bazy przy użyciu opcji Serwera Równoległego.

1.3.1      Procesy drugoplanowe

Liczba procesów drugoplanowych pracujących w instancji Oracle’a jest zależna od ustawienia parametrów bazy. Istnieje jednak grupa procesów niezbędnych do pracy bazy:

DBWR (ang. Database Writer) – proces zapisujący dane wprowadzane przez użytkowników do bazy z buforów SGA do plików dyskowych.

LGWR (ang. Log Writer) – proces zapisujący dane z buforów dziennika powtórzeń do plików dziennika powtórzeń.

PMON (ang. Process Monitor) – monitor procesów trzymający pieczę nad zasobami bazy wykorzystywanymi przez użytkowników bazy. Proces ten odzyskuje zasoby zwolnione przez użytkownika, wycofuje niepotwierdzone transakcje, czyści nienormalnie zakończone połączenia, wykrywa zakleszczenia.

SMON (ang. System Monitor) – monitor systemu, utrzymujący porządek w SGA. Proces ten obsługuje plik kontrolny, odzyskuje przestrzeń po segmentach tymczasowych, wykonuje automatyczne odtwarzanie instancji.

Na rys.2 przedstawiono instancję Oracle’a wraz z wyspecyfikowaniem wybranych parametrów pliku inicjalizacyjnego (punkt 2.1.1), mających bezpośredni wpływ na wielkość instancji.

2         Struktura bazy danych Oracle’a

2.1         Struktura fizyczna bazy danych

Na fizyczną strukturę bazy danych Oracle’a składają się następujące pliki:

·         Plik inicjalizacyjny (i konfiguracyjny),

·         Pliki dziennika powtórzeń (co najmniej 2),

·         Pliki kontrolne,

·         Pliki z danymi.

2.1.1      Plik inicjalizacyjny:

Plik inicjalizacyjny umożliwia:

- optymalizację wydajności przez dostosowanie struktury pamięci (np. il. buforów danych w pamięci),

- ustawienie wartości domyślnych dla całej bazy w momencie tworzenia,

- ustawienie limitów bazy (np. max ilośc użytkowników bazy),

- wyspecyfikowanie plików bazy.

 

Parametry, które powinny być określone:

DB_NAME               - identyfikator bazy danych

CONTROL_FILES              - nazwy plików kontrolnych (min. 2)

INIT_SQL_FILES              - nazwy skryptów SQL-a do wykonania w czasie tworzenia
bazy danych (zawsze sql.bsq; przydałoby się też: catalog.sql -tworzy perspektywy słownika oraz catproc.sql - tworzy obiekty niezbędne do opcji proceduralnej)

LOG_ARCHIVE_DEST              - lokalizacja archiwizowanych plików dziennika powtórzeń

LOG_ARCHIVE_FORMAT              - format nazwy archiwizowanych plików dziennika
powtórzeń

USER_DUMP_DEST              - lokalizacja plików śladowych procesów użytkownika

BACKGROUND_DUMP_DEST              - lokalizacja plików śladowych procesów drugoplanowych

 

Parametry najczęściej modyfikowane:

AUDIT_TRAIL              - włączenie/wyłączenie obserwacji bazy danych

DB_BLOCK_BUFFERS              - liczba bloków buforów bazy danych w SGA

DB_BLOCK_SIZE              - rozmiar w [B] bloku Oracle’a; rozmiar bloku nie może być zmieniony po utworzeniu bazy

DML_LOCKS              - max. liczba blokad DML

IFILE              - nazwa dodatkowego pliku z parametrami

LOG_BUFFER              - rozmiar w [B] buforów dziennika w SGA

LOG_ARCHIVE_START              - włączenie/wyłączenie automatyczne archiwizacji dziennika w trybie ARCHIVELOG

LOG_CHECKPOINT_INTERVAL              - max. liczba bloków zapisanych do pliku dziennika mdzy pkt. kontrolnymi

LOG_CHECKPOINT_TIMEOUT              - max odstęp w [sek] mdzy pkt. kontrolnymi

MAX_DUMP_FILE_SIZE              - max. rozmiar w [blokach systemu oper.] pliku śladowego

OPEN_CURSORS              - max liczba kursorów otwartych przez użytkownika

PROCESSES              - max liczba procesów w SO jednocześnie podłączonych do bazy danych (z drugoplanowymi_

ROLLBACK_SEGMENTS              - nazwy segmentów wycofania, aktywnych w danej instancji

SHARED_POOL_SIZE              - rozmiar obszaru dzielonego SQL (w blokach Oracle’a) (nie powinna być zmniejszana poniżej 3500000 [B] bo zawiesi się wykonanie skryptu catproc.sql)

SQL_TRACE              - włączenie/wyłączenie tworzenia plików śladowych dla procesów użytkownika

TIMED_STATISTICS              - włączenie/wyłączenie pomiaru czasu operacji dla plików śladowych i monitora

CHECKPOINT_PROCESSES              - włączenie/wyłączenie procesu CKPT

DB_FILES              - max liczba otwartych plików danych

LOG_FILES              - max liczba otwartych plików dziennika powtórzeń

2.1.2      Plik kontrolny

Plik kontrolny zawiera informacje o fizycznej strukturze bazy danych oraz pewne informacje kontrolne potrzebne przy odtwarzaniu. W związku z tym, że dane zawarte w pliku kontrolnym są niezbędne do otwarcia i pracy bazy danych oraz do odtwarzania, bardzo często powiela się plik kontrolny na innym dysku.

2.1.3   Pliki dziennika powtórzeń

Zawierają informacje o wszystkich zmianach w bazie danych (co zostało zmienione w wierszu, co zostało zapisane w segmencie wycofania, czy transakcja została potwierdzona, czy był realizowany punkt kontrolny, czy jest transakcja rozproszona,...) i są wykorzystywane tylko podczas odtwarzania.

 

SAVEPOINTS

max. liczba pkt. wycofania w transakcji

SNAPSHOT_REFRESH_PROCESSES liczba procesów SNPn, obsługujących aut. odświeżanie replikacji zdalnych tablic (opcja rozproszona)

 

 

 

PMON

SMON

DBnn

SNPn

RECO

ARCH

CKP















 

procesy drugoplanowe



 

 

 



 

 



 

obszar globalny systemu SGA

DB_BLOCK_BUFFERS liczba bloków w buforach

DB_BLOCK_SIZE - rozmiar bloku

 

 

SHARED_POOL_SIZE - określenie rozmiaru

LOG_BUFFER- rozmiar buforów dziennika powtórzeń

 

bufory dziennika powtórzeń

bufory bazy danych

 



obszar dzielony





















































maksymalny czas między punktami kontrolnymi



 



LOG_CHECKPOINT_TIMEOUT

LOG_CHECKPOINT_INTERVAL





proces DBWR

max liczba bloków zapisanych na plik dziennika między punktami

...

Zgłoś jeśli naruszono regulamin