Professional Documents
Culture Documents
ng vo ngy 14 Thang Tam 2011 lc 22:40 bi Duy Khanh Mc: IT, Oracle, SQL || Tags: Oracle, SQL Bnh lun (4)
Oracle Database l h thng qun l c s d liu quan h (RDBMS) c tch hp cho php qun l thng
thng tin mt cach ton din. Trong bi ny, chng ta s phn tch qua v kin trc ca Oracle Database Server
nh th no nh
I Kt ni ti Oracle Server :
User s logon trc tip trn h thng ang chy Oracle Instance v s dng cac ng dng, cng c
thao tac ln c s d liu ca h thng ny.
User s dng ng dng, cng c t mt may trm no v kt ni ti Oracle Server (m hnh ClientServer). Trong m hnh ny chng ta c 2 thnh phn l: Front-End (client) v Back-End (Server) c kt ni
thng qua mng.
User s truy xut ti mt may ch ng dng (Application Server) trung gian bng cac cng c (nh Web
Browser chn hn) t mt may trm (Client). Sau may ch ng dng trung gian ny s thay mt Client tng
tac vi may ch c s d liu (Database Server).
Qu trnh kt ni ti Database Instance:
V User process v Server process: V mt l thuyt th User khng th thao tac trc tip tip trn c s d liu
c. M User s to ra cac yu cu (gi l User process), cac yu cu ny s c gi ti Server v Server s
thc hin cac yu cu ny (Server Process) tac ng ln c s d liu.
c s d liu Oracle, vic kt ni ti mt Database Instance c hai khai nim m chng ta cn bit
lConnection v Session.
Connection: L qua trnh giao tip gia mt User Process v mt Instance. Con ng lin lc ny c
th c thit lp nh mt trong ba cach kt ni ti Oracle Server m mnh ni trn. C ngha l mt h
thng c th va chy c User Process v Oracle Database, hoc c th tach ra, kt ni thng qua mt mng.
Nh trong hnh cho thy, kin trc ca Oracle Server bao gm 2 thnh phn chnh l: Oracle
Instance vOracle Database.
Oracle Database phn chia v s dng cu trc b nh theo nhiu mc ch khac nhau. V d b nh lu tr
on code chng trnh ang chy, d liu c share gia cac User hoc cac d liu ring t cho mi kt ni
ca User n Server,
C hai cu trc b nh c bn trong mt Instance:
System Global Area (SGA): L vng b nh chia s c s dng lu tr d liu v cac thng tin
iu khin ca Oracle server. c ch nh khi mt Instance c khi ng, v l thnh phn c bn ca mt
Oralce Instance.
Program Global Area (PGA): L mt phn cu trc b nh lu tr dnh cho 1 User process kt ni ti 1
Instance bao gm d liu v thng tin iu khin cho mt Server hoc mt Background process. c ch nh
khi mt Server Process c khi ng.
Library cache: Lu tr nhng nh ngha v nhng on lnh SQL v PL/SQL va c thc thi gn y
nht theo thut gii Least Recently Used (LRU). Library cache bao gm 2 cu trc l Shared SQL area v
Shared PL/SQL area. Kch thc ca vng ny c xac nh bi Shared pool sizing.
Data dictionary cache: Thu thp nhng nh ngha c dng gn y nht trn c s d liu bao gm
cac thng tin v Database file, tables, indexes, columns, user, privileges,Trong qua trnh phn tch c phap
on lnh, Server Process s c cac thng tin nh ngha Data dictionary cache ly tn cac i tng, xac
nhn truy cp,Kch thc ca vng ny c xac nh bi Shared pool sizing.
Control structures.
*** Database Buffer Cache: Lu tr nhng bn copy ca Block d liu c c t Data File. Khi mt on
SQL c thc thi, th Server Process s c cac thng tin t Database buffer cache ly cac block d liu
cn thit, iu ny gip cho tc hot ng ca h thng s cao hn v c trn cache s nhanh hn l c trn
a cng
. Nu cac block d liu khng c trong Database buffer cache th Server process mi c d liu t
data file. Database buffer cache cng s dng thut gii LRU nh Shared Pool.
Redo log buffer c s dng mt cach thng xuyn v cac thay i bi mt transaction c th nm an
xen vi cac thay i ca cac transactions khac.
*** Java Pool v Streams Pool: Java Pool l vng dng cho cac Procedure vit bng Java. Stream Pool dng cho
Oracle Stream.
Program Global Area (OGA) l vng nh ring t bao gm d liu v thng tin iu khin ca mt Server
Process. Mi Server Process u c mt PGA ring bit. PGA bao gm:
Session information.
Cursor information.
2) Process Architecture:
Trong h thng Oracle Database th Process c th c chia lm ba nhm l:
+ V Server Process:
i vi Shares Server: Mt Server Process s phc v cho nhiu User Process (1-n)
+ V Background Process: Thc hin cac chc nng thay cho li gi tin trnh x l tng ng. N iu khin
vo ra, cung cp cac c ch x l song song nng cao hiu qu v tin cy.
C cc Background Process:
Database Writer (DBWn) s c nhim v ghi cac modified (dirty) buffer t Database buffer xung a (Data files).
Nhng trng hp m DBWn thc hin cng vic ghi trn:
C mi 3 giy mt ln.
Xy ra Checkpoint.
+++++ Gii thch thm v cac trng thai ca buffer
Free: trng.
Log Writer Process (LGWR): C nhim v ghi cac Redo log buffer xung mt Redo log file.
Cac trng hp LGWR thc hin cng vic ghi trn:
C mi 3 giy mt ln.
++ Checkpoint (CKPT):
Checkpoint (CKPT) c th c coi nh l mt s kin khi thc hin ghi tt c cac dirty buffer trong SGA, bao
gm c nhng d liu c commit v cha c commit xung Data files.
++ System Monitor Process (SMON):
Process Monitor Process (PMON) c nhim v thu dn sau khi mt Process tht bi:
Quay tr li transaction.
Database c xem xt di hai gc cu trc logic v cu trc vt l . Tuy vy, hai cu trc d liu ny
vn tn ti tach bit nhau, vic qun l d liu theo cu trc lu tr vt l khng gy nh hng ti cu trc
logic
Oracle database c xac nh bi tn mt tn duy nht v c quy nh trong tham s DB_NAME ca
parameter file.
1) Cu trc vt l ca Database:
Cu trc vt l bao gm tp hp cac control file, online redo log file v cac datafile:
a) Datafiles:
Mi mt Oracle database u c th c mt hay nhiu datafiles. Cac database datafiles cha ton b d liu trong
database. Cac d liu thuc cu trc logic ca database nh tables hay indexes u c lu tr di dng vt l
trong
cac
datafiles
ca
database.
Mt s tnh cht ca datafiles:
10
d liu trong mt table thuc database. Trong trng hp thng tin yu cu khng c trong cache memory hin
thi, n s c c trc tip t cac datafiles ra v lu tr vo trong b nh.
Tuy nhin, vic b sung hay thm mi d liu vo database khng nht thit phi ghi ngay vo cac datafile. Cac
d liu c th tm thi ghi vo b nh gim thiu vic truy xut ti b nh ngoi ( a) lm tng hiu nng s
dng h thng. Cng vic ghi d liu ny c thc hin bi DBWn background process.
b) Redo Log Files:
Mi Oracle database u c mt tp hp t 02 redo log files tr ln. Cac redo log files trong database thng
c gi l database's redo log. Mt redo log c to thnh t nhiu redo entries (gi l cac redo records).
Chc nng chnh ca redo log l ghi li tt c cac thay i i vi d liu trong database. Redo log files c s
dng bo v database khi nhng hng hc do s c. Oracle cho php s dng cng mt lc nhiu redo log
gi l multiplexed redo log cng lu tr cac bn sao ca redo log trn cac a khac nhau.
Cac thng tin trong redo log file ch c s dng khi phc li database trong trng hp h thng gp s c
v khng cho php vit trc tip d liu trong database ln cac datafiles trong database. V d: khi c s c xy ra
nh mt in bt cht chng hn, cac d liu trong b nh khng th ghi trc tip ln cac datafiles v gy ra hin
tng mt d liu. Tuy nhin, tt c cac d liu b mt ny u c th khi phc li ngay khi database c m
tr li. Vic ny c th thc hin c thng qua vic s dng ngay chnh cac thng tin mi nht c trong cac
redo log files thuc datafiles. Oracle s khi phc li cac database cho n thi im trc khi xy ra s c.
Cng vic khi phc d liu t cac redo log c gi l rolling forward.
c) Control Files:
Mi Oracle database u c t nht mt control file. Control file cha cac mc thng tin quy nh cu trc vt l ca
database nh:
Tn ca database.
11
Kch thc ca database cng c th xac nh c bng tng kch thc ca cac tablespaces ca n.
b) Schema v Schema Objects:
Schema l tp hp cac i tng (objects) c trong database. Schema objects l cac cu trc logic cho php tham
chiu trc tip ti d liu trong database. Schema objects bao gm cac cu trc nh tables, views, sequences,
stored procedures, synonyms, indexes, clusters, v database links.
c) Data Blocks, Extents, and Segments:
Oracle iu khin khng gian lu tr trn a cng theo cac cu trc logic bao gm cac data blocks, extents, v
segments.
Oracle Data Blocks:L mc phn cp logic thp nht, cac d liu ca Oracle database c lu tr trong cac
data blocks. Mt data block tng ng vi mt s lng nht nh cac bytes vt l ca database trong khng gian
a cng. Kch thc ca mt data block c ch ra cho mi Oracle database ngay khi database c to lp.
12
Database s dng, cp phat v gii phng vng khng gian lu tr thng qua cac Oracle data blocks.
Extents: L mc phn chia cao hn v mt logic cac vng khng gian trong database. Mt extent bao gm mt s
data blocks lin tip nhau, cng c lu tr ti mt thit b lu gi. Extent c s dng lu tr cac thng tin
c cng kiu.
Segments: L mc phn chia cao hn na v mt logic cac vng khng gian trong database. Mt segment l mt
tp hp cac extents c cp phat cho mt cu trc logic
Ng Duy Khnh http://Khanh.Com.Vn
(Bi vit c tham kho ti liu t Oracle v Blog ca ch Moon)
13