Bazy danych

Pliki bazy danych Oracle 11g

Pliki bazy danych Oracle 11g


Baza danych Oracle znajduje się fizycznie w wielu plikach. Do fizycznej struktury bazy danych zalicza się następujące pliki:

  • pliki inicjalizacji (Initialization Parameters) "PFILE"
  • pliki parametrów (Server Parameter File) "SPFILE"
  • pliki ostrzeżeń (Alter file)
  • pliki śladu (Trace files)
  • pliki kontrolne (Control files)
  • pliki dziennika powtórzeń (Redo log files )
  • pliki danych (Data files)
  • pliki tymczasowe (Files temp)

Plik inicjalizacji

Kiedy startuje instancja Oracle odczytuje plik inicjalizacji, może on być plikiem tekstowym lub binarnym. Plik musi posiadać przynajmniej jeden parametr DB_NAME. Plik tekstowy jest jedynie do odczytu, a plik binarny do odczytu i zapisu.

Plik parametrów serwera

Plik parametrów serwera to plik binarny, a tekstowy to plik inicjalizacji parametrów. Po uruchomieniu instancji Oracle, szuka najpierw pliku parametru serwera w domyślnej lokalizacji, jeśli go nie znajdzie szuka pliku tekstowego.

Utworzenie pliku parametrów serwera wykonuje się poleceniem:
CREATE SPFILE FROM PFILE

SQL*Plus czyta plik PFILE z domyślną ścieżką oraz tworzony plik z domyślną lokalizacją, a także domyślną nazwą. Do wykonania polecenia należy mieć uprawnienia SYSDBA lub możliwość wykonywania polecenia SYSOPER.
Następny przykład ilustruje tworzenie pliku parametrów serwera i z nazwą i lokalizacją:
CREATE SPFILE='/u01/oracle/dbs/test_spfile.ora' 
FROM PFILE='/u01/oracle/dbs/test_init.ora';

Edycję pliku parametrów serwera dokonuję się poleceniem:
ALTER SYSTEM

zmiany są trwałe, po ponownym wyłączeniu i włączeniu Oracle. Nie może być edytowany edytorem tekstowym.
Następny przykład ilustruje tworzenie pliku parametrów serwera w domyślnej lokalizacji z bieżącymi wartościami parametrów inicjalizacji z pamięci:
CREATE SPFILE FROM MEMORY;

W tym przypadku plik parametrów serwera będzie posiadał wartości parametrów inicjalizacji z działającej instancji.  

Plik Ostrzeżeń

Plik Ostrzeżeń jest chronologicznie uporządkowanym dziennikiem komunikatów o błędach, zawiera następujące informacje:
  • Wszystkie błędy wewnętrzne (ORA-00600), błędy bloków korupcji (ORA-01578) oraz błędy zakleszczenia (ORA-00060)
  • Instrukcjach takich jak CREATE, ALTER i DROP i czynnościach administracyjnych STARTUP, SHUTDOWN i weryfikacji ARCHIVELOG
  • Komunikaty i błędy odnoszące się do funkcji serwera współdzielonego i procesów dyspozytorskich
  • Błędy występujące podczas automatycznego odświeżania widoku zmaterializowanego
  • Wartości wszystkich parametrów inicjalizacji, które miały wartości inne niż domyślne w czasie startu bazy danych i instancji

Plik Śladu

Pliki śledzenia są zapisywane w imieniu procesów serwera i tła. Okresowo aktualizowane w okresie trwania procesu i mogą zawierać informacje na temat statusu, działań i błędów procesów. Ponadto, gdy proces wykrywa błąd krytyczny, to zapisuje informacje o błędzie do swojego pliku śledzenia.

Ustawienie opcji
SQL_TRACE=TRUE
powoduje generowanie statystyk skuteczności wykonywanych instrukcji SQL i zapisanie je w Automatic Diagnostic Repository. Nie zależnie od ustawienia tej wartości można włączyć lub wyłączyć generowanie wykonywanych instrukcji SQL dla sesji i związanego z nim procesu serwera:
ALTER SESSION SET SQL_TRACE TRUE;


Nazwy pliku śledzenia są zależne od platformy i mają rozszerzenie .trc.
 
Zwykle nazwa pliku śledzenia procesu tła zawiera:
  • Oracle SID
  • Nazwę procesu tła
  • Numer procesu systemu operacyjnego

Natomiast nazwa pliku śledzenia procesu serwera zawiera:
  • Oracle SID
  • Ciąg „ora”
  • Numer procesów systemu operacyjnego

Plik kontrolny

Pliki opisujące strukturę bazy danych w postaci binarnej, niezbędne do zamontowania i otwarcia bazy danych.
Plik kontrolny obejmuje:
  • Nazwę bazy danych, unikalny identyfikator bazy danych (DBID)
  • Informacje o plikach danych, plikach online dziennika powtórzeń oraz archiwizowanych plikach dziennika powtórzeń
  • Informację o przestrzeni tabel
  • Kopiach zapasowych RMAN
  • Znacznik czasu stworzenia bazy danych
  • Bieżący numer sekwencyjny pliku dziennika powtórzeń
  • Informacje o Checkpoint

Bez pliku kontrolnego baza danych nie może być zamontowana.
Plik kontrolny  bazy danych Oracle jest tworzony w tym samym czasie, co baza danych.
Parametr CONTROL_FILES określa nazwę i położenie jednego lub więcej plików kontrolnych. Domyślnie tworzona jest co najmniej jedna kopia pliku kontrolnego podczas tworzenia. Polecenie
 ALTER DATABASE BACKUP CONTROLFILE
można użyć do tworzenia kopi pliku kontrolnego dojadając jedną z dwóch opcji:

  • do pliku binarnego:
ALTER DATABASE BACKUP CONTROLFILE TO '/oracle/backup/control.bkp';


  • używając instrukcji:
ALTER DATABASE BACKUP CONTROLFILE TO TRACE;


Plik dziennika powtórzeń

Pliki dziennika powtórzeń są wypełnione redo rekordami. Redo rekordy składają się z grupy zmian wektorów, który opisuje zmiany jednego bloku w bazie danych. W czasie awarii baza danych czyta zmiany wektorów w redo rekordach i wprowadza zmiany do odpowiednich bloków. Redo rekordy są buforowane w buforze dziennika powtórzeń w Globalnym Obszarze Systemowym (SGA) i zapisywane za pomocą procesu LGWR do plików tego dziennika powtórzeń. Numer zatwierdzonej transakcji (SNC) jest przechowywany w pliku dziennika powtórzeń.

Pliki dziennika powtórzeń są podzielone na grupy, w każdej z nich powinna być jednakowa liczba plików o jednakowym rozmiarze. Utrata wszystkich klików spowoduje awarie system Oracle. Wszystkie pliki należące do danej grupy posiadają taki sam rozmiar i zawierają identyczne informacje.
LGWR dokonuje zapisu jednocześnie do wszystkich plików należących do danej grupy. Proces LGWR może nadpisywać ponownie do pliki dziennika powtórzeń, kiedy baza danych jest w trybie ARCHIVELOG. Domyślnie baza danych jest w trybie NOARCHIVELOG. Przed nadpisaniem plik dziennika powtórzeń musi zostać zarchiwizowany.

Zapis do plików dziennika powtórzeń odbywa się w sposób cykliczny tzn. zapełnienie jednej grupy powoduje przełączenie się na druga i kontynuowanie zapisu. Po zapełnieniu ostatniej grupy następuje przełączenie się na pierwsza i nadpisanie informacji w niej zawartych.

Plik danych   

Dane do pliku danych są zapisywane wyłącznie przez proces DBWR. Każda baza danych musi mieć przynajmniej jeden plik danych. Każdy plik danych jest w trybie online (dostępny) lub offline (niedostępny). Kiedy plik danych jest w trybie niedostępnym, baza danych nie może zapisać do niego danych.

Można tworzyć pliki danych i skojarzyć je z tabelą za pomocą któregokolwiek z instrukcji wymienionych w poniższej:
CREATE TABLESPACE
CREATE TEMPORARY TABLESPACE
ALTER TABLESPACE … ADD DATAFILE
ALTER TABLESPACE … ADD TEMPFILE
CREATE DATABASE
ALTER DATABASECREATE DATAFILE


Baza danych Oracle tworzy plik danych dla przestrzeni tabel przez przydzielanie określonej ilości miejsca na dysku. Każdy plik danych zawiera nagłówek, który posiada dwa numery:
Numer absolutny pliku - identyfikuje plik danych w bazie danych.
Numer względny pliku - identyfikuje plik danych w przestrzeni tabel.

Plik tymczasowe

Pliki tymczasowe należą do tabel tymczasowych. Nie można w nich przechowywać obiektów stałych.

1 komentarz

Shalom 2014-01-08 08:41

Strasznie chaotyczny artykuł. Gdybym nie wiedział do czego opisywane pliki służą to nijak bym się z tego tekstu tego nie dowiedział. Mam wrażenie, że ktoś chciał to za bardzo uprościć, pomijając szczegóły, a w efekcie wyszedł tekst niezrozumiały dla ludzi bez odpowiedniej wiedzy i jednocześnie zupełnie nieprzydatny dla ludzi, którzy taką wiedzę posiadają.