3UREOHPDW\NDPDVRZHJRGRVW SXGRED]GDQ\FK±
mity i fakty
Wojciech
.DUZRZVNL3LRWU.RáRG]LHM
Oracle Polska
e–mail: Wojciech.Karwowski@oracle.com, Piotr.Kolodziej@oracle.com
Abstrakt
:GRELHLQWHUQHWRZ\FKV\VWHPyZLQIRUPDW\F]Q\FKFRUD]ZL NV]URO RGJU\ZDLFKVNDORZDOQRü
0DVRZ\ L QLHVNU SRZDQ\ GRVW S GR GDQ\FK PR*H VWZDU]Dü SRZD*QH SUREOHP\ Z\GDMQRFLRZH :EUHZ
RELHJRZ\PRSLQLRP]ZL NV]DQLH]DVREyZV\VWHPRZ\FKQSOLF]E\SURFHVRUyZUR]PLDUXSDPL FLLWSPR*H
QLH SU]\QRVLü VSRG]LHZDQ\FK HIHNWyZ .RQLHF]QH VWDMH VL ]UHZLGRZDQLH NRQVWUXNFML DSOLNDFML L VWUXNWXU\
ED]\ GDQ\FK 5HIHUDW PD QD FHOX REDOHQLH SRZV]HFKQLH VSRW\NDQ\FK PLWyZ GRW\F]F\FK ÄSRSUDZLDQLD
Z\GDMQRFL´SU]HFLZVWDZLDMFLPZHU\ILNRZDOQHIDNW\
1. Skalowanie to nie zawsze to samo
„
,QQRüWRSRZLQQRü” Jan I. Sztaudynger
0yZLFRPLWDFKGRW\F]F\FKVNDORZDQLDV\VWHPyZL]DU]G]DQLDZ\GDMQRFLQDOH*\]DF]ü
od
VSRVWU]H*HQLD *H MX* VDPR SRMPRZDQLH VNDORZDQLD V\VWHPyZ REURVáR OLF]Q\PL PLWDPL
1DMEDUG]LHMSRVSROLW\]QLFKVSURZDG]DVL GRXIQRFLMDNDMHVWSRWU]HEQDE\]DGDü]HPLHUWHOQ
SRZDJS\WDQLHW\SXÄ% G PLDáDDSOLNDFM QD1X*\WNRZQLNyZ,OXQDWRSRWU]HEDSURFHVRUyZ"´
1LHVWHW\ XG]LHOHQLH ZLDU\JRGQHM RGSRZLHG]L QD WR S\WDQLH EH] ]QDMRPRFL FKDUDNWHUX DSOLNDFML
i
SODQRZDQHJR REFL*HQLD SU]HNUDF]D PR*OLZRFL ]Z\NáHJR PLHUWHOQLND =D SU]HNRQDQLX *H
PR*QD RV]DFRZDü ]DSRWU]HERZDQLH QD ]DVRE\ V\VWHPRZH Z\áF]QLH QD SRGVWDZLH OLF]E\
X*\WNRZQLNyZQDOH*\SU]HFLZVWDZLüQDVW
SXMFHIDNW\
1.
6]DFXMF REFL*HQLH V\VWHPX QDOH*\ Z]Lü SRG XZDJ FKDUDNWHU UHDOL]RZDQ\FK ]DGD RUD]
UR]áR*HQLH]DGDQDSRV]F]HJyOQ\FKX*\WNRZQLNyZ
2.
:V\VWHPDFKZNWyU\FKUyZQROHJOHZ\NRQ\ZDQHV]DGDQLDLQWHUDNW\ZQHLZVDGRZHFDáNRZLWH
REFL*HQLHV\VWHPXZVHQVLH]X*\FLD jego zasobów ZQDMZL NV]\PVWRSQLX]DOH*\RG charakteru
L OLF]E\ XUXFKDPLDQ\FK ]DGD ZVDGRZ\FK L Z VWRVXQNRZR QLHZLHONLP VWRSQLX RG liczby
X*\WNRZQLNyZ
.ROHMQ\ PLW GRW\F]\ IRUPXáRZDQLD FHOX GR NWyUHJR VL G*\ SU]\ SUDFDFK QDG Z\GDMQRFL
V\VWHPX 6SRW\ND VL
F]DVHP FHO VIRUPXáRZDQ\ MDNR QS XWU]\PDQLH F]DVX MDáRZHJR SURFHVRUyZ
na
SR]LRPLHNLONXG]LHVL FLXSURFHQW7\PF]DVHPZ V\VWHPLH Z NWyU\P XUXFKRPLRQD MHVW SHZQD
OLF]ED]DGDZVDGRZ\FKEG(UDSRUWyZREHFQRüF]DVXMDáRZHJRSURFHVRUyZMHVWUDF]HMREMDZHP
QLHSRNRMF\P JG\* ]DGDQLD ]DPLDVW VL
Z\NRQ\ZDü QDMZ\UD(QLHM QD FR RF]HNXM 3RQDGWR
w
V\VWHPLH Z NWyU\P SURFHVRU\ QLH Z\NRQXM F\NOL MDáRZ\FK PR*H ZFL* LVWQLHü GX*D UH]HUZD
SU]HSXVWRZRFL
.U\WHULXPGREUHMZ\GDMQRFLQLHPR*QDVIRUPXáRZDüZ\áF]QLH]DSRPRFNDWHJRULLVWDW\VW\N
V\VWHPX RSHUDF\MQHJR F]\ VHUZHUD ED]\ GDQ\FK 1DMLVWRWQLHMV]H MHVW RVLJQL FLH Z\PDJDQHJR
SR]LRPXREFL*HQLDZ\NRQ\ZDQ\PLRSHUDFMDPLRUD]DNFHSWRZDOQHJRF]DVXLFKUHDOL]DFML
2GSU]\E\WNXJáRZDQLHEROL"
6]HURNRUR]SRZV]HFKQLRQ\MHVWSRJOG*HUR]EXGRZDNRQILJXUDFMLVSU] WRZHMMHVWQDMV]\EV]\P
i
QDMHIHNW\ZQLHMV]\P VSRVREHP VNDORZDQLD V\VWHPX 2SLHUD VL QD VáXV]Q\P VNGLQG
VSRVWU]H*HQLX *H PRG\ILNRZDQLH RSURJUDPRZDQLD MHVW F]\QQRFL GX*R EDUG]LHM ]áR*RQ QL*
Z\PLDQD VSU]
WX L JUR]L GRGDWNRZR XWUDW IXQNFMRQDOQRFL EG( VWDELOQRFL ]H Z]JO
GX
na
PR*OLZRüZSURZDG]HQLDQRZ\FKEá GyZZRSURJUDPRZDQLX
38
Wojciech
.DUZRZVNL3LRWU.RáRG]LHM
7HJRURG]DMXSRGHMFLHMHVWVáXV]QHZSU]\SDGNXJG\ZVNLPJDUGáHPV\VWHPXMHVWU]HF]\ZLVW\
QLHGRVWDWHN]DVREyZEUDNPRF\SURFHVRUyZQLHGRVWDWHNSDPL FLEG(QLHZ\VWDUF]DMFDZ\GDMQRü
XU]G]HZHMFLDZ\MFLD]DRSW\PDOL]DFMDDSOLNDFMLQLHSR]RVWDZLDZLHOHGR*\F]HQLD1LHQDOH*\
VL
MHGQDN VSRG]LHZDü GREUHJR VNDORZDQLD F]\ UR]ZL]DQLD SUREOHPyZ Z\GDMQRFLRZ\FK
w przypadku, gdy zapotrzebowanie na zasoby systemowe jest spowodowane przede wszystkim
SU]H] ]á RSW\PDOL]DFM QS ]áH LQGHNVRZDQLH QLHHIHNW\ZQ\ SODQ Z\NRQDQLD ]DS\WD 64/ LWG
:]URVWSU]HSXVWRZRFLEG(VNUyFHQLHF]DVXUHDNFMLE
GSUDZGRSRGREQLHQLHZVSyáPLHUQLHQLVNLH
w stosunku do wzrostu zasobów systemowych.
=ZL NV]HQLH Z\GDMQRFL PR*H ZFDOH QLH QDVWSLü Z SU]\SDGNX JG\ GRGDZDQLH ]DVREyZ
V\VWHPRZ\FK VWDQRZL DNW GHVSHUDFML VSRZRGRZDQ\ W\P *H WDN QDSUDZG QLH ZLDGRPR FR MHVW
SU]\F]\Q SUREOHPyZ Z\GDMQRFLRZ\FK QS QDJá\FK L WUXGQ\FK GR Z\WáXPDF]HQLD VSRZROQLH
SUDF\ : ZL NV]RFL WHJR URG]DMX SU]\SDGNyZ SU]\F]\Q QDOH*\ GRSDWU\ZDü VL Z SUREOHPDFK
]ZL]DQ\FK ] NRPXQLNDFM VLHFLRZ RUD] V\QFKURQL]DFM GRVW SX SURFHVyZ GR ZVSyáG]LHORQ\FK
]DVREyZ 3UREOHP\ V\QFKURQL]DF\MQH PRJ PLHü PLHMVFH QD SR]LRPLH ORJLF]Q\P DSOLNDFML QS
RF]HNLZDQLH QD EORNDGDFK ]ZL]DQ\FK ] PRG\ILNDFM ZLHUV]\ Z WDEHODFK RUD] ZHZQ WU]Q\P
VHUZHUD ED]\ GDQ\FK 2UDFOH EG( V\VWHPX RSHUDF\MQHJR : VSHF\ILF]Q\FK SU]\SDGNDFK GRGDQLH
]DVREyZPR*HZU F]SRJRUV]\üZ\GDMQRüV\VWHPX
6SLHV]VL SRZROL"
3RZV]HFKQLH VL XZD*D L* ]ZL NV]HQLH V]\ENRFL SURFHVRUyZ SURZDG]L ]DZV]H GR VNUyFHQLD
F]DVXUHDNFML3RJOGWDNLPR*HE\üFDáNRZLFLHVáXV]Q\ZSU]\SDGNXV\VWHPXZNWyU\PZ\VW SXMH
W\ONR MHGHQ SURFHV 7\PF]DVHP ]DOH*QLH RG DOJRU\WPX SURJUDPX V]HUHJXMFHJR RUD] FKDUDNWHUX
]DGD PR*H Z SHZQ\FK ZDUXQNDFK GRMü GR Z\GáX*HQLD F]DVX UHDNFML SHZQ\FK SURFHVyZ
w
SU]\SDGNX]ZL NV]HQLDSU GNRFLSURFHVRUyZ-HVWWRSUDZGRSRGREQHZV\VWHPDFKZNWórych
UyZQROHJOH XUXFKDPLDQH V ]DGDQLD LQWHUDNW\ZQH RUD] ]DGDQLD ZVDGRZH EG( GX*H UDSRUW\ ±
]ZL NV]HQLH PRF\ SURFHVRUyZ PR*H GRSURZDG]Lü GR Z\GáX*HQLD F]DVX REVáXJL SURFHVyZ
LQWHUDNW\ZQ\FK:\MDQLHQLHWHJRIHQRPHQXQDSRGVWDZLHWHRULLNROHMNRZDQLDPR*QD]QDOH(üQS
w pracy [2].
3RGREQ\ HIHNW PR*H E\ü Z\ZRáDQ\ WDN*H SU]H] PHFKDQL]P ]DU]G]DQLD SDPL FL ZLUWXDOQ
(Virtual Memory Manager) w systemach operacyjnych, w których mechanizm ten jest zintegrowany
z dynamicznym buforem plikowym. W przypadku pewnego
QLHGRERUX SDPL FL XUXFKRPLHQLH
]DGDZVDGRZ\FKLQWHQV\ZQLHNRU]\VWDMF\FK]V\VWHPXSOLNyZPR*HVSRZRGRZDüÄSRGNUDGDQLH´
VWURQSURFHVRPLQWHUDNW\ZQ\P]UHJXá\RF]HNXMF\PQD]GDU]HQLD,QWHQV\ZQH]DSRWU]HERZDQLHQD
SDPL ü SRWU]HEQ QD EXIRURZDQLH RSHUDFML ZHMFLDZ\MFLD SURZDG]L GR ]ZROQLHQLD RVWDWQLR QLH
X*\ZDQ\FKVWURQSDPL FLDOJRU\WP/58:]URVWV]\ENRFLSURFHVRUDR]QDF]DZWDNLPSU]\SDGNX
]ZL NV]HQLHDNW\ZQRFL]DGDZVDGRZ\FK]ZL NV]HQLH]DSRWU]HERZDQLDQDZROQSDPL üLW\P
VDP\P SUDZGRSRGRELHVWZD Z\GáX*HQLD UHDNFML SURFHVyZ LQWHUDNW\ZQ\FK Z ]ZL]NX ]H
]ZL NV]RQ\PVWURQLFRZDQLHPQDOH*F\FKGRQLFKREV]DUyZ
3U]\NáDG ] PHFKDQL]PHP ]DU]G]DQLD SDPL FL ZLUWXDOQ VWDQRZL LOXVWUDFM GREU]H ]QDQ\FK
zasad:
1.
1DOH*\GRGDZDüWH]DVRE\NWyU\FKQDMEDUG]LHMEUDNXMH
2.
'RGDQLH]DVREyZPR*HVSRZRGRZDü]ZL NV]RQH]DSRWU]HERZDQLHQD]DVRE\LQQHJRURG]DMX
2.2. Superkomputery dobre na wszystko?
:VSyáF]HVQHNRPSXWHU\RIHUXMPR*OLZRFLNRQILJXURZDQLDFRUD]ZL NV]HMOLF]E\SURFHVRUyZ
w
architekturze SMP. Zastosowani
H UR]ZL]D ]QDQ\FK ZF]HQLHM Z WHFKQRORJLDFK
superkomputerowych pozwala na uzyskanie bardzo wysokiej mocy obliczeniowej oraz wysokiej
SU]HSXVWRZRFL SU]\ WUDQVPLVMDFK GDQ\FK DQJD*XMF\FK SDPL ü RUD] XU]G]HQLD ZHMFLDZ\MFLD
:Z FHFK\ V\VWHPyZ ZLHORSURFHVRURZ\FK VSUDZLDM *H VáXV]QLH XZD*D VL MH ]D GRVNRQDá
SODWIRUP GOD systemów baz danych.
3UREOHPDW\NDPDVRZHJRGRVW SXGRED]GDQ\FK±PLW\ i fakty
39
= GUXJLHM VWURQ\ ]GDU]DM VL V\WXDFMH NLHG\ SR XUXFKRPLHQLX QLHNWyU\FK DSOLNDFML
na
PDV]\QDFK NLONXQDVWRSURFHVRURZ\FK SUREOHP\ Z\GDMQRFLRZH VL SRJá ELDM = UHJXá\
FKDUDNWHU\]XM VL
RQH VWRSQLRZ\P SRJDUV]DQLHP Z\GDMQRFL ± Z\GáX*DQLHP F]DVX UHDNFML D*
do
Z\VWSLHQLDREMDZyZ]DZLHV]HQLD
=MDZLVNRWRPR*QDWáXPDF]\üPLQQDSRGVWDZLHPRGHOXVNDORZDOQRFLDSOLNDFMLQDPDV]\QDFK
ZLHORSURFHVRURZ\FK U\V =DNáDGD RQ LVWQLHQLH WU]HFK SRGVWDZRZ\FK REV]DUyZ ± Z]URVWX
Z\GDMQRFL QDV\FHQLD RUD] VSDGNX Z\GDMQRFL &KRFLD* SU]\M
FLH OLQLRZRFL FKDUDNWHU\VW\NL
we
ZV]\VWNLFKWU]HFKREV]DUDFKMHVWEDUG]RGX*\PXSURV]F]HQLHPWRPRGHOWHQMHVWZ]XSHáQRFL
Z\VWDUF]DMF\ GOD LOXVWUDFML RPDZLDQ\FK ]MDZLVN ,QQ QLHGRVNRQDáRFL PRGHOX MHVW RF]\ZLVWD
WUXGQRü Z MHGQR]QDF]Q\P SU]HáR*HQLX GRü VXELHNW\ZQLH SRMPRZDQHM Z\GDMQRFL QD ZDUWRFL
liczbowe
1
.
5\V0RGHOVNDORZDOQRFLDSOLNDFMLQDPDV]\QDFKZLHORSURFHVRURZ\FK
3RGVWDZRZ\PLSDUDPHWUDPLPRGHOXV
•
N
N
± OLF]ED SURFHVRUyZ SRZ\*HM NWyUHM GRGDQLH GR V\VWHPX QDVW SQ\FK SURFHVRUyZ QLH
SU]\QRVL]DXZD*DOQHJRZ]URVWXZ\GDMQRFL
•
N
S
± OLF]ED SURFHVRUyZ SRZ\*HM NWyUHM GRGDQLH GR V\VWHPX QDVW SQ\FK SURFHVRUyZ
SRZRGXMHVSDGHNZ\GDMQRFL
:DUWRFLSDUDPHWUyZSRZ\*V]HJRPRGHOXRUD]QDFK\OHQLDFKDUDNWHU\VW\NZREV]DU]HZ]URVWX
EG(VSDGNXZ\GDMQRFL]DOH*RGNRQVWUXNFMLVSU]
WXV\VWHPXRSHUDF\MQHJRVHUZHUDED]\GDQ\FK
i przede wszystkim,
NRQVWUXNFML DSOLNDFML RUD] SODQRZDQHJR REFL*HQLD V\VWHPX Z F]DVLH
HNVSORDWDFML : SU]\SDGNX EDUG]R GREU]H VNRQVWUXRZDQ\FK DSOLNDFML PR*QD VL VSRG]LHZDü
GREUHJRVNDORZDQLDVHUZHUDED]\2UDFOHGRSU]\QDMPQLHMNLONXG]LHVL FLXSURFHVRUyZ
: DUFKLWHNWXUDFK VXSHUNRPSXWHURZ\FK QDV\FHQLH L VSDGHN Z\GDMQRFL ]ZL]DQH V SU]HGH
ZV]\VWNLP ]H Z]UDVWDMF\P NRV]WHP V\QFKURQL]DFML GRVW
SX GR ZHZQ
WU]Q\FK ]DVREyZ VHUZHUD
bazy Oracle oraz systemu operacyjnego na poziomie zatrzasków (latches, spinlocks). W istocie
]DJDGQLHQLH V\QFKURQL]DFML GRVW
SX GR NU\W\F]Q\FK ]DVREyZ VHUZHUD ED]\ 2UDFOH Z V\VWHPDFK
wieloprocesorowych jest analogiczne, jak w przypadku systemów operacyjnych. W
obu
1
2GF]HJRMHGQDNVIXQNFMHNU\WHULDOQH"=DZV]HPR*QD]PDMVWURZDüMDNQDSRF]HNDQLX
/LF]EDSURFHVRUyZ
N
N
N
S
:]URVWZ\GDMQRFL
1DV\FHQLH
6SDGHNZ\GDMQRFL
:\GDMQRü
1
40
Wojciech
.DUZRZVNL3LRWU.RáRG]LHM
SU]\SDGNDFK NODV\F]Q PHWRG
RFKURQ\ FLH*HN NU\W\F]Q\FK ]DVWSLRQR SU]H] ]RULHQWRZDQ
na
VWUXNWXU GDQ\FK RFKURQ ]DVREyZ NU\W\F]Q\FK. Bez przebudowy mechanizmu szeregowania
GRVW
SXGRNU\W\F]Q\FKREV]DUyZMGUDQLHE\áRE\PR*OLZHHIHNW\ZQHVNDORZDQLHV\VWHPyZQDZHW
dla konfiguracji kilkuprocesorowej.
W przypadku serwera bazy danych Oracle, do dobrego skalowania na maszynach SMP istotny
MHVWRSW\PDOQ\NRGDSOLNDFMLQLHSRZRGXMF\]E\WF]
VW\FKRF]HNLZDQDV\QFKURQL]DFM
GRVW
SX
do
NU\W\F]Q\FK ]DVREyZ MGUD Z REV]DU]H G]LHORQ\P 6*$ 2F]HNLZDQLD ]ZL]DQH
z
V\QFKURQL]DFM PDM PLHMVFH ZyZF]DV JG\ ] SRZRGX PRG\ILNRZDQLD REV]DUyZ NU\W\F]Q\FK
SU]H]LQQHSURFHV\QLHPR*OLZHE\áRE\]DSHZQLHQLHVSyMQRFLZ\NRQ\ZDQHMRSHUDFML=DJDGQLHQLH
V\QFKURQL]DFMLQDELHUDZDJLZUD]]HZ]URVWHPOLF]E\SURFHVyZPRJF\FKUyZQROHJOHX]\VNLZDü
GRVW SGRSDPL FL±SRUHGQLR]DWHP]DOH*\RGOLF]E\X*\WNRZQLNyZRUD]RGOLF]E\SURFHVRUyZ
1DMF] FLHM VSRW\NDQD SUREOHPDW\ND V\QFKURQL]DFML GRVW SX GR ]DVREyZ ZVSyáG]LHORQ\FK
w warunkach pracy wielu sesji obejmuje m.in.:
1.
=DM WRü REV]DUX library cache ]ZL]DQ ] MHJR LQWHQV\ZQ\P ]DSHáQLDQLHP SU]H] NXUVRU\
NWyUHQLHVZVSyáG]LHORQH7HJRURG]DMXSUREOHP\VVSRZRGRZDQHSU]H]PLQ
•
1LHZáDFLZ PHWRG\N SDUDPHWU\]RZDQLD G\QDPLF]QLH JHQHURZDQ\FK LQVWUXNFML 64/
SROHJDMFQSQDEH]SRUHGQLPZSLV\ZDQLXSDUDPHWUyZ]DPLDVWZDUWRFLZL]DQ\FKbind
variables)
2
-HVW WR V]F]HJyOQLH GRWNOLZH JG\ SUREOHP MHVW XPLHMVFRZLRQ\ Z F] VWR
Z\NRQ\ZDQHMVHNFMLNRGX-HGQ\P]QDMEDUG]LHMRF]\ZLVW\FKMHJRSU]HMDZyZMHVWREHFQRü
wielu niemal identycznych kursorów w tabeli dynamicznej V$SQLAREA
3
.
•
.RQLHF]QRüXWU]\P\ZDQLDZLHOXZHUVMLWHJRVDPHJRNXUVRUD]DS\WDQLD&] VWSU]\F]\Q
MHVW SURMHNW ED]\ GDQ\FK L DSOLNDFML ]DNáDGDMF\ XWU]\P\ZDQLH Z VFKHPDFLH ND*GHJR
z
X*\WNRZQLNyZ ÄZDUVWZ\´ RELHNWyZ SRUHGQLFK V\QRQLPyZ SHUVSHNW\Z PRGXáyZ
3/64/:WDNLPSU]\SDGNXZWDEHOL964/$5($PR*QD]DREVHUZRZDüZ\VRNZDUWRü
DWU\EXWX 9(56,21B&2817 SU]\ NXUVRUDFK NWyUH Z\NRU]\VWXM SDUDPHWU\]DFM SU]H]
ZDUWRFLZL]DQH
2.
.RQLHF]QRü XWU]\P\ZDQLD ZLHOX QHJDW\ZQ\FK ]DOH*QRFL GOD Z\NRU]\VW\ZDQ\FK QD]Z
w przestrzeniach nazewniczych (namespaces
X*\WNRZQLNyZ -HVW WR W\SRZ\ HIHNW EDUG]R
F] VWHJR RGZRá\ZDQLH VL GR RELHNWyZ ED]\ GDQ\FK ]D SRUHGQLFWZHP V\QRQLPyZ
SXEOLF]Q\FK1LHVWDQRZLWRMHGQDNLVWRWQHJRSUREOHPXZSU]\SDGNXJG\VHVMHVXUXFKDPLDQH
na
SUDZDFKX*\WNRZQLNyZED]\2UDFOHQSUR]ZL]DQLDRSDrte o NDUWU\G*H3/64/
3.
:\VRN ]DM WRü EXIRUD ED]RZHJR buffer cache ± VSRZRGRZDQ SU]H] LVWQLHQLH UR]OHJá\FK
ÄJRUF\FK REV]DUyZ´ DSOLNDFML hot spot area 2EV]DU\ WH FKDUDNWHU\]XM VL EDUG]R Z\VRN
F] VWRFLRGF]\WyZL]DSLVyZ
3RZ\*V]H ]DJDGQLHQLD SUDZLH Z FDáRFL QDOH* GR VIHU\ SURMHNWX L NRQVWUXNFML VFKHPDWX ED]\
GDQ\FK L DSOLNDFML =QDF]QH LFK QDVLOHQLH PR*H VSRZRGRZDü *H FKDUDNWHU\VW\ND VNDORZDQLD
DSOLNDFMLQDPDV]\QDFK603ZHMG]LHZREV]DUQDV\FHQLDOXE]QDF]QHJRVSDGNXZ\GDMQRFLMX*GOD
RNRáRSURFHVRUyZ
Wnioski:
1.
-DNQDLURQL VXSHUNRPSXWHU\Z\PDJDMGREU]H]RSW\PDOL]RZDQ\FKDSOLNDFML:V]F]HJyOQRFL
NRQLHF]QH MHVW ]PLQLPDOL]RZDQLH OLF]E\ RSHUDFML Z\PDJDMF\FK Z\áF]QRFL GRVW SX
2
3U]HND]\ZDQLH NU\WHULyZ GR ]DS\WDQLD ]D SRPRF OLWHUDáyZ PD X]DVDGQLHQLH QS Z Z\SDGNX GX*\FK
]DS\WD ad-hoc JG\* W\ONR ZWHG\ RSW\PDOL]DWRU NRV]WRZ\ PR*H VNRU]\VWDü ] KLVWRJUDPyZ 7HJR W\SX
]DS\WDQLDVZ\NRQ\ZDQHQDW\OHU]DGNR*HQLHSRZLQQ\ZSá\ZDüQD]DM WRüREV]DUXlibrary cache.
3
W serwerze bazy Oracle 8i
SRMDZLD VL PR*OLZRü wymuszenia ZVSyáG]LHOHQLD ZZ ]DS\WD SU]H]
ustawienie parametru CURSOR_SHARING=FORCE. N
DOH*\ VL jednak OLF]\ü z pewnym wSá\ZHP WHJR
XVWDZLHQLDQDSUDF optymalizatora kosztowego.
3UREOHPDW\NDPDVRZHJRGRVW SXGRED]GDQ\FK±PLW\ i fakty
41
do
ZHZQ WU]Q\FK VWUXNWXU VHUZHUD ED]\ GDQ\FK OH*F\FK Z REV]DU]H ZVSyáG]LHORQ\P shared
pool).
2.
'HF\]M R ]DVWRVRZDQLX VXSHUNRPSXWHUD ZDUWR SRSU]HG]Lü EDGDQLHP DSOLNDFML SRG NWHP
RSW\PDOL]DFML GRVW
SX GR ]DVREyZ G]LHORQ\FK : QLHNWyU\FK SU]\SDGNDFK SR]ZROL WR
na
XQLNQL FLH SU]\NUHJR UR]F]DURZDQLD IDNWHP *H FKDUDNWHU\VW\ND VNDORZDOQRFL DSOLNDFML
na maszynach SMP wykazuje znaczny jej spadek dla posiadanej liczby procesorów.
.áDPVWZD
benchmarki i statystyki?
:RNyáVWDQGDUGRZ\FKWHVWyZZ\GDMQRFLRZ\FKPLQ73&&L73&'QDURVá\GZDQDZ]DMHP
sprzeczne nieporozumienia. Pierwsze polega na bezkrytycznym przenoszeniu uzyskanych
UH]XOWDWyZ QD VIHU ZGUD*DQHJR V\VWHPX GUXJLH ] NROHL SROHJD QD FDáNRZLW\P QHJRZDQLX LFK
ZDUWRFL
/LF]E\MDNWROLF]E\Z\PDJDMLQWHUSUHWDFML,PEDUG]LHMFKDUDNWHU\VW\NDU]HF]\ZLVWHMDSOLNDFML
E\áDE\ ]EOL*RQD GR DSOLNDFML 73& W\P EDUG]LHM Z\QLNL WHVWyZ E\á\E\ PLDURGDMQH GOD RNUHOHQLD
SODQRZDQHJRREFL*HQLD1LHVWHW\U]HF]\ZLVWHDSOLNDFMHLVWRWQLHUy*QLVL
PL
G]\VRELSUDZLH
w
QLF]\PQLHFKFSU]\SRPLQDüDSOLNDFMLX*\ZDQ\FKZWHVWDFK73&FKRüE\GODWHJR*HV]UHJXá\
GX*R EDUG]LHM VNRPSOLNRZDQH 1LH VSRVyE WH* ]QDOH(ü ZLDU\JRGQHM IRUPXá\ SR]ZDODMFHM
na
SU]HáR*HQLH REFL*HQLD VWRVRZDQHJR Z WHVWDFK QD REFL*HQLH Z\VW SXMFH Z U]HF]\ZLVW\P
systemie.
3RPLPR WR Z\QLNL X]\VNDQH Z WHVWDFK 73&&73&' SRVLDGDM ZDUWRü LVWRWQ SU]\
VNDORZDQLXV\VWHPyZL]DU]G]DQLXZ\GDMQRFL
•
=UHJXá\VWDQRZLGRüGREUHRV]DFRZDQLHgórnych JUDQLFPR*OLZRFLVNDORZDQLDV\VWHPX
•
3R]ZDODMQDSRUyZQDQLHPR*OLZRFLVSU] WXLRSURJUDPRZDQLDV\VWHPRZHJR'RWHJRFHOX
]RVWDá\VWZRU]RQH
=H Z]JO GX QD IDNW *H QD SRGVWDZLH Z\QLNyZ VWDQGDUGRZ\FK WHVWyZ QLH VSRVyE RNUHOLü
Z\GDMQRFL U]HF]\ZLVW\FK DSOLNDFML NRQLHF]QH MHVW VDPRG]LHOQH SURZDG]DQLH EDGD Z\GDMQRFL
1DMF] FLHMREVHUZRZDQHMHVWREFL*HQLHV\VWHPXLF]DV\UHDNFMLZ\EUDQ\FKIXQNFMLDSOLNDFML
1DMF] FLHMVSRW\NDQHSUREOHP\]ZL]DQH]PHWRGEDGDQLDZ\GDMQRFLU]HF]\ZLVWHMDSOLNDFML
REHMPXMPLQ
1.
,QQ\FKDUDNWHUREFL*HQLDV\VWHPXSU]\U]HF]\ZLVWHMSUDF\MDNZF]DVLHWHVWyZ
2.
1LHXZ]JO
GQLHQLH FKDUDNWHU\VW\NL REFL*HQLD ]ZL]DQHM ] XUXFKRPLHQLHP GX*HM OLF]E\ VHVML
na
SUDZDFKUy*Q\FKX*\WNRZQLNyZSRUSUREOHP\RSLVDQHZSXQNFLH
8]\VNDQDFKDUDNWHU\VW\NDZ\GDMQRFLFKRüE\REFL*RQDQLHGRNáDGQRFLDPLVWDQRZLQDMOHSV]
SRGVWDZ GR RNUHOHQLD GRFHORZ\FK Z\PDJD VSU] WRZ\FK V\VWHPRZ\FK RUD] GRFHORZHM
SU]HSXVWRZRFLV\VWHPX'RGDWNRZNRU]\FLZ\QLNDMF]SURZDG]HQLDWHVWyZZ\GDMQRFLRZ\FK
DSOLNDFMLMHVWPR*OLZRüZ\FKZ\FHQLDSUREOHPyZDSOLNDFMLSU]HGRGGDQLHPMHMGRHNVSORDWDFML
Wniosek:
/HSV]HQLHGRVNRQDáHEDGDQLHZ\GDMQRFLU]HF]\ZLVWHMDSOLNDFMLQL**DGQH
4. Cudowne lekarstwa?
1DWXUDOQUHDNFMQDZ\VWSLHQLHSUREOHPyZZ\GDMQRFLRZ\FKZID]LHZGUR*HQLDV\VWHPXEG(
MHJR HNVSORDWDFML MHVW SRV]XNLZDQLH URGNyZ ]DUDGF]\FK 1LHVWHW\ ] UHJXá\ QLH LVWQLHM áDWZH
UR]ZL]DQLD JG\ SUREOHP Z\GDMQRFLRZ\ MHVW Já ERNR ]DNRU]HQLRQ\ Z QDWXU]H DSOLNDFML QS
SURMHNFLHVWUXNWXU\ED]\GDQ\FKSU]\M W\FKNRQZHQFMDFKLWG
42
Wojciech
.DUZRZVNL3LRWU.RáRG]LHM
3U]\M FLHGRZLDGRPRFL*HG]LHáRZNWyUHZáR*\áRVL ZLHOHZ\VLáNXLF] VWRZLHOHVHUFDPR*H
Z\PDJDü F]DVRFKáRQQ\FK SRSUDZHN EG( JUXQWRZQHM SU]HEXGRZ\ ] UHJXá\ MHVW EDUG]R WUXGQH
i budzi
PQLHMOXEEDUG]LHMZLDGRP\RSyU-HVWWRQLHRPDOQLHPR*OLZHZDWPRVIHU]H]DJUR*HQLD±
np. w przypadkach
QLHNRQVWUXNW\ZQHJR IRUPXáRZDQLD NZHVWLL RGSRZLHG]LDOQRFL QDSL W\FK
KDUPRQRJUDPyZQLHUHDOLVW\F]Q\FKZ\PDJDEG(]RERZL]DRUD]RVWU\FKNRQIOLNWyZ
7HJRURG]DMXV\WXDFMHVSU]\MDM]DFKRZDQLRPXFLHF]NRZ\P±w sferzeWHFKQLF]QHMSU]HMDZLDM
VL VNXSLHQLHPQDSRV]XNLZDQLDFKVSRVREXZZ\QLNXNWyUHJRSUREOHP\]QLNQMDN]DGRWNQL FLHP
F]DURG]LHMVNLHM Uy*G*NL 3RV]XNLZDQLH XGRVNRQDOH VDPR Z VRELH MHVW U]HF] EDUG]R SR]\W\ZQ
-HGQDN ]QDOH]LHQLH UR]ZL]DQLD SUREOHPX MHVW PDáR SUDZGRSRGREQH JG\ ZLDGRPLH EG(
QLHZLDGRPLHXFLHNDVL SU]HGSR]QDQLHPMHJRJHQH]\RUD]]ZL]DQ\FK]QLPPHFKDQL]PyZ
3U]\NáDGHPVGHF\]MHRUR]EXGRZLHVSU] WXZV\WXDFMLJG\QDWXUDSUREOHPXMHVWQLHGRNRFD
]QDQD : SXQNFLH SRND]DQR *H LFK HIHNW\ PRJ E\ü SU]HFLZQH GR ]DPLHU]RQ\FK ,QQ\P
QLHU]DGNR VSRW\NDQ\P SU]\NáDGHP V SUyE\ SUDNW\F]QHM UHDOL]DFML SRJOGX *H Z\VWDUF]\
]EXIRURZDüFDáED] GDQ\FKZSDPL FLE\Z\HOLPLQRZDüSUREOHP\]ZL]DQHGáXJLPF]DVHP
UHDOL]DFML]DS\WD64/3RPLMDMFIDNW*HQDZHWGODQLHGX*\FKV\VWHPyZSRVWXODWWHQMHVWZFL*
WUXGQ\ GR VSHáQLHQLD WR ]ZL NV]HQLH SU GNRFL WUDQVPLVML GR SURFHVRUyZ GX*\FK LORFL GDQ\FK
NRQVHNZHQFMD ]áHM RSW\PDOL]DFML SRZRGXMH ]QDF]QH ]ZL
NV]HQLH LFK ]DM
WRFL RUD] REFL*HQLH
szyn systemowych. W takim przypadku m
R*QD VL VSRG]LHZDü *H Z V\VWHPLH SRZVWDQLH ZVNLH
JDUGáRZSRVWDFLQLHGRVWDWNXPRF\REOLF]HQLRZHM,QQ\PSUREOHPHPVWDQVL OLF]QHRF]HNLZDQLD
Z ]ZL]NX ] V\QFKURQL]DFM GRVW
SX GR ZVSyáG]LHORQHJR EXIRUD ED]RZHJR L ]DU]G]DQLHP
kolejkami LRU.
-DN ND*GD XFLHF]ND RG SUREOHPX ]DFKRZDQLH WR QLH SU]\QRVL SR*GDQ\FK HIHNWyZ ± SUREOHP
]D]Z\F]DM SRZUDFD F] VWR ]H ]GZRMRQ VLá 6\WXDFMD ] UHJXá\ VWDMH VL GX*R WUXGQLHMV]D ±
QLHHIHNW\ZQLHZ\NRU]\VWDQRVSRURFHQQHJRF]DVXSRQLHVLRQH]RVWDá\QLHHIHNW\ZQHQDNáDG\EXG*HW
]RVWDMHQDGV]DUSQL W\FLHUSOLZRüX*\WNRZQLNDWH*
Wniosek:
5HDOQ V]DQV QD WUZDáH L VDW\VIDNFMRQXMFH UR]ZL]DQLH SUREOHPX GDMH SR]QDQLH
i
RGG]LDá\ZDQLHQDjego przyczyny.
8F]QLRZLHF]DUQRNVL *QLND
5R]ZyM VSU] WX L RSURJUDPRZDQLD GDMH PR*OLZRFL WZRU]HQLD UR]ZL]D FRUD] EDUG]LHM
Z\GDMQ\FK L VNDORZDOQ\FK 1RZH VSHF\ILF]QH FHFK\ VWDQRZL PLQ RGSRZLHG( QD ]QDQH
z
QLHNWyU\FKZF]HQLHMV]\FKGRZLDGF]HEDULHU\IXQNFMRQDOQHLZ\GDMQRFLRZH
%DUG]RVLOQLH]DNRU]HQLRQ\PLF] VWRZ\VW SXMF\P]DFKRZDQLHP]FDáSHZQRFLZ\NUDF]D
WR SR]D VIHU PLWX MHVW ZHZQ WU]Q\ SU]\PXV GR Z\NRU]\VWDQLD FHFK RZLDQ\FK IDVF\QXMF\P
QLPEHP QRZRFL EG( WDMHPQLFy QLH]DOH*QLH RG WHJR F]\ U]HF]\ZLFLH LVWQLHMH potrzeba
]DVWRVRZDQLDQRZHMIXQNFMRQDOQRFL'DMHVL
]DXZD*\üV\QGURPXF]QLDF]DUQRNVL
*QLND±áDWZH
wprawianie w ruch coraz bardziej
]áR*RQ\FKPHFKDQL]PyZQDG którymi áDWZR WUDFL VL NRQWURO
wskutek braku
ZLHG]\LXPLHM WQRFL, do których zdobycia konieczny jest czas i odpowiedni zbiór
GRZLDGF]H. 1LHPQLHMLVWRWQHZ\GDMHVL QDEUDQLHZáDFLZHJRVWRVXQNXGR QRZ\FKPR*OLZRFL,
SR]ZDODMFH QD dokonanie Z SHáQL ZLDGRPHJR Z\ERUu XZ]JO
GQLDMFHJR ]DáR*RQ\ cel,
spodziewane zyski jak i
PR*OLZH koszty. Wbrew zamierzeniom, QLHSU]HP\ODQH
i nieskoordynowane zastosowanie
QRZHM IXQNFMRQDOQRFL PR*H VSRZRGRZDü SRZD*QH SUREOHP\
]ZL]DQH]Z\GDMQRFLLVWDELOQRFLV\VWHPX
3U]\NáDG\RSLVDQ\FKZ\*HMG]LDáDVF] VWRLGHQW\F]QHMDNG]LDáDQLDRSLVDQHZSXQNtach 2 i 4.
3RQDGWRGRWHMNDWHJRULLPR*QD]DOLF]\üQS
•
Uruchamianie parallel query i parallel execution
QD PDV]\QDFK QLH SRVLDGDMF\FK
stosownych zasobów – np. jednoprocesorowych, w systemach z niedoborem mocy
REOLF]HQLRZHM]QLHGRVWDWHF]QZ\GDMQRFLG\VNyZ
3UREOHPDW\NDPDVRZHJRGRVW SXGRED]GDQ\FK±PLW\ i fakty
43
•
3UyE\ ]ZL NV]HQLD Z\GDMQRFL systemu poprzez zastosowanie Oracle Parallel Server bez
SRGM
FLDSUDFZNLHUXQNXPLQLPDOL]DFMLQDU]XWX]ZL]DQHJR]V\QFKURQL]DFMZ
]áyZRUD]
w sytuacji, gdy
SUREOHP\ Z\GDMQRFLRZH wynikaM przede wszystkim ze skali problemów
w
V\QFKURQL]DFML GRVW SX GR ZVSyáG]LHORQ\FK obszarów serwera bazy – przede wszystkim
buffer cache i row cache.
•
Nadmierne partycjonowanie tabel
±QSVWRVRZDQLHGX*HMQLHGDMFHMVL QLF]\PX]DVDGQLü
OLF]E\SDUW\FMLEG(subpartycji.
•
Stosowanie MTS (Multithreaded Server
ZZDUXQNDFKGX*HMUH]HUZ\SDPL FLEG(]QDF]QHM
]DM WRFLVHVMLSU]H]Z\NRQ\ZDQHSROHFHQLD64/
•
Stosowanie 64-bitowych wersji oprogramowania w celu skonfigurowania bardzo wielkich
obszarów buffer cache i shared pool bez uprzedniego zbadania sposobu wykorzystania ich
SU]H]DSOLNDFM
•
Stosowanie mechanizmów typowych dla systemów DSS oraz data warehouse
do optymalizowania
]DS\WDZ\VW SXMF\FKZDSOLNDFMDFK2/73±QS]DS\WDQLDJZLD(G]LVWH
(star queries
]áF]HQLDW\SXhash (hash joins).
•
Stosowanie indeksów
ELWPDSRZ\FKZF] VWRPRG\ILNRZDQ\FKWDEHODFK
2PDZLDQH G]LDáDQLD QLH V ] UHJXá\ Z VWDQLH UR]ZL]Dü SUREOHPyZ Z\GDMQRFLRZ\FK JG\*
zazwyczaj nie
G]LDáDM na ich przyczyny. Negatywnym skutkiem podejmowania tego rodzaju
SU]HGVL Z]L ü jest przede wszystkim stworzenie nowych problemów, odwrócenie uwagi od
SUREOHPXSRGVWDZRZHJRRUD]SRFKáDQLDQLHVLáLURGNyZNRQLHF]Q\FKGR]UHDOL]RZDQLDG]LDáDQLH
SU]\QRV]F\FKZHIHNFLHVSRG]LHZDQHMSRSUDZ\Z\GDMQRFL
Wnioski:
1.
.RQVWUXRZDQLH ]áR*RQ\FK L VNDORZDOQ\FK V\VWHPyZ Z ZL NV]RFL SU]\SDGNyZ Z\PDJD
PLVWU]RZVNLHJRVWRVRZDQLDPR*OLZLHSURVW\FKURGNyZ
2.
=DVWRVRZDQLH UR]ZL]D ]DDZDQVRZDQ\FK SRZLQQR VWDQRZLü ZLDGRP GHF\]M
PDMF
na
FHOX RVLJQL FLH GREU]H RNUHORQ\FK FHOyZ GR NWyU\FK RVLJQL FLD SURVWH L VWDQGDUGRZH
UR]ZL]DQLDVQLHZ\VWDUF]DMFH
3.
:L NV]DOLF]EDÄFLHNDZ\FK´UR]ZL]DQLHPXVLVL SU]HNáDGDüQDOHSV]Z\GDMQRüLZL NV]
VWDELOQRü.
4.
:LHOHSUREOHPyZ]ZL]DQ\FK]Z\GDMQRFLPR*HPLHü bardzo proste pRGáR*HOH*FHZ sferze
projektu lub konfiguracji systemu
'R LFK UR]ZL]DQLD QLH MHVW NRQLHF]QLH VWRVRZDQLH
zaawansowanych technologii.
:L NV]DVNDODZ\PDJDZ\*V]HMNXOWXU\HNVSORDWDFML
1LH]DOH*QLHRGGRVW SQ\FK]DVREyZX]\VNDQLHGREUHMZ\GDMQRFLZ\PDJDRSUDFRZDQLDFKRüE\
najprostszego programu obserwacji i
]DU]G]DQLD REFL*HQLHP V\VWHPX -HJR FHOHP MHVW
]DSHZQLHQLHZPLDU
UyZQRPLHUQHJRUR]áR*HQLDREFL*HQLDV\VWHPXZF]DVLHMHJRHNVSORDWDFMLoraz
niedopuszczanie do
Z\VWSLHQLD VSL WU]H ]DGD SURZDG]F\FK GR Z\F]HUSDQLD UH]HUZ\ PRF\
obliczeniowej i
]DVREyZ V\VWHPRZ\FK 1LH PQLHM LVWRWQH MHVW XQLNDQLH V\WXDFML JG\ UyZQROHJáH
Z\NRQDQLH]DGDSRZRGXMHSRZD*QHSUREOHP\ZV\QFKURQL]RZDQLXGRVW
SXGRZVSyáG]LHORQ\FK
zasobów na
SR]LRPLH ORJLF]Q\P EG( QD SR]LRPLH MGUD VHUZHUD ED]\ 2UDFOH SRU SXQNW
W
V]F]HJyOQRFLNRQLHF]QHMHVWZ\G]LHOHQLHF\NOLXUXFKDPLDQLDV]F]HJyOQLHREFL*DMF\FK]DGD
oraz cykli utrzymania systemu – m.in. backup’u, konserwacji oprogramowania, utrzymania
obiektów oraz przestrzeni bazy danych.
44
Wojciech
.DUZRZVNL3LRWU.RáRG]LHM
6.1. Niewinne z pozoru operacje
: SU]\SDGNX GX*HM VNDOL V\VWHPX QS Z ZDUXQNDFK SUDF\ EDUG]R ZLHOX X*\WNRZQLNyZ
Z\NRQDQLH SHZQ\FK Z\JOGDMF\FK QD QHXWUDOQH GOD Z\GDMQRFL V\VWHPyZ RSHUDFML PR*H
VSRZRGRZDüGRWNOLZHNRQVHNZHQFMH
3U]\NáDGRZRV]F]HJyOQHMXZDJLZ\PDJDMDSOLNDFMHLQWHQV\ZQLHNRU]\VWDMFH]NRGX3/64/
VNáDGRZDQHJR Z ED]LH GDQ\FK QS VHUZLV\ LQWHUQHWRZH RSDUWH R NDUWU\G*H 3/64/ QLHNWyUH
aplikacje Oracle Forms). Istotne znaczenie ma unikanie kompilacji PL/SQL podczas
HNVSORDWRZDQLD V\VWHPX SU]H] ZLHOX X*\WNRZQLNyZ RUD] V\WXDFML SURZDG]F\FK GR MHJR
XQLHZD*QLHQLD invalidation QD VNXWHN ]DU]G]DQLD ]DOH*QRFLDPL object dependency
management
8QLHZD*QLHQLH 3/64/ VNáDGRZDQHJR Z ED]LH GDQ\FK SRZRGXMH ] NROHL
NRQLHF]QRüMHJRUHNRPSLODFMLSU]\kolejnej próbie jego wykonania [3].
.RPSLODFMD 3/64/ EG( UHNRPSLODFMD Z\ZRáDQD MHJR XQLHZD*QLHQLHP PR*H E\ü SU]\F]\Q
EDUG]R SRZD*Q\FK SUREOHPyZ Z\GDMQRFLRZ\FK ]ZL]DQ\FK ] V\QFKURQL]RZDQLHP GRVW
SX
do obszaru library cache.
:\VW SXMFH ZyZF]DV OLF]QH ]DQL FLD VHVML SU]\ RF]HNLZDQLX
na zdarzenia ‘library cache pin’ oraz ‘library cache lock’
PRJ VSRZRGRZDü LFK SUDNW\F]QH
zawieszenie.
8QLHZD*QLDQLHNRGX3/64/SRZRGRZDQHMHVWSU]H]LQVWUXNFMHALTER, REVOKE, GRANT,
CREATE OR REPLACE
Z\NRQDQHQDRELHNWDFKED]RZ\FKGRNWyU\FKWHQNRGVL RGZRáXMH
-HVW WR RSLVDQ\ Z >@ HIHNW NDVNDGRZ\ ]ZL]DQ\ ] PHFKDQL]PHP ]DU]G]DQLHP ]DOH*QRFLDPL
PL G]\RELHNWDPL:ZSUREOHPPR*HVL SRQDGWRREMDZLDüZ\VW SRZDQLHPEá GyZ25$-4020
]DNOHV]F]HQLHSU]\SUyELHX]\VNDQLDZ\áF]QRFLGRVW SXGRRELHNWX25$-4021 (przekroczenie
OLPLWXF]DVXRF]HNLZDQLDSU]\SUyELHX]\VNDQLDZ\áF]QRFLGRVW SXGRRELHNWXRUD]25$-600,
QDMF] FLHM ] DUJXPHQWHP >@ ZUD] ] WRZDU]\V]F\PL Eá GDPL 25$ VWDQ RELHNWX
3/64/ ]RVWDá XQLHZD*QLRQ\ 25$ ]PLHQLRQ\ OXE XVXQL
W\ SRGSURJUam PL/SQL)
i ORA
EUDNPR*OLZRFLZ\ZRáDQLDSRGSURJUDPX3/64/
3U]\WRF]RQ\ Z\*HM SUREOHP VWDQRZL jeden z SU]\NáDGów ZLDGF]F\FK R NRQLHF]QRci
wprowadzenia cykli utrzymania systemu. Ponadto konstrukcja, konfiguracja i praktyka
ELH*FHM
konserwacji
V\VWHPX SRZLQQ\ PR*OLZLH VNXWHF]QLH ]DSRELHJDü wykonaniu RSHUDFML ]ZL]DQ\FK
utrzymywaniem bazy danych w czasie jego
ZL NV]HJRREFL*HQLD
6.2. Dobra praktyka administrowania
:UD]]HZ]URVWHPVNDOLV\VWHPXFRUD]ZL NV]HJR]QDF]HQLDQDELHUDWDN*HVWRVRZDQLHSUDNW\N
DGPLQLVWURZDQLD ED] GDQ\FK SR]ZDODMF\FK QD ]PLQLPDOL]RZDQLH QDU]XWX VHUZHUD ED]\ 2UDFOH
SU]\ ]DU]G]DQLX SU]HVWU]HQL 5HGXNRZDQLH OLF]E\ UHNXUV\ZQ\FK RSHUDFML 64/ RUD] RSHUDFML
ZHMFLDZ\MFLD SR]ZDOD QD XGRVW
SQLHQLH PDNV\PDOQ\FK ]DVREyZ V\VWHPRZ\FK QD SRWU]HE\
wykonywanych aplikacji.
=DOHFDQH SUDNW\NL DGPLQLVWURZDQLD ED] GDQ\FK, PDMFH QD FHOX
XQLNQL
FLHG\QDPLF]QHJR]DU]G]DQLDSU]HVWU]HQLREHMPXMPLQ
1.
8VWDZLDQLHVWRVRZQLHGX*\FKZDUWRFLSDUDPHWUyZ,1,7,$/1(;7GODVHJPHQWyZ
4
.
2.
3UHDORNDFM ekstentów w intensywnie modyfikowanych tabelach w chwilach ich mniejszego
REFL*HQLD
3.
3UHDORNDFM SU]HVWU]HQLWDEHOZWUDNFLHPQLHMV]HJRREFL*HQLDV\VWHPX
Celem
MHVW]DUyZQRXQLNQL FLHQDU]XWX]ZL]DQHJR]G\QDPLF]Q\P]DU]G]DQLHPSU]HVWU]HQL
jak i
PR*OLZRFL Z\VWSLHQLD Eá GyZ ]ZL]DQ\FK ] niePR*nRFL rozszerzenia segmentów (np.
tabel i indeksów) o kolejne ekstenty.
4
Grzechem
GRüSRZV]HGQLPELRUFSRGXZDJ MHJRF] VWRü]DFL *NLPELRUFSRGXZDJ MHJRVNXWNL
jest sto
VRZDQLH EDUG]R GX*HM OLF]E\ drobnych ekstentów GR VNáDGRZDQLD segmentów, np. NRQILJXUXMF
parametry typu: STORAGE (INITIAL 10K NEXT 10K PCTINCREASE 0 MAXEXTENTS UNLIMITED).
3UREOHPDW\NDPDVRZHJRGRVW SXGRED]GDQ\FK±PLW\ i fakty
45
1DVW SQ\P SU]\NáDGHP MHVW NRQLHF]QRü SUDZLGáRZHM NRQILJXUDFML VHJPHQWyZ Z\FRIDQLD
w systemach
FKDUDNWHU\]XMF\FK VL GX*\P rozmiarem wykonywanych zmian w danych oraz
uruchamianiem
GáXJRWUZDá\FK ]DS\WD, np. w systemach REFL*RQych równoczesn SUDF
o charakterze OLTP, zadaniami wsadowymi oraz raportowaniem
=E\W PDá\ UR]PLDU SU]HVWU]HQL
zaalokowanej w
segmentach wycofania powoduje
F] VWH Z\VW SRZDQLH Eá GyZ 25$
ÄSU]HVWDU]DáDPLJDZND´SU]\Z\NRQ\ZDQLXGáXJRWUZDá\FKi kosztowQ\FK]DS\WD. Wspomniany
EáG MHVW VSRZRGRZDQ\ EUDNLHP PR*OLZRFL uzyskania spójnego obrazu danych, które ulegaá\
zmianom
RG FKZLOL XUXFKRPLHQLD WUZDMFHJR ZLHOH JRG]LQ ]DS\WDQLD (mechanizm read
consistency).
=PLDQ\PRJE\üwykonywane przez zatwierdzone jak i wycofane transakcje.
:Sá\ZEá GyZ25$RUD]Eá GyZ]ZL]DQ\FK]G\QDPLF]Q\P]DU]G]DQLHPSU]HVWU]HQL
QDZ\GDMQRüV\VWHPX, V]F]HJyOQLHGRWNOLZ\ZSU]\SDGNXQDSL
WHJRKDUPRQRJUDPXSU]HWZDU]DQLD
polega przede wszystkim na z
QDF]F\PZ\GáX*HQLXF]DVXSRWU]HEQHJRGRSRP\OQHJR]DNRF]HQLD
operacji.
.RQLHF]QRü wznawiania kosztownych operacji, np. ]DGD ZVDGRZ\FK GáXJRWUZDá\FK
]DS\WDpowoduje ]QDF]Fe zwL
NV]HQLH REFL*HQLa systemu w stosunku do rzeczywistych potrzeb,
czego wtórnym efektem bywa
SRVW SXMFHpogarszanie efektywnRFLSR]RVWDá\FKoperacji.
Wnioski:
1.
Wraz ze wzrostem skali systemu,
ND*G\problem NRQILJXUDF\MQ\EG(]ZL]DQ\] NRQVHUZDFM
V\VWHPX PR*H VSRZRGRZDü QDUDVWDMF ODZLQ QLHNRU]\VWQ\FK HIHNWyZ – ZáF]QLH ] UR]OHJá
XWUDWPR*OLZRFLefektywnego wykonywania przetwarzania(efekt domina).
2.
:DUXQNLHP NRQLHF]Q\P GR RVLJQL
FLD Z\PDJDQHM Z\GDMQRFL MHst stworzenie konfiguracji
i zapewnienie konserwacji systemu
NWyUHV dostosowane do planowaneJRREFL*HQLD
6áRZRNRFRZHFKRFLD*QLHRVWDWQLH
8UXFKRPLHQLHV\VWHPX]HVWURMHQLHRVLJQL FLHZ\PDJDQHMZ\GDMQRFL±F]\WRZV]\VWNR"1LF
z tego.
URGRZLVND U]HF]\ZLVWH SRGOHJDM FLJá\P ]PLDQRP ± MHVW WR UHDNFMD QD ]PLHQLDMFH VL
SRWU]HE\ L Z\PDJDQLD 1DVW SXMH Z]URVW UR]PLDUX ED]\ GDQ\FK GR DSOLNDFML V ZSURZDG]DQH
]PLDQ\ SRV]HU]DMFH IXQNFMRQDOQRü ]PLHQLD VL FKDUDNWHU\VW\ND REFL*HQLD V\VWHPX SU]H]
Z\NRQ\ZDQH RSHUDFMH =PLDQD ZDUXQNyZ SUDF\ V\VWHPX SU G]HM F]\ Sy(QLHM SRFLJD ]D VRE
NRQLHF]QRü SRQRZQHJR VWURMHQLD 6WURMHQLH L ]DU]G]DQLH Z\GDMQRFL QLH V F]\QQRFLDPL
MHGQRUD]RZ\PL OHF] SURFHVDPL >@ ,FK ]DNRF]HQLH PR*H QDVWSLü ZUD] ] Z\FRIDQLHP V\VWHPX
z eksploatacji.
=DSHZQLHQLH VWDáHJR SR]LRPX Z\GDMQRFL Z\PDJD VWDáHJR REVHUZRZDQLD L ]DU]G]DQLD
REFL*HQLHP .RQLHF]QH MHVW FLJáH ]DU]G]DQLe ]DVREDPL GLDJQR]RZDQLH L UR]ZL]\ZDQLH
problemów najlepiej
SU]HGZ\VWSLHQLHPSRZD*QLHMV]\FKVNXWNyw.
&]\ W\P UD]HP WR MX* QDSUDZG ZV]\VWNR FR PR*QD SRZLHG]LHü QD WHPDW VNDORZDQLD
i
]DU]G]DQLD Z\GDMQRFL V\VWHPyZ" OSUDFRZDQLX ] SHZQRFL QLH SU]\ZLHFDá FHO
zaprezentowania syntezy,
FKRüE\PLNURVNRSLMQHgo wydania „SummyZ\GDMQRFLRZHM ZSLJXáFH”,
celem raczej
E\áRzasygnalizowanie pewnej problematyki.
Przede wszystkim,
VIHUD WHFKQRORJLL MHVW QD W\OH ]áR*RQD *H EH]NU\W\F]QH przyjmowanie
RELHJRZ\FKSRJOGyZ, jedynie powierzchowna jej ]QDMRPRüL zaniechanie VWDáHJR]Já ELDQLDMHM
WDMQLNyZ áDWZR PR*H VSURZDG]Lü QD PDQRZFH 7HFKQRORJLD MHVW MHGQDN MHGQ ] wielu warstw
omawianej problematyki – jest ona
NV]WDáWRZDQD SU]H] OXG]L SRGREQLH MDN UHDOL]RZDQH ]D MHM
SRPRF SURMHNW\ L eksploatowane systemy. Projektom i systemom NV]WDáW QDGDM ZV]\VF\
]DDQJD*RZDQL OXG]LH ± SRF]ZV]\ RG operatorów, poprzez administratorów, programistów
i projektantów, na
V]HIDFKSURMHNWyZF]\ILUPVNRF]\ZV]\. KV]WDáWQDGDMLFKSUDJQLHQLD i emocje,
ambicje i problemy,
PRW\ZDFMH RUD] FHOH MDNLH UHDOL]XM QLH]DOH*QLH od tego, czy GRW\F] one
]ELRURZRFL F]\ SRMHG\QF]\FK RVyE 1LH VSRVyE W\FK VIHU UR]G]LHOLü L nie sposób którejkolwiek
SRPLQüWarto im SRZL FLüod czasu do czasu FKRüE\FKZLO Já EV]HMrefleksji.
46
Wojciech
.DUZRZVNL3LRWU.RáRG]LHM
Bibliografia
1. Aronoff E., Loney K., Sonawalla N., Oracle8 Advanced Tuning & Administration, Osborne McGraw-Hill,
1998, ISBN 0-07-882534-2
2. Gunther N., The Practical Performance Analyst, McGraw-Hill, 1998
3. Oracle8i Release 8.1.5 Application Developer’s Guide