Oracle vs SQL server – Cetvrti dio

Error Log vs Alert Log

SQL Server u svom fajl sistemu održava jedan fajl – tekući log za snimanje informacija o uspješnosti izvršenja određenog skupa operacija nad bazom podataka. Ovaj log uključuje informacije u vezi sa događajima koji su nastali prilikom pokretanja baze podataka, prilikom izvršenja recovery-a, zatim događaje koji su u vezi sa korisničkim aktivnostima, izvršenjem backup-a, aktivnostima koje uzrokuju promjenu konfiguracije baze podataka, događaje koji se odnose na nekorektno prijavljivanje na bazu podataka, razne vrste grešaka i upozorenja itd. Svaki put kada se startuje SQL Server kreira se i novi log file. Ovaj log file je poznat kao SQL Server Error Log.

Error log je primarni izvor podataka za DBA prilikom otkrivanja uzroka nastanka raznih incidenata na bazi podataka. “Po defaultu” SQL Server čuva posljednjih 6 error logova a kada se napuni posljednji – šesti log, sljedeći kandidat za upis novih podataka o radu sistema postaje u tom trenutku najstariji error log file. Ovo “po defaultu” ponašanje se može promjeniti. SQL Server se može konfigurisati da čuva unaprijed definisani broj fajlova za error logove. Tekući error log nosi ime ERRORLOG (bez ikakve druge dodatne ekstenzije) dok se error log koji je stariji od tekućeg imenuje kao ERRORLOG.1, onaj koji je još stariji dobija ime ERRORLOG.2 itd.

Oracle-ov ekvivalenat za SQL Server Error Log se zove Alert Log file. Alert Log sadrži informacije o podizanju i spuštanju baze podataka, oporavku instance, izmjenama konfiguracije, internim greškama u bazi podataka, vrijednostima inicijalnih parametara itd.

Za razliku od SQL Server error loga, Oracle alert log ne vrši kreiranje novog file-a svaki put kada se uradi restart instance. U stvari, Oracle održava samo jedan Alert Log file koji može rasti neograničeno a u mjeri u kojoj se informacije pohranjuju u njega.. Alert Log će uvjek imati ime koje se formira u obliku alert_<instance>.log gdje je <instance> Oracle-ovo ime instance. Poput DBA kod SQL Servera, Oracle DBA koriste Alert Log kako bi provjerili postojanje potencijalnih problema u radu baze podataka.

I SQL Server error log i Oracle alert log su obični ASCII tekst fajlovi koji se mogu otvoriti u bilo kojem tekst editoru. SQL Server Management Studio obezbjeđuje pregled error log-ova kroz Windows interfejs. Oracle-ov Enterprise Manager Database Control obezbejđuje pregled alert logova, takođe kroz web interface.

Lokacija SQL Server error log-a je uslovljena definicijom u registry-u. “Po defaultu” lokacija je ispod LOG direktorijuma SQL Server instalacionog foldera. Kada je riječ o Oracle-u, lokacija alert log-a je odredjena inicijalizacionim parametrom koji ima naziv BACKGROUND_DUMP_DEST a njegova najčešća definicija je bdump folder ispod $ORACLE_HOME direktorijuma.

Start-up i Configuration parametri

Kada se SQL Server instalira, takođe se kreira i odredjeni broj Windows registry ključeva. Ovi registry ključevi specificiraju različite vrijednosti za razne parametre koji su potrebni SQL Serveru za njegov rad. Npr. jedan od registry ključeva definiše lokaciju za error log file, drugi registry ključ bi trebao da sadrži lokaciju za default backup folder itd. SQL Server koristi vrijednosti ovih registry ključeva za svoje operacije. SQLSERVR.EXE može da ima, pored ovih ključeva i određeni broj inicijalnih parametara koji su povezani sa exe komandom, uključujući i trace flags. Ovi, tzv add-on parametri bi trebali da kontrolišu na koji način bi trebala instanca da se ponaša kada se pokrene. Pored inicijalnih parametara i vrijednosti u registry ključevima, SQL Server ima i veliki broj internih konfiguracionih parametara koji se koriste za fino podešavanje instance. Primjer jednog od takvih parametara je “max server memory” kojim se specificira maksimalna veličina memorije koja se može odvojiti za instancu. Server konfiguracioni parametri se smještaju u sistemske meta-tabele kojima se kasnije preko odgovarajućih SELECT upita može pristupiti (naravno, ukoliko je konkretnom korisniku dozvoljeno da pristupi tim tabelama)

Izmjena SQL Server konfiguracionih parametara se može uraditi na nekoliko načina:

  • Korišćenjem sp_configure sistemske bazne procedure
  • Korišćenjem “server properties” dijalog box-a iz Management Studio ili Enterprise Manager-a
  • Koristeći različite dodatne alate: facets (SQL 2008) ili Surface Area Configuration tool (SQL 2005)

Kod Oracle-a, konfiguracioni parametri se dobijaju iz dva fajla operativnog sistema koji su neophodni za startovanje instance i za otvaranje baze podataka. Prvi fajl je initialisation parameter file a drugi je control file. Inicijalizacioni parametar fajl sadrži parametrizovane vrijednosti koji diktiraju na koji način će biti kreirana instanca. Da podsjetimo, Oracle instance je sačinjena od memorijskih struktura i pozadinskih procesa. Pored ostalih stvari, parametar fajl sadrži vrijednosti koje kazuju Oracle-u koliko mnogo memorije da odvoji za instancu, koliko mnogo korisničkih procesa se može povezati na instancu konkurentno, koje baze podataka su povezane sa konkretnom instancom. Kako Oracle čita ovaj file tako formira elemente memorije na osnovu njegovog sadržaja.

Parametar fajl može biti ili obični ASCII tekst fajl ili binarni fajl. Statički parametar fajl se zove pfile i ima ime na operativnom sistemu u obliku init<SID>.ora gdje je SID – System Identifier instance. Binarni parametar fajl, ili spfile, imenuje se po šablonu spfile<SID>.ora. Jedna značajna razlika između tekst-orjentisanog pfile i binarnog spfile je ta da kada se koristi pfile, Oracle čita njega samo jednom – prilikom podizanje instance. Bilo kakva buduća promjena u parametar fajlu će biti implementirana na bazi podataka tek poslije njenog restarta. Kod spfile-a, Oracle može promjeniti sadržaj i definiciju baze čak i kada instanca radi. Oracle 11g verzija baze podataka, npr ima više od 250 inicijalizacionih parametara koji se mogu individualno setovati. Srećom, DBA nemaju potrebu da specificiraju vrijednost za svaki od ovih 250 parametara. Konfiguracija 10-tak parametara je sasvim dovoljna za funkcionisanje instance. Mnogi od ovih parametara se definišu u fazi instalacije RDBMS-a. Promjena inicijalizacionih parametara se može izvršiti ili ručno ili iz Oracle- ovog alata  Enterprise Manager Database Control. U manuelnom režimu rada, koristeći komandu ALTER SYSTEM  smo u mogućnosti da izmjenimo sadržaj spfile. Ukoliko koristimo pfile, DBA može izvršiti izmjenu sadržaja fajla koristeći bilo koji text editor.

Control file je drugi fajl koji Oracle čita pošto je izvršio startovanje instance. I lokacija control file je specificirana kao jedan od parametara u parametar fajlu. Control file je mali binarni fajl koji sadrži kritične informacije za funkcionisanje baze podataka, uključujući imena i lokacije data file-ova i redo log file-ova, tablespace informacije i informacije o uradjenim checkpoint-ima. Oracle koristi informacije iz control fajla da locira data fajlove i da ih otvori kako bi bili na raspolaganju za upotrebu od strane korisnika. Nije moguće startovati bazu podataka ukoliko ne postoji korektan control file. Zbog ovako značajne uloge koju control file ima u Oracle arhitekturi, preporučuje se da korisnici rade sa nekoliko kopija control file-a. Podaci o svim control file-ovima se nalaze u parametar fajlu. Isto kao što je slučaj sa spfile-om, Oracle konstantno vrši ažuriranje sadržaja i control fajla dok je baza podataka otvorena. Ukoliko postoje višestruke kopije control fajlova, svaki od control fajlova se ažuriraju u isto vreijeme sa istim informacijama.

Na kraju, poseban tip fajlova koji se takođe koristi od strane Oracle-a je i password file. Ovaj fajl sadrži parove usernames / passwords za one korisničke naloge kojima je dodjeljena privilegija da podižu i spuštaju bazu podataka.

Advertisements

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s