Professional Documents
Culture Documents
Oracle9i Kien Truc Va Quan Tri
Oracle9i Kien Truc Va Quan Tri
M C L C
CH NG 1. CC I M M I TRONG ORACLE 9I ................................. 9 CH NG 2. CC THNH PH N KI N TRC ..................................... 14
2.1. KI N TRC ORACLE SERVER ....................................................................... 14 2.1.1. Oracle Instance..................................................................................................................14 2.1.2. Oracle database.................................................................................................................19 2.1.3. Qun tr c s d liu Oracle............................................................................................23 2.1.4. Thit lp cc tham s khi to nh hng ti kch c b nh SGA ...................................23 2.2. K T N I T I ORACLE SERVER ..................................................................... 24 2.2.1. M hnh kt ni.................................................................................................................24 2.2.2. Mt s khi nim c bn lin quan n kt ni.................................................................25 2.2.3. Kt ni ti database..........................................................................................................25
CH NG 4. T O DATABASE ........................................................ 32
4.1. CC B C T O DATABASE .......................................................................... 32 4.2. CHU N B MI TR NG ............................................................................. 32 4.2.1. Chun b h iu hnh......................................................................................................32 4.2.2. Ln k hoch b tr cc file thng tin.................................................................................32 4.2.3. Optimal Flexible Architecture OFA...................................................................................33 4.2.4. Cu trc th mc phn mm Oracle..................................................................................34 4.2.5. Bin mi trng................................................................................................................34 4.3. CHU N B CC THAM S TRONG PARAMETER FILE ......................................... 35 4.4. CHU N B INSTANCE PH C V QU N TR ..................................................... 36 4.4.1. To mt instance...............................................................................................................36 4.4.2. Khi ng instance............................................................................................................37 4.4.3. Dng instance...................................................................................................................37 4.4.4. Hu instance.....................................................................................................................38 4.5. T O DATABASE .......................................................................................... 38 4.5.1. Khi ng Instance...........................................................................................................38 4.5.2. Lnh to database.............................................................................................................38 4.5.3. Oracle Database Assistant..................................................................................................40 4.5.4. File script v d to mt database......................................................................................40 4.5.5. Li xy ra khi to database................................................................................................41 4.5.6. Kt qu sau khi to database............................................................................................41 4.6. T O DATA DICTIONARY CHO DATABASE ........................................................ 42
5.2. PH NG TH C XC NH N C QUY N TRUY NH P ....................................... 44 5.2.1. Phng thc xc nhn quyn............................................................................................44 5.2.2. Xc nhn quyn bi h iu hnh.....................................................................................45 5.2.3. Xc nhn quyn bng file mt khu..................................................................................46 5.2.4. Thay i mt khu internal................................................................................................46 5.3. T O PARAMETER FILE ................................................................................ 47 5.3.1. S dng cc tham s.........................................................................................................47 5.3.2. Mt s quy tc i vi cc tham s...................................................................................48 5.3.4. Cc tham s c bn...........................................................................................................48 5.4. START V SHUT DOWN DATABASE ................................................................ 49 5.4.1. Cc bc Start v Shut down database..............................................................................49 5.4.2. Start database...................................................................................................................51 5.4.3. Thay i tnh sn dng ca database hin thi..................................................................51 5.4.4. Shut down database..........................................................................................................52 5.4.5. Thay i trng thi ca database......................................................................................53 5.4.6. Tm treo v phc hi Database.........................................................................................54 5.4.7. t ch hot ng tnh cho database...........................................................................55 5.5. T TR NG THI TNH CHO DATABASE ....................................................... 55 5.5.1. a Database vo trng thi tnh......................................................................................55 5.5.2. Phc hi h thng tr li hot ng nh bnh thng......................................................56 5.5.3. Xem trng thi ca database.............................................................................................56 5.6. L Y CC THNG TIN V H TH NG .............................................................. 56 5.6.1. Mt s views cn quan tm...............................................................................................57 5.6.2. Hin th gi tr ca cc thng s h thng.........................................................................57 5.6.3. Tham s h thng ng (c th thay i).........................................................................58 5.6.4. Qun l session.................................................................................................................58 5.6.5. Trace file v ALERT file......................................................................................................59
8.2. LGWR, LOG SWITCHES V CHECKPOINTS ...................................................... 80 8.2.1. Redo Log Buffer v Background process LGWR..................................................................80 8.2.2. Log Switches......................................................................................................................80 8.2.3. Checkpoints.......................................................................................................................81 8.3. LN K HO CH S D NG REDO LOG FILES .................................................... 81 8.3.1. Xc nh s lng Online redo log files..............................................................................81 8.3.2. Ni t cc Online Redo Log Files......................................................................................81 8.3.3. Xc nh kch thc cho cc Online Redo Log Files............................................................82 8.3.4. Lu tr cc redo log files...................................................................................................82 8.4. I U KHI N L U TR SAU I V I PRIMARY/STANDBY ................................. 83 8.4.1. Thit lp tham s ARCHIVE_LAG_TARGET.........................................................................83 8.4.2. Cc yu t nh hng ti tham s ARCHIVE_LAG_TARGET...............................................84 8.5. XC NH CH L U TR ........................................................................ 84 8.5.1. S dng lnh Server Manager...........................................................................................84 8.5.2. S dng thng tin trong data dictionary.............................................................................85 8.6. I U KHI N CC LOG SWITCHS V CHECKPOINTS .......................................... 86 8.6.1. Thc hin log switches......................................................................................................86 8.6.2. Thc hin checkpoint........................................................................................................86 8.6.3. iu chnh cc ngt qung checkpoints.............................................................................86 8.7. QU N TR CC REDO LOG FILES .................................................................. 87 8.7.1. B sung cc online redo log groups....................................................................................87 8.7.2. B sung cc online redo log members................................................................................88 8.7.3. nh li ch cho cc redo log file.......................................................................................88 8.7.4. Ngng s dng cc Online redo log groups.......................................................................89 8.7.5. Ngng s dng cc Online redo log members....................................................................90 8.7.6. Xo rng Online redo log file..............................................................................................91
11.4. THNG TIN V CC ROLLBACK SEGMENT ................................................... 131 11.4.1. Xem thng tin chung v cc rollback segment................................................................131 11.4.2. Xem thng tin thng k v rollback segment..................................................................132 11.4.3. Thng tin v rollback segment ang active.....................................................................133 11.5. CC V N LIN QUAN T I ROLLBACK SEGMENT ...................................... 134 11.5.1. Thiu khng gian cho cc transactions...........................................................................134 11.5.2. Li c d liu khng ng nht...................................................................................135 11.5.3. Chn session..................................................................................................................135
Trang 5
14.4. CC RNG BU C (CONSTRAINTS) I V I TABLES ..................................... 176 14.4.1. Rng buc i vi tables................................................................................................176 14.4.2. Null / Not Null................................................................................................................177 14.4.3. Unique...........................................................................................................................177 14.4.4. Primary Key...................................................................................................................177 14.4.5. Foreign Key ( Referential Key)........................................................................................177 14.4.6. Check ...........................................................................................................................178 14.5. QU N L KHNG GIAN L U TR TRONG TABLE .......................................... 178 14.5.1. Thay i thng tin lu tr v tham s s dng Block.....................................................178 14.5.2. Cp pht cc extents bng tay (manually).....................................................................179 14.5.3. High Water Mark............................................................................................................180 14.5.4. Thu hi khng gian khng s dng................................................................................181 14.5.5. Truncate mt table........................................................................................................182 14.5.6. Xo table.......................................................................................................................183 14.5.7. Kim tra cu trc bng..................................................................................................183 14.5.8. Pht hin cc rows b migration ....................................................................................184 14.6. THNG TIN V TABLES ............................................................................ 184 14.6.1. Thng tin chung v cc tables........................................................................................185 14.6.2. Thng tin v s dng block v thng tin chaining..........................................................185
16.3. N P D LI U B NG SQL*LOADER ............................................................. 208 16.3.1. S dng SLQ*LOADER...................................................................................................208 16.3.2. Parameter file (tp tham s)..........................................................................................210 16.3.3. Control file (tp iu khin) ..........................................................................................210 16.3.4. Data file.........................................................................................................................212 16.3.5. Cc thnh phn ca log file............................................................................................212 16.3.6. Cc file u ra khc ......................................................................................................213 16.3.7. Cc hng dn khi s dng load..................................................................................213 16.4. T CH C L I D LI U B NG CNG C EXPORT V IMPORT ........................ 214 16.4.1. Cng c dch chuyn d liu.........................................................................................214 16.4.2. Cc ch Export.........................................................................................................215 16.4.3. Export d liu trc tip v Export d liu thng thng................................................216 16.5. CNG C EXPORT ................................................................................... 217 16.5.1. S dng cng c Export...............................................................................................217 16.5.2. Gii thiu mt s ch export....................................................................................219 16.5.3. Cc tablespaces trao i................................................................................................221 16.5.4. Mt s thng bo khi export: Warning, Error, v Completion Messages..........................222 16.6. CNG C IMPORT ................................................................................... 223 16.6.1. S dng cng c Import................................................................................................223 16.6.2. Chuyn i character set ..............................................................................................227
Trang 7
19.2. QU N L QUY N ..................................................................................... 247 19.2.1. Thu hi cc quyn h thng..........................................................................................247 19.2.2. Quyn trn cc i tng..............................................................................................248 19.2.3. Gn cc quyn trn i tng.......................................................................................249 19.2.4. Thng tin v cc quyn ................................................................................................249 19.2.5. Thu hi cc quyn trn i tng..................................................................................250
Trang 8
Cho php l u tr trn nhi u ch l u tr S lng ch lu tr ti a m ta c th s dng lu tr cc online redo log c tng ln t 5 ti 10. T ng qu n l vng khng gian Oracle9i cho php qun l t ng vic gii phng v s dng cc vng khng gian c trong cc segments c lu tr trong cc locally managed tablespaces thng qua vic s dng mnh SEGMENT SPACE MANAGEMENT c trong cu lnh CREATE TABLESPACE. Qun tr vin c th s dng ch AUTO hoc MANUAL ch r kiu qun l khng gian m Oracle s s dng. C p nh t l i cc global indexes m i khi th c hi n thao tc b o tr partition Theo mc nh, c th c mt vi phn ca mt bng c phn khu (partitioned tables) trng thi khng s dng (nh du UNUSABLE) s c np vo trong global indexes. V ta cn xy dng li (rebuild) ton b global index. Oracle9i cho php thc hin t ng cng vic rebuild ny thng qua mnh UPDATE GLOBAL INDEX c trong cu lnh ALTER TABLE khi thc hin bo tr. Cho php s d ng ng th i nhi u kch c block Oracle cho php s dng ng thi nhiu kch c blocks (multiple block sizes). Kch thc chun (standard block size) c quy nh trong tham s khi to DB_BLOCK_SIZE nhng cng c th m rng thm 4 gi tr kch thc block phi chun na (nonstandard block sizes). Cc kch thc blocks phi chun c ch r mi khi to tablespaces. Kch thc block chun c s dng cho SYSTEM tablespace v hu ht cc tablespaces khc. Vic h tr s dng nhiu kch c block s cho php thc hin trao i cc tablespaces ca cc database m khng c cng mt kch thc block. Qu n l ng buffer cache Kch thc ca buffer cache c trong vng nh System Global Area c qun l ng. iu ny c ngha l gi tr ca tham s DB_BLOCK_BUFFERS (trong file tham s khi to) c th c thay th bi gi tr c trong tham s khc, tham s DB_CACHE_SIZE. Trong Oracle 9i, buffer cache li c phn chia thnh nhiu b m con (subcaches) nu c s dng ch multiple block sizes. Bn gi tr kch c block c ch ra trong 4 tham s DB_ nK_CACHE_SIZE tng ng . Qu n l ng vng nh SGA Cc tham s khi to c th tc ng ti kch c ca vng nh SGA. V ta c th thay i kch c ca SGA d dng thng qua cu lnh ALTER SYSTEM SET. Qu n l vi c khi ph c (undo) t ng Oracle s dng rollback segments lu tr cc thng tin cho khi phc. Vic phc hi (undo) bao gm roll back, undo, v thay i (changes) i vi database mi khi cn. Oracle 9i cho php ta to ring mt undo tablespace lu tr cc thng tin phc hi ny. Vic
Trang 10
s dng undo tablespace s lm gim bt tnh phc tp ca vic qun tr vng khng gian rollback segment, v cho php phc hi li cc thng tin di m khng s b trng ln nhau. Qu n l files trong Oracle Mt im mi trong Oracle 9i l qun l files. Thng qua cc tham s khi to DB_CREATE_FILE_DEST v DB_CREATE_ONLINE_LOG_DEST_ n ta c th ch ra cho h thng cc ng dn c th lu tr cc file thuc tablespace, online redo log file hay control file. Oracle lun m bo qun l file duy nht trong h thng. T ng xo cc datafiles Oracle9i cung cp mt la chn cho php t ng xo b (remove) cc datafiles mi khi tablespace tng ng b hu thng qua cu lnh DROP TABLESPACE. Tu chn tng t trong cu lnh ALTER DATABASE TEMPFILE cng c s dng xo cc temporary file tng ng. Metadata API Mt PL/SQL package mi, DBMS_METADATA.GET_DDL, c a vo Oracle 9i cho php ta ly c cc siu d liu (metadata) Cc thng tin tng hp v cc schema object. Cc b ng ngoi - External tables Oracle9i cho php ta truy cp theo kiu ch c cc d liu trong cc bng ngoi (external tables). External tables l cc tables m khng nm trong database, v c th cc khun dng (format) no . Cu lnh CREATE TABLE ... ORGANIZATION EXTERNAL c s dng ch ra metadata m t cho external table tng ng. Oracle cung cp iu khin truy cp ORACLE_LOADER, qua cung cp kh nng nh x d liu tng ng vi c php lnh trong control file. Tng c ng cho constraint Ta s dng mnh USING INDEX trong cu lnh CREATE TABLE hay ALTER TABLE cho php ta ch r index mi khi s dng rng buc unique key hay primary key. Thm vo , ta cng c th ngn cn vic hu (dropping). File tham s trn server Oracle lu tr cc tham s khi to cho session trong file tham s di khun dng vn bn v c t ti cc client machine. Cc tham s khi to ca server nm trong file tham s trn server thng khun dng nh phn v c th c lu trong database. Temporary tablespace m c nh C th thm vo mnh mi DEFAULT TEMPORARY TABLESPACE vo cu lnh CREATE DATABASE cho php to temporary tablespace ngay trong thi gian to database. Tablespace ny s c s dng nh temporary tablespace mc nh.
Trang 11
t tn cho transaction Oracle cho php ta gn tn cho mi mt transaction. Tn ca transaction rt c ch cho vic phn bit gim thiu vic nhm ln gia cc transactions. M t s thay i trong Oracle Database Configuration Assistant Oracle Database Configuration Assistant c mt s thay i trong thit k. Theo , n cung cp cc mu (templates) gip cho vic tit kim, gim bt vic nh ngha cc object trong database. Ngi dng cng c th to ra cc mu ny thng qua vic sa i cc mu c sn. Khi to database bng cng c Database Configuration Assistant ta cng c th thm vo ngay hoc sau cc khun mu gi l cc Oracles new Sample Schemas. Nhng schemas ny l nhng v d ti liu c bn trong Oracle. Qu n l vi c s d ng index Ta thm mnh MONITORING USAGE vo trong cu lnh ALTER INDEX c th xc nh v qun l index khi n c thc hin. Li t k cc phn vng Oracle 9i gii thiu s dng lit k cc phn vng, n cho php ta ch ra mt danh sch cc gi tr ri rc tng ng vi cc partitioning column ca mi phn vng. Phng thc lit k phn vng (list partitioning method) c a ra nhm mc ch m hnh ho d liu phn tn i vi cc gi tr ri rc. Vic ny kh thc hin c bng cc phng php range partitioning (phn khu theo khong gi tr) hay hash partitioning (phn khu theo hm bm). Phn khu theo hm bm cho cc index- organized tables Oracle 9i cho php s dng phng php bm khi phn khu cc index-organized tables. cc phin bn trc, vic phn khu cho index-organized tables vn thc hin c nhng ch bng phng php range method. X l cc job queue process linh ho t Cc job queue process c to mt cch linh hot v n ch cn ti s hiu ca processes c to thc hin cc jobs ca process ang sn sng cho vic thc hin. Tin trnh nn (background process) c tn l CJQ s m nhim cng vic ny. i m m i trong Database Resource Manager C mt s chc nng mi c thm vo Database Resource Manager: C kh nng to mt active session pool, l ni lu cha c mt s lng ln nht cc user sessions ng thi ang c thc hin. Nu c nhiu hn s lng ln nht cc sessions cng c thc hin th cc sessions mi ny s c a vo hng i ch thc hin sau. Tuy nhin ta cng c th a ra mt khong thi gian tr (timeout) cho php thc hin hay hu vic thc hin cc sessions mi b sung ny.
Trang 12
T ng chuyn users t mt nhm ny sang mt nhm khc tu theo s iu chnh ca qun tr vin (administrator). Nu mt session c to bi member thuc mt nhm users no thc hin trong khong thi gian di hn thi gian cho php th session c th c t ng chuyn sang mt nhm khc vi nhng yu cu ti nguyn khc. C kh nng ngn chn thc hin cc thao tc m c d kin l s phi chy trong mt thi gian di hn l khong thi gian cho php. C kh nng to mt undo pool, l ni cha mt s lng nht nh vng khng gian dnh cho vic khi phc thng tin (undo).
C ch xc th c v nh xc th c (Proxy authentication and authorization) Oracle9i cho php mt server nm lp gia (middle-tier) xc nhn h mt client. Ta c th thc hin vic ny bng cch a vo mnh GRANT CONNECT THROUGH trong cu lnh ALTER USER. Ta cng c th ch r vai tr ca lp gia (middle tier) trong vic kt ni ti client. Application roles Oracle cho php gn roles cho cc application users m c kch hot bng cch s dng PL/SQL package. S dng mnh IDENTIFIED USING package trong cu lnh CREATE ROLE thc hin vic ny.
Trang 13
Background process
System Global Area - SGA SGA l vng b nh chia s c s dng lu tr d liu v cc thng tin iu khin ca Oracle server. SGA c cp pht (allocated) trong b nh ca my tnh m Oracle server ang hot ng trn . Cc User kt ni ti Oracle s chia s cc d liu c trong SGA, vic m rng khng gian b nh cho SGA s lm nng cao hiu sut ca h thng, lu tr c nhiu d liu trong h thng hn ng thi gim thiu cc thao tc truy xut a (disk I/O). SGA bao gm mt vi cu trc b nh chnh: Shared pool: L mt phn ca SGA lu cc cu trc b nh chia s. Database buffer cache: Lu tr cc d liu c s dng gn nht. Redo log buffer: c s dng cho vic d tm li cc thay i trong c s d liu v c thc hin bi cc background process.
Share Pool
Shared pool l mt phn trong SGA v c s dng khi thc hin phn tch cu lnh (parse phase). Kch thc ca Shared pool c xc nh bi tham s SHARED_POOL_SIZE c trong parameter file (file tham s). Cc thnh phn ca Shared pool gm c: Library cache v Data dictionary cache.
Trang 14
Library Cache
Library cache lu tr thng tin v cc cu lnh SQL c s dng gn nht bao gm: Ni dung ca cu lnh dng text (vn bn). Parse tree (cy phn tch) c xy dng tu thuc vo cu lnh. Execution plan (s thc hin lnh) gm cc bc thc hin v ti u lnh.
Do cc thng tin trn c lu tr trong Library cache nn khi thc hin li mt cu lnh truy vn, trc khi thc hin cu lnh, Server process s ly li cc thng tin c phn tch m khng phi phn tch li cu lnh. Do vy, Library cache c th gip nng cao hiu sut thc hin lnh.
Database buffer cache l vng nh trong SGA s dng lu tr cc block d liu c s dng gn nht. Tng t nh kch thc ca blocks d liu c xc nh bi tham s DB_BLOCK_SIZE, kch thc ca vng m trong buffer cache cng c xc nh bi tham s DB_BLOCK_BUFFERS. Oracle server s dng gii thut least recently used (LRU) algorithm lm ti li vng nh. Theo , khi np mi mt block vo b m, trong trng hp b m y, Oracle server s loi bt block t c s dng nht ra khi b m np block mi vo b m.
C mt s c im cn quan tm ca Redo log buffer: Kch thc c xc nh bi tham s LOG_BUFFER. Lu tr cc redo records (bn ghi hi phc) mi khi c thay i d liu. Redo log buffer c s dng mt cch thng xuyn v cc thay i bi mt transaction c th nm an xen vi cc thay i ca cc transactions khc. B m c t chc theo kiu circular buffer (b m ni vng) tc l d liu thay i s tip tc c np ln u sau khi vng m c s dng ht.
Background process Background process (cc tin trnh nn) thc hin cc chc nng thay cho li gi tin trnh x l tng ng. N iu khin vo ra, cung cp cc c ch x l song song nng cao hiu qu v tin cy. Ty theo tng cu hnh m Oracle instance c cc Background process nh: Database Writer (DBW0): Ghi li cc thay i trong data buffer cache ra cc file d liu. Log Writer (LGWR): Ghi li cc thay i c ng k trong redo log buffer vo cc redo log files. System Monitor (SMON): Kim tra s nht qun trong database. Process Monitor (PMON): Dn dp li ti nguyn khi cc tin trnh ca Oracle gp li. Checkpoint Process (CKPT): Cp nht li trng thi ca thng tin trong file iu khin v file d liu mi khi c thay i trong buffer cache.
Trang 16
Database Writer (DBW0) Server process ghi li cc d liu thay i rollback v d liu ca cc block trong buffer cache. Database writer (DBWR) ghi cc thng tin c nh du thay i t database buffer cache ln cc data files nhm m bo lun c khong trng b m cn thit cho vic s dng.
Vi vic s dng ny, hiu sut s dng database s c ci thin do Server processes ch to cc thay i trn buffer cache, DBWR ghi d liu vo cc data file cho ti khi: S lng buffers nh b du t ti gi tr ngng. Tin trnh duyt tt c buffer m vn khng tm thy d liu tng ng. Qu thi gian quy nh.
Log Writer Log Writer (LGWR) l mt trong cc background process c trch nhim qun l redo log buffer ghi li cc thng tin trong Redo log buffer vo Redo log file. Redo log buffer l b m d liu c t chc theo kiu ni vng.
Trang 17
LGWR ghi li d liu mt cch tun t vo redo log file theo cc tnh hung sau: Khi redo log buffer y Khi xy ra timeout (thng thng l 3 giy) Trc khi DBWR ghi li cc blocks b thay i trong data buffer cache vo cc data files. Khi commit mt transaction.
System Monitor (SMON) Tin trnhsystem monitor (SMON) thc hin phc hi cc s c (crash recovery) ngay ti thi im instance c khi ng (startup), nu cn thit. SMON cng c trch nhim dn dp cc temporary segments khng cn c s dng na trong dictionary-managed tablespaces. SMON khi phc li cc transactions b cht mi khi xy ra s c. SMON u n thc hin kim tra v khc phc cc s c khi cn. Trong mi trng Oracle Parallel Server, SMON process ca mt instance c th thc hin khi phc instance trong trng hp instance hay CPU ca my tnh gp s c. Process Monitor (PMON) Tin trnh process monitor (PMON) thc hin tin trnh phc hi mi khi c mt user process gp li. PMON c trch nhim dn dp database buffer cache v gii phng ti nguyn m user process s dng. V d, n thit lp li (reset) trng thi ca cc bng ang thc hin trong transaction, gii phng cc locks trn bng ny, v hu b process ID ca n ra khi danh sch cc active processes. PMON kim tra trng thi ca ni gi (dispatcher ) v cc server processes, khi ng li (restarts) mi khi xy ra s c. PMON cng cn thc hin vic ng k cc thng tin v instance v dispatcher processes vi network listener. Tng t nh SMON, PMON c gi n mi khi xy ra s c trong h thng.
Trang 18
Checkpoint Process (CKPT) Cp nht li trng thi ca thng tin trong file iu khin v file d liu mi khi c thay i trong buffer cache. Xy ra checkpoints khi: Tt c cc d liu trong database buffers b thay i tnh cho n thi im checkpointed s c background process DBWRn ghi ln data files. Background process CKPT cp nht phn headers ca cc data files v cc control files.
Checkpoints c th xy ra i vi tt c cc data files trong database hoc cng c th xy ra vi mt data files c th. Checkpoint xy ra theo cc tnh hung sau: Mi khi c log switch Khi mt shut down mt database vi cc ch tr ch abort Xy ra theo nh thi gian quy nh trong cc tham LOG_CHECKPOINT_INTERVAL v LOG_CHECKPOINT_TIMEOUT Khi c yu cu trc tip ca qun tr vin
khi
to
Thng tin v checkpoint c lu tr trong Alert file trong trng hp cc tham s khi to LOG_CHECKPOINTS_TO_ALERT c t l TRUE. V ngc li vi gi tr FALSE.
Trang 19
Cu trc vt l database Cu trc vt l bao gm tp hp cc control file, online redo log file v cc datafile: Datafiles Mi mt Oracle database u c th c mt hay nhiu datafiles. Cc database datafiles cha ton b d liu trong database. Cc d liu thuc cu trc logic ca database nh tables hay indexes u c lu tr di dng vt l trong cc datafiles ca database. Mt s tnh cht ca datafiles: Mi datafile ch c th c s dng trong mt database. Bn cnh , datafiles cng cn c mt s tnh cht cho php t ng m rng kch thc mi khi database ht ch lu tr d liu. Mt hay nhiu datafiles to nn mt n v lu tr logic ca database gi l tablespace. Mt datafile ch thuc v mt tablespace.
D liu trong mt datafile c th c ra v lu vo vng nh b m ca Oracle. V d: khi mt user mun truy cp 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 cc 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 cc datafile. Cc 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. Redo Log Files Mi Oracle database u c mt tp hp t 02 redo log files tr ln. Cc 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 cc redo records). Chc nng chnh ca redo log l ghi li tt c cc 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 cc bn sao ca redo log trn cc a khc nhau. Cc 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 cc datafiles trong database. V d: khi c s c xy ra nh mt in bt cht chng hn, cc d liu trong b nh khng th ghi trc tip ln cc datafiles v gy ra hin tng mt d liu. Tuy nhin, tt c cc 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 cc thng tin mi nht c trong cc redo log files thuc datafiles. Oracle s khi phc li cc database cho n thi im trc khi xy ra s c. Cng vic khi phc d liu t cc redo log c gi l rolling forward. Control Files Mi Oracle database u c t nht mt control file. Control file cha cc mc thng tin quy nh cu trc vt l ca database nh: Tn ca database.
Trang 20
Tn v ni lu tr cc datafiles hay redo log files. Time stamp (mc thi gian) to lp database, ...
Mi khi no mt instance ca Oracle database c m, control file ca n s c s dng xc nh data files v cc redo log files i km. Khi cc thnh phn vt l c database b thay i (v d nh, to mi datafile hay redo log file), Control file s c t ng thay i tng ng bi Oracle. Control file cng c s dng n khi thc hin khi phc li d liu.
Cu trc logic databse Cu trc logic ca Oracle database bao gm cc i tng tablespaces, schema objects, data blocks, extents, v segments. Tablespaces Mt database c th c phn chia v mt logic thnh cc n v gi l cc tablespaces, Tablespaces thng bao gm mt nhm cc thnh phn c quan h logic vi nhau.
C mt s im ta cn quan tm: Mi database c th phn chia v mt logic thnh mt hay nhiu tablespace. Mi tablespace c th c to nn, v mt vt l, bi mt hoc nhiu datafiles. Kch thc ca mt tablespace bng tng kch thc ca cc datafiles ca n. V d: trong hnh v trn SYSTEM tablespace c kch thc l 2 MB cn USERS tablespace c kch thc l 4 MB. Kch thc ca database cng c th xc nh c bng tng kch thc ca cc tablespaces ca n. V d: trong hnh v trn th kch thc ca database l 6 MB.
Schema v Schema Objects Schema l tp hp cc i tng (objects) c trong database. Schema objects l cc cu trc logic cho php tham chiu trc tip ti d liu trong database. Schema objects bao
Trang 21
gm cc cu trc nh tables, views, sequences, stored procedures, synonyms, indexes, clusters, v database links. Data Blocks, Extents, and Segments Oracle iu khin khng gian lu tr trn a cng theo cc cu trc logic bao gm cc data blocks, extents, v segments.
Extents
L mc phn chia cao hn v mt logic cc 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 cc thng tin c cng kiu.
Segments
L mc phn chia cao hn na v mt logic cc vng khng gian trong database. Mt segment l mt tp hp cc extents c cp pht cho mt cu trc logic . Segment c th c phn chia theo nhiu loi khc nhau: Mi mt non-clustered table c mt data segment. Cc d liu trong mt table c lu tr trong cc extents thuc data segment . Vi mt partitioned table th mi each partition li tng ng vi mt data segment. Mi Cluster tng ng vi mt data segment. D liu ca tt c cc table trong cluster u c lu tr trong data segment thuc Cluster . Mi mt index u c mt index segment lu tr cc d liu ca n. Trong partitioned index th mi partition cng li tng ng vi mt index segment. Mt hoc nhiu rollback segments ca database c to lp bi ngi qun tr database lu tr cc d liu trung gian phc v cho vic khi phc d liu. Cc thng tin trong Rollback segment c s dng : To s ng nht cc thng tin c c t database S dng trong qu trnh khi phc d liu Phc hi li cc giao dch cha commit i vi mi user
Data segment
index segment
rollback segment
temporary segment
Temporary segments c t ng to bi Oracle mi khi mt cu lnh SQL statement cn n mt vng nh trung gian thc hin cc cng vic ca mnh nh sp xp d liu. Khi kt thc cu lnh , cc extent thuc temporary segment s li c hon tr cho h thng.
Trang 22
Oracle thc hin cp pht vng khng gian lu tr mt cch linh hot mi khi cc extents cp pht s dng ht.
Cc cu trc vt l khc Ngoi ra, Oracle Server cn s dng cc file khc lu tr thng tin. Cc file bao gm: Parameter file: Parameter file ch ra cc tham s c s dng trong database. Ngi qun tr database c th sa i mt vi thng tin c trong file ny. Cc tham s trong parameter file c vit dng vn bn. Password file: Xc nh quyn ca tng user trong database. Cho php ngi s dng khi ng v tt mt Oracle instance. Archived redo log files: L bn off line ca cc redo log files cha cc thng tin cn thit phc hi d liu.
Trang 23
Tham s DB _nK_CACHE_SIZE Ch ra kch c l bi s nguyn ln kch thc ca block buffers. N c ch ra bi cc tham s: DB_2K_CACHE_SIZE DB_4K_CACHE_SIZE DB_8K_CACHE_SIZE DB_16K_CACHE_SIZE DB_32K_CACHE_SIZE.
v d ny, cc tham s ch ra kch thc block chun ca database l 4K. Kch thc cache tng ng vi kch thc block chun l 12M. Cc kch thc m rng ca cache l 2K v 8K s c t li vi gi tr tng ng l 8M v 4M. i u ch nh kch c c a Shared Poo l Tham s SHARED_POOL_SIZE trong phin bn Oracle 9i l tham s ng, tc l c th thay i c gi tr ca n (iu ny khng th thc hin c trong cc phin bn trc). N cho php ta thay i kch thc ca shared pool l mt trong cc thnh phn ca SGA. Theo mc nh Oracle cng chn mt gi tr mc nh ph hp cho tham s ny. i u ch nh kch c c a Large Pool Tng t nh SHARED_POOL_SIZE, tham s LARGE_POOL_SIZE cng l mt tham s ng, n cho php ta iu chnh kch c ca large pool, y cng l mt thnh phn trong SGA. . Gi i h n kch c c a SGA Tham s SGA_MAX_SIZE quy nh kch c ln nht ca System Global Area . Ta cng c th thay i kch c ca buffer caches, shared pool v large pool, tuy nhin vic thay i ny nn l m rng gi tr kch thc cho cc thnh phn ca SGA. Gi tr m rng thm ny cng khng nn t ti ngng ca SGA_MAX_SIZE. Trong trng hp ta khng ch r gi tr ca SGA_MAX_SIZE th Oracle s t ng gn gi tr ny bng tng s kch c ca cc thnh phn ca SGA lc ban u.
Trang 24
Kt ni hai lp (two-tiered) client-server: Client nm trn mt my tnh khc v kt ni trc tip ti my ch Oracle Server. Kt ni ba lp (three-tiered): Client nm trn my tnh khc vi my ch Oracle Server, n giao tip vi mt ng dng hay mt my ch mng (network server) v iu khin ng dng hay my ch ny kt ni ti Oracle server.
2.2.3. Kt ni ti database
Cc bc thc hin kt ni kt ni ti database trc tin, cn phi to lin kt ti Oracle Server. Lin kt ti Oracle Server c to theo cc bc sau: User s dng cng c SQL*Plus hay s dng cc cng c khc ca Oracle nh Developer/2000 Forms khi to tin trnh. Trong m hnh Client-Server, cc cng c hay ng dng ny c chy trn my Client.
Trang 25
User thc hin log in vo Oracle server vi vic khai bo username, password v tn lin kt ti database. Cc ng dng tools s to mt tin trnh kt ni ti Oracle server qua cc tham s ny. Tin trnh ny c gi l tin trnh phc v. Tin trnh phc v s giao tip vi Oracle server thay cho tin trnh ca user chy trn my Client. V d thc hin kt ni ti database
hiu r hn v cc bc thc hin kt ni, ta hy xem xt mt v d m t vic kt ni ti Oracle database thc hin bi mt user ti mt my tnh khc c kt ni ti my tnh m Oracle server ang chy trn . Vic kt ni c thc hin thng qua ng mng bng cch s dng dch v Oracle Net8. 1. Ti my ch, cn m bo Oracle server ang chy v sn sng n nhn cc tn hiu t pha Client. My ch ny c gi l host hay database server. 2. Ti mt my trm c chy cc ng dng (gi l local machine hay client workstation) s thc hin cc user process kt ni ti database. Client application thc hin thit lp mt kt ni ti server thng qua Net8 driver. 3. My ch server trn c cc Net8 driver. Server s thc hin vic nghe v d tm tt c cc yu cu gi n t pha client v sau s to mt server process tng ng vi user process. 4. Khi user thc hin mt cu lnh SQL hay commit mt transaction. V d nh user d liu trn mt dng trong mt table. 5. Server process s nhn v cu lnh gi ti t Client, kim tra v phn tch cu lnh, vic ny c thc hin trong shared pool. Tip theo , Server process s kim tra quyn truy nhp d liu ca user. 6. Server process tr v cc gi tr d liu yu cu t cc d liu c trong datafile hay trong system global area. 7. Server process thay i cc d liu c trong system global area. DBWn process ghi li cc blocks thay i ra a. LGWR process s ghi li ngay lp tc cc bn ghi thay i vo online redo log file ngay khi transaction c commit. 8. Trong trng hp transaction thc hin thnh cng, server process s gi thng bo hon tt qua ng mng ti Client. Ngc li, s c mt error message gi ti Client.
Trang 26
Server Manager Line Cng c qun tr c s d liu Oracle theo ch dng lnh Mode nh start (khi ng), shutdown (dng) database,... SQL*Plus Line Mode Oracle Manager y l mt tin ch s dng cho vic cng qun tr nh starting up, shutting down, hoc phc hi database.
Enterprise L cng c c giao din ha thc hin vic qun tr, iu khin v thay i mt hoc nhiu database. Tin ch s dng np cc file bn ngoi vo trong cc bng ca Oracle .
SQL*Loader
Cng c Export v Tin ch s dng exporting hoc importing d liu theo khun Import dng ca Oracle. Password File Tin ch s dng to file mt khu trong database.
thun tin, ti liu s trnh by hai cng c thng dng nht qun tr c s d liu l: Server Manager Line Mode Oracle Enterprise Manager
Trang 27
Ngoi ra, ta c th chy file script cha cc cu lnh SQL v PL/SQL. Bng cch s dng k t @ trc tn file script.
CONNECT/DISCONNECT DESCRIBE Cc lnh cn n EXECUTE mc quyn truy SHOW ERRORS nhp SHOW PARAMETER SHOW SGA CONNECT AS SYSDBA Cc lnh cn n CONNECT AS SYSOPER mc quyn truy ARCHIVE LOG nhp c bit RECOVER DATABASE STARTUP/SHUTDOWN
log files, redo log file RECOVER DATABASE STARTUP/ SHUTDOWN Phc hi li mt hay nhiu tablespaces Khi ng hoc tt Oracle instance
Trang 29
OEM l mt h thng a ngi dng - multiuser system. Mi qun tr vin c mt account ring ng nhp vo h thng. Ty theo vic thit t quyn hn, m qun tr vin c th truy cp vo cc d liu lu trong kho trung tm, kho c chia s cho tt c cc qun tr vin ca OEM thc hin cng vic qun l.
Trang 30
4. Menu cho php khi to cc ng dng qun tr khc v thc hin nhiu tc v khc nhau. 5. Map hay topographical view cho php cc Oracle services c th c gp li ty theo quan h v khng gian, chc nng, hay c hai. Map view cho php ngi s dng tp trung vo cc i tng cn qun l. 6. Event system iu khin v thng bo cc trng thi ca h thng.
Ngoi cc cc cng c k trn, Oracle cn h tr cc cng c lm tng cng hiu sut lm vic ca DATABASE. Performance Manager: biu din hiu sut lm vic ca database di dng biu ho. Top- Session Manager: hin th thng tin chi tit v cc session ca 10 session c s dng ti nguyn h thng, sp xp theo th t gim dn. Cng c ny cn cho php kill session. Loock Manager: cho bit cc thng tin lin quan n vic kho (lock) cc i tng trong database. Cc thng tin c biu din di dng ho. Tablespaces Manager: cng c gip cho d dng qun l cc tablespace c trong database.
Trang 31
Chng 4. TO DATABASE
4.1.CC BC TO DATABASE
Oracle hin h tr mt cng c cho php to database trn h iu hnh Windows mt cch trc quan. l cng c Oracle Database Assistant. Tuy nhin, trong mt s trng hp cng c ny t ra khng c thun tin lm. Bn cnh vic s dng cng c cung cp sn ca Oracle to database, Oracle cn cho php user c th to database m khng s dng cc cng c ca Oracle. Phng php ny gi l to database bng tay manually. Vic to database c tin hnh theo cc bc: 1. Quyt nh chn la tn instance v tn database duy nht. Chn character set tp k t s dng trong database. 2. Thit lp cc bin h thng. 3. Chun b file tham s, to file mt khu (nn c thao tc ny). 4. Chun b instance phc v qun tr 5. To database. 6. Chy scripts to cc dictionary cho database.
4.2.CHUN B MI TRNG
4.2.1. Chun b h iu hnh
to database, qun tr vin trc tin phi c th truy nhp vo h iu hnh vi y quyn. Trc khi to database, cn tnh ton dung lng b nh cho database cn c vo cu hnh ca Server v m bo c b nh thc hin cc tin trnh ca Oracle mt cch hiu qu. Tnh ton lng a trng cn thit cho vic lu tr cc data files, cc control files, cc redo log file v cc files khc...
Trang 32
Online redo log files Online redo log files thng thng bao gm nhiu nhm cc online redo log files khc nhau. Vi mi nhm cha cc bn sao ca cc redo log file. Tng t nh control file. Cc online redo log file cng nn c t cc ni khc nhau. Cng ging nh Control files, vic t tn cho cc Online redo log files nn c t km vi tn ca database cho d nh, nh sau: LOG<n><database_name>.ORA Vi: n database_name l s th t ca control file tn ca database
Tn ca cc control files c t phn cch nhau bi cc du phy. V d: logfile = C:\ORANT\DATABASE\LOG1KTKB.ORA SIZE 1024K, C:\ORANT\DATABASE\LOG2KTKB.ORA SIZE 1024K
Datafiles Tn ca datafiles nn c t theo nh ni dung ca n. i vi cc data files, ta cn quan tm ti mt s tnh cht sau: Gim thiu vic phn on trong cc data files. Tch ring cc i tng trong database nh tch cc application data, temporary data trn cc tablespaces khc nhau.
Cc datafile c phn chia theo cc segment khc nhau. Tn ca chng thng c t vi ui l .DBF cn phn u s c phn theo tng loi segment tng ng. V d: C:\ORANT\DATABASE\KTKB\SYSTEM01.DBF C:\ORANT\DATABASE\KTKB\RBS01.DBF C:\ORANT\DATABASE\KTKB\RBS02.DBF C:\ORANT\DATABASE\KTKB\USERS01.DBF C:\ORANT\DATABASE\KTKB\TEMP01.DBF C:\ORANT\DATABASE\KTKB\TOOLS01.DBF C:\ORANT\DATABASE\KTKB\INDX01.DBF
Trang 33
Cu trc ca OFA: 1. t tn cc thit b n c th cha ng cc d liu Oracle server ging nh mt tp hp. 2. Phn bit cc file sn phm, bao gm cc phn mm v cc cng c Oracle server, cc file qun tr, file script khi to,... 3. Lu li cc phin bn ca cc sn phm Oracle server 4. To cc th mc lu tr d liu Oracle server.
Trang 34
DB_BLOCK_SIZE
Thng thng, khi chun b parameter file ca mt database sp c to, ta c th sao chp li ni dung ca parameter file mu ri chnh sa li mt vi thng s trong nh db_name, control_files,... Parameter file mu ca oracle thng c t th mc: <%ORACLE_HOME%>\ADMIN\SAMPLES\PFILE V d v ni dung ca file tham s: file InitU16.ora db_name = U16 db_files = 1020 control_files = ("C:\ORANT\database\ctl1U16.ora", "C:\ORANT\database\ctl2U16.ora") db_file_multiblock_read_count = 16 db_block_buffers = 2000 shared_pool_size = 30000000 log_checkpoint_interval = 8000 processes = 100 dml_locks = 200 log_buffer = 65536 sequence_cache_entries = 30 sequence_cache_hash_buckets = 23 #audit_trail = true #timed_statistics = true background_dump_dest = C:\ORANT\rdbms80\trace user_dump_dest = C:\ORANT\rdbms80\trace
Trang 35
db_block_size =8192 compatible = 8.0.4.0.0 sort_area_size = 65536 log_checkpoint_timeout = 0 remote_login_passwordfile = shared max_dump_file_size = 10240
C th to mi, start, stop, sa i hay Ch c th to mi hay hu b databse. xo b instances. Khng can thip ti Khng th start hay stop database database files C th s dng sa i instance Khng th sa i instance Dng to password file v service lin Dng to password file v service lin quan. Khng to database c quan, instance v c database L u : cc phin bn trc ca Oracle, cng c ORADIM c tn l ORADIM80
4.4.1. To mt instance
C php: C:\>ORADIM -NEW -SID SID | -SRVC SERVICE_NAME [-INTPWD INTERNAL_PWD] - SHUTTYPE SRVC | INST | SRVC, INST [MAXUSERS NUMBER][-STARTMODE AUTO | MANUAL][-PFILE FILENAME] Vi: -NEW -SID SID To mi instance phc v cho database. Tn ca instance c to (tn ny thng c ly chnh l tn ca database). -SRVC SERVICE_NAME Tn ca service phc v database. -INTPWD INTERNAL_PWD Mt khu ca Internal account s dng qun tr database -MAXUSERS NUMBER S lng user ti a nh ngha trong password file -STARTMODE AUTO, MANUAL t ch khi ng instance phc v (khi ng service trn my ch server)
Trang 36
-PFILE FILENAME Ch r parameter file INIT<Database_name>.ORA -SHUTTYPE SRVC, INST Dng instance phc v (stop service) V d: C:\> ORADIM -NEW -SID PROD -INTPWD MYPASSWORD1 -STARTMODE AUTO -PFILE C:\ORACLE\ADMIN\PROD\PFILE\INIT.ORA
Trang 37
4.4.4. Hu instance
C php: C:\>ORADIM -DELETE -SID sid V d:
C:\> ORADIM -DELETE -SID PUMA
4.5.TO DATABASE
4.5.1. Khi ng Instance
S dng user vi mc quyn DBA. Dng cng c ORADIM to Instance. Khi ng Instance ch NOMOUNT v ch r file tham s s dng trong chng trnh: SVRMGR> STARTUP NOMOUNT \ > PFILE=initU16.ora
CONTROLFILE REUSE Tn file tham s tn ti c ti s dng LOGFILE GROUP Tn ca log file c s dng MAXLOGFILES S lng ti a cc log file group cho CSDL MAXLOGMEMBERS S lng ti a cc log file member i vi mt log file group MAXLOGHISTORY S lng ti a cc redo log trong mt group DATAFILE filespec Tn file d liu c s dng AUTOEXTEND Cho php hoc khng cho php m rng t ng cc file d liu MAXDATAFILES S lng ti a cc datafiles trong database MAXINSTANCES S lng ln nht cc instance c th ng thi mount v open database ARCHIVELOG Xc nh rng redo log cn ch archive trc khi c dng li NOARCHIVELOG Xc nh rng redo log cn c dng li m khng cn t ch archive CHARACTER SET, NATIONAL CHARACTER SET Chun k t m CSDL s dng lu tr cc d liu V d: to database SPOOL creU16.log STARTUP NOMOUNT PFILE=initU16.ora CREATE DATABASE U16 MAXLOGFILES 5 MAXLOGMEMBERS 5 MAXDATAFILES 100 MAXLOGHISTORY 100 LOGFILE GROUP 1 ('/DISK3/log1a.rdo',/DISK4/log1b.rdo) SIZE 1 M, GROUP 2 ('/DISK3/log2a.rdo',/DISK4/log2b.rdo) SIZE 1 M DATAFILE '/DISK1/system01.dbf' size 50M autoextend on CHARACTER SET WE8ISO8859P1;
Trang 39
Vi cng c ny, ngi qun tr ch vic khai bo cc tham s cn thit cho database. Oracle Database Assistant s t ng kt sinh ra cu lnh SQL tng ng vi cc tham s c khai bo. Cc cu lnh SQL c th c chy lun hoc cng c th c lu li thnh cc script files s dng sau ny.
Trang 40
MAXDATAFILES 100 MAXINSTANCES 1 CHARACTER SET WE8ISO8859P1 NATIONAL CHARACTER SET WE8ISO8859P1; spool off File initU16.ora db_name = U16 db_files = 1020 control_files = ("C:\ORANT\database\ctl1U16.ora", "C:\ORANT\database\ctl2U16.ora") db_file_multiblock_read_count = 16 db_block_buffers = 2000 shared_pool_size = 30000000 log_checkpoint_interval = 8000 processes = 100 dml_locks = 200 log_buffer = 65536 sequence_cache_entries = 30 sequence_cache_hash_buckets = 23 #audit_trail = true #timed_statistics = true background_dump_dest = C:\ORANT\rdbms80\trace user_dump_dest = C:\ORANT\rdbms80\trace db_block_size =8192 compatible = 8.0.4.0.0 sort_area_size = 65536 log_checkpoint_timeout = 0 remote_login_passwordfile = shared max_dump_file_size = 10240
Trang 42
Trang 43
L u : Vi quyn DBA, cc users ny s c th can thip c ti cc quyn ca cc user khc s dng trong h thng. V th, nhng qun tr vin database cn thay i mt khu ca mnh trnh s dng mt khu mc nh do Oracle cung cp v user khc c th bit v s dng truy nhp vo h thng mt cch tri php, gy xo trn h thng.
Trang 44
OSOPER: l quyn cho php user c th STARTUP, SHUTDOWN, ALTER DATABASE OPEN/MOUNT, ALTER DATABASE BACKUP, ARCHIVE LOG, v RECOVER, ngoi ra cn c thm c quyn RESTRICTED SESSION. OSDBA: l quyn cho php user c th c c tt c cc quyn ca OSOPER, ngoi ra cn c thm mt s mc quyn phc v qun tr database l ADMIN OPTION, v CREATE DATABASE
Trang 45
Khi kt ni vi database theo mc quyn SYSDBA hay SYSOPER, user s c kt ni ti cc schema mc nh, vi SYSDBA th shema mc nh l SYS, vi SYSOPER th shema mc nh l PUBLIC.
Vi: sid internal_pwd svrcname n auto or manual filename tn instance mt khu internal account tn service s lng ti a file mt khu ch khi ng service l: manual hay automatic cho php s dng file mt khu khng phi l mc nh
thay i mt khu INTERNAL ta thc hin theo cc bc sau: 1. Xo mt khu c C:\> ORADIM -DELETE -SID sid 2. To mt khu mi C:\> ORADIM -NEW -SID sid -INTPWD internal_pwd - MAXUSERS N
File tham s thng thng c tn init<SID>.ora. Theo mc nh, file tham s c t trong th mc %ORACLE_HOME%\DATABASE. File tham s ch c c mt ln khi khi ng instance. Khi thay i ni dung ca file tham s, s dng c cc gi tr mi cn shut down ri sau restart li instance.
Trang 47
t cc hn ch i vi user hay process. t cc hn ch i vi ti nguyn database. Xc nh cc thuc tnh vt l ca database, nh kch thc ca block. Ch ra cc control files, archived log files, Alert file, v trace file locations.
Trang 48
V d mt parametersfile:
Lu : Tn database nm trong tham s DB_NAME ca file tham s. Cu lnh: STARTUP NOMOUNT; Start Instance ch mount thc hin mt vi thao tc c bit khi vn hnh database, ta c th khi ng mt instance v mount database nhng cha m database. V d nh: i tn datafiles Enable hoc Disable cc redo log files Thc hin phc hi d liu (recovery).
Gn database vi mt instance khi ng nh v v m cc control files theo nh thng s c trong file tham s c ni dung ca control file v xc nh trng thi cho cc data files v cc redo log files. STARTUP MOUNT;
Cu lnh: Start Instance ch open Sau khi databsae c m, nhng ngi s dng hp l c th kt ni ti database v thc hin cc thao tc truy nhp vo database. Vic m database din ra theo hai bc: M cc online data files M cc online redo log files. STARTUP OPEN;
Cu lnh:
Khi ph c Instance Trong mt s trng hp Instance c th gp li v khng th lm vic c. V d nh: c li h thng xy ra. Vic khi phc Instance s c thc hin theo cc bc sau: Khi phc li tt c cc d liu c th khi phc c (d liu cha c lu vo data files nhng lu vo trong online redo log files) M database. Khi phc li tt c cc transaction cha c commit.
Close database y l bc u tin khi tt hn mt database. Sau khi ng database, tt c cc d liu cn trong b m (redo log buffer cache) s c ghi ra file (online redo log file). Cc control file vn c m. Dismount database Dissmount database s ng nt cc control file thuc database ang m.
Trang 50
Shoutdown Instance y l bc cui cng, intance s c tt hn. Cc trace file v Alert file ca instance b ng. Cc background process b dng v vng nh SGA cp cho instance b thu hi.
C php: SHUTDOWN [NORMAL | TRANSACTIONAL | IMMEDIATE | ABORT ] Vi: NORMAL Khng cho to thm cc connection ti database, ch cho connection hin thi kt thc th shutdown database. Khng cho pht sinh thm cc transaction, ch cho transaction hin thi kt thc th shutdown database. Kt thc lun transaction hin thi nhng vn ch h thng commit hay rollback ri mi shutdown database. Shutdown database tc thi khng i hi bt c iu kin g.
TRANSACTION
IMMEDIATE
ABORT
Trang 52
Hnh v trn so snh tiu tn v thi gian khi thc hin mt thao tc chuyn i d liu: 1. Thc hin truy vn ly d liu 2. Thc hin lnh INSERT v DELETE cp nht v chuyn i d liu 3. Pht lnh COMMIT cp nht d liu vo database 4. Hu b lin kt ti database.
Trang 53
DATABASE_STATUS --------ACTIVE
Trang 54
Nu khng p dng trng thi tnh cho database, th ta cn phi shutdown database ri open li n ch restrict. V vic ny s tr nn nghim trng hn khi h thng yu cu phi chy lin tc 24 x 7. p dng ch tnh cho database s gim bt i cc hn ch v restriction v n loi bt i c cc xu xy ra vi database.
Tt c cc non-DBA active sessions s c tip tc x l cho ti khi chng chuyn sang trng thi inactive. Mt session c xem l active nu lc n ang c cc php thc nh transaction, query, fetch, hay ang x l mt cu lnh PL/SQL; hoc cng c th l session ang nm gi phn ti nguyn chia s (shared resources). Khi tt c cc non-DBA sessions chuyn sang trng thi inactive, cu lnh ALTER SYSTEM QUIESCE RESTRICTED kt thc v database c xem nh l chuyn sang trng thi tnh quiesce state. Trong mi trng Oracle Real Application Clusters, cu lnh ny c nh hng ti tt c cc instances, ch khng ch l i vi instance ni pht ra cu lnh. Lnh ALTER SYSTEM QUIESCE RESTRICTED c th phi ch trong mt thi gian kh di cho active sessions chuyn sang trng thi inactive. Nu ta hu b yu cu, hoc nu session b kt thc mt cch t ngt v nhiu l do khc nhau th Oracle s t ng phc hi li (undo) trng thi trc khi thc hin lnh.
Trang 55
Nu mt truy vn c a ra bi cc Oracle Call Interface (OCI), th cu lnh ALTER SYSTEM QUIESCE RESTRICTED s khng ch fetch ht tt c cc d liu m ch ch fetch xong dng d liu hin thi m thi. Khi trng thi quiesce state, ta khng s dng h iu hnh sao chp cc file trong h thng ging nh khi thc hin backup lnh i vi database, cho d ta c cc checkpoint ti mi mt instance. L do l v khi trng thi quiesce state th cc file headers ca online datafiles vn lun c lin tc truy cp.
Khi ny tt c cc non-DBA activity s c tip tc thc hin. Trong mi trng Oracle Real Application Clusters, ta c th pht lnh ny t bt k mt instance no c kt ni ti server khng nht thit phi l instance pht lnh t trng thi tnh. Trong trng hp session pht lnh ALTER SYSTEM UNQUIESCE gp li, Oracle database server s lun m bo vic thc hin unquiesce s kt thc.
Trang 56
SVRMGR> SHOW PARAMETER control NAME ------------------------------control_file_record_keep_time control_files TYPE ------integer string VALUE -------------------7 /DISK1/control01.con
C php:
Kt thc session Ta c th kt thc (Terminate) cc session ca mt Instance trong ch restrict, trc khi thc hin cc thao tc qun tr. C php: ALTER SYSTEM KILL SESSION integer1,integer2 Vi: KILL SESSION integer1 integer2 tn session cn kt thc gi tr ca ct SID trong view v$session gi tr ca ct SERIAL# trong view v$session
Ch : hai gi tr integer1 v integer2 dng xc nh session Vi lnh KILL SESSION background process PMON s thc hin cc cng vic sau: Rollback transaction hin thi ca user Gii phng tt c cc lock trn cc table thc hin bi user Gii phng cc ti nguyn s dng bi user
Trang 59
Base tables Thng tin trong data dictionary c xc nh t cc thng tin c trong cc base tables (bng c s). Ni dung ca cc bng ny do Oracle server cp nht. User thuc database hu nh khng th cp nht cc thng tin ny do chng l cc thng tin c chun ho v c m ho. V d: ta ch c th truy xut ti cc thng tin c trong bng IND$ bit c cc thng tin v cc indexes c nh ngha trong database, hoc ly cc thng tin trong bng OBJ$ bit c cc objects c nh ngha trong database. Ta khng th s dng cc cu lnh thao tc d liu nh INSERT, UPDATE, hay DELETE thay i ni dung thng tin trong cc bng c s mt cch trc tip ngoi tr bng AUD$ (Xem thm phn kim tra - Auditing).
Trang 60
Data Dictionary Views Data dictionary views c to ra bi cc cu lnh c trong file script catalog.sql. Cc views ny gii m v tng hp cc thng tin c trong cc base tables. d dng truy xut cc thng tin ny, cc data dictionary thng c to cc synonyms tng ng. Phn ln cc thng tin h thng c User ly v t cc data dictionary views hn l ly trc tip t cc base tables.
Data dictionary views c phn ra lm ba loi cha cc thng tin tng t nhau nhng cc mc khc nhau. Cc loi data dictionary views ny c phn bit bi cc tip u ng khc nhau. Ti p u ng USER Cc views c tip u ng USER cha thng tin v cc objects do User hin thi s hu. V d: USER_TABLES s cha thng tin v cc bng d liu ca User hin thi. Ti p u ng ALL Cc views c tip u ng ALL cha thng tin v cc objects c th truy cp bi User hin thi, bao gm c cc i tng do User s hu v c cc i tng khc m User c gn quyn truy nhp. V d: ALL_TABLES s cha thng tin v cc bng d liu m User hin thi c th truy nhp. Ti p u ng DBA Cc views c tip u ng DBA cha thng tin v cc objects c trong database. Cc views ny l cn thit cho qun tr vin database. Mt User bt k cng c th xem c thng tin trong cc views DBA nu user c cp quyn SELECT ANY TABLE.
Trang 61
Phn lo i m t s lo i views Tn View DICTIONARY DICT_COLUMNS DBA_TABLES DBA_OBJECTS DBA_LOBS DBA_TAB_COLUMNS DBA_CONSTRAINTS DBA_USERS DBA_SYS_PRIVS DBA_ROLES Thng tin chung Thng tin lin quan ti cc i tng ca User nh: table, Column, Constraint,... Di n gi i
Tn View DBA_EXTENTS DBA_FREE_SPACE DBA_SEGMENTS DBA_ROLLBACK_SEGS DBA_DATA_FILES DBA_TABLESPACES DBA_AUDIT_TRAIL DBA_AUDIT_OBJECTS DBA_AUDIT_OBJ_OPTS
Di n gi i Tnh hnh cp pht khng gian cho cc i tng trong database. Thng tin v cu trc database
V d: ly cc thng tin chung trong t in d liu, ta c th truy vn trong Cc views DICTIONARY hoc DICT_COLUMNS. SVRMGR>SELECT * 2> FROM dictionary 3> WHERE table_name LIKE %TABLE%; TABLE_NAME COMMENTS -------------------- --------------------------------------ALL_ALL_TABLES Description of all object and relational tables accessible to the user ALL_NESTED_TABLES Description of nested tables in tables accessible to the user ALL_OBJECT_TABLES Description of all object tables accessible to the user ALL_PART_TABLES ALL_TABLES Description of relational tables accessible to the user ALL_UPDATABLE_COLUMNS Descriptionofallupdatablecolumns
Trang 62
Description of all object and relational tables in the database Description of nested tables contained in all tables Description of all object tables in the database
Sau khi to database, ta truy cp vo database theo user: SYS v chy cc scripts: catalog.sql v catprog.sql to cc dictionary views. Thng thng, cc scripts ny nm trong th mc: %ORACLE_HOME%\RDBMS80\ADMIN Catalog.sql CATALOG.SQL script dng to cc view da trn cc base tables (bng c s) ca database. Cc view ny s c to synonym (mt tn khc vi tn ca objects c dng truy cp objects) tng ng d dng truy vn cc d liu t hn. Scripts ny cn gi ti cc scripts khc to cc views v cc i tng khc phc v cho cc tin ch Server Manager, cho vic kim tra, cho cc tin ch Export v Import d liu,... Scripts STANDARD.SQL c gi n trong to cc mi trng PL/SQL tun theo chun. V d: Scripts to mu giao tip cho 01 hm built-in c tn BITAND: function BITAND (LEFT binary_integer, RIGHT binary_integer) return binary_integer; Catproc.sql CATPROC.SQL script dng to cc hm PL/SQL, cc packages PL/SQL s dng trong RDBMS. Ngoi ra, CATPROC.SQL script cn to Cc views m rng khc.
Trang 63
L i ch c a Stored procedures Cc Stored procedures c np vo shared pool, do c th gim bt vic truy xut a khi thc hin th tc. m bo an ton cho d liu, ngn khng cho cc users truy cp trc tip vo d liu m phi thng qua cc th tc v hm giao tip c cung cp. Cho php nhiu users c th cng s dng cc bn sao ca Stored procedures thc hin.
Trang 64
Chc nng ca packages cng tng t nh Stored procedures. Mt khi packages c bin dch, packages c th c s dng bi nhiu ng dng khc nhau. Tuy nhin, c mt li ch ln nht khi s dng packages l ngay ln u tin gi n packages, ton b packages s c np vo trong b nh.
Thit lp ch d tm thc hin lnh Chn chun h tr ngn ng ng database link. Tr v m duy nht c cc session hin ang connect ti database. Xc inh xem role c c kch hot trong session khng. Xc nh xem session c cn hay khng. Bt hoc t t close_cached_open_cursors Gii phng vng b nh khng cn s dng Phn tch cc objects trong schema nh: functions, procedures, packages, triggers,.. Bin dch schema cc objects trong
COMPILE_SCHEMA DB_VERSION DBMS_ROWID DBMS_SPACE DBMS_SHARED_P OOL ROWID_INFO UNUSED_SPACE FREE_BLOCKS KEEP UNKEEP SIZES DBMS_SQL OPEN_CURSOR PARSE BIND_VARIABLE BIND_ARRAY EXECUTE Function EXECUTE_AND_FETCH FETCH_ROWS COLUMN_VALUE IS_OPEN
Xc nh phin bn ca database Thng tin v dng d liu Vng khng gian khng s dng Cc blocks ri Lu tr cc object trong shared pool Thi lu gi cc object Kch thc b nh trong shared pool Tr v number) s hiu cursor (ID
Phn tch cu lnh Binds mt gi tr bin. Binds mt gi tr bin mng. Executes a given cursor. Thc hin lnh v ly v cc dng d liu. Ly v cc dng d liu ca mt cursor. Ly v d liu ca ct Xc nh Cursor m hay cha.
Trang 66
ng cursor v gii phng b nh. Tr v li thc hin cu lnh SQL Tr v s lng dng d liu ly v Tr v m dng d liu x l ROWID Tr v m hm SQL
Trang 67
SELECT DBMS_METADATA.GET_XML(TABLE, EMP, SCOTT) from dual; <?xml version="1.0"?> <ROWSET> <ROW> <TABLE_T> <VERS_MAJOR>1</VERS_MAJOR> <VERS_MINOR>0</VERS_MINOR> <OBJ_NUM>5543</OBJ_NUM> <SCHEMA_OBJ> <OBJ_NUM>5543</OBJ_NUM> <DATAOBJ_NUM>5543</DATAOBJ_NUM> <OWNER_NUM>25</OWNER_NUM> <OWNER_NAME>SCOTT</OWNER_NAME> <NAME>EMP</NAME> <NAMESPACE>1</NAMESPACE> <MINEXTS>1</MINEXTS> <MAXEXTS>2147483645</MAXEXTS> <EXTSIZE>128</EXTSIZE> <EXTPCT>0</EXTPCT>
C php lnh yu cu bin dch li Stored procedures: ALTER PROCEDURE [schema_name].<procedure_name> COMPILE [DEBUG];
Trang 68
Vi: schema_name procedure_name COMPILE DEBUG tn schema cha procedure cn bin dch li tn ca procedure bin dch li. ch nh yu cu bin dch li procedure ch nh chng trnh bin dch m lnh PL/SQl ca procedure s sinh m lnh ph hp chng trnh PL/SQL debugger c th c. User c th s dng chng trnh ny d tm v g li cho procedure. COMPILE;
Tng t nh i vi procedure, c php lnh yu cu bin dch li Stored function c dng: ALTER FUNCTION [schema_name].<function_name> COMPILE [DEBUG]; V d: ALTER FUNCTION merriweather.get_bal COMPILE; i vi package, lnh yu cu bin dch li cng tng t nhng c thm mt b sung l user phi khai bo r tng phn ca package s c bin dch li. C php: ALTER PACKAGE [schema_name].<package_name> COMPILE [DEBUG] <PACKAGE | SPECIFICATION | BODY>; Cc khai bo b sung cho php user yu cu bin dch li phn SPECIFICATION hay phn BODY hoc l bin dch li c hai phn trn. V d: ALTER PACKAGE blair.accounting COMPILE PACKAGE; Hoc: ALTER PACKAGE blair.accounting COMPILE BODY; xc nh c trng thi ca cc Stored procedures, ta c th thc hin truy vn da trn dictionary DBA_OBJECTS. SVRMGR> SELECT object_name, object_type, status 2> FROM dba_objects WHERE object_name like DBMS_% OBJECT_NAME OBJECT_TYPE STATUS -------------------- --------------- -------DBMS_ALERT PACKAGES VALID DBMS_ALERT PACKAGES BODY VALID DBMS_ALERT_INFO TABLE VALID DBMS_APPLICATION_INF PACKAGES VALID DBMS_APPLICATION_INF PACKAGES BODY VALID DBMS_AQ PACKAGES VALID DBMS_AQ PACKAGES BODY VALID ...
Trang 69
Hoc ta cng c th s dng lnh DESCRIBE ly thng tin SVRMGR> DESCRIBE dbms_session.set_role procedure SET_ROLE (ROLE_CMD VARCHAR2); svrmgr> describe dbms_session packages dbms_session is ------------- OVERVIEW -- This packages provides access to SQL "alter session" -- statements, and other session information from, stored -- procedures. ----------------------------- PROCEDURES AND FUNCTIONS procedure set_role(role_cmd varchar2); -- Equivalent to SQL "SET ROLE ...". -- Input arguments: -- role_cmd -- This text is appended to "set role " and then executed as -- SQL. procedure set_sql_trace(sql_trace boolean); -- Equivalent to SQL "ALTER SESSION SET SQL_TRACE ..." -- Input arguments: -- sql_trace -- TRUE or FALSE. Turns tracing on or off. procedure set_nls(param varchar2, value varchar2); Stored procedures hay Packages nhn trng thi INVALID khi cc cu lnh trong Stored procedures hay Packages b li.
Trang 70
Trang 71
thm mi mt control file hoc thay i s lng cng nh ni t cc control file, ta thc hin theo cc bc sau: 1. Shutdown database. 2. S dng lnh ca h iu hnh sao chp thm mt bn sao ca control file v nn lu tr trn mt thit b khc. 3. Sa i hoc thm mi tham s CONTROL_FILES v tn (c ng dn) tng ng vi cc control files. 4. Khi ng li database.
Trang 72
Control file c th c chia lm hai loi chnh: C th ti s dng (reused) Khng th ti s dng (unreused)
Cc control files c xc nh t ng da theo cc tham s khi to ti thi im to lp database: CONTROL_FILES = (C:\ORANT\DATABASE\CTL1KTKB.ORA, C:\ORANT\DATABASE\CTL2KTKB.ORA) Tn file km theo ng dn c t lun trong tham s to database. Cc tham s c ch ra trong database c nh hng ti control file. Qun tr vin database c th to li cc control file hay thay i cc tham s trong database c th tng, gim kch thc ca control file. Vic to mi control file i hi phi thay i kch thc ca control file. Control file lu tr cc thng tin cn thit cho Recovery Manager. V th, khi s dng Recovery Manager nhng phn khng ti s dng c trong control file c th c m rng da theo s lng cc thnh phn.
Ta mun thay i mt hay nhiu tham s c thit lp i vi database m cc tham s ny c ch ra ngay t cu lnh CREATE DATABASE nh tn database, MAXLOGFILES, MAXLOGMEMBERS, MAXLOGHISTORY, MAXDATAFILES, v MAXINSTANCES.
V d, ta mun i tn database khi xy ra xung t vi mt database ang c trong h thng nhng trng tn. Ta c th to mi control file cho mt database thng qua cu lnh SQL. C php: CREATE CONTROLFILE [REUSE] [SET] DATABASE database LOGFILE [GROUP integer] filespec [, [GROUP integer] filespec] ... {RESETLOGS | NORESETLOGS} DATAFILE filespec [, filespec] ... [MAXLOGFILES integer] [MAXLOGMEMBERS integer] [MAXLOGHISTORY integer] [MAXDATAFILES integer] [MAXINSTANCES integer] [ARCHIVELOG | NOARCHIVELOG] Vi: REUSE Cho bit CONTROL_FILES c th c ti s dng, ta khng cn quan tm ti cc tham s thuc loi tu chn. Thay i tn ca database. Lu : <Tn> Tn ca database. danh sch tn ca cc redo log file groups S lng ti a cc redo log file groups S lng ti a cc members trong mt redo S lng ti a cc archived redo log file groups S lng ti a cc datafiles S lng ti a cc instances c th kt ni ti database. Thit lp ch archiving lu tr cc redo log files
SET DATABASE DATABASE LOGFILE MAXLOGFILES MAXLOGMEMBERS MAXLOGHISTORY MAXDATAFILES MAXINSTANCES ARCHIVELOG V d:
CREATE CONTROLFILE SET DATABASE prod LOGFILE GROUP 1 ('logfile1A', 'logfile1B') SIZE 50K, GROUP 2 ('logfile2A', 'logfile2B') SIZE 50K NORESETLOGS DATAFILE 'datafile1' SIZE 3M, 'datafile2' SIZE 5M MAXLOGFILES 50 MAXLOGMEMBERS 3
Trang 74
Ta xt hai trng hp c th xy ra nh sau: S dng tu chn RESETLOGS trong cu lnh CREATE CONTROLFILE s cho php m database m khng cn ti tu chn RESETLOGS. iu ny ch c th xy ra nu tt c cc online redo logs ang trong tnh trng sn sng. S dng tu chn RESETLOGS trong cu lnh CREATE CONTROLFILE bt buc phi m database cng vi tu chn RESETLOGS, datafile tng ng vi MISSINGnnnn ch ch c hay OFFLINE.
Khi m database c s dng tu chn RESETLOGS, v MISSINGnnnn tng ng vi datafile khng ch ch c hay offline, ta s khng th truy xut vo datafile . Trong trng hp ny, tablespace cha datafile cn c hu b (DROP).
X l li xy ra i vi lnh CREATE CONTROLFILE Oracle gi tr v m li(cc m li hay xy ra l ORA-01173, ORA-01176, ORA-01177, ORA-01215 hoc ORA-01216) khi ta c gng thc hin mount v open database sau khi to mi mt control file. Tnh hung hay xy ra nht l trong cu lnh CREATE CONTROLFILE m ta qun mt file hoc c a vo tn file nhng n vn cha c trong danh sch. Trong trng hp ny, ta cn phi khi phc (RESTORE) li cc files c backup bc 3 (pha trn) v lp li cc th tc bc 4 (pha trn) lu s dng ng tn cc files.
Trang 76
V d: SVRMGR> SELECT name 2>FROM v$controlfile; NAME ----------------------/DISK1/control01.con /DISK2/control02.con 2 rows selected. SVRMGR> SELECT value 2>FROM v$parameter WHERE name =control_files; VALUE -----------------------/DISK1/control01.con /DISK2/control02.con 2 rows selected. V$CONTROLFILE_RECORD_SECTION cha cc thng tin v cc section. V d: SVRMGR>SELECT type, record_size, records_total, records_used 2> FROM v$controlfile_record_section 3> WHERE type=DATAFILE; TYPE RECORD_SIZ RECORDS_TO RECORDS_US ------------- ------------------- ---------DATAFILE 180 30 4 1 row selected. Ct d liu RECORDS_TO ch ra s lng cc bn ghi c cp pht cho mt section.
Trang 77
Trang 78
phn bit c cc redo log file duy nht. S log sequence number c lu tr trong control file v trong phn header ca tt c cc data files.
Trang 79
Tham s khi to LOG_FILES xc nh s lng ti a cc log groups c th c m trong database ti thi im hin thi. Gi tr ny khng c vt qu gi tr MAXLOGFILES*MAXLOGMEMBERS.
Cc members trong mt redo log group c tin trnh LGWR ghi ln vi cng mt ni dung d liu. Cho nn khng c khc bit gia cc members trong mt log group m ch c s khc nhau gia cc members cc log group khc nhau.
Log switch l s kin xy ra khi LGWR dng vic ghi trn mt online redo log group v chuyn sang ghi trn online redo log group khc. Qun tr vin database cng c th thc
Trang 80
hi cc log switches b tay. M khi x ra log switch, LGWT sghi dli ln log group n ng i y u m v n gn m shi duy nh xc cc redo entries v l gi i t u t nh c a u . M khi x ra ski log switch th m ski checkpoint cng s kh t i y n ng i t n c i o.
8.2.3. Checkpoints
Khi c checkpoints th: Tt c cc d liu trong database buffers b thay i, tnh cho n thi im xy ra checkpoint, s Background process DBWR ghi ln datafiles. c Background process CKPT cp nht phn headers ca cc data files v cc control files.
Checkpoints c thxy ra i vi tt c cc data files trong database hoc cng c thxy ra vi mt data files c th. Checkpoint xy ra theo cc tnh hung sau: Mi khi c log switch Khi mt shut down mt instance vi cc chtr chabort Xy ra theo nh thi gian quy nh trong cc tham LOG_CHECKPOINT_INTERVAL v LOG_CHECKPOINT_TIMEOUT Khi c yu cu trc tip ca qun tr vin
s khi to
Thng tin v checkpoint lu tr trong Alert file trong tr hp cc tham s c ng khi to LOG_CHECKPOINTS_TO_ALERT t l TRUE. V ng li vi gi tr c c FALSE.
Trang 81
Cc data files v online redo log files nn t trn cc phn a khc nhau gim bt xung t gia LGWR v DBWR hn ch vic mt d liu c data files v online redo log files trong tr hp hng a. ng
Ch NOARCHIVELOG Vi chNOARCHIVELOG, cc online redo log files sb mi khi online redo log file ghi ghi y v xy ra log switches. LGWR s khng ghi ln redo log group cho ti khi kt thc checkpoint ca group
Trang 82
Ch ARCHIVELOG Trong tr hp database thit lp chARCHIVELOG, cc groups y, mc ng c d trng thi inactive s vn lu gi. Do tt c cc thay i trong database u c ghi li trong cc online redo log files, qun trvin database c th s dng ph c ng php sao chp vt l (physical backup) v c th khi phc li cc d liu commit trong database m khng sb t d liu. m
C hai hnh thc lu tr cc online redo log files: Thc hin lu tr bng tay (manually). Lu tr cc redo log file y theo lnh ca qun tr vin database. Lu tr t ng (automatically). Lu tr cc redo log file y mi khi xy ra log switch. LOG_ARCHIVE_START = TRUE, thc hin lu tr cht ng LOG_ARCHIVE_START = FALSE, thc hin lu tr chmanually
Trang 83
Khi thit lp tham s khi to ARCHIVE_LAG_TARGET, Oracle s kim tra theo nh k thi gian cc online redo log ca instance hin thi v pht sinh cc log switch theo cc iu kin sau: Gi s ban u, current log to sau n giy v sau li mt m giy lu c current log ra a. Khi ny khong thi gian n + m st ng vi gi tr a tham ng c sARCHIVE_LAG_TARGET. Current log cha cc redo records.
Tham s ARCHIVE_LAG_TARGET cho bit gii hn trn v thi gian (tnh theo n vgiy) m current log cn s dng. Do thi gian lu tr khng chnh xc bng khong thi gian log switch. Tham skhi taon ny nn thit lp vi gi tr ng 30 giy. c kho ARCHIVE_LAG_TARGET = 1800 Gi tr0 t ng vi vic khng thc hin chc nng log switching. y l gi trthit ng lp mc nh. Ta c tht gi tr cho tham sARCHIVE_LAG_TARGET ngay ckhi database khng trong ch sao lu (standby database). V d, tham s ARCHIVE_LAG_TARGET c th thit c lp bt buc cc logs phi thc hin thao tc switch v lu tr ln a.
ARCHIVE_LAG_TARGET l mt tham s ng v ta c th thay i gi tr ca tham s ny thng qua cu lnh ALTER SYSTEM SET.
Tham s ARCHIVE_LAG_TARGET s tr nn khng hu dng khi log switch trong mt c khong thi gian qu ngn. Tuy nhin, trong tr hp cc redo to ra vi tc ng c khng u nh nhau, th khong thi gian ngt qung (interval) sa ra gii hn trn i vi current log. Khi database trong trng thi ngh(idle) v redo records khng to c ra th, sau khong thi gian interval, log switch s xy ra v y v ghi tt c cc redo records ln standby database. Trong tr hp ARCHIVE_LAG_TARGET thit lp vi gi trqu thp th cng khng ng c tt cho h thng v mt hiu sut. L v h thng lin tc phi thc hin cc log switches. Do vy ta nn chn gi tr p l nng cao hiu sut hthng. h
8.5.XC NH CH LU TR
bit cc thng tin vvic lu tr, ta c ths dng mt scch sau: c
Database log mode No Archive Mode Automatic archival Disabled Archive destination ?/dbs/arch Oldest online log sequence 688 Current log sequence 689
Trang 85
UNUSED ch online redo log group vn cha s dng. Trng thi ny t ra c ng ng vi vic online redo log file mi cthm vo. CURRENT ch rng online redo log group ang s dng. N cng ngm inh ra c lun trng thi active i vi cc online redo log group ny. ACTIVE: trng thi ny ng vi the online redo log group vn ang s dng c nhng khng phi l online redo log group hin thi. INACTIVE ch online redo log group khng cn cn thit cho vic khi phc ra instance.
xc nh tn ca tt c cc member trong mt group, ta c th tra cu thng tin trong V$LOGFILE: GROUP#, STATUS, MEMBER V d: SVRMGR>SELECT * 2>FROM v$logfile; GROUP# STATUS ---------------1 2
Trang 86
LOG_CHECKPOINT_INTERVAL: S l blocks (tnh theo s block ca h iu ng hnh) ln nht thc hin mt checkpoint LOG_CHECKPOINT_TIMEOUT: Khong thi gian ln nht (tnh theo n vgiy) thc hin mt checkpoint.
Vi cu lnh trn, ta cn chra tn v dn ca cc members trong tng group c ng th. Gi trca tham s GROUP chn t ng vi mi redo log file group. Trong c ng tr hp bqua tham sny, Oracle server st ng sinh ra cc gi tr ng thch hp. Trong Oracle Enterprise Manager OEM, ta lm theo cc b sau: c 1. S dng Backup Manager 2. Chn Subsystem 3. Chn Logfile --> Add Logfile Group
Trang 87
T t nh cc group, ta cng c th thm mi cc member cho tng group bng cu ng lnh SQL ALTER DATABASE [database] ADD LOGFILE MEMBER [ 'filename' [REUSE] [,'filename' [REUSE]]... TO {GROUP integer |('filename'[, 'filename']...) } ]... Lu : tn file chra cn km theo dn y . Trong tr hp khng c c ng ng dn, file s xem nh t trong th mc mc nh. Nu file thm mi ng c c tn ti, ta cn thm vo tu chn REUSE. Trong Oracle Enterprise Manager OEM, ta lm theo cc b sau: c 1. S dng Backup Manager 2. Chn Subsystem 3. Chn Logfile --> Add Logfile Member
Trang 88
Trong mt vi tr hp, ta cn phi dch chuyn cc file redo log ti mt vtr khc, ng m bo an ton chng hn. Khi ny, ta cn thc hin theo cc b sau: c 1. 2. 3. 4. Tt database. Sao chp cc online redo log files ti mt aim mi. Restart database chmount. Thc hin lnh ALTER DATABASE RENAME FILE thay i con tr trong control file, trti mt dn file mi. ng 5. Mli database (Lnh: ALTER DATABASE OPEN). Cu lnh i tn file: ALTER DATABASE [database] RENAME FILE 'filename'[, 'filename']... TO 'filename'[, 'filename']...
Trang 89
Trong Oracle Enterprise Manager OEM, ta lm theo cc b sau: c 1. 2. 3. 4. 5. S dng Backup Manager Chuyn ti nt Logfile Group Chn log file group t ng ng Chn Logfile --> Drop Logfile Group Bm nt OK.
M t s i m c n l u khi xo log groups Mt instance cn t nht hai nhm (group) cc online redo log files. Khng thhu(drop) group ang trng thi active. Khi hu mt online redo log group, thc cht ta chhuv mt logic m thi. Oracle skhng tip tc qun l n na. Tuy nhin, cc file s vn cn v khng b xo bi hiu hnh.
Trong Oracle Enterprise Manager OEM, ta lm theo cc b sau: c 1. 2. 3. 4. 5. S dng Backup Manager Chuyn ti nt Logfile Group Chn log file group t ng ng Chn Logfile --> Drop Logfile Member Bm nt OK.
Trang 90
M t s i m c n l u khi xo log members Khng thngng s dng member ca group m c trng thi l VALID. Nu group ang trong trng thi active, ta cn phi thc hin log switch chuyn s dng sang mt log group khc tr khi ngng s dng cc member ca group c hin thi. Khi hu mt online redo log member, thc cht ta chhu v mt logic cc file vn khng b xo bi hiu hnh.
Trang 91
S d ng tablespace iu khin vng khng gian cp pht v gn cho mi users Vi vic t ch online hay offline cho cc tablespace, ta c th thay i tnh sn dng (availability) ca cc d liu trong cc tablespace Ta cng c th phn bit cc d liu lu tr gia cc thit b tng hiu sut s dng database. Thc hin sao lu v phc hi d liu tng phn, nng cao hiu sut hthng
Trang 92
Data files Mi mt tablespace c thbao gm mt hay nhiu data files, l cc file thuc hiu hnh dng lu tr d liu trong tablespace. Cc data files c mt stnh cht chnh sau: Mt data file ch c vmt tablespace. thu Qun trvin database c th thay i kch th ca data file ngay c khi n c to lp, lm tng tnh nng ng cho cc i t c trong tablespace. c ng
Mt segment c th l mt data segment c th tri rng trn nhiu datafiles thuc c mt tablespace. Extents Extent l mt cp phn chia v mt logic tip theo ca databse. Mt extent l tp hp lin tip cc blocks d liu. Mi kiu segment quy inh bao gm mt hay nhiu c extents. Khc vi segments, mt extent ch nm duy nht trn mt data file. c
Trang 93
Data Blocks y l n vu tr (lu khng phi l n v qun l) d liu nh nht trong database l Oracle. Mt block d liu st ng vi mt hay nhiu blocks ca hiu hnh. (V d: ng h iu hnh Windows 32, 1 block hiu hnh = 32 kbytes = 32*1024 bytes). Kch th c ca block d liu xc nh bi tham s khi to DB_BLOCK_SIZE ngay khi database c to. Block trong database cng l n v c vo ra nhnht.
Non-SYSTEM Tablespace Cha cc Cha cc Cha cc Cha cc rollback segments temporary segments data segments index segments
Trang 94
Trang 95
Sort segments c th cng chia s s dng khi nhiu thao tc sp xp cng c c thc hin. Mt sort segment s dng cho tt c cc instance c thc hin thao tc c sp xp trn mt tablespace. Vic s dng cc temporary tablespaces cho php nng cao hiu sut thc hin mi khi c nhiu thao tc sp xp thc hin trn mt vng nh ln v khng ph hp vi kch c th ca b nh trong ca my tnh. Sort segment thuc temporary tablespace to c c ra vo ngay thi im u ca thao tc sp xp. Sort segment s cp thm vng nh c v m rng dn cho ti khi kch th ca segment ngang bng hoc ln hn tng s kch c th lu tr cn thit cho vic thc hin tt ccc thao tc sp xp ca instance. c Cc tablespaces khng phi l temporary tablespaces gi l cc permanent c tablespaces. Cc permanent tablespace s dng lu tr d liu trong database. c
Ngay khi to tablespace, ta cn la chn lun ph php qun l vng khng gian s ng p dng cho tablespace . Khi chn ri, ta khng ththay i ph php qun c ng l khng gian na.
Trang 96
Qun l cc bcc extents mt cch t ng cc vng khng gian gii phng lin k vi nhau. iu ny l cn thit khi thc hin cng vic hp nht cc extents ri.
Kch th ca cc extents qun l cc b c th xc nh t ng bi h c c c thng. Mt khc, tt c cc extents c th c cng mt kch c nh nhau trong ph ng php locally-managed tablespace. Mnh LOCAL trong phn EXTENT MANAGEMENT ca cu lnh CREATE TABLESPACE s ch ph thc qun l khng gian: r ng Vi cc permanent tablespaces v temporary tablespaces, ta c th s dng mnh EXTENT MANAGEMENT LOCAL. Trong phin bn 8i, ph php qun l ny vn cha p dng cho ng c tablespace SYSTEM. Nu p dng, hthng s pht sinh li 809225.
L u : ta khng th t ch offline cho tablespace nu n c cha cc rollback segments ang s dng. c t Offline cho tablespace Khi mt tablespace a ra offline, Oracle s khng cho php thc hin cc cu lnh c SQL c tham chiu ti cc objects lu tr trong tablespace ny. Oracle lu li cc d liu rollback t ng khi thc hin cu lnh SQL trong mt rollback segment khc c trong ng tablespace SYSTEM thay v l rollback segment c trong tablespace offline nu c. c Tablespace a v online tr li, Oracle s p li cc d liu rollback ang c trong c tablespace SYSTEM vo tablespace . Ta chc th a mt tablespace thnh online trong chnh database m n to, c khng th t online cho tabalespace trong mt database khc Vic ny gim c. c st bi cc thng tin c trong dictionary. Oracle t ng thc hin chuyn ch t online thnh offline i vi tablespaces mi khi xy ra s chthng. V d nh: tin trnh DBWn gp li.
Trang 97
Vic dch chuy d liu t h thng x l trc tuyn (OLTP online transaction processing systems) sang thnh d liu ca h thng kho d liu (data warehouse staging systems). Cp nht kho d liu (data warehouses) v cc d liu thuc hthng. Np cc d liu t cc kho csd liu trung tm (central data warehouses). Lu tr cc d liu ca hthng OLTP and data warehouse systems efficiently. Cung cp d liu cho cc khch hng hoc ngs dng ni b. i
Dch chuyn d liu thng qua vic trao i cc tablespaces cho php di chuyn d liu nhanh chng v hiu qu hn cc cch dch chuyn d liu khc nh export/import hay unload/load i vi cng mt d liu, Do vic trao i cc tablespace chi hi phi sao chp cc datafiles ri tch hp thng tin v cu trc ca tablespace vo database mi. C th s dng ph php trao i cc tablespaces dch chuyn cc index data, do , ng trnh vic ti to li (rebuilds) cc index, ta c th thc hin cng vic ny np d liu trong cc bng.
Transportable tablespace set cha cc datafiles ng vi tp cc tablespaces s c dng chuyn i cc file c cha thng tin cu trc ca cc tablespaces dch chuyn.
(Xem minh ho vic to mt transportable tablespace set phia d i). 1. Chuyn i tablespace. Sao chp cc datafiles v export file sang database ch. C th s dng cc cng c sao chp file thng th ca hiu hnh thc hin cng vic ny ng
Trang 98
1. a tablespace vo s dng (plug-in). Thc hin cng vic Import a cc tablespaces vo database ch. Minh ho vi c trao i tablespace 1. bit tablespace SALES_1 v SALES_2 c cha cc tham chiu trong n khng, ta thc hin cu lnh: EXECUTE dbms_tts.transport_set_check('sales_1,sales_2', TRUE); Cu lnh ny sinh ra kt qu v lu trong view c tn l: TRANSPORT_SET_VIOLATIONS. S dng cu lnh truy vn xem kt qu: SELECT * FROM transport_set_violations; Lnh truy vn kt xut kt qu rng cho bit tablespace khng cha cc tham chiu ti tablespace bn ngoi. 2. To transportable tablespace set Pht lnh thay i trng thi ca tablespace vtrng thi read-only khng cho php cp nht d liu vo tablespace ny, chun b cho vic trao i tablespace. ALTER TABLESPACE sales_1 READ ONLY; S dng cng c tin ch Export ca Oracle kt xut cc tablespace ny: EXP TRANSPORT_TABLESPACE=y TABLESPACES=(sales_1,sales_2) TRIGGERS=y/n CONSTRAINTS=y/n GRANTS=y/n FILE=expdat.dmp TRIGGERS=Y cho php kt xut; N khng cho php kt xut. GRANTS=Y kt xut c cc quyn trn mi bng thuc tablespace ; N khng kt xut. CONSTRANTS=Y cc rng buc tham chiu s kt xut; N khng kt xut cc rng c buc tham chiu. 3. Thc hin sao chp cc datafile ca tablespace va kt xut ra mt v khc. c tr 4. t li trng thi bnh th cho tablespace va xem xt. ng c ALTER TABLESPACE sales_1 READ WRITE; 5. a bn sao ca cc datafile va sao chp vo v t ng vi database ch. c tr ng 6. Connect vo database mi vi mc quyn SYSDBA. 7. a cc tablespaces kt xut vo database mi c
IMP TRANSPORT_TABLESPACE=y DATAFILES=('c:\db\sales_jan','c:\db\sales_feb',...) TABLESPACES=(sales_1,sales_2) TTS_OWNERS=(dcranney,jfee) FROMUSER=(dcranney,jfee) TOUSER=(smith,williams) FILE=expdat.dmp
9.6.TO TABLESPACE
9.6.1. Lnh to tablespace
Ta c ths dng cu lnh SQL to mt tablespace. C php:
Trang 99
CREATE TABLESPACE tablespace DATAFILE filespec [autoextend_clause] [, filespec [autoextend_clause]]... [MINIMUM EXTENT integer[K|M]] [DEFAULT storage_clause] [PERMANENT|TEMPORARY] [ONLINE|OFFLINE] storage_clause:= = STORAGE ( [INITIAL integer[K|M]] [NEXT integer[K|M]] [MINEXTENTS integer] [MAXEXTENTS {integer|UNLIMITED}] [PCTINCREASE integer] ) Vi: tablespace DATAFILE DEFAULT STORAGE tham s lu tr mc nh cho tt c cc i tng c to lp trong tablespace MINIMUM EXTENT kch thc ti thiu ca extent value ONLINE OFFLINE PERMANENT TEMPORARY t ch s dng ngay t khi to lp (Online) cho tablespace cho c s dng tn ca tablespace c to tn data files ca tablespace c to
(Offline)
tablespace c th s dng lu tr cc i tng thng tr tablespace ch s dng lu tr cc i tng trung gian (temporary objects). V d: s dng lu tr d liu khi sp xp theo cu lnh ORDER BY
V d: CREATE TABLESPACE app_data DATAFILE /DISK4/app01.dbf SIZE 100M, /DISK5/app02.dbf SIZE 100M MINIMUM EXTENT 500K DEFAULT STORAGE (INITIAL 500K NEXT 500K MAXEXTENTS 500 PCTINCREASE 0); Cng t t, ta c ththc hin trong Oracle Enterprise Manager OEM: ng 1. 2. 3. 4. Chy Oracle Storage Manager. Chn Tablespace>Create. Trong General page ca bng thuc tnh, nhp vo tn tablespace ri chn ADD. Trong bng thuc tnh Create Datafile, ch cc data file. ra
Trang 100
5. Trong phn Extents page, nhp vo cc thng tin lu gi 6. Chn mc Create. H n ch Sl ti a cc tablespaces trn mi database l 64. ng Sl ti a cc data files trong mi tablespace l 1023. ng
9.6.4. Cc tham s lu tr
L khng gian dng cho mt tablespace xc nh trong mnh lu tr (storage ng c clause). Cc tham s ny xc nh ngay ti thi im to tablespace. Trong tr c ng hp khng chr cc tham s ny trong lnh to lp (CREATE), cc tham s s s c dng cc gi tr theo mc nh.
Trang 101
C mt stham slu tr cn quan tm sau: INITIAL quy nhkch th ca extent u tin. Kch th nhnht ca c c extent u tin l 02 block = (2*DB_BLOCK_SIZE). Mc nh, kch th ny c l 5 blocks = (5* DB_BLOCK_SIZE). NEXT ng vi kch th ca extent th hai. Kch th ti thiu l 01 block. c c Mc nh, kch th ny l 5 blocks = (5* DB_BLOCK_SIZE). c MINEXTENTS sl extent to lp mi khi segment to lp. ng c c Mc nhgi tr ny l 1. PCTINCREASE phn trm tng kch th extent. Kch th ca mt extent c c xc nhtheo kch th c c:
Vi:
Sizen
kch th ca extent th n c
V d: NEXT = 200K, PCTINCREASE = 50. Ta tnh extent th hai = c 200K, extent th ba = 300K, extent th t = 450K MAXEXTENTS xc nhsl ti a cc extents c trong mt segment. ng Gi tr nht l 1. Gi trn nht theo mc nhph thuc vo kch th nh l c ca block d liu. Gi tr ny cng c th xc nhthng qua gi tr c UNLIMITED, t vi gi tr 2147483645. ng ng l
Trang 102
Thi t l p ch AUTOEXTENT trong khi t o file C php: ALTER TABLESPACE tablespace ADD DATAFILE filespec [autoextend_clause] [, filespec [autoextend_clause]]... V d: ALTER TABLESPACE app_data ADD DATAFILE /DISK6/app04.dbf SIZE 200M AUTOEXTEND ON NEXT 10M MAXSIZE 500M; Trong OEM ta thc hin cc b sau: c 1. 2. 3. 4. 5. 6. Chy Oracle Storage Manager. Chuyn ti nt Tablespace. ChnTablespace>Add Datafile. Trong General page nhp vo cc thng tin ca file. Trong Autoextend page nhp vo cc thng tin t ng. ng Bm nt Create.
Thi t l p ch AUTOEXTENT khi data file t n t i C php: ALTER DATABASE [database] DATAFILE 'filename'[, 'filename']... autoextend_clause Trong OEM ta thc hin cc b sau: c 1. 2. 3. 4. 5. Chy Oracle Storage Manager. Chuyn ti nt Tablespace node. Chn data file. Trong phn Autoextend page, bm vo nt Enable Auto Extend. Bm nt Apply.
S dng cu lnh SQL sau thay i kch th ca data file c ALTER DATABASE [database] DATAFILE 'filename'[, 'filename']... RESIZE integer[K|M] Vi: integer Kch thc tuyt i ca file data file
S dng cu lnh SQL sau thay i ni lu tr mc nh: ALTER TABLESPACE tablespace {MINIMUM EXTENT integer[K|M] |DEFAULT storage_clause } V d: ALTER TABLESPACE app_data MINIMUM EXTENT 2M; ALTER TABLESPACE app_data DEFAULT STORAGE (INITIAL 2M NEXT 2M MAXEXTENTS 999);
2. 3. 4. 5.
Chuyn ti nt Tablespace. Chn tablespace t ng. ng Trong General page, t chtrong Offline radio button. Bm nt Apply
5. Mli database. Trong OEM ta lm nh sau 1. 2. 3. 4. Chy Oracle Storage Manager. Chuyn ti nt Tablespace ri chn data file t ng. ng Trong phn General page, thay i li cc thng tin thch hp. Bm nt Apply.
9.7.7. Tablespace ch c
S dng lnh SQL thit lp cc chny. C php: ALTER TABLESPACE tablespace READ{ONLY|WRITE} V d: ALTER TABLESPACE app_data READ ONLY; Trong OEM ta th c hi n theo cc b c sau: 1. 2. 3. 4. 5. Chy Oracle Storage Manager. Chuyn ti nt Tablespace. Chn tablespace. Chn Tablespace>Make Read Only. Bm nt OK.
Thi t l p ch ch c cho tablespace Ta c ththit lp chch c cho tablespace khi n m bo mt siu kin sau: Tablespace phi ang online Khng c transaction no xy ra i vi tablespace Tablespace khng cha cc rollback segments Hin thi khng c online backup trn tablespace
9.7.8. Hu tablespace
Trong mt vi tr hp ta c thhutablespace khi database. ng Vic ny c ththc hin bi cu lnh SQL sau: DROP TABLESPACE tablespace [INCLUDING CONTENTS [CASCADE CONSTRAINTS]] Vi tablespace tn ca tablespace c hu hu lun cc segment c trong tablespace CASCADE CONSTRAINTS INCLUDING CONTENTS
Trang 106
Hu lun c cc rng buc lin quan ti cc bng bn ngoi c tham chiu duy nht ti cc bng thuc tablespace b hu V d: DROP TABLESPACE app_data INCLUDING CONTENTS; Trong OEM ta th c hi n theo cc b c sau 1. 2. 3. 4. Chy Oracle Storage Manager. Chuyn ti nt Tablespace chn tablespace t ng. ng Chn Tablespace>Remove. Bm nt OK.
DBA_TABLESPACES, USER Din gii ca cc tablespaces. TABLESPACES DBA_SEGMENTS, USER_SEGMENTS DBA_EXTENTS, USER_EXTENTS DBA_FREE_SPACE, USER_FREE_SPACE V$DATAFILE V$TEMPFILE DBA_DATA_FILES DBA_TEMP_FILES V$TEMP_EXTENT_MAP V$TEMP_EXTENT_POOL Thng tin vsegment c trong cc tablespaces. Thng tin vdata extents c trong cc tablespaces. Thng tin vfree extents c trong cc tablespaces. Thng tin v tt c cc datafiles, bao gm c s hiu tablespace v user shu tablespace. Thng tin v cc tempfiles, bao gm c s hiu tablespace v user shu tablespace. Hin th cc datafiles thuc cc tablespaces. Hin th cc tempfiles thuc cc temporary tablespaces. Thng tin ca cc extents trong cc locally managed temporary tablespaces. Thng tin ca cc locally managed temporary tablespaces bao gm: trng thi ca temporary space cached (vng khng gian m trung gian) s dng bi mi c instance. Hin th vng khng gian used/free ca mi tempfile. Cc tablespaces mc nh v temporary tablespaces ca cc users. Hn mc s dng tablespace ca cc users. Thng tin vsort segment i vi mi instance. Vng khng gian sp xp trung gian s dng bi c
Trang 107
SVRMGR> SELECT tablespace_name, contents,status 2> FROM dba_tablespaces; TABLESPACE_NAME --------------SYSTEM RBS TEMP DATA01 4 rows selected. CONTENTS --------PERMANENT PERMANENT TEMPORARY PERMANENT STATUS -----ONLINE ONLINE ONLINE ONLINE
Di n gi i Tn file (c km dn) t ng vi datafile ng ng Tn ca tablespace ng vi datafile Dung l tnh theo bytes ca tablespace hin thi ng Cht ng mrng dung l ca datafile ng Dung l ti a ng
Ch s tng t ng trong h thng
V d: SVRMGR> SELECT file_name, tablespace_name, bytes, 2> autoextensible, maxbytes, increment_by 3> FROM dba_data_files; FILE_NAME --------/DISK1/system01.dbf /DISK2/rbs01.dbf /DISK3/temp01.dbf /DISK4/data01.dbf /DISK5/data02.dbf 5 rows selected. TABLESPACE_NAME --------------SYSTEM RBS TEMP DATA01 DATA01 BYTES -------31457280 5242880 5242880 5242880 512000 AUT ---NO NO NO NO YES MAXBYTES -------0 0 0 0 15728640 INCREMENT_BY ---------0 0 0 0 512
Trang 109
10.1.1. Table
Table (bng), l ni lu gi d liu trong database. D liu trong mt table lu gi c khng theo mt th t bt buc. Cc d liu trong mt table thuc loi nonpartitioned (khng phn khu) sphi lu gi trong cng mt tablespace.
10.1.3. Cluster
Cc dng d liu trong mt cluster lu tr theo cc gi trca tr kho (key c ng column). Mt cluster c th cha mt hay nhiu tables v n xem l mt kiu on c d liu (type of data segment). Cc tables trong mt cluster thuc v cng mt on v c chung cc tnh cht lu tr.
10.1.4. Index
Tt c cc u mc (entries) ng vi mt index c th lu tr trong mt index c segment. Mt table c ti bao nhiu indexes, th s c by nhiu index segments s c dng. Mc ch ca segment ny l tm kim v nh vcc dng d liu trong mt table da trn mt kho ch c ra.
Trang 110
Trang 111
10.2.QUN L EXTENTS
10.2.1. Cp pht v thu hi cc extents
Vic cp pht cc extent xy ra mi khi segment to mi, m rng hay bthay c c i (altered). V n s bthu hi khi segment bhu, bthay i, bct bt (truncated). Ring i vi cc rollback segments, cc extent c thb ng thu hi. t
Trang 112
Mi khi segments to lp, n s cp pht mt vng khng thch hp t nhng c c extents cn trng trong tablespace. Segment s c gng s dng nhiu nht cc vng khng gian lin tip nhau. Sau khi cp pht, extent s xem l used extent (extent c s dng). Khi cc segments gii phng vng khng gian, cc extents t ng c ng vi n s gii phng v a vo vng free extents (extents ri) ca tablespace. Vi c vic cp pht v gii phng cc extents c th gy nn hin t phn on vng d liu ng trong cc data files ca tablespace.
Trang 113
L u Tin trnh SMON sch t hp cc extent trong cng tablespaces khi m PCTINCREASE ln k hn 0. Trong storage clause mc nh ca tablespaces, t PCTINCREASE=1 khi cc user objects c th t ng kt hp cc vng trng mi khi n gii phng. c c Yu c u k t h p vng tr ng View DBA_FREE_SPACE_COALESCED dng xem tablespace no c cc extents c rng c th kt hp vi nhau. S dng cu lnh truy vn sau y ly cc thng c tin: SVRMGR> SELECT tablespace_name, total_extents, 2> percent_extents_coalesced 3> FROM dba_free_space_coalesced 4> WHERE percent_extents_coalesced <> 100; TABLESPACE_NAME TOTAL_EXTE PERCENT_EX --------------- ---------- ---------RBS 3 33 DATA01 9 22 2 rows selected. Thc hin kt hp cc vng khng gian trng trong tablespace bng lnh dy: i ALTER TABLESPACE tablespace COALESCE; Trong OEM, ta th c hi n theo cc b c sau 1. 2. 3. 4. S dng cng c Oracle Tablespace Manager. Chuyn ti nt Expand Tablespaces. Chn tablespace t ng. ng Chn mc Tools>Coalesce Free Extents.
Trang 114
10.3.BLOCK D LIU
10.3.1. Cu trc ca block d liu
Cc Blocks d liu ca Oracle cu thnh t cc phn sau: c Block header (vng u): Header cha achca block d liu, thng tin v table directory, row directory, v cc transaction slots. Thng tin trong Block headers s tng dn theo h t trn xung d ng i. Data space (vng d liu): Cc dng d liu np vo block theo h t d c ng i ln. Free space (vng trng): Vng trng trong block l vng nm gia vng header v vng khng gian lu tr dng d liu. Ban u, vng khng gian trng l lin tip vi nhau.Tuy nhin sau mt thi gian s dng, vng khng gian trng trong mt block c th bphn on do vic xo v cp nht, thay i cc dng d liu. gii quyt vn ny, Oracle server cho php thc hin kt hp cc phn on d liu.
Trang 115
Cc tham s INITRANS v MAXTRANS chra s l khi to, s l ln nht cc ng ng transaction slots, to trong mi index block hay data block. Cc transaction slots c c s dng lu gi cc thng tin v cc transactions lm thay i cc block ti cng mt thi im. Mi transaction ch dng mt transaction slot. s INITRANS gn gi tr c nhbng 1 cho data segment, v 2 cho index segment. c m MAXTRANS gn gi trmc nh l 255, dng to ng i vi cc transactions c ng ng thi c lm thay i cc block d liu hay index block. Khi thit lp gi trny, vng khng gian cho cc transaction slots s m bo c th thc hin cc transaction c mt cch hiu qu. Tham s i u khi n vng l u tr d li u PCTFREE trong mt data segment ch phn trm vng trng trong mi data block l ng dnh cho vic tng ln ca d liu do vic cp nht cc dng d liu trong block. Theo mc inh, PCTFREE l 10 phn trm. PCTUSED trong mt data segment ch phn trm ti thiu ca vng khng gian s l ng dng, theo Oracle Server lu gi cc block d liu ca table. Mt block s np li c vo free list (danh sch trng) mi khi PCTUSED gim xung. Free list ca mt segment l danh sch cc blocks sn dng cho vic cp pht mi khi c dng d liu insert. Theo c mc nh mi free list s to t ng vi mi segment. Tham s FREELISTS xc c ng nhsl free list. Mc nh, PCTUSED bng 40 phn trm. ng PCTFREE v PCTUSED tnh ton theo phn trm vng khng gian ca d liu, tc l c vng khng gian ca Block cn li tr i vng khng gian header.
Trang 116
Phase 2: 20% khng gian cn li s dng cho vic tng kch thc ca cc dng d liu do vic cp nht li cc dng d liu ny. Phase 3: Khi xo dng d liu trong block, vng khng gian trng trong block s tng ln. Tuy nhin, lc ny ta vn cha th insert d liu vo block c. Phase 4: Khi vng trng trong block t ti mc PCTUSED, ta li c th insert d liu vo Block. Ta li bt u t bc 01.
Hin tng phn on d liu xy ra vi mc khc nhau i vi cc loi segments khc nhau. Oracle khuyn co nn lu tr d liu trn nhiu tablespaces khc nhau gim thiu vic s dng lng ph cc vng khng gian.
Trang 117
Phn lo i cc Objects v phn o n Cc loi objects khc nhau c lit k di y theo mc tng dn v phn on: Cc data dictionary objects, ngoi tr cc audit table (bng kim tra), u khng bao gi b dropped hay truncated. V th chng khng b phn on trong tablespace. Vng khng gian s dng cho vic lu tr cc ng dng lun c cp pht v thu hi trong qu trnh ti cu trc li b nh. V th, cc tables lu tr ny c mc phn on l thp. Data segment v index segements c s dng cho vic lu tr d liu ngi dng thuc cc ng dng. Cc i tng ny thng c mc phn on cao. Do cc rollback segments c phn b li extents mt cch t ng, chng d gy ra hin tng phn on d liu trong h thng. Temporary segments trong cc permanent tablespaces thng xuyn c b xy ra hin tng phn on.
Trang 118
Ta c th ly thng tin v cc segments theo cc loi sau: Thng tin tng hp: User s hu, tn segment, loi segment, tn tablespace. Thng tin v kch c: extents, blocks. Thng tin lu tr: INITIAL_EXTENT, NEXT_EXTENT, MIN_EXTENT, MAX_EXTENT, PCT_INCREASE
V d: Xem s lng cc extents v blocks c cp pht cho tng segment do user SCOTT s hu. SVRMGR> SELECT segment_name,tablespace_name,extents,blocks 2> FROM dba_segments 3> WHERE owner='SCOTT'; SEGMENT_NAME -----------EMP DEPT BONUS SALGRADE DUMMY 5 rows selected. TABLESPACE_NAME --------------DATA01 DATA01 DATA01 DATA01 DATA01 EXTENTS --------5 1 1 1 1 BLOCKS -------55 5 5 5 5
Trang 119
Ta c th ly thng tin v cc extents theo cc loi sau: Thng tin nhn dng: User s hu, tn segment, m hiu extent Thng tin v kch c v ni t: TABLESPACE_NAME, RELATIVE_FNO, FILE_ID, BLOCK_ID, BLOCKS
V d: Xem thng tin chi tit v cc extents c trong mt segment cho trc SVRMGR> SELECT extent_id,file_id,block_id,blocks 2> FROM dba_extents 3> WHERE owner='SCOTT' 4> AND segment_name='EMP'; EXTENT_ID FILE_ID --------------0 4 1 4 2 4 3 4 4 4 5 rows selected. BLOCK_ID -------2 27 32 42 57 BLOCKS -----5 5 10 15 20
Trang 120
View ny cha cc thng tin v V d: SVRMGR> SELECT tablespace_name, count(*), 2> max(blocks), sum(blocks) 3> FROM dba_free_space 4> GROUP BY tablespace_name; TABLESPACE_NAME COUNT(*) MAX(BLOCKS SUM(BLOCKS --------------- -------- ---------- ---------DATA01 2 1284 1533 RBS 3 2329 2419 SORT 1 1023 1023 SYSTEM 1 5626 5626 TEMP 1 2431 2431 5 rows selected.
Trang 121
Phn u (header) ca mt rollback segment cha mt transaction table l ni lu gi thng tin v cc giao dch hin thi c s dng ti rollback segment ang xem xt. Mi transaction ch c th s dng duy nht mt rollback segment lu gi cc d liu dng khi phc. Nhiu transactions c th ng thi ghi d liu ln rollback segment.
Trang 122
Ph c h i cc Transaction Trong trng hp mt instance gp li khi cc transactions ang thc hin, Oracle server cn phi khi phc li cc d liu cha commit. Rollback trong trng hp ny c gi l phc hi d liu. Vic ny ch thc hin c khi cc thay i i vi cc rollback segments c kt hp bo v bi cc redo log files. Nh t qun trong vi c c d li u Khi mt thc hin cc transactions, cc users trong database s khng th thy c cc d liu b thay i m cha c commit bi transactions. Cc d liu c lu trong rollback segments s vn c s dng cung cp cho cc users khc nhm m bo nht qun d liu cho cc user .
Trang 123
gn mt transaction cho mt rollback segment mt cch tng minh th rollback segment cn phi ang trng thi online. Cn thc lnh lnh SET TRANSACTION USE ROLLBACK SEGMENT trc khi thc hin cc lnh trong transaction . Nu trng thi ca rollback segment l offline hoc cu lnh SET TRANSACTION USE ROLLBACK SEGMENT khng c t v tr u tin ca transaction th h thng s pht sinh mt li. V d: s dng lnh gn rollback segment cho transaction ti thi im bt u transaction:
SET TRANSACTION USE ROLLBACK SEGMENT large_rs1;
Sau khi transaction c commit, rollback segment ny li c Oracle a v trng thi sn sng s dng. Oracle s t ng gn transaction tip theo cho mt rollback segment bt k no ang cn ri (available) tr phi transaction ny li c tip tc gn cho rollback segment bng tay bi user. S d ng cc extents Cc transactions s dng extents trong rollback segment theo mt trnh t xoay vng. Theo , transaction s ghi d liu thay i vo extent hin thi, ri tip tc chuyn ti cc extent k tip. Khi extent cui cng c s dng y, n li quay tr v extent 1. r hn, ta xem xt mt v d sau: C hai transaction cng s dng mt rollback segments c 04 extents.
Trang 124
1. Ti thi im bt u, giao dch bt u ghi d liu vo Extent 3 2. Trong khi thc hin, cc transaction s ghi d liu vo Extent 3 cho ti khi y ri tip tc chuyn sang ghi d liu ln Extent 4. 3. Khi Extent 4 cng y, n tip tc li quay tr li ghi d liu vo extent 1 nu extent ny trng thi ri hoc inactive. Mt extent l ri hoc inactive nu hin thi n khng b s dng bi bt k mt transaction no.
Trang 125
Sau khi rollback segments c to lp, qun tr vin database vn c th thay i tham s lu tr ca rollback segments. thay i, qun tr vin ch cn iu chnh cc tham s OPTIMAL hay MAXEXTENTS cho ph hp. V d: Cu lnh sau thay i s lng ti a cc extents cp pht cho rollback segments RBS_01.
ALTER ROLLBACK SEGMENT rbs_01 STORAGE (MAXEXTENTS 120);
Vi cu lnh thay i ny, ta cng c th iu chnh vi rollback segment SYSTEM , bao gm c tham s OPTIMAL.
Oracle server s thu hi li cc extent cp pht khi: Kch thc ca rollback segment hin ti c iu chnh ti gi tr ca tham s OPTIMAL. Khi c nhiu hn 02 extent ri lin tip cnh nhau.
Mt iu lu l khi thu hi li cc extent, Oracle server s thu hi extent cha d liu lu nht trc . Ta c th thc hin gim bt kch thc ca rollback segments thng qua vic s dng cu lnh ALTER ROLLBACK SEGMENT. Lu , khi ny rollback segment c thu nh nht thit phi ang trng thi online.
Trang 126
Cu lnh pha trn thc hin rt bt kch thc ca rollback segment ti kch thc nh c ch ra. Tuy nhin, vic rt gn s dng li khi c mt extent khng th b thu hi do bt k nguyn nhn no.
Thng thng, vic thm mi bn ghi vo bng cn t khng gian lu gi thng tin phc hi hn l vic xo d liu khi bng. Vi thao tc thm mi, ch cn lu gi ROWID vo rollback, trong khi thao tc delete li cn phi lu gi ton b dng d liu. nh gi kch thc ca rollback segment cn c theo transaction di nht c s dng rollback segment. S l ng cc Extents Vi cc rollback segment c qu nhiu cc extents s gy ra lng ph khng gian lu tr d liu, gim bt lng ph, ta c th iu chnh tham s MINEXTENTS cho ph hp. Oracle khuyn ngh, thng thng, MINEXTENTS nn t gi tr l 20.
INITIAL=NEXT m bo cc extent trong rollback segment c cng mt kch thc. Khng nn gn gi tr cho MAXEXTENTS l UNLIMITIED v nh vy s dn n vic m rng cc extent mt cch khng cn thit. Nn t rollback segment trong mt tablespace ring bit gim bt hin tng phn on d liu trong database.
V d: CREATE ROLLBACK SEGMENT rbs01 TABLESPACE rbs STORAGE ( INITIAL 100K NEXT 100K OPTIMAL 4M MINEXTENTS 20 MAXEXTENTS 100); Trong Oracle Enterprise ta thc hin theo cc bc sau: 1. Chy Oracle Storage Manager. 2. Chn Rollback>Create. 3. Trong phn General page, nhp vo tn, tablespace, v kiu tng ng. Chn mc Online trong radio button. 4. Trong phn Extents, nhp vo cc thng tin v rollback segments. 5. Bm nt Create.
Sau khi to mi mt rollback segment, n s c trng thi offline v cha th s dng ngay c. c th sn dng cho cc transaction, rollback segment cn c chuyn trng thi thnh online thng qua cu lnh ALTER ROLLBACK SEGMENT C php: ALTER ROLLBACK SEGMENT rollback_segment ONLINE | OFFLINE Rollback segment s c trng thi online cho ti khi instance b tt (shutdown).
Trang 128
t tr ng thi online cho rollback segments ngay khi startup database m bo cho cc rollback segments lun nhn trng thi online ngay khi khi ng (startup) database, ta cn ch r tn ca rollback segments trong tham s ROLLBACK_SEGMENTS ca parameter file. V d: ROLLBACK_SEGMENTS=(rbs01, rbs02, rbs03) L u : S lng ti a cc rollback segment online i vi mt instance c xc nh bi tham s MAX_ROLLBACK_SEGMENT. Trong OEM ta c th th c hi n theo cc b c sau : 1. 2. 3. 4. 5. Chy Oracle Storage Manager. Chuyn ti nt Rollback Segments. Chn rollback segment tng ng. Chn Rollback>Place Online/ Take Offline. Trong hp thoi xc nhn, bm nt Yes.
Vi: N T TRP S lng rollback segment cn thit Gi tr tham s TRANSACTIONS Gi tr tham s TRANSACTIONS_PER_ROLLBACK_SEGMENT
3. Trong trng hp N nh hn hay bng s lng non-SYSTEM rollback segments c c, instance cng s khng cn ti nhiu rollback segments hn. 4. Khi gi tr ca N ln hn hay bng s cc non-SYSTEM rollback segments dnh cho instance, khi i hi phi s dng thm c cc public rollback segments.
Trong OEM ta th c hi n theo cc b c sau : 1. 2. 3. 4. 5. Chy Oracle Storage Manager. Chuyn ti nt Rollback Segments. Chn rollback segment tng ng. Trong phn Extents page, t li cc tham s tng ng. Bm nt Apply.
Trang 130
Cc thng tin bao gm: SEGMENT_ID: M hiu ca segment SEGMENT_NAME: Tn segment TABLESPACE_NAME: Tn tablespace cha segment OWNER (PUBLIC/SYS): Tn user s hu segment STATUS (ONLINE/OFFLINE): Trng thi ca segment
V d: Xem thng tin chung v segment SVRMGR> SELECT segment_name, tablespace_name, owner, status 2> FROM dba_rollback_segs; SEGMENT_NAME TABLESPACE_NAME OWNER STATUS ----------------------------- -------------------SYSTEM SYSTEM SYS ONLINE RBS1 RBS SYS ONLINE RBS2 RBS SYS ONLINE RBS3 RBS SYS OFFLINE 4 rows selected. D liu trong ct OWNER nhn cc gi tr: SYS: Rollback thuc loi private PUBLIC: Rollback thuc loi public
V d: Xem cc thng tin thng k v segments SVRMGR> SELECT n.name, s.extents, s.rssize, s.optsize, 2> s.hwmsize, s.xacts, s.status
Trang 132
3> FROM v$rollname n, v$rollstat s 4> WHERE n.usn = s.usn; NAME ----SYSTEM RBS1 RBS2 EXTENTS ------43 20 4 RSSIZE OPTSIZE -------- -------2199552 202752 204800 38912 HWMSIZE -------2199552 417792 38912 XACTS STATUS ------ --------0 ONLINE 0 ONLINE 0 PENDING OFFLINE
3 rows selected.
Din gii mt s ct d liu trong view V$ROLLSTAT Tn c t USN EXTENTS RSSIZE XACTS OTPSIZE HWMSIZE AVEACTIVE STATUS Di n gi i L s hiu ca rollback segment (Rollback segment number) S lng cc extents c trong rollback segment Kch thc ca segment hin thi tnh theo n v bytes S lng cc transaction s dng rollback segment Gi tr OPTIMAL ca rollback segment Hight warter mark; kch thc ti a tnh theo bytes, khi rollback segment tng Kch thc ca extent hin thi, Trng thi ca rollback segment
Trang 133
V d: SVRMGR> SELECT s.username, t.xidusn, t.ubafil, 2> t.ubablk, t.used_ublk 3> FROM v$session s, v$transaction t 4> WHERE s.saddr = t.ses_addr; USERNAME XIDUSN ----------- ---------SYSTEM 2 SCOTT 1 2 rows selected. Din gii mt s ct d liu Tn c t SES_ADDR XIDUSN UBAFIL, UBABLK, UBASQN,UBAREC USED_UBLK START_UEXT, START_UBAFIL, START_UBABLK Di n gi i a ch ca session, ly c t V$SESION.SADDR S hiu ca Rollback segment c s dng bi transaction V tr hin thi ca rollback segment m transaction s ghi vo UBAFIL --------2 2 UBABLK ---------7 163 USED_UBLK ---------1 1
S hiu block undo c to ra bi transaction S hiu ca extent (file, block) thuc rollback segment m transaction bt u ghi d liu
Do mt transaction khng c s dng nhiu rollback segments nn c th xy ra tnh trng thiu vng khng gian cho cc rollback segment v gy ra li (ORA-01562). Nguyn nhn c th l mt trong cc trng hp sau: Khng c khng gian trong tablespace (ORA-01560) S lng cc extents trong rollback segment t ti gi tr MAXEXTENTS v khng th b sung thm cc extent vo rollback segment (ORA-01628)
Gi i php Vi li ORA-01560: M rng thm cc data files trong tablespace t ch cho cc data files l AUTOEXTEND B sung mi data file vo tablespace Tng tham s MAXEXTENTS ca rollback segment Hu v to li rollback segment vi kch thc ca extent ln hn
Vi li ORA-01628:
Trang 135
V n Khi mt extent trong rollback segment c ghi y, Oracle server s tip tc s dng extent k tip theo c ch xoay vng. Trong trng hp extent k tip vn ang trong tnh trng active, transaction s khng s dng c n. Mt khc, n cng khng th b qua extent k tip chuyn ti extent sau na nu n ri. Khi , rollback segment s c b sung thm cc extent. Vic lm ny lm cho rollback segment ngy mt m rng v qun tr vin cn phi can thip hn ch vic m rng ny. Gi i php Qun tr vin database cn thc hin kim tra thng tin ca cc transaction ang c thc hin thng qua vic ly thng tin t cc view V$ROLLSTAT, V$TRANSACTION, V$SESSION pht hin cc transaction ang b cn tr, t thc hin vic iu chnh cho ph hp. Cng vic kim tra v gim st ny c thc hin bng tay bi ngi qun tr database. V d: Xem thng tin v cc transactions ang c thc hin SVRMGR> SELECT s.sid, s.serial#, t.start_time, t.xidusn, s.username 2> FROM v$session s, v$transaction t, v$rollstat r 3> WHERE s.saddr = t.ses_addr 4> AND t.xidusn = r.usn 5> AND ((r.curext = t.start_uext-1) OR 6> ((r.curext = r.extents-1) AND t.start_uext=0)); SID SERIAL# START_TIME --- ------- ------------9 27 10/30/97 21:10:41 1 row selected. XIDUSN USERNAME ------ -------2 SYSTEM
Trang 136
Dung lng b nh cn thit cho tin trnh sp xp c xc nh da trn tham s khi to SORT_AREA_SIZE. Trong mt s trng hp, nhiu thao tc sp xp cng c s dng v cn nhiu b nh hn. Khi ny b nh trong ca my l khng th p ng c v kt qu ca vic sp xp cn phi c tm thi lu ln a. Vng a lu tr cc d liu trung gian ny chnh l temporary segments. Temporary segments trong tablespace c Oracle server to lp vi mc ch s dng lm vng nh trung gian h tr thao tc sp xp.
Trang 137
Temporary Tablespace Mt temporary tablespace c s cho cc temporary segments tng ng v khng cha bt k segment no c kiu khc. Ta c th to cc temporary tablespace theo cu lnh SQL sau: CREATE TABLESPACE tablespace_name TEMPORARY DATAFILE filespec [autoextend_clause] [ , filespec [autoextend_clause]] ... Mt permanent tablespace c th chuyn i thnh dng temporary tablespace bng cch s dng cu lnh: ALTER TABLESPACE tablespace_name TEMPORARY Lu : vi cu lnh trn, tablespace khng c php cha bt k mt i tng thng tr no (nh: table, store procedure, ...). Mt temporary tablespace c th chuyn i li thnh permanent tablespace thng qua cu lnh SQL di y: ALTER TABLESPACE tablespace_name PERMANENT Oracle server c th to mt temporary segment trong mt permanent tablespace vi s iu kin sau: User thc hin cu lnh sp xp cn n vng khng gian trn a. User chy cu lnh m n c gn cho mt permanent tablespace thc hin sp xp.
Khi mt permanent tablespace c s dng cho vic sp xp, mt instance c th c mt hoc nhiu temporary segment trong tablespace.
Trang 138
Mt temporary segment s c hy bi tin trnh nn SMON khi kt thc cu lnh sp xp v vng khng gian cp pht s c gii phng cho cc i tng khc ca database s dng. Permanent tablespaces c s dng cho vic sp xp, c ba vng khng gian trong tablespace c th c phn vng khc nhau. Thng thng, mi tablespace nn c s dng cho tng tin trnh sp xp khc nhau. Khi mt temporary tablespaces c s dng cho cc temporary segments, Instance ch to mt segment dng sp xp cho tablespace. Mt vi transactions cn n sp xp trn a c th s dng cng segment. Tuy nhin, mt extent th khng th cng chia s ng thi cho nhiu transactions khc nhau.
Trang 139
Ta c th ly c cc thng tin v temporary segment trong mt s bng t in d liu: DBA_SEGMENTS: cha thng tin v tt c cc loi segments trong database. V$SORT_SEGMENT: cho bit trng thi ca cc sort extent pool (vng khng gian sp xp). Vi t in d liu ny, ta c th bit c nhng thng tin sau: Tn c t TABLESPACE_NAME EXTENT_SIZE TOTAL_EXTENTS TOTAL_BLOCKS USED_EXTENTS USED_BLOCKS FREE_EXTENTS FREE_BLOCKS MAX_SORT_SIZE MAX_SORT_BLOCKS V d: SVRMGR> SELECT tablespace_name, extent_size, 2> total_extents, max_sort_blocks 3> FROM v$sort_segment; TABLESPACE_NAME EXTENT_SIZ --------------- ---------TOTAL_EXTE ---------MAX_SORT_B ---------Trang 140
Di n gi i Tn temporary tablespace Kch thc ca extent Tng s cc extents Tng s cc blocks S lng extents s dng S lng blocks s dng S lng extents cn trng S lng blocks cn trng Kch thc ti a ca vng d liu sp xp S lng blocks ti a dng sp xp d liu
128
128
MAX_SORT_SIZE v MAX_SORT_BLOCKS l s lng cc extents v cc blocks s dng bi php sp xp ln nht. Thng tin ny l hu ch trong vic iu chnh kch thc ca temporary tablespace V$SORT_USAGE: cho bit thng tin v cc sp xp hin c ca instance, ta kt hp vi V$SESSION bit thm cc thng tin: V d: SVRMGR> 2> 3> 4> SELECT s.username, u."USER", u.tablespace, u.contents, u.extents, u.blocks FROM v$session s,v$sort_usage u WHERE s.saddr=u.session_addr; CONTENTS --------TEMPORARY EXTENTS ------1 BLOCKS -----128
Trang 141
Cluster h tr mt vi qu trnh iu khin cc hng c lu tr. Khi mt cluster c s dng, Oracle server s lu tt c cc hng m c cng gi tr kho trong cng mt Block nu c th. Khi bng Index-Organized c s dng, ngi s dng c th iu khin trt t ca cc hng. D liu trong bng index-organized s trong trt t ca kho ch nh.
Trang 142
13.1.1. Cluster
Mt cluster dng cha tp cc hng c quan h trong mt Oracle block.
S khc nhau gi a b ng c cluster v b ng khng cluster Nu hng d liu uc lu trong cc bng thng thng th cc bng khc nhau s s dng tp cc block khc nhau ca ring bng . Mt block m s dng lu cc hng t bng ORDER s khng cha d liu trong bng ITEM v ngc li. Nu hai bng ORDER v bng ITEM c lu trong mt cluster chng s chia s cng mt phn on cluster. Mt block trong phn on ny c th lu cc hng ca c hai bng. Nu mt bng c lu trong mt cluster, cluster s tr thnh n v vt l lu tr v bng s l thc th logic. Cc c tnh c a cluster Cc cluster c c tnh sau: Mi cluster bao gi cng c cluster key (kho ca cluster) dng xc nh cc hng cn phi nhm li vi nhau. Cluster key c th da trn mt ct hay nhiu ct. Cc bng trong mt cluster phi c cc ct tng ng vi cluster key. Cluster l c ch trong sut i vi ng dng s dng cc bng. D liu trong cc bng c cluster c th c thao tc ging nh trn cc bng thng thng. Cp nht mt ct trong kho ca cluster c th dn n vic thit lp li v tr ca hng . Cluster key c lp vi primary key (kho chnh) ca bng. Cc bng trong cluster c th c primary key. Primary key ny c th tham gia vo cluster key. Cluster hay c dng h tr hiu nng. Truy xut ngu nhin d liu trong cluster c th nhanh hn, nhng khi s dng truy vn trn ton bng th cc bng c cluster s chm hn.
Trang 143
Cluster s quyt nh gi tr cc tham s lu tr ca tt c cc tables trong cluster . 13.1.2. Xem xt v chn la Cluster Ch n cc tables cho cluster S dng cc clusters lu tr mt hay nhiu tables m chng thng xuyn c s dng truy vn d liu (t thc hin cc thao tc insert hay update d liu) v cc tables ny thng c kt hp vi nhau qua php kt ni trong cu lnh truy vn d liu. Ch n l a cc c t s d ng cho Cluster Key Vic chn la cc ct d liu s dng cho cluster key l kh quan trng. Khi c nhiu ct d liu c s dng trong cc php kt ni gia nhiu tables ca cu lnh truy vn, ta nn s dng cluster cho cc tables trn vi cluster key l nhm ca tt c cc ct d liu . Thng thng, ta nn t index cho cluster tng ng vi cc ct d liu trong cluster key. Mt cluster key tt l cluster key m s dng n ta c th phn u s lng cc rows (dng) trn mi nhm. Trnh chuyn c cluster key th tng ng vi nhiu rows trong khi li c nhng cluster key khc li c qu t cc rows. Khi c qu nhiu rows tng ng vi mt cluster key s lm cho vic tm kim mt dng d liu no trong cluster tr nn tn km hn. Mt khc, t cc Cluster keys i vi nhng ct c min gi tr t cng khng hiu qu. V d nh t cluster key i vi cc ct nhn gi tr logic, min gi tr ca ct ny ch l true v false cho nn cluster key trn ct d liu ny cng khng pht huy c hiu qu.
Trang 144
Index cluster Mt index cluster s dng mt index bo tr d liu trong mt cluster, cc index ny c gi l cluster index: Cluster index phi c sn cho vic lu tr, truy xut v bo tr d liu trong mt index cluster. Index cluster c s dng tr n mt block m cha cc hng vi mt gi tr kho. Cu trc ca cluster index tng t nh mt normal index, mc du normal index khng cha gi tr kho NULL, nhng cluster index c th cha gi tr kho NULL. Ch c mt im vo (entry) cho mi kho trong cluster index, v vy chng c th nh hn so vi index thng thng trong cng mt tp gi tr kho. lu tr v truy xut cc hng t cluster, oracle server s dng cluster index xc nh hng u tin tng ng vi gi tr kho sau truy xut cc hng cho gi tr kho. Nu mt vi hng trong index cluster c cng gi tr kho, kho cluster khng lp li cho mi hng. Trong mt bng vi s ln cc hng cng gi tr kho, s dng index cluster c th lm gim s lng khng gian a cn lu tr.
Hash Cluster Hash cluster s dng mt chc nng tnh ton v tr ca cc hng. Hm bm (hash) s dng kho cluster v c th c ngi s dng nh ngha hay h thng sinh ra. Khi mt hng c chn vo trong bng trong mt hash cluster: Ct kho hash c s dng tnh gi tr bm (hash). Hng c lu da vo gi tr bm.
Hm bm s dng xc nh cc hng trong khi trong khi truy xut d liu t cc bng c bm, Hash cluster cho mt hiu nng ln hn so vi index cluster.
Tri li, vi vic s dng hash function xc nh cc row trong mt hash cluster s khng cn phi s dng bt c mt thao tc vo ra no c. Nh vy l dng cch ny c th gim bt c cc thao tc vo ra c hay ghi dng d liu trong mt hash cluster.
So snh u nh c i m c a ph ng php Hashing v Indexing C hai phng php indexing v hashing u c nhng u v nhc im ring. Do , ta cn cn c vo nhng trng hp c th ring chn la phng php s dng cho hp l. u v nh c i m c a cc ph ng php hashing v indexing: Cc cu lnh truy vn s dng mnh so snh bng i vi cluster key: SELECT ... WHERE cluster_key = ...; Trong nhng trng hp ny cluster key trong cc iu kin so snh bng s c p dng hm bm, gi tr bm - hash key tng ng s dng xc nh dng d liu trong table. Trong khi , vi indexed table gi tr key value s c tm trong index trc, v sau mi c dng d liu thc s trong table. Cc tables trong hash cluster thng c kch thc t thay i cho nn ta c th xc nh s lng cc rows v mc khng gian s dng ca cc tables trong cluster. Khi cc tables trong mt hash cluster yu cu vng khng gian nhiu hn l vng khng gian cp pht cho cluster th hiu sut thc hin ca h thng s b gim i ng k do yu cu qu nhiu. i vi cc truy vn trn cc tables tr v nhiu dng d liu khng bng vi key values (iu kin truy vn thuc loi so snh khng bng). V d, duyt trn ton b table ly ra cc dng d liu da vo so snh like (so snh like p dng trn cc chui). Khi ny, hash function khng th s dng a ra cc hash keys ging nh trong trng hp so snh bng c: SELECT ... WHERE cluster_key<...; Vi index cluster, cc key values c sp xp trong index, cho nn d dng c th a ra cc cluster key values tho mn mnh so snh WHERE khng tng ng, lm gim bt cc thao tc truy xut vo ra. Khi table c kch thc thng xuyn c tng trng m khng b gii hn trn th vng khng gian dnh cho n s khng cn thit phi xc nh ngay t u. Vi phng php hashing s gy ra kh khn v kch thc ca cc cluster bao gi cng c xc nh t u. Trong khi s dng indexing, ta c th iu chnh tng lng khng gian dnh cho table khi cn thit. Khi cc ng dng thng xuyn thc hin cc thao tc duyt ton b table, nu s dng phng php bm s gy ra tn km hn v phi lin tc p dng hm ny.
13.2.QUN L CLUSTER
13.2.1. To cluster
C php: To Cluster CREATE CLUSTER [ schema. ] cluster (column dattype [, column datatype ] ... ) [ PCTFREE integer ]
Trang 146
PCTUSED integer ] INITRANS integer ] MAXTRANS integer ] SIZE integer [ K | M ] ] storage-clause ] TABLESPACE tablespace ] INDEX ] l owner ca bng tn ca ct lm kho cho cluster tn ca cluster kiu d liu v kch thc ca ct lm kho ch nh khng gian yu cu bi ton b cc hng tng ng vi gi tr kho, n v tnh byte, kilobyte hay megabyte. Ch nh cluster to ra l mt index cluster.
INDEX L u :
Nu kch thc (SIZE) khng c nh ngha th gi tr mc nh s c s dng: 1 block. Oracle server s dng gi tr ny nh gi s lng ln nht gi tr kho c th chn vo trong mt block ca cluster. V d nu SIZE c khi to gi tr 200, trong khi kch thc ca mt block l 2048 bytes, sau khi insert phn header cn li khong 1900 bytes ca block cho php chn d liu.V vy mt block c th cha c 9 gi tr kho. To Index Cluster CREATE INDEX [ schema. ] index ON CLUSTER [ schema. ] cluster [ PCTFREE integer ] [ INITRANS integer ] [ MAXTRANS integer ] [ TABLESPACE tablespace ] [ storage-clause ]
Ct kho khng cn thit phi ch nh cho cluster index v chng c nh ngha khi to cluster. t index cluster trong cc tablespace khc nhau m c s dng to cluster. To table trong Cluster
to mt bng trong mt index cluster thc hin cc bc sau: 1. To cluster 2. To index cho cluster (cluster index) 3. To bng trn cluster C th to bng trn cluster trc khi to index. Ba bc trn cn thc hin trc khi chn d liu vo trong bng. CREATE TABLE [schema.]table ( column_definition [, column_definition ]... [, [CONSTRAINT constraint] out_of_line_constraint ]...
Trang 147
) CLUSTER [schema.]cluster (column [, column ]... ) Mnh CLUSTER ch nh rng bng phi c t trong mt cluster. Mt bng m c t trong mt cluster khng th c cc thuc tnh vt l ca ring n bi v segment khng phi ca ring n m l mt phn ca cluster. Lu : phi c cluster index th mi thao tc c d liu trong tables nm trong cluster V d: To Cluster CREATE CLUSTER scott.ord_clu (ord_no NUMBER(3)) SIZE 200 TABLESPACE DATA01 STORAGE(INITIAL 5M NEXT 5M PCTINCREASE 0); To Index cho Cluster CREATE INDEX scott.ord_clu_idx ON CLUSTER scott.ord_clu TABLESPACE INDX01 STORAGE(INITIAL 1M NEXT 1M PCTINCREASE 0); To table trong Cluster CREATE TABLE scott.ord (ord_no NUMBER(3) CONSTRAINT ord_pk PRIMARY KEY, ord_dt DATE, cust_cd VARCHAR2(3)) CLUSTER scott.ord_clu(ord_no); CREATE TABLE scott.item (ord_no NUMBER(3) CONSTRAINT item_ord_fk REFERENCES scott.ord, prod VARCHAR2(5), qty NUMBER(3), CONSTRAINT item_pk PRIMARY KEY(ord_no,prod)) CLUSTER scott.ord_clu(ord_no);
Cu lnh cho vic to mt hash cluster tng t nh cu lnh cho to index cluster. C php: CREATE CLUSTER [ schema. ] cluster (column datatype [, column datatype ] ... ) HASHKEYS integer [ HASH IS expression ] [ PCTFREE integer ] [ PCTUSED integer ] [ INITRANS integer ] [ MAXTRANS integer ] [ SIZE integer [ K | M ] ] [ storage-clause ]
Trang 148
[ TABLESPACE tablespace ] V d: To Cluster CREATE CLUSTER scott.off_clu (country VARCHAR2(2),postcode VARCHAR2(8)) SIZE 500 HASHKEYS 1000 TABLESPACE DATA01 STORAGE(INITIAL 5M NEXT 5M PCTINCREASE 0); To cc tables trong cluster CREATE TABLE scott.office( office_cd NUMBER(3), cost_ctr NUMBER(3), country VARCHAR2(2), postcode VARCHAR2(8)) CLUSTER scott.off_clu(country,postcode);
Mnh HASHKEYS ch nh rng cluster c to l mt hash cluster. Mnh HASH IS c th c s dng nh ngha mt hm bm (hash function) do ngi s dngnh ngha.
Tham s SIZE Tham s SIZE nh ngha khng gian s dng bi ton b cc hng cho gi tr kho ca cluster. V d i vi index cluster nu mi n t hng c 10 mt hng v kch thc ca mi hng trong bng l 20 bytes, mt hng trong bng mt hng c kch thc l 18 bytes, tham s SIZE s c tnh nh sau:
Khi quyt nh kch thc ca SIZE cho Hash Cluster th nn chn gi tr ln hn gi tr tnh mt it trnh vic khng khng gian lu tr.
HASHKEYS T kho HASHKEYS ch nh s gi tr kho dng cho hash cluster. Tham s ny cng vi tham s SIZE c s dng bi Oracle Server nh gi kch thc ban u ca cluster. Khng gian c thit lp cho cluster trong qu trnh to c xc inh theo cng thc:
Trang 149
Vi:
Cc extent c thit lp khi nh ngha trong mnh STORAGE s tip tc n khi tng kch thc ca cc extent c thit lp bng hay ln hn gi tr tnh ton. HASH IS Hm bm c th c nh ngha bi user, hm c chn cn xem xt tnh phn tn ca gi tr kho : C kh nng phn tn ln nht cc hng trong trong s cc gi tr kho. C gng gim thiu s ng (collision). ng s xy ra khi mt vi gi tr kho bm ra cng mt kt qu. Khi tnh trng ng xy ra s gy ra khng khng gian cha tt c cc hng , mt con tr s c t vo trong block, mt bn ghi mi c t qua block mi. nh gi tr n mt gi tr nguyn dng.
Mt hm bm c th cha bt k cu lnh SQL hp l no, cc hm do user nh ngha khng th tham gia vo hm bm.
13.2.5. Sa i cc Cluster
Cc sa i i vi Cluster bao gm V d: ALTER CLUSTER scott.ord_clu SIZE 300 STORAGE (NEXT 2M); B ng quy nh cc thao tc c th th c hi n cho index v hash cluster L nh ALTER CLUSTER Thao tc Thay i cc tham s s dng khi Index Cluster C Hash Cluster C C C C Thay i tham s lu tr v cc tham s lin quan n s dng block. Thay i gi tr ca tham s SIZE cho index cluster. Cp pht v ly li khng gian lu tr. Cc gi tr HASH IS v HASHKEYS khng th thay i c bng cu lnh ALTER cho hash cluster.
Thay i cc thuc tnh lu tr (tr C INITIAL) Cp pht vng trng Thu hi vng khng gian khng s dng C C
Trang 150
Thay i SIZE Thay i HASHKEYS v HASH IS TRUNCATE CLUSTER Gii phng khng gian Ti s dng khng gian
C C C
Cc cu lnh ALTER CLUSTER, TRUNCATE CLUSTER v ANALYZE CLUSTER c cng mt c php tng ng vi cu lnh cho bng.
13.2.6. Xo Cluster
Mt cluster ch c th xo nu nh tt c cc bng trn cluster c xo i, iu ny c th thc hin bng cch s dng mnh tu chn INCLUDING TABLES trong cu lnh xo CLUSTER hay bng cch xo bng trc khi xo CLUSTER. C php: DROP CLUSTER [ schema. ] cluster [ INCLUDING TABLES [ CASCADE CONSTRAINTS ]] Mnh CASCADE CONSTRAINTS phi c s dng nu bt c bng no trong cluster b tham chiu n bi mt ngoai kho (Foreign Key) ca bng m khng thuc vo cluster. V d: S dng mnh INCLUDE TABLES xo cc bng trong Cluster DROP CLUSTER scott.ord_clu INCLUDING TABLES; Xo cc bng trc khi xo Cluster DROP TABLE scott.ord; DROP TABLE scott.item; DROP CLUSTER scott.ord_clu;
Cc tnh hu ng s d ng cluster Index cluster hay Hash cluster c s dng trong cc trng hp khc nhau bng di y lit k ni s s dng index v hash cluster: Chu n Phn tn kho ng nht (Uniform key distribution) M rng s ng u cc gi tr kho (Evenly spread key values ) Cc kho t c cp nht (Rarely updated key ) Cc bng kt ni Master-Detail Xc nhn s lng cc gi tr kho Cc truy vn s dng cc kho tng ng X X X X X Index X X X Hash
Tnh ch t c a d li u Hai on sau y m t lin quan gia tnh cht ca d liu trong cluster. S phn tn ca gi tr kho: Cc cluster th kh thch hp trong tnh hung tnh tun t ca gi tr kho l nh nhau. Xem trt t x l ca v d sau: nu cc n t
Trang 151
hng cha hu ht s mt hng nh nhau khi cluster c th c ch. Nu cc n t hng c ch mt hay hai mt hng trong khi cc n t hng khc c hng trm mt hng trong trng hp ny s dng cluster l khng thch hp. Vng gi tr kho: Gi tr kho phn tn trong vng gi tr l khng thch hp cho kho bm, bi v nh vy s lng ph rt nhiu khng gian trong mt cluster. Mc d thut ton bm c thit k cn thn c th gii quyt vn ny, rt kh khi thit k mt hm bm thch hp pht trin.
Cc ho t ng trn d li u trong cc b ng Phng thc d liu c lu tr cn c xem xt trong khi thit lp cluster. Tnh tun t ca vic cp nht cc ct kho: Khi cc gi tr kho trong cluster c cp nht, hng c th b dch chuyn vt l t block ny sang block khc, iu ny c th lm gim hiu nng. V vy cc ct cn c cp nht thng xuyn khng thch hp tham gia vo kho ca cluster. Tnh tun t ca join (kt ni): Cc bng m thng xuyn tham gia vo kt ni trong cu lnh query s dng quan h ngoi kho l thch cho vic thit lp cluster. Bi v cc hng dng lm gi tr kho c lu tr cng nhau, s dng cluster c th lm gim s block cn c tho mn mt yu cu no . Trong mt s trng hp vic t bng chi tit (detail) trong cluster l rt c li, hy xem xt trng hp thng tin v cc nhn vin lun c truy xut bi cc phng ban v vic qut ton b bng phng ban l thng xuyn xy ra. Trong trng hp ny ch nn dng bng nhn vin trong cluster. nh gi s gi tr kho: trong hash cluster, cc hm bm da trn tham s ch nh bi ngi dng vo thi im to chng. Vic nh gi gi tr kho hay kch thc chnh xc l phc tp bi v cc bng ny thay i. Mt la chn sai cho HASHKEYS v SIZE c th dn n mt hm bm khng hiu qu v c th dn n lng ph khng gian lu tr, v vy hash cluster ch nn s dng khi m gi tr ca SIZE v HASHKEYS l c th nh gi c trc. iu kin query: Hm bm c th c s dng truy xut d liu ch khi gi tr kho l c bit. V l do ny m tm kim trong mt khong khng th s dng hm bm. Nu cu lnh truy vn s dng da vo tnh ngang bng trong kho ca cluster chng c th h tr cho qu trnh bm. Tuy nhin c th to ra mt index trn kho ca hash cluster, nu nhiu truy vn s dng tm kim khong trong ct kho ca hash cluster.
Trang 152
Trang 153
Trang 154
13.4.INDEX-ORGANIZED TABLE
13.4.1. Tnh cht chung
C u trc l u tr Mt index-organized table lu ton b d liu cho bng trong mt cu trc B-TREE, B-TREE index da trn kho chnh ca bng v n c t chc ging nh mt index. Cc block phn l trong cu trc ny cha cc ct khng phi l kho thay v cc ROWID. V vy vic s dng index-organized table cn 2 segments khc nhau mt cho table v mt cho index. Truy xu t m t index-organized table Truy xut index i vi cc bng thng thng yu cu mt hay nhiu khi block index c c truy xut ROWID v vic vo ra trn bng da vo gi tr ca ROWID. Ngc li c cc bng index-organized yu cu ch cc khi index cn c c bi v ton b hng c sn trong phn l ca node. Mt index-organized table c th truy xut s dng kho chnh hay nhiu ct kt hp tham gia vo kho chnh. Vic thay i d liu bng nh : thm , xo hay cp nht cc hng dn n kt qu cp nht cc index. So snh gi a index-organized table v cc table Index-Organized Table Table
Trang 155
ROWID c ngm nh s dng cho cc Khng c ROWID index Khng c cc index ph FTS tr v cc dng d liu khng theo Duyt tt c ch s v tr v cc dng d liu theo th t kho chnh mt trt t Cho php cc rng buc duy nht Khng h tr cc rng buc duy nht H tr vic phn vng, phn tn v lan Khng h tr vic phn vng, phn tn v truyn (replication) d liu lan truyn (replication) d liu
Mt index-organized table khc vi table nh sau: ROWID c th l xc nh duy nht cho mt hng trong bng thng thng, trong khi hng trong index-organized table th c xc nh bi kho chnh ca bng. Mt bng thng thng c th c nhiu index. Cc index lu gi tr ROWID tng ng cho gi tr kho ca index, trong khi i vi index-organnized table khng dng ROWID nn index th cp s khng th to ra trn kiu bng ny. Bt c mt cu lnh SQL truy xut gi tr ROWID ca bng index-organized table s nhn c mt li. Khi thc hin vic qut trn ton bng trn bng thng thng trt t cc hng tr v l khng th bit trc c. Ngc li qu trnh truy vn trn ton b bng index-organized table cc hng tr v theo th t ca kho chnh trong bng. Mt index-organized table h tr tt c cc loi constraint ngoi tr unique constraint. Mt index-organized table khng tham gia trong cc distributed transactions (giao dch phn tn), n khng th phn khu (partition) hay nhn bn (replicate).
C php: CREATE TABLE [ schema. ] table (column-definition [, column-definition ] ... [, out-of-line-constraint [, out-of-line-constraint ] ... ] ) ORGANIZATION INDEX [ PCTFREE integer ] [ INITRANS integer ] [ MAXTRANS integer ] [ storage-clause ] [ TABLESPACE tablespace ] [ PCTTHRESHOLD integer [ INCLUDING column ] ] [ OVERFLOW segment_attributes_clause ]
Trang 156
Vi: schema table l owner ca bng l tn ca bng ch nh n l mt index-organized table PCTTHRESHOLD ch nh khng gian dnh ring trong index block cho cc hng ca index-organized table ( nu cc hng vt qu gi tr c s c tnh ton , ton b cc hng trong ct c t tn trong mnh INCLUDING c chuyn vo phn on overflow, nu phn on overflow khng c ch nh cc hng vt qu gi tr PCTTHRESHOLD s b t chi, gi tr mc nh ca n l 50 v gi tr ca n phi nm trong khong t 0-50. column ch nh ct ti chia mt hng ca bng index-organized table thnh hai phn index v overflow, tt c cc ct tip theo gi tr column c lu trong phn phn on overflow. ch nh rng cc hng d liu trong indexorganized table vt qu gi tr ch nh ca PCTTHRESHOLD th s c t trong phn on nh ngha bi segment_attributes_clause, mnh ny s nh ngha tablespace, vng lu tr v cc tham s v s dng block.
ORGANIZATION INDEX
INCLUDING
OVERFLOW
V d: CREATE TABLE scott.sales ( office_cd NUMBER(3), qtr_end DATE, revenue NUMBER(10,2), review VARCHAR2(1000), CONSTRAINT sales_pk PRIMARY KEY(office_code, qtr_end)) ORGANIZATION INDEX TABLESPACE data01 PCTTHRESHOLD 20 OVERFLOW TABLESPACE data02; M t s gi i h n Kho chnh phi ch nh cho index-organized table, nu to index-organized table trn bng m khng c kho chnh s sinh ra li. Nu tham s PCTTHRESHOLD c nh ngha v phn on overflow khng c ch nh cc hng vt qu gi tr PCTTRESHOLD s b t chi v s sinh ra mt li.
Trang 157
Mt hng ln trong mt index-organzed table c th ph hu mt vng lu tr ca cc hng trong index. Vn ny c th gii quyt bng cch s dng vng d liu overflow. T o phn o n (segment) cho m t index- organized table Khi mt index-organized table c to bng cch ch nh mnh OVERFLOW cc vng sau y c to: Mt bng logical vi tn nh ngha trong mnh CREATE TABLE c to ra. V ton b cc hng c lu trong index, khng c phn on m tng ng vi bng . Mt index cng tn vi kho chnh ca bng nm trong tablespace nh ngha bi cu lnh CREATE TABLE , s dng cc tham s lu tr cho khi ch nh c to ra. Mt bng tip nhn cc hng b overflow c to ra, tn ca bng ny l SYS_IOT_OVER_n, trong n l gi tr tun t ca object OBJECT_ID ca indexorgannized table.
Trang 158
Mt index-organized table c th s dng ging nh cc bng thng thng, tt c cc cu lnh ging nh ALTER TABLE, ANALYZE TABLE, TRUNCATE TABLE v DROP TABLE v tt c cc cu lnh DML u c th thc hin trn index-organized table.
S dng cu lnh truy vn sau y lit k thng tin v cc index-organized table v cu trc ca chng : SVRMGR> SELECT t.table_name AS "IOT", o.table_name AS "Overflow", 2> i.index_name AS "Index", 3> o.tablespace_name AS "Overflow TS", 4> i.tablespace_name AS "Index TS", i.pct_threshold 5> FROM dba_tables t, dba_tables o, dba_indexes i 6> WHERE t.owner=o.owner 7> AND t.table_name = o.iot_name 8> AND t.owner = i.owner 9> AND t.table_name = i.table_name 10> AND t.owner= 'SCOTT'; IOT ----Overflow Index Overflow TS Index TS PCT_THRESHOLD ----------------- -------- ----------- -------- ------------Trang 159
SALES
DATA01
20
Trang 160
Regular Tables Regular table (thng c goi l table) l hnh thc thng hay c s dng lu tr d liu. y l nhng bng d liu c s dng theo mc nh v l i tng c tp trung nghin cu trong chng ny. Qun tr vin database c th iu khin gii hn cc dng d liu phn tn trong mt unclustered table. Cc dng d liu c th lu tr theo mt trt t tu thuc vo cc thao tc d liu c thc hin trn bng . Partitioned Tables Mt partitioned table (bng phn khu) cho php xy dng mt ng dng n nh. Partition table c mt s c tnh sau: Mt partition table c th c mt hay nhiu partition, mi partition cha cc dng d liu thuc vo mt dy gi tr ca key value (gi tr kho). Mi partition trong mt parttioned table gi l mt segment (phn on) v c th t chng trong cc tablespaces khc nhau. Partition thng c s dng cho cc tables c s lng bn ghi ln hay s dng cc cu lnh truy vn d liu v c nhiu thao tc d liu i hi s dng ng thi nhiu proccess (tin trnh). C th thc hin trn mt s cu lnh c bit nhm h tr vic qun l v thc hin cc thao tc d liu trong cc partition ca partitioned table.
Hai loi Index_Organized Tables v Clustered Tables s c xem xt chi tit hn trong cc chng tip theo.
Trang 161
Row header (phn thng tin u ca dng d liu): lu tr s lng cc trng trong dng d liu , ngoi ra cn c thng tin v chaining v thng tin v trng thi kho ca dng d liu . Row data (ni dung ca dng d liu lu tr): i vi mi trng d liu, oracle lu di ca trng d liu v gi tr ca trng d liu (c mt byte dnh ring dng lu di ca trng d liu nu di ca ca n khng vt qu 250 bytes). Gi tr ca ct s lu ngay tip theo thng tin v di ca ct.
Cc rows c lu tr lin k nhau v khng cn bt c khong cch no gia chng. Mi row trong block u c cc thng tin (slot) trong danh mc cc rows. Danh mc cc thng tin ny tr n phn u ca mi row. Oracle 8i cung cp mt vi kiu d liu xy dng sn dng lu tr cc d liu c kiu v hng, kiu tp hp v kiu quan h.
Trang 162
Lu tr d liu bng kiu CHAR, NCHAR nhiu khi gy ra hin tng tn km b nh mt cch khng cn thit. Kiu d liu chun VARCHAR v NVARCHAR c th khc phc c nhc im ny. Vi vic s dng cc kiu d liu VARCHAR v NVARCHAR lu tr d liu, nu ni dung ca d liu lu tr t hn kch thc khai bo th h thng s ch cp va b nh lu tr xu k t m thi. V d minh ho vic lu tr d liu xu ch gia cc kiu d liu khc nhau D li u Test Test Test Test B ng m 8 bits 16 bits 8 bits 16 bits Ki u d li u CHAR(10) NCHAR(5) VARCHAR(10) NVARCHAR(5)
10 bytes 10 bytes 4 bytes 8 bytes T T T T e s e
L u tr d li u
e s e t s t t s t
VARCHAR v NVARCHAR l hai kiu d liu chun c Oracle h tr t cc phin bn u. Vi cc phin bn sau ca Oracle, c h tr thm kiu d liu VARCHAR2 v NVARCHAR2. Hai kiu d liu ny cng tng t nh VARRCHAR v NVARCHAR, tuy nhin hai kiu d liu ny c h tr x l tt hn v cn c tip tc h tr trong cc phin bn tip theo ca Oracle. Oracle khuyn co ngi s dng nn dng kiu d liu VARCHAR2 v NVARCHAR2 thay cho kiu cc d liu c l VARCHAR v NVARCHAR. Kiu d liu k t c di thay i s ch s dng mt s bytes cn thit lu tr gi tr thc s ca ct v c th thay i kch thc cho mi hng. VARCHAR2 v NVARCHAR2 l v d ca kiu d liu k t c di thay i.
D li u ki u s (numeric) D liu kiu s trong Oracle Database lun c lu tr vi kiu d liu c di thay i. Chng c th lu tr c nhng con s ln ti 38 ch s. D liu kiu s c: Mt byte lu phn m
Trang 163
Ki u d li u ngy thng (date) Oracle server lu d liu kiu date trong mt trng c di khng thay i l 7 bytes. D liu kiu date ca Oracle bao gi cng bao gm thi gian y : th k, nm, thng, ngy, gi, pht, giy v phn trm ca giy. Ki u d li u th (raw) Kiu d liu ny cho php lu tr cc d liu nh phn nh. Oracle server khng thc hin chuyn i tp k t mi khi d liu kiu raw c chuyn qua li gia cc my trong mng (khi d liu kiu raw c dch chuyn t database ny sang database khc s dng cng c ca Oracle). Ki u d li u l u tr i t ng l n (LOB) LONG, LONG RAW Mt ct cho mt bng Kch thc c th ti 2GB SELECT tr v d liu C th ln ti 4GB SELECT tr v locator LOB Nhiu ct cho mt bng
D liu in-line (c th lu tr trong mt D liu c th l in-line hay out-of-line (d dng ca table) liu khng lu tr c trong bng m phi lu ring trong mt tablespace, c s dng LOB locator xc nh d liu LOB) Khng h tr Object type Truy nhp tun t cc b (chunk) H tr kiu object Truy xut chunk khng tun t
Ngoi ra, Oracle cung cp 6 kiu d liu cho vic lu tr cc i tng ln: CLOB v LONG d liu k t c rng khng i. NCLOB lu d liu k t NLS c rng khng i. BLOB v LONG RAW cho cc d liu phi cu trc . BFILE lu tr cc d liu phi cu trc trong h iu hnh.
LONG v LONG RAW, trc y, thng c s dng lu tr d liu phi cu trc nh image, document hay cc thng tin vt l. cc phin bn gn y, Oracle 8i, kiu d liu ny c thay th bng kiu d liu LOB. Kiu d liu LOB khc vi d liu LONG v LONG RAW cho nn chng khng th dng ln vi nhau. LOB khng h tr cho cc chng trnh vit vi LONG v ngc li. Ki u d li u RowID RowID l ton t gi c th c s dng trong cu lnh truy vn cng vi cc ct d liu c trong bng. RowID c mt s c tnh sau: RowID l nh danh duy nht cho mt row trong database. RowID khng lu tr r rng nh cc ct gi tr. Mc d RowID khng phi l a ch vt l ca mt row nhng n vn c th s dng xc nh v tr ca mt row. S dng RowID cho php truy xut nhanh chng cc rows ca mt table.
Trang 164
RowID cn c lu tr trong Index ch nh r tng rows tng ng vi tng gi tr kho (key values).
nh d ng c a RowID Cn 10 bytes lu tr mt gi tr RowID trn a v hin th n bi 18 k t. nh dng ca mt RowID bao gm cc thnh phn: Data object number: c gn cho mi data object, v d nh: table hay index. Khi cc Objects ny c to lp, gi tr data object number tng ng s c khi to v c quy nh duy nht trong database. Relative file number: l s hiu duy nht ng vi mi file trong mt tablespace. Block number: dng xc nh v tr ca Block cha dng d liu trong file. Row number: xc nh v tr ca tng row trong danh mc cc rows thuc block header.
Trong , data object number cn 32 bits, relative file number cn 10 bits, block number cn 22 bits v row number cn 16 bits tng s bits dng lu thng tin v RowID l 80 bits hay 10 bytes. Khi hin th mt RowID theo b m 64, ta cn ti 6 v tr cho data object number, 3 v tr cho relative file number, 6 v tr tip theo cho block number v 3 v tr cui cng cho row number. B m 64 s dng cc k t A-Z, a-z,0-9,+ / tng cng l 64 k t. V d: SVRMGR> SELECT deptno, ROWID 2> FROM scott.dept; DEPTNO ROWID ------------------------10 AAAArsAADAAAAUaAAA 20 AAAArsAADAAAAUaAAB 30 AAAArsAADAAAAUaAAC 40 AAAArsAADAAAAUaAAD 4 rows selected. Trong : AAAArs l gi tr ca Data object number AAD l gi tr ca Relative file number AAAAUa l gi tr ca Block number AAA l gi tr ca Row number
Xc nh v tr c a row nh gi tr c a RowID
Trang 165
V mt segment ch c th nm trong mt tablespace nn ta c th s dng Data Object Number xc nh tablespace cha row. Gi tr Relative File Number trong tablespace dng xc nh file. Gi tr Block Number dng xc nh Block cha row v gi tr Row Number xc nh chnh xc row trong danh mc cc rows. RowID b gi i h n (Restricted RowID)
Phin bn trc y ca Oracle c s dng nh dng Restricted RowID. Mt Restricted RowID s dng 6 bytes v khng cha gi tr Data Object Number. nh dng ny s dng trong Oracle 7 v cc phin bn trc . Do File Number l duy nht trong database nn ti cc phin bn trc ca Oracle khng cho php c nhiu hn 1024 data file. Mc d Oracle 8 khc phc gii hn trn bng cch s dng Tablespace_Relative nhng File Number trong mi Restricted RowID vn c s dng trong mt Objects (V d nh nonpartitioned indexes). Khi ny, cc Index tham chiu n cc rows cng nm trn cng mt segment cha cc rows.
14.2.2. Tp hp (collection)
C hai kiu d liu tp hp s dng lu tr cc d liu c tnh lp li trong cc rows ca mt table. Vic chn la kiu d liu tp hp thch hp l mt vic lm cn thit. M ng bi n (varying arrays) Varying arrays dng lu cc thng tin danh sch cha mt s lng nh cc yu t, v d nh s in thoi ca cc khch hng. Varying arrays c cc c tnh sau: L mt mng c th t cc yu t. Tt c cc thnh phn trong mng c cng kiu d liu. Mi thnh phn c mt ch s (index), l con s tng ng vi v tr ca thnh phn trong mng, chng c nh s t 0 n n-1. S ln nht ca cc thnh phn trong mng chnh l kch thc ca mng. Oracle cho php mng c th c kch thc thay i. V vy, ngi ta gi chng l cc VARRAYs. Kch thc cc i ca VARRAYS cn c ch nh khi m t Cc phn t trong mng c nh ch s mt cch lin tc.
Cc b ng l ng nhau (nested table) Cc nested table cung cp mt phng thc nh ngha mt bng nh l mt ct d liu trong mt bng khc. C th s dng phng php ny lu tr mt lng ln cc bn ghi (v d nh cc items (mc) trong mt n hng). Nested table c cc c tnh sau: Mt nested table l mt tp khng sp xp cc bn ghi hay rows. Cc rows trong nested table c cng mt cu trc.
Trang 166
Cc rows trong nested table c lu tr tch ri vi vi bng cha v c mt con tr tr ti vi row tng ng trn bng cha. Cc tham s lu tr cho nested table c th c ch nh bi ngi qun tr database. Khng c gii hn vic lng cc bng.
[MAXTRANS interger] [STORAGE storage_clause] [LOGGING|NOLOGGING] [CACHE|NOCACHE] Vi: schema table column datatype TABLESPACE PCTFREE PCTUSED INITRANS MAXTRANS STORAGE LOGGING NOLOGGING CACHE NOCACHE tng ng vi user s hu table. tn ca bng to tn ca ct trong bng cn to kiu d liu cho ct tng ng tn tablespace cha bng khng gian dnh ring trong mi block (tnh bng n v %). S dng cha khi cc hng ln ln do update. xc nh gii hn di ca khng gian s dng trong block xc nh s giao dch c thit lp cho mi block xc nh s giao dch ln nht c th thit lp cho block mc nh l 255. quy nh kch thc ca khng gian lu tr, xc nh xem c bao nhiu extents s c thit lp cho bng. ch nh vic to bng s c ghi vo trong redo log file. ch nh vic to bng v np d liu vo bng s khng c ghi vo redo log file. ch nh vic truy xut cc blocks ca bng c thit lp trong vng m khi c thc hin full scan trn table. ch nh cc blocks c truy xut trn bng ny khng c t vo trong danh sch LRU trong vng m khi c thc hin full scan trn table.
V d: CREATE TABLE employees( empno NUMBER(4), last_name VARCHAR2(30) deptno NUMBER(2)) PCTFREE 20 PCTUSED 50 STORAGE(INITIAL 200K NEXT 200K PCTINCREASE 0 MAXEXTENTS 50) TABLESPACE data01; L u : Mi table nn c mt Primary Key. Nu gi tr MINIMUM EXTENT c ch ra cho tablespace th khi m rng kch thc bng, gi tr kch thc s c lm trn ln mt bi s ln gi tr ca MINIMUM EXTENT. Nu b qua mnh [NO]LOGGING th thuc tnh logging ca bng s c t mc nh theo thuc tnh logging ca tablespace cha bng . Nu gi tr MINEXTENT c ch nh bi mt gi tr ln hn 1 v tablespace cha nhiu data file, qu trnh m rng s thc hin trn nhiu data files khc nhau tng ng vi tablespace.
Trang 168
Nn t cc bng trn cc tablespace ring, khng t cc bng trn Rollback Tablespace, Temporary Tablespace hay Index Tablespace. S dng chun v kch thc m rng (extent size) l mt bi s ca 5*DB_BLOCK_SIZE gim thiu s phn mnh trong database. nng cao hiu sut thc hin truy vn trn ton b bng, cn thit lp thng s extent size vi gi tr bng gi tr DB_FILE_MULTIBLOCK_READ_COUNT. y l tham s quy nh s lng cc blocks c c mi khi server proccess thc hin vic c d liu qua php truy xut file d liu ca h iu hnh. Mnh CACHE ch dng cho cc bng c kch thc nh v thng xuyn c truy vn. 1. 2. 3. 4. 5. 6. 7. Chy Oracle Schema Manager. Chn Object>Create. Chn Table t danh sch ri bm nt OK. Chn Create Table Manually trong phn New Table. Bm nt OK. Nhp vo cc thng tin trong phn General, Storage, v Options. Bm nt Create.
Mt gi tr PCTFREE ln s lm cho mt hng trong block thp i. Mi block s cho php c t hng hn c lu tr. PCTUSED Tham s PCTUSED c xc nh nhm m bo cung cp s lng block trng phc v cng vic lu tr d liu ca table. Cc blocks cung cp cho table c ly t mt danh sch cc block rng. Khi table cn thm block lu tr, Oracle server s tm mt Block trng tip theo trong danh sch cc block rng ny cung cp cho table. Qu trnh tm kim tuyn tnh xy ra cho n khi hoc l tm thy mt block rng trong danh sch hoc tm n cui cng ca danh sch. Ta c th s dng cng thc di y xc nh gi tr ca tham s PCTFREE. Gi tr ca tham s c tnh bi cng thc ny c th lm gim thi gian tm kim trong danh sch cc block rng v tng kh nng tm kim khi cn thm khng gian s dng.
Trang 169
Ch : Gi tr kch thc trung bnh (average row size) c th nh gi t vic s dng cu lnh ANALYZE TABLE.
C php: CREATE TABLE [schema.]table [LOGGING|NOLOGGING] .... AS Subquery V d: CREATE TABLE new_emp STORAGE(INITTIAL 200K NEXT 200K PCTINCREASE 0 MAXEXTENTS 50) NOLOGGING TABLESPACE data01 AS SELECT * FROM scott.emp; L u : Cc mnh TABLESPACE, STORAGE hay thng tin s dng cc blocks c th c ch ra khi to bng. S dng mnh NOLOGGING nu mun b qua vic sinh ra cc thng tin log trong redo log file v tng tc to bng. Khi thc hin sao chp cc table, cc contraints (rng buc), triggers (mt th tc c t ng kch hot khi c thao tc trn d liu) v privileges (quyn) trn table gc s khng c sao chp sang table mi. c c nhng th ny, ta phi to bng tay. Nu mt column c quy nh l NOT NULL trong table gc, cc ct tng ng trong bng mi cng s c quy nh l NOT NULL.
Thm m i columns C php: ALTER TABLE table ADD (column_name [column_name V d: SQL>ALTER TABLE Dept 2 >ADD (job Table altered. Thay i c u trc m t column C php: ALTER TABLE table MODIFY (column_name [column_name V d: SQL>ALTER TABLE Dept 2 >MODIFY (ename Table altered. Xo b t column Bt u t phin bn 8.1.0.0.0 tr i, Oracle cho php ta c th xo bt cc ct d liu khng cn cn s dng n trong mt table, bao gm c index-organized table. Vic ny s lm gii phng mt phn vng khng gian trong database. c th thc hin c vic ny User cn phi c cp quyn ALTER ANY TABLE trn table c ct cn xo. Tuy vy, ta khng th xo tt c cc ct trong mt table hay xo cc ct d liu trong cc table do user SYS s hu. xo columns ta thc hin cu lnh ALTER TABLE...DROP COLUMN. V d: Xo ct SAL trong bng emp: ALTER TABLE emp DROP COLUMN sal; Xo ct SAL v COMM trong bng emp:
ALTER TABLE emp DROP (sal, comm);
expr],
varchar2(30));
expr],
varchar2(50));
nh d u khng s d ng Unused Ging nh vic xo columns, thao tc ny cng ch thc hin c bt u t phin bn Oracle 8.1.0.0.0. thc hin vic ny ta s dng cu lnh ALTER TABLE...SET UNUSED. Khi mt ct c nh du l Unused, tn ca n s khng cn trong data dictionary views v ta c th s dng li tn ny t cho mt ct d liu mi b sung, mt khc, tt c cc constraints, indexes, trn ct c nh du Unused s b xo b. V d: nh du Unused cho ct SAL v COMM. ALTER TABLE emp SET UNUSED (sal, comm);
Trang 172
xem thng tin v tnh hnh s dng cc ct d liu ang trong trng thi unused, ta cn truy vn d liu trong cc views: USER_UNUSED_COL_TABS, ALL_UNUSED_COL_TABS v DBA_UNUSED_COL_TABS. Ct COUNT cho bit s lng cc unused columns trong table. SELECT * FROM dba_unused_col_tabs; OWNER TABLE_NAME COUNT ------------------- -------------------- ---------SCOTT EMP 1 1 row selected. Xo cc c t d li u c nh d u Unused xo hn c d liu nh du Unused ta c th s dng cu lnh ALTER TABLE...DROP UNUSED COLUMNS. V d: ALTER TABLE emp DROP UNUSED COLUMNS;
Trang 173
C ch thc hin vic nh ngha lai trong ch online c cung cp trong PL/SQL DBMS_REDEFINITION. Quyn cho php thc hin cng vic ny c tn l EXECUTE_CATALOG_ROLE. c c quyn ny, user cn c cp cc quyn khc sau: CREATE ANY TABLE ALTER ANY TABLE DROP ANY TABLE LOCK ANY TABLE SELECT ANY TABLE
Cc b c th c hi n vi c nh ngha l i cc table: 1. Kim tra table c th online redefine (nh ngha li khi ang thc hin) bng cch gi th tc DBMS_REDEFINITION.CAN_REDEF_TABLE(). Trong trng hp table khng th thc hin online redefine th tc s tr v mt li cho bit l do khng th thc hin online redefine. 1. To mt table tm thi (interim table). Table ny bt buc phi thuc cng schema vi table ang c online redefin vi tt c cc thuc tnh tng ng. 1. Bt u tin trnh redefine bng vic gi th tc: DBMS_REDEFINITION.START_REDEF_TABLE(). 1. To cc triggers, indexes, v to cc contraints tng ng trn interim table. Cc constraints c lin quan trn interim table cn c to lp v t trng thi disabled. Cho ti khi tin trnh redefine kt thc (complete hoc aborte). Sau khi qu trnh redefine kt thc, cc triggers, constraints, indexes v cc quyn gn vi interim table s c tip tc redefine. Qu trnh redefine cc constraints lin quan ti interim table c thc hin sau cng v chuyn trng thi ca table ny thnh enable. Qu trnh redefine kt thc. 1. Thc hin th tc DBMS_REDEFINITION.FINISH_REDEF_TABLE() kt thc vic redefine table. Trong qu trnh thc hin th tc ny, table ban u s b locke ch exclusive. 2. Vic i tn cc indexes c to trong interim table bc 4 s c thc hin i vi table c redefine.
V d : V d sau minh ho cng vic online redefine ca mt table c tn l emp. y l table thuc loi nonpartitioned, v c cc ct d liu c tn: empno, name, salary, phone. Table s c redefine theo cc bc sau: Ct salary is multiplied by a factor of 1.10 v c i tn thnh sal. Ct phone b xo b. Mt ct d liu mi, ct deptno c thm vo vi gi tr mc nh l 10. Thc hin redefine li table c phn khu theo khong gi tr ca ct empno.
Gi s chy xong th tc DBMS_REDEFINITION.CAN_REDEF_TABLE() v table emp sn sng cho vic redefine. Cc b c th c hi n redefine:
Trang 174
To mt interim table vi tn l int_emp. CREATE TABLE int_emp (empno NUMBER PRIMARY KEY, name VARCHAR2(100), sal NUMBER, deptno NUMBER DEFAULT 10) PARTITION BY RANGE(empno) (PARTITION emp1000 VALUES LESS THAN (1000) TABLESPACE tbs_1,PARTITION emp2000 VALUES LESS THAN (2000) TABLESPACE tbs_2); Khi ng tin trnh redefine. DBMS_REDEFINITION.START_REDEF_TABLE('u1', 'emp', 'int_emp', 'empno empno, name name, salary*1.10 sal'); To cc triggers, indexes v constraints trn bng int_emp. Tt c cc rng buc tham chiu ti int_emp u c t l disable. Tip theo, ta quy nh cc quyn cp pht trn int_emp ging nh l cc quyn trong emp. Thc hin ng b hai table: int_emp v emp. DBMS_REDEFINITION.SYNC_INTERIM_TABLE('u1', 'emp', 'int_emp'); Kt thc vic redefine. DBMS_REDEFINITION.FINISH_REDEF_TABLE('u1', 'emp', 'int_emp'); Table emp b kho ch exclusive. Sau khi table emp is c redefine vi cc thuc tnh mi. Xo table trung gian.
MISSING FIELD VALUES ARE NULL) LOCATION (emp.txt)) REJECT LIMIT UNLIMITED; Khi table metadata c to lp, table ny c th c s dng truy vn d liu ging ht nh cc table khc. Ta vn c th s dng cc hm hay cc cu lnh join trn table ny, Ta cng c th tham kho cc thng tin v external tables trong cc view sau: DBA_EXTERNAL_TABLES cho bit cc thuc tnh ca external table trong database. DBA_EXTERNAL_LOCATIONS cho bit ng dn ti cc files v th mc tng ng lu gi chng.
Cc lo i rng bu c ton v n d li u Rng bu c NOT NULL UNIQUE PRIMARY KEY FOREIGN KEY CHECK Di n gi i Khng cho php ct d liu trong table nhn gi tr rng Khng cho php c trng lp d liu ti columns tng ng gia cc dng d liu khc nhau Kho chnh dng xc nh, phn bit cc dng d liu khc nhau trong table Rng buc d liu gia hai tables khc nhau. m bo d liu thuc table ny phi tng ng vi d liu trong mt table khc Kim tra d liu nhp vo table tun theo mt quy tc nht nh
Cc constraints c th c to lp trong qu trnh to table hoc sau khi table c to. Thng tin v cc constraints c cp nht v lu tr trong data dictionary.
Trang 176
14.4.3. Unique
Ch ra rng buc duy nht, cc gi tr ca column ch trong mnh UNIQUE trong cc row ca table phi c gi tr khc bit. Gi tr NULL l cho php nu UNIQUE da trn mt ct. V d: CREATE TABLE DEPT ( DEPTNO NUMBER(2), DNAME CHAR(14), LOC CHAR(13), CONSTRAINT UNQ_DEPT_LOC UNIQUE(DNAME, LOC));
Trang 177
T kho ON DELETE CASCADE ch nh trong dng kho ny nhm mc ch khi d liu cha b xo (trong bng DEPT) th d liu con cng t ng b xo theo (trong bng EMP).
14.4.6. Check
Rng buc kim tra gi tr. V d: CREATE TABLE EMP (EMPNO NUMBER NOT NULL CONSTRAINT PK_EMP PRIMARY KEY, ENAME VARCHAR2(10) CONSTRAINT NN_ENAME NOT NULL CONSTRAINT UPPER_ENAME CHECK (ENAME = UPPER(ENAME)), JOB VARCHAR2(9), MGR NUMBER CONSTRAINT FK_MGR REFERENCES SCOTT.EMP(EMPNO), HIREDATE DATE DEFAULT SYSDATE, SAL NUMBER(10,2) CONSTRAINT CK_SAL CHECK(SAL>500), COMM NUMBER(9,0) DEFAULT NULL, DEPTNO NUMBER(2) CONSTRAINT NN_DEPTNO NOT NULL CONSTRAINT FK_DEPTNO REFERENCES SCOTT.DEPT(DEPTNO);
Trang 178
nh h ng c a vi c thay i cc tham s l u tr : Cc tham s c th thay i v nh hng ca vic thay i nh sau: NEXT: khi Oracle server thit lp cc extents cho bng th gi tr mi s c p dng, kch thc m rng tun t s c tng ln bi PCTINCREASE. PCTINCREASE: khi thay i bi tham s ny, thng tin thay i s c ghi nhn trong data dictionary. Gi tr mi s c s dng tnh li gi tr ca tham s NEXT khi thit lp cc extents mi. Xt v d: table c 2 extents vi NEXT=10K v PCTINCREASE=0. Khi tng gi tr ca PCTINCREASE ln thnh 100, extent th 3 s c thit lp 10K, v extent th 4 s l 20K v c tip tc nh vy khi thm cc extents na. MINEXTENTS: gi tr ca MINEXTENTS c th thay i ti gi tr bt k no nh hn hay bng gi tr cu s extent hin thi ca bng. Gi tr ny s khng nh hng ngay khi thay i m s nh hng khi bng b truncate. MAXEXTENTS: c th nhn bt k gi tr no ln hn hay bng s extents hin thi ang c trong table. Khng th thay i tham s INITIAL thng qua lnh ALTER TABLE Gi tr NEXT ch nh s c lm trn ln n mt gi tr l bi s nguyn ln kch thc ca mt Block.
Gi i h n:
Cc tham s s d ng block: Thay i cc tham s s dng block nhm: Tit kim khng gian s dng. Gim thiu qu trnh migration v chaining ca block.
nh h ng c a vi c thay i cc tham s : PCTFREE: thay i tham s ny s lm nh hng n qu trnh insert d liu trong tng lai. Cc blocks m khng c s dng cho vic insert do chng c in y (100-PCTFREE) s khng b nh hng n khi chng c a vo danh sch cc block trng ( free list). PCTUSED: bt c mt thay i no ca tham s ny u nh hng n tt c cc blocks trong table. Khi cp nht hay xo mt row, block cha row s c nh du. Vic s dng hay ti s dng cc blocks c th thc hin c i vi thao tc insert d liu nu nh mc s dng cc blocks gim xung di gi tr PCTUSED. INITRANS: vic thay i gi tr INITRANS ch nh hng n cc block mi. MAXTRANS: thay i gi tr ny s nh hng n tt c cc blocks trong table.
C php:
Trang 179
ALLOCATE EXTENT [([ SIZE integer K|M]] [ DATAFILE filename ])] V d: ALTER TABLE scott.emp ALLOCATE EXTENT(SIZE 500K DATAFILE D:\Orant\oradata\orcl\data01.dbf); Nu b qua tham s SIZE, Oracle server s s dng gi tr NEXT_EXTENT c trong DBA_TABLES thit lp gi tr cho cc extents mi. File c ch nh trong mnh DATAFILE phi thuc v tablespace m cha table ang xem xt, nu khng cu lnh s sinh ra li. Nu mnh DATAFILE khng c s dng th Oracle server s thit lp extent mi trong mt datafile thuc tablespace cha table ang xem xt. L u : Gi tr NEXT_EXTENT trong DBA_TABLES khng lm nh hng n qu trnh thit lp extent bng tay. Oracle server khng tnh li gi tr ca extent tip theo khi thc hin cu lnh.
V d: on m lnh PL/SQL sau y c th dng tm ra v hin th s block s dng trong table v s block khng c s dng.
Trang 180
SVRMGR> DECLARE 2> v_owner VARCHAR2(30) := 'SCOTT' ; 3> v_segment_name VARCHAR2(30) := 'EMPLOYEES'; 4> v_segment_type VARCHAR2(30) := 'TABLE'; 5> v_total_blocks NUMBER; 6> v_total_bytes NUMBER; 7> v_unused_blocks NUMBER; 8> v_unused_bytes NUMBER; 9> v_last_used_extent_file_id NUMBER; 10> v_last_used_extent_block_id NUMBER; 11> v_last_used_block NUMBER; 12> 13> BEGIN 14> dbms_space.unused_space(v_owner, 15> v_segment_name, 16> v_segment_type, 17> v_total_blocks, 18> v_total_bytes, 19> v_unused_blocks, 20> v_unused_bytes, 21> v_last_used_extent_file_id, 22> v_last_used_extent_block_id, 23> v_last_used_block 24> ); 25> dbms_output.put_line(INITCAP(v_segment_type)||' : '||v_owner||'.'||v_segment_name); 26> dbms_output.put_line('Total Blocks : '||TO_CHAR(v_total_blocks)); 27> dbms_output.put_line('Blocks above HWM : '||TO_CHAR(v_unused_blocks)); 28> END; 29> / Statement processed. Table : SCOTT.EMPLOYEES Total Blocks : 25 Blocks above HWM : 23 Ch : th tc c gi ti package dbms_space. Package ny c to lp khi chy script dbmsutil.sql v th tc prvtutil.plb.
Trang 181
C php: ALTER TABLE [schema.]table DEALLOCATE UNUSED [ KEEP integer [K|M]] Gi tr KEEP ch s bytes trn mc High Water Mark cn li. Nu High Water Mark nm ti mt extent nh hn gi tr ca MINEXTENTS, th Oracle server s gii phng cc extents nm pha trn gi tr MINEXTENTS. V d: khi MINEXTENTS<=4, Oracle server s ly li tt c cc blocks khng c s dng trn mc High Water Mark. Ch rng extent th 5 (vi ID=4) by gi s cha 5 blocks. Nu gi tr MINEXTENTS l 5 i vi table th Oracle server s khng thu hi khng gian t extent th 5. L u : Do vic thu hi khng gian bi cu lnh trn s gii phng khng gian vic s dng tun t cu lnh ny c th dn n phn mnh khng trnh hin tng cn khi to gi tr MINIMUM EXTENT cho phng vng khng gian bn di High Water Mark, thm ch khi High gi tr MINEXTENTS cn s dng mnh KEEP 0. khng s dng nn gian trong data file. tablespace. gii Water Mark l di
Trang 182
Mt table tham chiu bi cc ngoi kho (FOREIGN KEY) khng th TRUNCATE. Cc triggers i km vi table s khng b xo khi thc hin cu lnh. Nu s dng mnh DROP: tt c cc extents ngoi tr cc extents ch nh bi MINEXTENTS c loi b High Water Mark c khi to s tr n block u tin trong table. Gi tr ca NEXT_EXTENT trong table c khi to li n kch thc ca extent c gi tr extent_id nh nht trong s cc extents b thu hi. Tc l nu MINEXTENTS=2 th gi tr NEXT_EXTENT s c khi to n gi tr ca extent th 3 ca table. S dng REUSE nhm ti s dng ton b khng gian s dng bi table. S dng mnh REUSE hay DROP u dn n vic xo cc Indexes.
14.5.6. Xo table
Mt table c th b xo khi khng cn thit s dng hay khi mun t chc li n. C php: DROP TABLE [schema.]table [CASCADE CONSTRAINTS] Khi mt table b xo i, cc extents s dng bi table ny s c gii phng. Nu cc extents l lin tc th chng c th c nhp li t ng hoc bng tay. Ch : Mnh CASCADE CONSTRAINTS l cn thit nu table l bng cha trong quan h ngoi kho.
Ki m tra c u trc table Sau khi kim tra cu trc table lu tr d liu, tt c cc blocks trong bng u c kim tra tnh ton vn. Oracle server kim tra xem block c b hng hay khng ngay ti mi ln c block . Tham s DB_BLOCK_CHECKSUM=TRUE s yu cu thc hin tnh ton checksum i vi phn header ca block d liu trc khi ghi block d liu ln a. C php: s dng cu lnh sau khi kim tra tnh ton vn ca cc block trong table: ANALYZE TABLE [schema.]table VALIDATE STRUCTURE [CASCADE]
Trang 183
Ch : S dng cc th tc sau y phn tch cc Objects: DBMS_DDL.ANALYZE_OBJECT phn tch mt i tng ch nh. DBMS_UNTILITY.ANALYZE_SCHEMA phn tch tt c cc i tng thuc v user. DBMS_UTILITY.ANALYZE_DATABASE dng phn tch tt c cc i tng trong database.
Trang 184
Lu : d liu trong trong dba_tables c cp nht thc hin lnh ANALYZE (xem phn kim tra cu trc bng - trn).
Trang 186
Trang 187
C u trc c a B_TREE nh ca index hay cn gi l gc (root). Gc cha cc im vo (entry) tr n mc tip theo ca index. mc tip theo l cc block nhnh (branch). Block nhnh ny li tr n cc block tip theo ca index. mc thp nht l l (leaf). L s cha thng tin im vo tr n cc rows trong table.
Cc khi l l kt ni kp thun tin cho vic truy xut index trong trt t gim hay tng ca gi tr kho. nh d ng c a l index Mt im vo ca index s c to thnh bi cc thnh phn sau y: Entry header: thng tin lu tr s column v thng tin kho ca cc hng trong bng. Key column length_value pair: cha thng tin v kch thc column tham gia vo kho v tip theo l kch thc ca . ROWID: l gi tr ca ROWID cha gi tr kho ca index. c tnh c a index leaf entry Mt B-TREE index trong mt non-partitioned table: Gi tr kho b lp li nu nh c nhiu hng c cng gi tr kho. Khng c index entry tng ng vi cc rows m gi tr ca tt c cc ct kho u bng NULL. ROWID c gii hn s dng tr n cc rows ca table, bi v tt c cc rows u thuc v cng mt segment.
nh h ng c a vi c th c thi cu l nh DML i v i Index. Oracle server xem xt index ca table mi khi c mt cu lnh DML thc thi trn table . Di y l mt s nh hng ca cu lnh DML i vi index:
Trang 188
Kt qu ca cu lnh insert (thm mi) dng d liu s chn thm mt index entry vo index tng ng. Vic delete (xo) cc rows trong table s dn ti vic xo cc index entries tng ng trong block. Khng gian s dng bi cc rows b xo s khng dng c cho cc entries (im vo mi) cho ti khi ton b cc entries (im vo) ca block bi xo. Vic cp nht cc ct kho l kt qu ca qu trnh delete hay insert. Gi tr PCTFREE khng nh hng n index ngoi tr vo thi im to index. Mt im vo mi c th c thm vo block ca index ngay c khi khng khng gian ch nh bi PCTFREE.
Khi chn mt bn ghi trong trt t tng dn ca kho, v d nh vic h thng sinh ra s empno cho bng EMP, th c th xy ra hin tng tht c chai trn cc index v tt c cc index c cp nht xy ra cng mt v tr trong cy index, phng php dng kho ngc s tri v phn tn cc index cp nht qua nhiu cy index. V d: khi insert m nhn vin 7698 vo trong bng, mt kho 8967 (kho ngc vi 7698) s c lu trong index, v nhn vin tip theo 7782 c nhp v th mt kho 2877 (kho ngc vi 7782) s c lu vo ca index. V vy cc mc (entries) ca index c lu trn trn nhiu bock khc nhau ca index. Nh vy vic sp xp c ngha c bit trong vic trnh gim hiu nng trong index mi trng Oracle Paralell. Index dng kho ngc hay c s dng cho cc query m c cc gi tr ging nhau, bi v cc kho v mt t vng cnh nhau s khng c lu tr gn nhau khi s dng kho ngc.
Trang 189
Bitmap Index (Index theo kiu nh x bits) l mt kiu index hay c s dng trong mt s trng hp sau: Khi table c nhiu rows v cc ct kho c gi tr khc nhau rt t. iu c ngha l c rt t s khc nhau trong gi tr ca cc ct. V d Bitmap Index thch hp hn i vi cc ct gii tnh (Nam hay N). Khi truy vn c kt hp s dng nhiu mnh trong phn iu kin WHERE. Mnh truy vn s dng cc php ton logic OR. Khi cc ct kho l read-only (ch c) hay c rt t hot ng cp nht cc ct kho.
C u trc c a Bitmap Index Mt Bitmap index cng c t chc nh l B-TREE index, nhng phn l ca mi node lu mt dy cc bit cho mi kho thay v danh sch cc ROWID. Mi bit trong danh sch Bitmap tng ng vi mt ROWID, v nu gi tr bit c khi to, iu c ngha l hng c ROWID tng ng s cha gi tr kho. S d ng Bitmap index Bitmap-TREE index s dng thit lp phn l ca cc node, phn ny s cha on bitmap c s dng xc nh hng cha gi tr kho. Khi c thay i trn cc ct kho trong table, cc chui bitmap cn c thay i theo. Kt qu l s sinh ra cc kho trn cc bitmap segment lin quan do qu trnh phn on cc kho ny i hi thc hin trn ton b bitmap segment. Mt row qun l bi bitmap s khng th cp nht bi cc transaction khc n khi transaction u kt thc.
Trang 190
Thch hp vi cc ct d liu trn tp gi Thch hp vi cc ct d liu trn tp gi tr ln tr nh Vic cp nht da trn kho quan h nn Cp nht da vo trng kho nn kh khng t t Khng hiu qu cho cc truy vn c s Hiu qu cho cc truy vn c s dng dng mnh OR mnh OR Hu ch i vi OLTP (Online transsaction Hu ch i vi DSS (Decision support processing - dch v x l trc tuyn) system - h thng h tr quyt nh)
Bng trn y so snh gia B-TREE v Bitmap Index, Bitmap index c s dng nhiu hn trong trng hp cc ct c gi tr khc nhau rt t. Vic cp nht cc ct lm kho trong Bitmap index th s chm hn bi v Bitmap index s dng phng php kho on bitmap (bitmap segment level locking), trong khi trong mt B-TREE index kho thc hin trn cc im vo tng ng vi tng row ring l trn table. Bitmap index c th thc hin cc hot ng vi cc ton hng logic OR. Khi Oracle Server s dng hai phn on bitmap thc hin vic so snh tng bit trong ton hng OR v tr v kt qu l mt chui Bitmap. Tnh cht ny cho php s dng hiu qu chui Bitmap trong cu lnh truy vn c s dng ton hng logic OR. Ni chung B-TREE index thch hp hn trong mi trng OLTP cho vic truy vn cc bng ng. Trong khi , Bitmap index thch hp hn trong mi trng DSS c s dng nhiu cu lnh truy vn phc tp trn cc table ln (large) v tnh (static).
15.3.QUN L INDEX
15.3.1. To cc index
Mt index c th to hoc trn acount ca user l owner ca bng hay to trn mt acount khc. C php: CREATE [ UNIQUE ]INDEX [schema.] index ON [schema.] table (column [ ASC | DESC ] [ , column [ASC | DESC ] ] ...) [ TABLESPACE tablespace ] [ PCTFREE integer ] [ INITRANS integer ] [ MAXTRANS integer ] [ storage-clause ] [ LOGGING| NOLOGGING ] [ NOSORT ] Vi:
Trang 191
UNIQUE schema index table column ASC/DESC TABLESPACE PCTFREE INITRANS MAXTRANS STORAGE LOGGING NOLOGGING NOSORT
c s dng ch nh mt unique index (nonunique index l mc nh). l owner ca bng cha index. l tn ca index. l tn ca bng cha index l tn ct dng lm index c cung cp tng thch v c php cho database khc. tn tablespace m index s c to trn khng gian dnh ring trong mi block, c s dng khi mt c im vo mi ca index (new entries) c to ra. ch nh s giao dch thit lp ban u cho mi block gii hn s giao dch c th thit lp cho mi block (gi tr mc nh l 255). tham s lu tr, quy nh c bao nhiu extents s cp pht cho index. ch nh vic to cc index v cc hot ng tun t trn trn index s c ghi vo trong cc redo log file ch nh vic to v cc hot ng tun t trn index khng c ghi vo cc log file. ch nh cc row c lu trong database theo trt t tng dn v v th oracle server khng cn sp xp cc hng trong khi to index.
V d: CREATE INDEX scott.emp_lname_idx ON scott.employees(last_name) PCTFREE 30 STORAGE(INITIAL 200K NEXT 200K PCTINCREASE 0 MAXEXTENTS 50) TABLESPACE indx01; Ch : Nu gi tr ca MINIMUM EXTENT c nh ngha cho tablespace, kch thc ca extent dng cho index s c lm trn ln thnh mt bi s ln gi tr ca MINIMUM EXTENT. Nu mnh [NO]LOGGING b b qua, thuc tnh log ca index mc nh s ph thuc vo thuc tnh log ca tablespace m index c to trn . PCTUSED khng c ch nh cho index, v cc im vo index phi c lu tr theo mt trt t nht nh, ngi dng khng c php iu khin khi mt index block c s dng cho vic insert. Nu t kho NOSORT c s dng khi d liu khng c sp xp trong trng kho th cu lnh s kt thc vi mt li, li ny ging nh vic thc hin nhiu cu lnh DML trn bng. Oracle server s s dng index ang tn ti to bng nu c th. Vic ny xy ra khi kho cho mt index mi tng ng vi phn u ca kho ca mt index tn ti.
Trang 192
Index lm tng tc ca cc cu lnh truy vn nhng lm chm tc ca cc cu lnh DML. V th, cn gim ti thiu index trn cc bng hay xy ra thay i. t index trong cc tablespace ring bit, khng t index trong tablespace cha rollback segment, temporary segment v table. lm gim s phn mnh trong cc tablespace dng cha index s dng chun kch thc extent l bi s ca 5*DB_BLOCK_SIZE. Hiu nng c th tng ln nu khng s dng mnh LOGGING. V vy, cn xem xt khi s dng mnh LOGGING khi to cc index ln. V cc im vo cho index l nh hn i vi cc rows c index nn index block s c nhiu im vo cho mt block. V vy, gi tr ca INITRANS i vi index ni chung nn t ln hn l gi tr ca tham s ny trn table s dng index.
pht huy hiu qu ca vic s dng index, ta to index cho tng ct hoc nhm ct tham gia trong mnh WHERE ca cu lnh truy vn. V d: 1. To index tng tc truy vn tn nhn vin: SELECT * FROM emp WHERE UPPER(emp_name) LIKE 'JOH%'; Lnh to index CREATE INDEX idx ON emp (UPPER(emp_name)); 2. Vi cu lnh truy vn trn biu thc: SELECT a FROM t WHERE a + b * (c - 1) < 100; Lnh to index CREATE INDEX idx ON t (a + b * (c - 1), a, b); 3. To index h tr sp xp chui k t da trn ngn ng ca tng quc gia: SELECT * FROM t_table ORDER BY name; Lnh to index CREATE INDEX nls_index ON t_table NLSSORT(name, 'NLS_SORT = German')); 4. S dng index trn nhiu ct khc nhau: SELECT * FROM emp WHERE UPPER(emp_name) LIKE 'JOH%' ORDER BY name; Lnh to index CREATE INDEX empi ON emp UPPER ((ename), NLSSORT(ename)); Index v gi tr PCTFREE Tham s PCTFREE cho index lm vic khc vi cho table. Tham s ny c s dng ch trong qu trnh to cc index. Tham s ny dnh ring khng gian cho cc im vo ca idex. Cc im vo ca index s khng c cp nht. Khi ct kho c cp nht, cc im vo c s c xo v chn vo mt im vo mi. S dng gi tr ca tham s PCTFREE thp cho index trn cc ct m gi tr ca n tng u n. V d nh h thng sinh s ho n. Khi ny, im vo ca index mi s lun lun da vo im vo tn ti trc v v vy khng cn chn thm vo cc im vo mi gia hai im vo tn ti.
Trang 193
y gi tr cho mt ct c index ca hng c chn vo bng c th nhn bt c gi tr no. V vy gi tr mi c th khng nm trong dy gi tr c. Cho nn cn phi ch nh mt gi tr PTCFREE cao. V d to index trn trng m khch hng trn bng ho n. Trong trng hp ny cn s dng cng thc tnh sau xc nh gi tr ca PCTFREE:
Trang 194
Index theo gi tr hm Khng ch cho php thc hin cc index trc tip trn cc ct d liu trong table, Oracle cn cho php thc hin cc index da vo gi tr ca cc hm p dng trn cc ct d liu ca table. V d: CREATE INDEX idx ON t (a + b * (c - 1), a, b); S dng cho cu lnh truy vn:
SELECT a FROM t WHERE a + b * (c - 1) < 100;
L u : Loi Index ny ch c s dng trong cc phin bn Oracle 8i tr ln. s dng c index ny, ta cn phi thit lp mt s thng s khi to trong parameter file:
QUERY_REWRITE_INTEGRITY t l TRUSTED QUERY_REWRITE_ENABLED t l TRUE COMPATIBLE phi c t l 8.1.0.0.0 hoc ln hn
s dng c index ny, table cn c phi c thc hin cu trc ( ANALYZE) sau khi to xong index.
ON [schema.] table (column [ ASC | DESC ] [ , column [ASC | DESC ] ] ...) [ TABLESPACE tablespace ] [ PCTFREE integer ] [ INITRANS integer ] [ MAXTRANS integer ] [ storage-clause ] [ LOGGING| NOLOGGING ] [ NOSORT ] V d : CREATE BITMAP INDEX scott.ord_region_id_idx ON scott.ord(region_id) PCTFREE 30 STORAGE(INITIAL 200K NEXT 200K PCTINCREASE 0 MAXEXTENTS 50) TABLESPACE indx01; Ch : Bitmap index khng th l Unique. Tham s khi to CREATE_BITMAP_AREA_SIZE quyt nh khng gian s c s dng cho vic lu tr cc bitmap segment trong b nh, gi tr mc nh ca n l 8MB, mt gi tr ln hn c th lm cho vic to index nhanh hn.
Trang 196
S dng mnh DEALLOCATE ca cu lnh ALTER INDEX gii phng khng gian khng c s dng trn mc High Water Mark trong mt index. C php: ALTER INDEX [schema.]index {ALLOCATE EXTENT ([SIZE integer [K|M]] [ DATAFILE filename ]) | DEALLOCATE UNUSED [KEEP integer [ K|M ] ] } V d: ALTER INDEX scott.ord_region_id_idx ALLOCATE EXTENT (SIZE 200K DATAFILE /DISK6/indx01.dbf); ALTER INDEX scott.ord_ord_no_idx DEALLOCATE UNUSED; Ch : Khng gian index c thu hi khi bng trn index c xy dng b truncate(xo). Khi thc hin vic xo bng bng lnh Truncate th cc index trn bng cng b xo theo.
Cc tnh hu ng c th ph i xy d ng l i index Cc index ang tn ti cn c chuyn ti mt tablespace mi,cng vic ny cn thit khi cc index trong cng mt tablespace v cc bng hay cc object khc cn phn tn trn nhiu a. Mt index cha nhiu im vo bi xo, hin tng ny xy ra vi cc index trt, v d nh index trn trng s th t t hng ca bng t hng. Khi cc n t hng hon thnh s b xo i v mt n t hng mi c thm vo trong bng vi s t hng ln hn. Mt index thng thng cn chuyn i sang index vi kho ngc.
C php: ALTER INDEX [schema.] index REBUILD [ TABLESPACE tablespace ] [ PCTFREE integer ] [ INITRANS integer ] [ MAXTRANS integer ] [ storage-clause ]
Trang 197
[ LOGGING| NOLOGGING ] [ REVERSE | NOREVERSE ] Cu lnh Rebuild index khng th dng chuyn i mt Bitmap index thnh mt B-Tree v ngc li. Cc mnh REVERSE v NOREVERSE ch s dng vi B-tree index. V d: ALTER INDEX scott.ord_region_id_idx REBUILD TABLESPACE indx02;
Cu lnh phn tch index thc hin cc cng vic sau: Kim tra tt c index blocks v tm xem c block hng khng. Cu lnh ny khng kim tra xem index c tng ng vi d liu trong bng hay khng. Thit lp view INDEX_STATS vi thng tin v index
phin bn Oracle 9i, ta c th thc hin lnh ANALYZE VALIDATE STRUCTURE ti u ngay c khi ang c lnh DML thc hin trn table.
C php : ANALYZE INDEX [schema.]index VALIDATE STRUCTURE Sau khi thc hin cu lnh ANALYZE INDEX truy vn view INDEX_STATS ly thng tin v index nh trong v d di y: SVRMGR> SELECT blocks, pct_used, 2> lf_rows, del_lf_rows 3> FROM index_stats; BLOCKS PCT_USED LF_ROWS -------------- -------25 11 14 1 row selected. distinct_keys DEL_LF_ROWS -----------0
Trang 198
15.3.9. Xo cc index
Mt index cn c xo i trong nhng trng hp sau y: Mt index khng cn thit cho ng dng na. Mt index c th c xo i khi thc hin load nhiu d liu, v to li sau khi load xong d liu. Mt index c th c nh du khng hp l (INVALID) khi c mt instance hng trong qu trnh no v d nh load d liu. Trong trng hp index cn c xo i v to li. Index b hng.
S dng cu lnh sau y kim tra tn kiu v trng thi ca index ca user SCOTT: SVRMGR> SELECT index_name, tablespace_name, index_type, 2> uniqueness, status 3> FROM dba_indexes 4> WHERE owner='SCOTT';
Trang 199
Ct INDEX_TYPE ch nh index l Bitmap hay Normal, s dng cu lnh sau lit k tn ca tt c cc index kho ngc: SVRMGR> SELECT o.object_name 2> FROM dba_objects o 3> WHERE owner='SCOTT' 4> AND o.object_id IN (SELECT i.obj# 5> FROM ind$ i 6> WHERE BITAND(i.property,4) = 4); OBJECT_NAME ----------------ORD_ORD_NO_IDX 1 row selected.
Trang 200
C mt s phng php khc nhau c th load (np) d liu vo trong tables ca oracle database, cc phng php c cp trong chng ny bao gm. Cng c direct load insert: np d liu trc tip. SQL*loader: np d liu t file text, khun dng t do Cng c Import v Export: np d liu t file lu tr vi khun dng do Oracle quy nh.
Direct load insert Direct load insert c th c s dng sao chp (copy) d liu t mt bng sang mt bng khc trong cng mt database. S dng phng php ny c th tng tc ca qu trnh insert d liu do c th b qua vng m d liu, d liu c ghi trc tip vo trong database. SQL loader SQl * loader l cng c c s dng load d liu vo trong oracle database s dng cc file d liu bn ngoi, cng c ny thng dng chuyn d liu t h thng khc (nh FoxPro, Access,...) vo trong Oracle. Eport v Import Cng c Export cho php cc users tch thng tin trong dictionary views v d liu trong Oracle Database v chuyn chng vo trong mt file ca h iu hnh theo nh dng file nh phn ca Oracle.
Trang 201
File sinh ra bi cng c Export c th c bi cng c Import a d liu c c vo trong cng mt database hoc vo mt database khc.
Direct insert load ch c dng khi cu lnh INSERT INTO SELECT c s dng. Tu chn ny khng c khi cu lnh INSERT INTO VALUES c s dng. Direct load insert c dng cho c nonpartitioned table v partitioned table. Cng c ny cho php kim tra cc index v cc constraint ca bng. Ch logging Khi insert s dng tu chn LOGGING (l gi tr mc nh) cu lnh ny sinh ra cc im vo cho redo log, thc hin vic recovery d liu y nu trong qu trnh load c li. Nu NOLOGGING c s dng, tt c cc thay i trong d liu s khng c lu trong vng m redo log, mt s thng tin nh v logging c a vo redo log cho cc cu lnh m rng vng lu tr Ch NOLOGGING s dng nu nh cc thuc tnh c khi to cho bng. Nu mt s thao tc update online i vi d liu trn bng xy ra thng xuyn nn khi to thuc tnh NOLOGGING khi load v khi to li LOGGING khi load d liu hon thnh. Direct load insert cho php cc giao d ch khc ng th i t o thay i trn b ng Ton b d liu a vo bng theo phng php ny s c load vo vng ch nh bi High Water Mark. Nu bng cha nhiu block ni cc hng b xo, khng gian c th s khng c s dng, vic truy vn trn ton b bng c th s chm i.
16.2.NP D LIU
16.2.1. Np d liu bng SQL* Loader
Sql* Loader np d liu t mt file bn ngoi database vo trong Oracle database. Cc c tnh ca SQL loader: C th s dng mt hay nhiu file u vo Mt vi bn ghi u vo c th c kt hp vo trong mt bn ghi logic trong qu trnh np. Cc trng u vo c th c di thay i hoc nh nhau. D liu u vo c th c cc nh dng khc nhau k t, nh phn, date.
Trang 202
D liu c th c load t cc phng tin lu tr khc nhau nh a, bng t. D liu c th c load vo mt hoc nhiu bng trong mt ln chy. C tu chn cho php thay th hay ni tip d liu vo trong cc bng. Cc hm SQL c th c s dng ngay trn d liu u vo trc khi d liu c lu trong database. Gi tr cc ct c th t ng c sinh ra da trn mt nguyn tc no , v d: gi tr kho tun t c th c sinh ra v lu trong cc ct ca bng. D liu c th c load trc tip vo trong bng m khng cn phi s dng n vng m.
SQL*Loader s d ng cc file sau y Control file (file iu khin): dng nh dng cho d liu u vo, bng u ra v cc iu kin tu chn c th c s dng load mt phn cc bn ghi tm thy trong file d liu u vo. Data file (file d liu): cha d liu u vo theo nh dng c nh ngha bi control file. Parameter file (file tham s) l file tu chn c th s dng cha cc tham s dng lnh cho qu trnh load. Bad File: c s dng bi cng c load dng ghi cc bn ghi b loi b trong qu trnh load (hin tng ny c th xy ra khi cc bn ghi c load vo trong bng v b loi ra sau khi kim tra tnh hp l i vi cc trng) Log File: c to bi SQL*loader cha mt bn ghi cc thng tin trong qu trnh load d liu. Discard File: l mt file c th c to khi cn thit, file ny cha tt c cc bn ghi khng tho mn iu kin la chn.
Trang 203
SQL* Loader s dng hai phng php load d liu: Conventional load - np d liu thng qua mng Direct load - np d liu trc tip
Conventional load Phng php conventional load xy dng mt mng cc hng c insert v s dng cu lnh INSERT load d liu. Trong qu trnh load d liu theo phng php conventional load cc bn ghi a vo s c phn tch da vo cc trng c ch nh. Mt mng ca cc bn ghi c to lp v chn vo trong bng theo ch nh ca file iu khin. Cc bn ghi khng tho mn iu kn ca cc trng c ch nh th s b loi b v cc bn ghi khng tho mn iu kin la chn t ra s b t chi. C th s dng phng php conventional load load d liu vo trong c cc bng cluster hay cc bng khng c cluster. Thng tin redo log c sinh ra v iu khin bi thuc tnh LOG cho cc bng c load. Direct load Theo phng php direct load, oracle server xy dng cc block d liu trn b nh v ct cc block ny trc tip vo trong cc vng extent c cp pht cho bng c dng trong qu trnh load . Redo log khng c sinh ra tr khi database ang ch ARCHIVE LOG, Direct load s dng cc trng ch nh xy dng ton b cc blocks ca d liu v trc tip ghi ton b cc block vo trong cc datafile. Qu trnh load d liu ny c th b qua vng m d liu trn b nh, vic truy xut vng nh SGA ch qun l vic m rng cc extents v hiu chnh gi tr High Water Mark.
Trang 204
Phng php direct load cho php np d liu nhanh hn so vi phng php conventional load. Nhng phng php ny khng s dng c trong mt s tnh hung nht nh. Phn tip theo s trnh by so snh gia hai phng php load d liu.
S dng ln COMMIT ghi nhn S dng cc lnh lu tr d liu thay i d liu thng tr Lun c cc redo log tng ng Tho mn tt c cc rng buc Ch to redo log trong mt s trng hp c bit Ch cn tho mn kho chnh, kho duy nht v iu kin NOT NULL
Thc hin cc trigger INSERT km Khng thc hin cc trigger INSERT km theo theo (nu c) C th np d liu vo clustered Khng cho php np d liu vo clustered tables tables User khc vn c th thay i d liu Trong khi np, cc user khc khng c php trn table, trong khi np. sa i d liu ca bng
Ph ng php l u tr d li u Phng php conventional load s dng cu lnh SQL v COMMIT cho vic ct d liu, qu trnh chn mt mng d liu v tip theo l cu lnh COMMIT. Mi d liu load c th lin quan n mt vi giao dch. Phng php direct load s dng phng php ghi cc block d liu vo trong oracle data file, cc c tnh khc nhau sau y gia hai qu trnh ct d liu trn hai phng php: Trong qu trnh d liu c ct, ton b cc block c ct vo trong oracle database. Cc block ny c ghi vo trong sau gi tr High Water Mark ca bng. Mt qu trnh ct d liu s khng kt thc giao dch. Cc index khng c cp nht trong mi ln ct d liu.
L u l i cc thay i Conventional load sinh ra im vo redo log ging nh cc cu lnh DML, khi s dng direct load, cc im vo khng c sinh ra nu nh database trong ch : Database trong ch NOARCHIVELOG Database trong ch ARCHIVELOG nhng tham s LOGGING=DISABLE (ch logging b disable khi khi to thuc tnh NOLOG cho bng hay s dng mnh UNRECOVERABLE trong file iu khin.
Thi t l p cc rng bu c Trong qu trnh s dng conventional load tt c cc constraint c enable s c thit lp, cc constraint ny c s dng trong qu trnh thc hin cc cu lnh DML.
Trang 205
Khi thc hin Direct load cc constraints c s dng nh sau: Cc NOT NULL constraint c kim tra khi cc mng c xy dng. Ngoi kho( Foreign Key) v cc CHECK constraint b DISABLE v c ENANBLE thc hin xong qu trnh load d liu bng cch s dng cu lnh tng ng trong tp iu khin. Ngoi kho bi disable b v chng tham chiu n cc hng khc hay cc bng khc. Cc CHECK constraint b DISABLE bi v chng c th s dng cc hm SQL, nu mt s lng nh cc hng c chn vo trong mt bng ln nn s dng phng thc load conventional load. Kho chnh v kho duy nht (unique) c kim tra trong qu trnh load v khi kt thc qu trnh load chng c th b disable nu chng khng hp l.
Th c hi n cc Trigger Insert Trong khi cc trigger insert c thc hin trong qu trnh conventional load th chng li b DISABLE trc khi thc hin vic load bng phng thc direct. Chng c th vn trong trng thi DISABLE nu nh i tng c tham chiu ti khng th truy xut khi kt thc qu trnh chy. Cn xem xt vic s dng phng thc conventional load khi load d liu vo trong bng vi trigger insert. Load d li u vo trong clustered table Phng thc direct load khng th s dng cho cc clustered table, ch c th s dng phng thc conventional load cho cc bng clustered table. Qu trnh kho (Locking) Trong khi thc hin direct load, cc transactions (giao dch) khc khng th ghi li bt k thay i no trn bng ang c load, ngoi tr vic s dng phng thc parallel direct load.
Trang 206
Tnh tu n t c a cc cu l nh S dng cc file d liu vo khc nhau cho mi session trong khi s dng parallel direct load, khi cc sesion trong parallel direct load c khi to, qu trnh load thc hin cc bc sau y: 1. Mi session s dng mt temporary segment load d liu t tp d liu u vo. Nhng temporary segment ny c to trong tablespace m bng nm trn . Nu tablespace cha mt vi datafile th mt user c th ch cho mi session file ni temporary segment c to. Tham s lu tr cho cc segment ny c th c ch nh bi user. Theo mc nh, cc segment ny s dng cc tham s lu tr ging vi bng ang c load. 2. Extent cui cng trong mi temporary segment s c ct i thu hi khng gian khng c s dng khi session kt thc. 3. Ton b cc temporary segment c kt hp li hnh thnh nn mt segment vo cui ca qu trnh load d liu. 4. Segment c thm vo segment ca bng. Cc h n ch Vic s dng parallel direct load c cc hn ch sau y: Cc indexes khng c xem xt trong qu trnh load, xo cc indexes trc khi load s dng paralell v to li chng sau khi load xong. Tnh ton vn ca tham chiu, CHECK constraint v cc trigger phi c DISABLE v c ENABLE li bng tay sau . Cc hng ch c th ni tip vo vi d liu tn ti trong bng do cc qu trnh load ring l khng th kt hp c vi nhau. Nu d liu trong bng cn thay th th phi s dng cu lnh TRUNCATE bng trc khi s dng parallel load.
Trang 207
Trang 208
S dng cu lnh sau y thc hin load d liu: C php: C:\> sqlldr[keyword=]value[[[,]keyword=]value]... Vi: keyword value V d: $sqlldr scott/tiger \ > control=ulcase6.ctl \ > log=ulcase6.log direct=true Ch : Nu t kho khng c ch nh th gi tr cn c ch ng nh trt t trong cu lnh. l t kho l gi tr c gn cho t kho
Cc t kho c s d ng khi n p d li u T kho USERID CONTROL LOG BAD DATA DISCARD DISCARDMAX SKIP LOAD ERRORS ROWS BINDSIZE Di n gi i Username v mt khu tng ng Tn ca control file Tn ca log file File lu tr cc bn ghi np hng (tn mc nh l controlfile.bad) Tn file d liu u vo B qua file cha cc bn ghi c lu tr nhng khng c chn S lng ti a cc discards c php S lng bn ghi c b qua, s dng n trong trng hp tip tc np d liu khi gp li S lng cc bn ghi tip tc c np sau khi SKIP S lng ti a cc bn ghi li S dng d liu trong mng c to trc khi np d liu (i vi phng php np thng thng) Dung lng ti a (tnh theo n v bytes) dng to mng cc dng d liu np vo database, i vi trng hp np thng thng SQL*Loader s dng phng php np trc tip nu tham s ny c t l TRUE. Tn ca cc file cha cc tham s np d liu Tham s ch dng khi np d liu trc tip. Ch s lng lung np trc tip c th thc hin ng thi. File cha temporary segment s dng n khi np trc tip
Trang 209
L u :
Trong v d trn, example.ctl l tn ca control file - s c nhc ti trong phn sau. Cc t kho s dng trong file tham s chnh l cc t kho dng np d liu nh ni trn.
Cc tu chn cho direct load nh: SINGLEROW (bo tr cc index trn hng da vo hng c s) REENABLE ( thit lp li cc constraint khi qu trnh chy kt thc), SORTED_INDEXES (ch nh d liu c xp sp trc), UNRECOVERABLE (khng sinh ra cc thng tin redo log).
Ch : Khi to gi tr NOLOG cho bng ang s dng t kho NOLOGGING tng ng vi vic s dng tu chn RECOVERABLE trong tp iu khin. D liu c th c t chung vo trong tp iu khin bng cch ch nh tham s INFILE * v s dng t kho BEGINDATA nh du phn bt u ca d liu, nu tu chn ny c s dng th tt c cc bn ghi t sau t kho BEGINDATA s c bin dch nh l d liu.
M t s t kho hay s d ng trong Control file: T kho INFILE Di n gi i Xc nh tn file cha d liu np vo database, du * cho bit d liu s c ly ngay trong control file, pha sau ca t kho BEGINDATA T kho xc nh im bt u cha d liu, sau t kho ny l d liu cn np vo database. Yu cu s dng b nh m np d liu vo database, s dng trong phng php direct load. Tn ca cc file lu cc d liu khng th np c vo database do pht sinh li trong qu trnh np d liu. Tn ca file lu cc bn ghi b b qua khng np vo database do khng ng vi tiu chun np d liu Tn tp k t s dng trong datafile Thm mi 1 dng d liu trong database Chn thm mt dng d liu vo cui cng ca bng in gi tr null vo ct. TRAILING NULLCOLS c s dng cng vi WHITESPACE T kho dng xc nh v tr ca d liu cn np t gi tr hng s cho ct d liu m s lng dng d liu c np Tr v gi tr ngy gi hin thi T kho xc nh phn cch kt thc T kho dng xc nh ng bao d liu
BEGINDATA READBUFFERS BADFILE DISCARDFILE CHARACTERSET INSERT APPEND TRAILING NULLCOLS POSITION CONSTANT RECNUM SYSDATE TERMINATED ENCLOSED
V d: Ni dung ca mt control file 1. D liu c np trc tip LOAD DATA INFILE * INTO TABLE dept
Trang 211
FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '"' (deptno, dname, loc) BEGINDATA 12,RESEARCH,"SARATOGA" 10,"ACCOUNTING",CLEVELAND 11,"ART",SALEM 13,FINANCE,"BOSTON" 21,"SALES",PHILA. 22,"SALES",ROCHESTER 42,"INT'L","SAN FRAN" V d trn, s dng du phy (,) ngn cch gia cc trng d liu np vo database. 2. D liu cn np t trong file ulcase2.dat LOAD DATA INFILE 'ulcase2.dat' INTO TABLE emp (empno POSITION(01:04) INTEGER EXTERNAL, ename POSITION(06:15) CHAR, job POSITION(17:25) CHAR, mgr POSITION(27:30) INTEGER EXTERNAL, sal POSITION(32:39) DECIMAL EXTERNAL, comm POSITION(41:48) DECIMAL EXTERNAL, deptno POSITION(50:51) INTEGER EXTERNAL) D liu trong file ulcase2.dat l: 7782 CLARK MANAGER 7839 2572.50 7839 KING PRESIDENT 5500.00 7934 MILLER CLERK 7782 920.00 7566 JONES MANAGER 7839 3123.75 7499 ALLEN SALESMAN 7698 1600.00 7654 MARTIN SALESMAN 7698 1312.50 10 10 10 20 30 30
300.00 1400.00
v d ny, vic xc nh cc trng d liu np vo database da vo v tr ca ct d liu trn mi dng. Ton t POSITION (V tr u: V tr cui) s thc hin cng vic ny.
Trang 212
Thng tin v cc trng v ct. Thng tin v tp d liu: ch ra cc bn ghi b t chi v loi b v l do b t chi hay loi b. Thng tin load cc bng: s cc hng c load, s cc hng b t chi v li d liu, s cc hng b loi b. Thng tin tng hp: hin th d liu sau: s lng khng gian c thit lp cho mng, thng tin thng k cho tt c cc data file. Thi gian bt u v thi gian kt thc qu trnh load.
Discard file Discard file cha d liu nh nh dng ca tp d liu a vo, n cha cc bn ghi khng tho mn iu kin load.
Cc l i x y ra khi load d li u Khi qu trnh load d liu kt thc khng bnh thng, ton b d liu c load n thi im kt thc s c commit. Sau khi hiu chnh li, qu trnh load c th thc hin tip nh sau hon thnh qu trnh load: Nu ang load vo mt bng hay nhiu bng c cng s bn ghi c x l , s dng tham s SKIP tip tc qu trnh load. Nu nhiu bng c load v s cc bn ghi c x l l khng nh nhau i vi cc bng , s dng mnh CONTINUE_LOAD trong tp iu khin ch nh s bn ghi b b qua cho mi bng
Trang 213
Kim tra cc index c nh du l Unusable . Hin tng ny xy ra khi index khng nht qun vi bng, xo index c trng thi nh vy to li chng khi load xong d liu.
Gi i quy t cc l i khi load Khng khng gian load d liu : hin tng ny xy ra khi a cng b y hay khi gi tr cc extent cp pht n gi tr MAXEXTENTS Hng Instance: restart li instance v load li d liu. D liu khng trong trt t ch nh: d liu c load xong index trong trng thi unusable, xo v to li cc index. Trng lp gi tr trong primary key hay unique key: hin tng ny khng lm hng qu trnh load song chng c th DISABLE cc cc constraint v index trng thi UNUSABLE. Trong trng hp cc constraint b li, ta c th s dng cc bng exception bt li v sa chng. Trong trng hp cc unique index trng thi UNUSABLE, cn tm li bng cch to unique constraint trn ct lm index. Bt cc li trn cc bng exception v sa chng. BINSIZE qu nh: s dng gi tr ln hn cho vic load d liu. Li v vt qu gi tr discard c khi to: hin tng ny xy ra khi s cc bn ghi khng hp l vt qu gi tr ERRORS hay DISCARDMAX c khi to, nguyn nhn chung ca hin tng ny l s dng tp d liu u vo khng ng, kim tra v sa li tp d liu u vo.
Cng c Export
Trang 214
Cng c Export c th c s dng to ra cc bn copy logic ca cc i tng c nh ngha v d liu thnh cc tp nh phn. Export c th ghi d liu ra tp trn a hay trn bng t. Cng c Import Cng c Import c th c cc tp c to bng cng c Export, copy cc i tng c nh ngha v d liu vo trong Oracle database. Cng c import khng th c cc text file hay cc file c to trong bt k inh dng no khc. S d ng cng c Export v Import Cng c Export v Import c th c s dng trong nhng trng hp sau: T chc li cc bng: d liu ca cc bng cn c chuyn t tablespace ny sang tablespace khc. Cc bng cha nhiu hng b migration, mt bng c nhiu blocks c rt t cc hng c chn vo. Chuyn d liu t user ny sang user khc: iu ny cn thit khi mt user cn c thay i. Mt d liu c export bi mt user c th import vo mt user khc. Chuyn d liu gia cc database: Cc i tng xc nh c th c chuyn t qu trnh pht trin sang sn phm khi s dng export ly phn thng tin cu trc v loi b phn d liu. Export v Import cn c dng ly d liu t mt ng dng OLTP vo trong Oracle data Warehouse. Chuyn d liu gia cc Platform hay cc phin bn khc nhau ca Oracle database. Thc thi qu trnh Logical backup: ton b hay mt vi i tng trong database c th c export, cc export file c th c s dng nh l mt Logical backup.
16.4.2. Cc ch Export
Cng c export cung cp 3 kiu export: User Table Database
Trang 215
Ch Table Tt c cc user c th s dng ch bng export cc bng thuc v user , cc user c cp quyn c th export bt c bng thuc v bt c mt user no trong database, s dng ch bng export: Cu trc cc bng D liu trong bng Tt c cc index ca bng( ch thc hin c khi dng user c phn quyn). Tt c cc trigger trong bng ( ch thc hin c khi dng user c phn quyn). Cc constraint trn bng Tt c cc quyn trn bng
Ch export theo user Ch export theo user s dng export d liu thuc v user: User c th export cc i tng do user s hu. Khi ny cc objects thuc v user u c export ngoi tr cc indexes v triggers do user s hu nhng li c p dng cho table ca mt user khc. Hoc cc indexes v triggers trn table do user ny s hu nhng cc triggers v indexes ny li do user khc s hu. Cc trigger v Index c to bi cc user khc nhng trn bng thuc v user c export. Cc user khng c cp quyn ch c th export c cc i tng thuc v user .
Ch Full Khi s dng ch full th ton b cc i tng thuc v database ngoi tr cc cc i tng thuc SYS s c export. Ch ny i hi quyn c bit v khng th thc hin vi mi user. Ch rng trong ba ch export quyn ca user c s dng l role: EXP_FULL_DATABASE.
Trang 216
Cch thng th ng (Conventional load) Conventional load l phng php mc nh c s dng bi Oracle Loader nh dng d liu v ghi d liu vo trong database. Conventional load s dng cu lnh SQL ly d liu trong table. D liu c c t a vo trong vng m. Sau , cc hng c chuyn vo vng m kim tra gi tr. D liu sau khi kim tra gi tr s c chuyn vo cc tp export. Cch tr c ti p (Direct path) Direct path load ly d liu nhanh hn so vi phng php conventional path export. Vi phng php direct path load d liu c c t a vo trong vng m sau cc hng c chuyn trc tip vo trong cc export process. Vng kim tra nh gi b b qua do d liu trong cc block khng c ghi nhn mang cc hng cng vi n . D liu lun sn sng trong nh dng ca cc tp export yu cu, n trnh c qu trnh chuyn i nh dng d liu. D liu c chuyn vo cc export process v cc process ny ghi d liu vo trong cc export file. Cng c Import c th s dng cc export file c to bi bt k mt trong hai phng php trn. Phng php export khng nh hng n thi gian ca qu trnh import.
16.5.CNG C EXPORT
16.5.1. S dng cng c Export
Cng c export c th gi theo ch : Dng lnh Ch tng tc Ch graphic
C php: $exp [keyword=]{value|(value, value ...)} [ [ [,] keyword=]{value|(value, value ...)} ] ... Vi: keyword value l t kho c s dng trong cu lnh export. l gi tr c gn cho t kho.
Cc tham s dng l nh s d ng khi Import d li u T kho ANALYZE BUFFER M c nh Y Di n gi i Cho php thc hin lnh ANALYZE i vi database trc khi import d liu
Kch thc ca b m s dng khi export. Kch Tu theo h thc buffer c xc nh theo cng thc: iu hnh buffer_size = rows_in_array * maximum_row_size Y Gi tr l Y, khi import d liu, kch thc ca extent khi to c t bng vi kch thc ca segment hin thi. Gi tr l Y, tt c cc thao tc export ch c thc hin trong mt read-only transaction. Gi tr l Y, cc rng buc cng c exported cng vi d liu trong bng. Gi tr l Y, export trc tip Hin th mc export, s dng d liu c export, ti mi ln. V d: FEEDBACK=10, Cng c export s hin th tin trnh cho bit mi ln thc hin s export c 10 dng d liu Tn file d liu ra. Tp d liu c phn m rng l .dmp Gi tr l Y, export ton b database. thc hin c vic ny, user cn c cp quyn EXP_FULL_DATABASE Gi tr l Y, export cc i tng trong database cng vi c cc quyn ang c p dng trn i tng Gi tr l Y, hin th danh sch tham s v ngha tng ng ca chng Cc ch incremental export (Cc ch ny s c ni c th phn sau) Y Gi tr l Y, export c cc index. Tn file lu tr cc thng bo khi export. V d:
Exp system/manager LOG=export.log
COMPRESS
N Y N
expdat.dm p
Trang 218
PARFILE QUERY
Ghi li ch d liu l incremental hay cumulative vo trong cc bng h thng: SYS.INCEXP, SYS.INCFIL v SYS.INCVID
Tu theo h Kch thc tnh theo bytes ca bn ghi c iu hnh export Y ESTIMATE Cho bit c export tng dng d liu trong bng hay khng. Phn tch v thng k s lng cc d liu export. C mt s ch : ESTIMATE, COMPUTE, v NONE Lit k danh sch cc bng export. V d:
TABLES=(EMP#, DEPT, MYDATA)
C export cc transportable tablespace hay khng Khi tham s TRANSPORT_TABLESPACE = Y, TABLESPACES s dng lit k danh sch tn cc tablespace export
TRIGGERS USERID
C export c cc trigger hay khng? Username v mt khu ca user thc hin export. Chng c th hin theo khun dng: username/password AS SYSDBA hay username/password@instance AS SYSDBA
V d: 1. Export trc tip bng d liu $exp scott/tiger tables=(dept,emp) \ > file=emp.dmp log=exp.log compress=n \ > direct=y recordlength=32768 2. Export d liu s dng file tham s > exp system/manager parfile=params.dat Ni dung ca params.dat FILE=dba.dmp GRANTS=y FULL=y ROWS=y
Trang 219
th ta c cc ch thc hin backup d liu khc nhau v c th p dng cc ch backup ny tu thuc vo tnh hung c th. Incremental Exports (ch tng tr ng) Ch incremental ch thc hin backup i vi cc bng c s thay i so vi ln thc hin backup gn nht. Trong ch ny, ton b d liu ca bng v c nh ngha cc bng cng s c exports khng phn bit cc dng d liu c thay i hay khng c thay i (min l bng c thay i, th s export ton b bng). Ch incremental Exports l ch thng hay c thc hin nht trong s cc ch export. V d: Gi s ln Export u tin, ta thc hin export ton b thng tin v bng. Khi ny ti ln th hai, s dng ch incremental Export, sau khi bng d liu c s thng tin mt dng no . Tt c cc bng d liu c s thay i thng tin v c cc indexes i km vi bng s c export.
Trong ln th ba, c thay i trong table 3 v table 4. Khi ny Ch Incremental Export s tip tc export d liu nh sau:
Cumulative Exports (Ch tch lu ) Ch cumulative export s thc hin backup i vi cc bng c s thay i k t ln thc hin backup trc ch cumulative hay complete Export. Ch cumulative export s thc hin nn tt c cc ln thc hin backup ch incremental exports vo nhng file n ring l. Ta khng cn phi lu tr cc file backup ch incremental export v khi thc hin backup theo ch cumulative export cc file backup trn s b ghi ln bng mt file mi tng ng.
Trang 220
V d: Trong ch cumulative Export ln th t, khi c s thay i ti table 1 v table 6 th tt c cc bng c thay i t ln export ton b gn nht s c export.
Ta quan st thy d liu trong table 4 tuy c c thc hin backup ln th 2 nhng vn tip tc c Backup. Complete Exports (Ch ton b ) Ch complete Export s thit lp vic backup ton b d liu c trong database. V d: Trong ln 5, thc hin backup d liu ch ton b.
Ta thy ngay trong ch ny, table 4 tuy khng c thay i g nhng cng vn b export. V d: thc hin Export d liu ch Incremental > exp system/manager full=y inctype=incremental
Oracle cho php qun tr vin database c th chuyn mt tablespace t mt database sang mt database khc, thng qua c im transportable tablespace. di chuyn hay sao chp mt tp hp cc tablespaces, trc tin ta cn a cc tablespaces v trng thi read-only, ri sao chp cc datafiles tng ng vi cc tablespaces ny, v s dng cng c Export/Import di chuyn cc thng tin database c lu tr trong data dictionary gi l metadata (thng tin ca cc thng tin). C cc datafiles v metadata c export s c sao chp sang database ch. Tip theo, qun tr vin database cn import cc metadata ny vo database mi ri thit lp li trng thi cho cc tablespace va c sao chp. Mt s t kho c s dng thc hin export cc transportable tablespace metadata. TRANSPORT_TABLESPACE TABLESPACES
Connected to: Oracle8i Enterprise Edition Release 8.1.6.0.0 Production With the Partitioning and Java options PL/SQL Release 8.1.6.0.0 - Production Export done in WE8DEC character set and WE8DEC NCHAR character set About to export specified tables via Conventional Path ... EXP-00011: SCOTT.XXX does not exist . . exporting table EMP 14 rows exported Export terminated successfully with warnings.
Trang 222
Fatal Error Messages (thng bo l i nghim tr ng) Khi c cc li nghim trng (fatal errors) xy ra trong qu trnh Export, cng c s ngng session ngay lp tc. Thng thng, cc li ny xy ra do cc li h thng (internal problem) do thiu ti nguyn, thiu b nh... V d, khi chy CATEXP.SQL, file script khng chy, cng c Export s pht sinh thng bo li h thng (fatal error): EXP-00024: Export views not installed, please notify your DBA Completion Messages (Thng bo hon t t) Khi Export hon tt v khng c li xy ra, Export s hin th thng bo Export terminated successfully without warnings". Nu c bt k li khng nghim trng no xy ra trong qu trnh thc hin, Export s kt thc vi thng bo "Export terminated successfully with warnings". Khi c li nghim trng khin h thng phi dng, khi ny h thng s tr v thng bo "Export terminated unsuccessfully" .
16.6.CNG C IMPORT
16.6.1. S dng cng c Import
Cng c import dng a d liu t cc export file vo database
Khi thc hin Import d liu, Users cn c c gn role IMP_FULL_DATABASE. Cng c import c th c thc hin cc ch sau: T kho TABLES FROMUSER Di n gi i Ch ny cho php thc hin import cc tables v partitions vo database. Vi ch ny, user c th import tt c cc objects do user s
Trang 223
hu nh tables, grants, indexes, v procedures. FULL Ch c cc users c gn IMP_FULL_DATABASE role mi c th thc hin import ch ny. Khi ny, user c th import ton b database Cho php user c quyn tng ng c th di chuyn v import tp hp cc tablespace t database ny sang database khc
TRANSPORT_TABL ESPACES
Ch dng l nh C php: $imp [keyword=]{value|(value, value ...)} [ [ [,] keyword=]{value|(value, value ...)} ] ... Vi: keyword value Cc tham s dng l nh T kho ANALYZE BUFFER M c nh Y Di n gi i Cho php thc hin lnh ANALYZE i vi database trc khi import d liu l t kho s dng l gi tr c gn cho t kho
Kch thc ca b m s dng khi import. Kch Tu theo h thc buffer c xc nh theo cng thc: iu hnh buffer_size = rows_in_array * maximum_row_size N Pht ln commit sau mi ln a d liu vo database trong qu trnh import. Vi cch ny, d liu s c m bo a vo database, i li, thi gian import s b ko di hn. Cho bit c import c cc rng buc vo database hay khng Lit k danh sch cc datafile s c a vo database. 0 Hin th mc import, s dng d liu c import, ti mi ln. V d: FEEDBACK=10, Cng c import s hin th tin trnh cho bit mi ln thc hin s a c 10 dng d liu vo database Tn file d liu vo. Tp d liu c phn m rng l .dmp Import cc FROMUSER N objects vocc schemas thuc
COMMIT
expdat.dmp
Gi tr l Y, import ton b database. thc hin c vic ny, user cn c cp quyn IMP_FULL_DATABASE Gi tr l Y, import cc i tng trong database
Trang 224
GRANTS
cng vi c cc quyn ang c p dng trn i tng HELP IGNORE INCTYPE INDEXES LOG PARFILE RECORDLENGTH ROWS SKIP_UNUSABLE_ INDEXES TABLES Y N N Gi tr l Y, hin th danh sch tham s v ngha tng ng ca chng C b qua cc li xy ra trong qu trnh import tip tc import d liu mi hay khng. Cc ch incremental Import Gi tr l Y, import c cc index. Tn file lu tr cc thng bo khi import. Tn file cha cc tham s export Tu theo h Kch thc tnh theo bytes ca 01 bn ghi c iu hnh import Y N Cho bit c import tng dng d liu trong bng hay khng. Cho bit c b qua vic to cc index v t n v trng thi Unusable trong qu trnh Import hay khng. Lit k danh sch cc bng import. V d:
imp system/manager TABLES=(jones.accts, scott.emp,scott.dept)
C import cc transportable tablespace hay khng Khi tham s TRANSPORT_TABLESPACE = Y, TABLESPACES s dng lit k danh sch tn cc tablespace import Hin th danh sch cc user s hu cc objects s c import. Username v mt khu ca user thc hin export. Chng c th hin theo khun dng: username/password AS SYSDBA hay username/password@instance AS SYSDBA
TOUSER USERID
Ch : Ch c mt tham s FULL=Y hay OWNER=user hay TABLES=schema.table c ch nh. V d: > imp system/manager parfile=params.dat Ni dung ca file params.dat: FILE=blake.dmp SHOW=n IGNORE=n GRANTS=y ROWS=y FROMUSER=blake TOUSER=scott TABLES=(unit,manager)
Trang 225
Th t c a qu trnh import Khi thc hin import, cc objects (i tng) s ln lt c a vo database theo th t sau: 1. Cc nh ngha v kiu d liu (Type definitions) 1. Cc nh ngha cc bng (Table definitions) 1. D liu trong cc bng (Table data) 1. Cc Index tng ng vi tng bng (Table indexes) 1. Cc Integrity constraints, views, procedures v triggers 1. Cc i tng m rng khc nh Bitmap, functional v domain indexes Tnh tun t ny ngn d liu b t chi v trt t trn bng c import. Trt t ny cn ngn cc trigger thc hin hai ln trn cng mt d liu. Tuy nhin mt s i tng nh th tc c th c kim tra khi import bi v chng c import trc khi cc i tng c tham chiu. Kim tra cc i tng vi STATUS=INVALID v compile li chng. Import vo m t b ng t n t i Khi import d liu vo mt bng tn ti, trt t ca import c th cn to ra li tham chiu. Tnh hung tng t cng xy ra khi c constraints trn mt bng m c tham chiu ti chnh n. V l do nh ni trn y, cch tt nht l disable cc tham chiu bi constraint khi import d liu vo trong mt bng tn ti. Cc constraint c th c enable li sau khi import thnh cng. Ta cng c th phn chia qu trnh Import ra lm nhiu ln thay v 1 ln trnh vic check constraints mt nhiu thi gian. Tablespace c s d ng cho m t i t ng Nu mt user c quota cn thit cc bng s c import vo trong cng mt tablespace m chng c export. Tuy nhin nu tablespace khng tn ti hay user khng quota trn tablespace, import s to bng trn tablespace mc nh ca user. Nu user khng truy xut c tablespace mc nh, cc bng s khng c import. Mt phn on LOB ch c th c import vo cng mt tablespace t chng c export. Mt bng ang cha LOB s khng c to nu nh owner ca cc bng khng th to cc i tng trn tablespace cc phn on LOB c export. Ch Mt bng khng cha LOB c th c chuyn t mt tablespace sang mt tablespace khc bng cch s dng phng thc import. Cc h ng d n trong s d ng export v import S dng cc tp tham s lu cc tham s chung trong danh sch tham s. Nu c nhiu hot ng update trn cc bng ang c export nn s dng tham s CONSISTENT=Y, ni chung nn chy cc qu trnh export d liu ln khi c t cc hot ng trong bng c export, nn to cc rollback segment ln cho qu trnh import. Tu chn COMPRESS=Y s sinh ra on m to initial extent , initial extent ny bng tng kch thc ca tt c cc extent hin ang c cp pht cho mt i
Trang 226
tng. Nu i tng c nhiu hng c xo hay extent cui cng c nhiu block khng c s dng , th khng cn thit phi cp pht nhiu khng gian cho i tng . Cp pht vng m ln nu h iu hnh v ngun ca h thng cho php.
Trang 227
Authentication Mechanism (C ch xc nh n) Mi user truy cp vo database u tri qua bc xc nhn quyn truy nhp. Vic ny c th c thc hin bi: Database H iu hnh Xc nhn quyn thng qua ng mng
Tuy nhin, trong ti liu ny ta ch quan tm ti vic xc nhn bi database. Tablespace Quotas (h n m c tablespace) Tablespace quotas iu khin s lng table space ng vi kh nng lu tr vt l c php i vi mi user trong database. Default Tablespace (tablespace m c nh) L tablespace mc nh cha cc segments do tin trnh ca user s dng lu tr d liu trong trng hp User khng ch r tn tablespace ngay khi to segment.
Trang 228
Temporary Tablespace (tablespace trung gian) Temporary tablespace l ni Oracle server cp pht cc extents phc v cho cng vic sp xp (sort) mi khi thc hin lnh sp xp ca User . Account Locking (kho account) Cc Accounts c th b kho (locked) ngn cn vic user thm nhp vo database. Vic ny c th c thc hin mt cch t ng hoc do iu khin ca qun tr vin database. Resource Limits (h n ch ti nguyn) L nhng gii hn c a ra cho mi user v cc ti nguyn ca h thng nh: thi gian s dng CPU, truy xut vo ra I/O, s lng cc sessions c m ti a,... Nhng gii hn v ti nguyn s c bn k trong chng sau.
17.2.QUN L USER
17.2.1. Cc bc thc hin khi to mi user
1. Lu chn username (tn user dng truy cp database) v c ch xc nhn i vi user ny. 2. Ch ra cc tablespaces cho user dng lu tr d liu. 3. Phn b hn mc s dng trn tng tablespace. 4. Gn cc default tablespace v temporary tablespace. 5. To user. 6. Phn quyn truy nhp (privileges - quyn; roles - chc danh) cho user va to lp.
Trang 229
Trang 230
Trong OEM ta c th th c hi n theo cc b c sau 1. 2. 3. 4. 5. S dng Oracle Security Manager. Chn User>Create. Nhp vo thng tin ca trong phn General page. Ch r hn mc s dng trong phn Quotas. Bm nt Create.
C php:
C php:
Trang 231
ALTER USER user [ DEFAULT TABLESPACE tablespace] [ TEMPORARY TABLESPACE tablespace] [ QUOTA {integer [K | M] | UNLIMITED } ON tablespace [ QUOTA {integer [K | M] | UNLIMITED } ON tablespace ] ... ] V d: ALTER USER peter QUOTA 0 ON data01; Trong OEM, ta th c hi n theo cc b c sau 1. 2. 3. 4. 5. Chy Oracle Security Manager. Chuyn ti nt Users. Chn username tng ng. Nhp vo cc thng tin thch hp trong phn Quotas. Bm nt Apply.
17.2.5. Hu User
Hu b user khi database C php: DROP USER user [CASCADE] V d: DROP USER peter; Hoc DROP USER peter CASCADE; Lu : CASCADE s hu tt c cc i tng trong schema trc khi xo User. N cn c ch r khi schema cha nhiu i tng. Ta khng th hu c cc user hin ang kt ni ti Oracle server.
Trang 232
Hoc ta cng c th ly cc thng tin v Account ca user V d: SVRMGR> SELECT username, account_status, temporary_tablespace 2> FROM dba_users; USERNAME ACCOUNT_STATUS --------------- ---------------SYS OPEN SYSTEM OPEN DBSNMP OPEN SCOTT OPEN 4 rows selected. TEMPORARY_TABLESPACE -------------------TEMP TEMP TEMP TEMP
Trang 233
Qun tr vin database gn cc profile cho tng user m theo Oracle server phn b ti nguyn cho user theo thng tin c trong profile. Oracle server t ng to default profile (profile mc nh) mi khi to database. Ban u, cc thng tin trong default profile c t khng hn ch. Qun tr vin database c th iu chnh li cc tham s ny i vi tng user. S d ng Profile Hn ch users thc hin cc thao tc i hi s dng nhiu ti nguyn h thng. m bo ct kt ni ca users vi database mi khi session ca user khng hot ng na. Cho php cc users nh nhau trong mt nhm s dng ti nguyn nh nhau. Qun l vic s dng ti nguyn dng d liu ln v phc tp trong h thng database c nhiu ngi dng. iu chnh vic s dng mt khu ca user.
S d ng profile qu n l ti nguyn Ta c th qun l ti nguyn h thng thng qua vic s dng ti nguyn. lm c iu , ta thc hin theo cc bc sau: 1. To mt profile bng lnh CREATE PROFILE qua xc nh cc gii hn ti nguyn v gii hn mt khu. 2. Gn profile cho user thng qua lnh CREATE USER hay ALTER USER. 3. Thc hin gii hn cc ti nguyn s dng bng cch dng lnh ALTER SYSTEM hay iu chnh li cc thng s c trong file tham s khi to. Cch ny i hi phi dng ri khi ng li database.
Trang 234
18.2.QUN L PROFILE
18.2.1. To Profile
To profile lu tr cc gii hn ti nguyn s dng thng qua cu lnh: CREATE PROFILE profile LIMIT [SESSIONS_PER_USER max_value] [CPU_PER_SESSION max_value] [CPU_PER_CALL max_value] [CONNECT_TIME max_value] [IDLE_TIME max_value] [LOGICAL_READS_PER_SESSION max_value] [LOGICAL_READS_PER_CALL max_value] [COMPOSITE_LIMIT max_value] [PRIVATE_SGA max_bytes] max_value :== {integer|UNLIMITED|DEFAULT} max_bytes :== {integer[K|M]|UNLIMITED|DEFAULT} Vi: profile UNLIMITED DEFAULT COMPOSITE_LIMIT l tn ca profile xc nh user c gn profile tng ng c th s dng khng hn ch ti nguyn mc profile hn ch s dng ti nguyn c ch ra trong mnh tng ng thuc DEFAULT profile gii hn s dng ti nguyn tng cng bao gm c cc trng s tng ng. Gii hn c tnh bng tng s: CPU_PER_SESSION, CONNECT_TIME, LOGICAL_READS_PER_SESSION, PRIVATE_SGA L u : View RESOURCE_COST trong data dictionary cho bit cc trng s tng ng c gn cho cc ti nguyn khc nhau. Ta cng c th s dng lnh ALTER RESOURCE COST bit c cc trng s cho tng ti nguyn khc nhau. V d: CREATE PROFILE developer_prof LIMIT SESSIONS_PER_USER 2 CPU_PER_SESSION 10000 IDLE_TIME 60 CONNECT_TIME 480; Trong OEM, ta th c hi n cc b c sau 1. Chy Security Manager. 2. Chn Profile>Create. 3. Trong phn General page, nhp vo tn v cc thng tin chi tit ng vi tng mc ti nguyn. 4. Bm nt Apply.
Trang 235
Gi i h n v ti nguyn cho t ng Call level Ti nguyn CPU_PER_CALL LOGICAL_READS_PER_CALL Di n gi i Thi gian s dng CPU cho mi ln gi, tnh theo n v trm giy. S lng block c c ti a
Ghi ch: IDLE_TIME c p dng ch cho cc tin trnh server. Gii hn IDLE_TIME khng nh hng g i vi cc cu lnh truy vn di hay cc thao tc khc. LOGICAL_READS_PER_SESSION l gii hn cc ln c block d liu t c b nh ln a. PRIVATE_SGA p dng khi chy multithreaded server (MTS).
Trong OEM, ta c th lm theo cc b c sau 1. 2. 3. 4. Chy Security Manager. Chn Profile>Assign Profile to users. Trong phn Assign Profile page, chn user tng ng. Bm nt OK.
M t s tnh ch t c a Profile Profile c gn khng nh hng ti sessions hin thi. Profiles ch c th c gn cho users khng c gn cho roles hay cho cc profiles khc. Trong trng hp ta khng gn profile cho user ngay t khi mi to user, profile mc nh (default profile) s c t ng gn cho user .
S d ng l nh ALTER SYSTEM Cho php hoc khng cho php p dng cc gii hn ti nguyn. Cc iu chnh do lnh ALTER SYSTEM s c tc dng ngay cho ti khi c mt iu chnh khc hoc khi database b tt. Ta s dng lnh ny trong trng hp mun hn ch s dng ti nguyn m li khng c tt database.
V d: ALTER PROFILE default LIMIT SESSIONS_PER_USER 5 CPU_PER_CALL 3600 IDLE_TIME 30; Trong OEM, ta th c hi n theo cc b c sau 1. 2. 3. 4. 5. Chy Security Manager. Chuyn ti nt Profile. Chn profile tng ng. Trong phn General page thay i cc thng s trong tng mc. Bm nt Apply.
18.2.6. Hu profile
Thc hin vic hu profile theo lnh DROP PROFILE. C php: DROP PROFILE profile [CASCADE] Vi: profile CASCADE V d: DROP PROFILE developer_prof; Hoc DROP PROFILE developer_prof CASCADE; Trong OEM, ta th c hi n theo cc b c sau 1. 2. 3. 4. 5. Chy Security Manager. Chuyn ti nt Profile. Chn profile tng ng. Chn Profile>Remove. Bm nt OK. tn ca profile b hu hu tt c cc profile c gn cho user.
Trang 238
V d: xem gii hn ti nguyn ca User SCOTT SVRMGR1> SELECT p.profile, p.resource_name, p.limit 2> FROM dba_users u, dba_profiles p 3> WHERE p.profile=u.profile AND username=SCOTT AND 4> p.resource_type=KERNEL; PROFILE RESOURCE_NAME -------------- -------------------------DEVELOPER_PROF COMPOSITE_LIMIT DEVELOPER_PROF SESSIONS_PER_USER DEVELOPER_PROF CPU_PER_SESSION DEVELOPER_PROF CPU_PER_CALL DEVELOPER_PROF LOGICAL_READS_PER_SESSION DEVELOPER_PROF LOGICAL_READS_PER_CALL DEVELOPER_PROF IDLE_TIME DEVELOPER_PROF CONNECT_TIME DEVELOPER_PROF PRIVATE_SGA 9 rows selected. LIMIT ------DEFAULT 2 10000 DEFAULT DEFAULT DEFAULT 60 480 DEFAULT
18.3.QUN L MT KHU
c th m bo vic bo mt cho ton b database, h thng qun l mt khu Oracle cho php qun tr vin database qun l mt khu thng qua cc profile. Vic qun l mt khu ny c mt s c im sau: Account locking: cho php t ng kho account tng ng vi user mi khi user khng th kt ni ti h thng. Gn thi hn s dng cho mi mt khu: mi mt khu s c mt thi hn s dng nht nh, qu thi hn trn, mt khu cn c thay i. Lu tr lch s thay i mt khu (Password history): kim tra cc mt khu mi m bo mt khu mi khng trng vi cc mt khu trc . C ch xc nhn mt khu mm do: cho php kim tra v xc nhn mt khu mt cch mm do nhng vn m bo tnh cht ch chng li c nhng hnh thc c tnh xm nhp vo h thng bng cch ph kho, on mt khu.
Trang 239
Cng tng t nh vic a ra cc gii hn v ti nguyn s dng, ta cng c th s dng cc profile thit lp cc gii hn v mt khu v gn cho mi user thng qua lnh CREATE hay ALTER USER. Thc hin qun l mt khu, ta c th s dng cc cu lnh CREATE USER hay ALTER USER lock hay unlock account ca user .
Trang 241
Oracle cung cp sn hm xc nhn mt khu, hm ny c gi l VERIFY_FUNCTION t trong file script utlpwdmg.sql, thuc th mc %ORACLE_HOME%\RDBMS\ADMIN.
DEFAULT DEVELOPER_PROF DEFAULT DEVELOPER_PROF DEFAULT DEVELOPER_PROF DEFAULT DEVELOPER_PROF DEFAULT DEVELOPER_PROF 14 rows selected.
PASSWORD_REUSE_TIME PASSWORD_REUSE_IME PASSWORD_REUSE_MAX PASSWORD_REUSE_MAX PASSWORD_VERIFY_FUNCTION PASSWORD_VERIFY_FUNCTION PASSWORD_LOCK_TIME PASSWORD_LOCK_TIME PASSWORD_GRACE_TIME PASSWORD_GRACE_TIME
Trang 243
C th iu khin cc quyn bng cch cu lnh GRAND hay REVOKE. Ch : Cc users c quyn ANY u c th truy xut cc bng thuc data dictionary ngoi tr cc tin t USER_ALL v bt c views no trn cc quyn c gn cho PUBLIC.
TABLE
SESSION
TABLESPACE
Khng c quyn CREATE INDEX Cc quyn nh CREATE TABLE, CREATE PROCEDURE, CREATE CLUSTER bao gm c cc quyn xo cc i tng . CREATE TABLE bao gm cc quyn CREATE INDEX v ANALYZE, Cc user cn c quota trn tablespace hay phi c gn UNLIMITED TABLESPACE . truncate cc bng th quyn DROP ANY TABLE c s dng.
Trang 244
S dng c php sau y gn quyn h thng cho user C php: GRANT {system_priv|role} [, {system_priv|role} ]... TO {user|role|PUBLIC} [, {user|role|PUBLIC} ]... [WITH ADMIN OPTION] Vi: system_priv ch nh quyn h thng s dng role ch nh tn chc danh c gn PUBLIC gn quyn h thng cho tt c cc user WITH ADMIN OPTION cho php user c gn quyn c th gn quyn hay chc danh cho user khc. V d: GRANT CREATE SESSION, CREATE TABLE TO user1; Hoc GRANT CREATE SESSION TO scott WITH ADMIN OPTION; M t s h ng d n c quyn h thng, user cn c gn quyn c km thm tu chn ADMIN OPTION. WITH
Ngi c gn vi tu chn WITH ADMIN OPTION c th tip tc gn cho mt user khc quyn h thng vi WITH ADMIN OPTION. Bt c mt user no c quyn GRANT ANY ROLE c th gn bt k quyn no trong database. Ngi c gn vi tu chn WITH ADMIN OPTION c th gn quyn hay ly li cc quyn t bt c user hay role no trong database.
SYSOPER
SYSDBA
ALTER DATABASE ARCHIVELOG RESTRICTED SESSION SYSOPER privileges WITH ADMIN OPTION CREATE DATABASE RECOVER DATABASE UNTIL
Sau khi to password file bng cng c password v khi to tham s trong initialization file: REMOTE_LOGIN_PASSWORD_FILE=EXCLUSIVE Ngi qun tr h thng c th thm cc user vo trong password file bng cch gn cc quyn SYSDBA v SYSOPER cho user. Tu chn WITH ADMIN OPTION khng c s dng cho vic gn cc quyn ny. Ch c user hin ang c ni n database vi quyn SYSDBA mi c th gn v ly li SYSDBA hay SYSOPER cho cc user khc. Cc quyn ny khng th c gn cho mt role bi v cc role khng tn ti khi database startup. View V$PWFILE_USERS cha thng tin v cc user c gn quyn SYSDBA v SYSOPER. SVRMGR> SELECT * FROM v$pwfile_users; USERNAME ----------------INTERNAL SYS 2 rows selected. SYSDB --------TRUE TRUE SYSOP ----------TRUE TRUE
Trang 246
View SESSION_PRIVS lit k cc quyn c sn cho session hin ti cho mt user. SVRMGR> SELECT * FROM session_privs; PRIVILEGE ---------------------------------------CREATE SESSION ALTER SESSION CREATE TABLE SELECT ANY TABLE CREATE CLUSTER CREATE SYNONYM CREATE VIEW CREATE SEQUENCE CREATE DATABASE LINK CREATE PROCEDURE CREATE TRIGGER CREATE TYPE 12 rows selected.
19.2.QUN L QUYN
19.2.1. Thu hi cc quyn h thng
S dng c php sau y ly li cc quyn h thng. C php: REVOKE {system_priv|role} [, {system_priv|role} ]... FROM {user|role|PUBLIC} [, {user|role|PUBLIC} ]... V d: REVOKE CREATE TABLE FROM user1; Hoc: REVOKE CREATE SESSION FROM scott; Ch : Cu lnh REVOKE ch c th ly li quyn ca m c gn trc tip bng cu lnh GRANT. Thu hi cc quyn h thng c th nh hng n mt s cc i tng ph thuc. V d: nu quyn SELECT ANY TABLE c gn cho user v user c gn cc th tc hay view m s dng cc bng thuc v cc user khc th vic ly li cc quyn s lm cho cc th tc hay view tr nn khng hp l.
Thu h i cc quy n s d ng c WITH ADMIN OPTION Hai hnh di y s minh ho vic thu hi cc quyn h thng s dng WITH ADMIN OPTION.
Trang 247
Hnh v 100.
Khng c s nh hng lan truyn khi thu hi quyn h thng, khi s dng tu chn WITH ADMIN OPTION.
Trang 248
ALL
ON object gn . WITH GRANT OPTION cho php ngi c gn quyn c th gn cc quyn cho mt user khc. L u :
gn cc quyn, cc i tng phi thuc v schema ca user gn hoc cn c quyn WITH GRANT OPTION. Mc nh nu mt object thuc v mt user no th user c y cc quyn trn i tng . Tu chn WITH ADMIN OPTION khng dng cho vic gn cc quyn cho cc chc danh.
Truy vn thng tin trn bng DBA_TAB_PRIVS ly thng tin v cc quyn trn i tng c gn cho user. svrmgr> SELECT * FROM dba_tab_privs 2> WHERE GRANTEE=SCOTT GRANTEE OWNER --------- ----SCOTT SYS 1 row selected. TABLE_NAME GRA ----------- ----RESUMES SYS PRIVILEGE GRA ---------- ----READ NO
Trang 249
Hnh v 101.
Trang 250
Hnh v 102.
Trang 251
Hnh v 103.
Trang 252
Khi thay i cc quyn c trong mt chc danh th quyn ca tt c cc user c gn cc chc danh s b thay i theo. Ch n cc quy n c s n Mt chc danh c th c enable hay disable tm thi cho php hay cm cc quyn. Khng c hin tng lan truyn khi ly li cc chc danh. Cc quyn i tng c th ly li m khng gy ra hin tng lan truyn.
V d: CREATE ROLE sales_clerk; Hoc: CREATE ROLE hr_clerk IDENTIFIED BY bonus; Hoc: CREATE ROLE hr_manager IDENTIFIED EXTERNALLY; Ch : Cu lnh CREATE ROLE IDENTIFIED GLOBALLY ch nh rng vic kim tra xc lp chc danh thng qua Oracle Security Server.
Trang 253
Cc chc danh c tn l DELETE_CATALOG_ROLE, EXCUTE_CATALOG_ROLE v SELECT_CATALOG_ROLE cho php thc hin truy xut ti cc views v cc packages trong data dictionary. Cc chc danh ny c th gn cho user khng c quyn DBA nhng mun xem thng tin trong cc bng v view thuc data dictionary. Tn ch c danh CONNECT RESOURCE DBA EXP_FULL_DATABASE IMP_FULL_DATABASE DELETE_CATALOG_ROLE EXECUTE_CATALOG_ROLE SELECT_CATALOG_ROLE Di n gi i Chc danh cung cp sn tng thch vi cc phin bn trc Tt c cc quyn h thng, c tu chn: WITH ADMIN OPTION Quyn export d liu ca database Quyn import d liu vo database Quyn xo d liu Quyn thc hin mt th tc Quyn ly d liu
M t s ch c danh c bi t khc: Oracle cn c mt s chc danh khc xc lp ngi qun tr database, trn nhiu h iu hnh khc nhau, cc chc danh ny c goi l OSOPER v OSDBA tn ca chng c th khc bit trn cc h iu hnh. Cc chc danh khc c nh ngha bi SQL script c cung cp cng vi database.
tn ca chc danh cn thay i. ch nh khng cn xc nhn khi enable chc ch nh cn xc nhn khi enable cc chc danh cung cp mt khu xc nhn khi enable chc danh ch nh user cn c xc nhn bi dch v bn ngoi (c ch xc nhn bi h iu hnh)
tn ca user c gn cc chc danh tn ca chc danh c thit lp mc nh t tt c cc chc danh c gn cho user l mc nh ngoi tr cc chc danh nm sau mnh EXCEPT. ch nh cc chc danh i sau mnh ny khng thuc vo cc chc danh mc nh. khng chc danh no trong s chc danh c gn cho user l chc danh mc nh.
ALTER USER scott DEFAULT ROLE hr_clerk, sales_clerk; Hoc: ALTER USER scott DEFAULT ROLE ALL; Hoc: ALTER USER scott DEFAULT ROLE ALL EXCEPT hr_clerk; Hoc: ALTER USER scott DEFAULT ROLE NONE; V cc chc danh cn c gn trc khi chng c th c thit lp mc nh nn khng th khi to cc chc danh mc nh ngay khi s dng cu lnh CREATE USER.
Trang 256
ROLE_TAB_PRIVS SESSION_ROLES
Quyn trn table c gn cho chc danh Cc chc danh c php ca user hin thi
V d: Thng tin v cc quyn cp pht cho user SVRMGRL> SELECT chc danh, password_required FROM dba_chc danhs; ROLE -----------------------------CONNECT RESOURCE DBA AQ_USER_ROLE SELECT_CATALOG_ROLE EXECUTE_CATALOG_ROLE DELETE_CATALOG_ROLE AQ_ADMINISTRATOR_ROLE RECOVERY_CATALOG_OWNER IMP_FULL_DATABASE EXP_FULL_DATABASE SNMPAGENT SALES_CLERK HR_CLERK 14 rows selected. PASSWORD ----------NO NO NO NO NO NO NO NO NO NO NO NO YES EXTERNAL
Trang 258
H tr ngn ng qu c gia Cc user c th tng tc, lu tr, x lv truy xut d liu trong ngn ng quc gia ca h bao gm cc vng sau: Ty u, ng u, Trung ng, ng Nam v Bc . Cc nc khc nhau v cc vng a l khc nhau c ch nh bng cc chuyn i vn ho khc nhau nh hng trc tip n nh dng ca d liu. C rt nhiu tp k t khc nhau bao gm tp k t n (single_byte) v tp k t nhiu byte c h tr. Cc cng c ca database v cc thng bo li c th hin th trong ngn ng quc gia ca ngi dng. Oracle h tr khong 26 ngn ng khc nhau. Cc nh dng ngy thng c nh dng cng vi cc chun ISO cho ngy thng nm v gi. D liu s c nh dng tng ng trn nh dng a phng. Cc biu tng tin t phn nh kinh t a phng v chuyn i sang chun ISO.
T p k t Single_Byte Tp k t Single_byte, trong mi k t chim mt byte nh vy vi b m k t ny c th m c 127 k t nu b m 7 bits, 256 k t nu b m 8 bits. V d cc tp k t single_byte nh US7ASCII, WE8ISO8859P1... T p k t Varying_Width nhi u byte Mt tp k t nhiu byte s dng nhiu byte cho mt k t, cc tp k t nhiu byte c s dng h tr cc ngn ng chu . Mt s tp k t nhiu byte s dng mt s bits du (significant bits) xc nh tp k t s dng thuc loi single_byte hay Varying_Width. Mt s v d v cc tp k t nhiu byte c rng thay i: Japanese Extended Unix Code(JEUC), Chinese GB2312-80. T p k t Fixed_Width nhi u byte Tp k t nhiu byte c rng khng thay i c s dng ging nh tp k t nhiu byte ngoi tr l n c nh dng vi s bits khng thay i cho mt k t. V d cc tp k t : JA 16EUCFIXED, 16 bits Japanese, JA 16SJISFIXED, 16 bits Japanese. T p k t Unicode Unicode l tp k t chun c s dng hin th tt c cc k t ca my tnh bao gm cc biu tng k thut v tp cc k t dng hin th, tp cc k t Unicode c th hin th cc k t di dng m khc nhau. V d: UCS2 c nh dng 2 bytes v c rng khng i, UTF8 l b m nhiu byte c rng thay i.
T p k t database
T p k t qu c gia
Trang 260
Khng th thay i li sau khi to Khng th thay i li sau khi to database database Lu tr d liu theo cc kiu: CHAR, Lu tr d liu theo cc kiu: NCHAR, VARCHAR2, CLOB, LONG NVARCHAR2, NCLOB Lu tr tp d liu vi di thay i Lu tr tp d liu c di c nh v c thay i
m t mt i tng k t c di khng thay i s dng national character set, s dng kiu d liu NCHAR[size] m t mt i tng k t c di thay i m s dng national character set, s dng kiu NVARCHAR2[size]. m t mt i tng kiu CLOB cha cc k t nhiu byte d rng khng i s dng national character set, s dng kiu d liu NCLOB[size].
Cc h ng d n Tp k t ca database v tp k t quc gia c th quan h rt gn gi, v d: cc khch hng ngi nht s chn tp k t JA!16EUC lm tp k t cho database v JA16EUCFIXED nh l tp k t cho quc gia. Tm kim trn cc chui k t vi kiu k t c rng khng i s nhanh hn so vi tp k t c rng thay i. Tp k t c rng thay i s s dng khng gian hiu qu hn.
Ch nh cc tham s ph thu c ngn ng pha server Cc tham s khi to NLS_LANGUAGE quy nh cc gi tr c trng cho ngn ng (language-dependent) nh: Ngn ng s dng trong cc thng bo ca Oracle. Ngn ng s dng i vi tn ca ngy thng. Cc biu tng cho AM, PM , A.D v B.C. Th t sp xp d liu k t theo mc nh. Cc tham s khi to NLS_TERRITORY quy nh cc gi tr c trng cho tng vng lnh th (territory).
Trang 261
Bao gm: nh dng ngy thng theo mc nh. Du chm thp phn, du phn cch hng nghn. Biu tng tin t quc gia. Biu tng tin t chun ISO Ngy bt u ca tun.
Ch : Khi s dng cc tham s c trng cho tng vng lnh th nu gi tr c khong trng trong th cn t chng trong du ngoc kp. V d: The Netherlands
Tham s khi to NLS _LANGUAGE quyt nh gi tr mc nh cho cc tham s sau y: Tham s NLS_DATE_LANGUAGE NLS_SORT Di n gi i Thay i tng minh cc nh dng v thi gian, ngy thng Thay i trt t sp xp cc k t trong database
NLS_TERRITORY quyt nh gi tr mc nh cho cc tham s sau y: Tham s NLS_CURRENCY NLS_ISO_CURRENCY NLS_DATE_FORMAT NLS_NUMERIC_CHARACTERS Di n gi i Thay i tng minh cc k t biu din tin t K t biu din tin t ca quc gia theo chun ISO Ch r nh dng ngy thng Ch ra tng minh cc k t biu din trong s thp phn
Trang 262
Ch nh bin mi trng NLS_LANG NLS_LANG=<language>_<territory>.<charset> Thm cc bin mi trng : NLS_DATE_FORMAT NLS_DATE_LANGUAGE NLS_SORT NLS_NUMERIC_CHARACTERS NLS_CURRENCY NLS_ISO_CURRENCY NLS_CALENDAR Bi n mi tr ng NLS_LANG S dng bin mi trng NLS_LANG chp ln gi tr NLS mc nh s dng cho user. Xc nh gi tr ca tham s NLS_LANG: NLS_LANG=<language>_<territory>.<charset> Vi: language territory charset V d: NLS_LANG=GERMAN_GERMAN.W8EISO8850P1 Tham s NLS_LANG quy nh tp k t cho client. Cc clients khc nhau c th s dng cc b m k t khc nhau. D liu truyn i t client ti server s c chuyn i t ng t tp k t s dng ti client sang tp k t s dng ti server. Vic chuyn i ny l trong sut i vi cc ng dng ti client. Cc bi n mi tr ng m r ng Cc tham s khi to NLS u c th khai bo di dng bin mi trng, chng quy nh cc c trng ngn ng s dng ti mi clients. Tham s NLS_CALENDAR c s dng chn h thng lch m Oracle s s dng. Mt s tham s c th ch nh di dng bin mi trng NLS_LIST_SEPARATOR, NLS_DISPLAY, NLS_CREDIT, NLS_DEBIT, NLS_MONETARY,NLS_CHAR. ti clients: NLS_LANG, tn ngn ng quc gia s dng (l gi tr ca tham s NLS_LANGUAGE). c trng vng lnh th (l gi tr ca tham s NLS_TERRITORY). b m k t s dng bi ng dng pha client.
Trang 263
Ta cng c th s dng cng c SQL*Plus thit lp cc bin mi trng thay cho cu lnh ALTER SESSION. C th s dng package DBMS_SESSION.SET_NLS khi to cc tham s NLS cho session. V d: DBMS_SESSION.SET_NLS(NLS_DATE_FORMAT,DD.MM.YYYY);
23.mai.1987 03.dez.1981 03.dez.1981 23.jan.1982 14 rows selected. SVRMGR> SELECT ename, 2> TO_CHAR(sal,'99G999D99','NLS_NUMERIC_CHARACTERS='',.''') 3> FROM emp; ENAME TO_CHAR(SA ---------------SMITH 800,00 ALLEN 1.600,00 WARD 1.250,00 JONES 2.975,00 MARTIN 1.250,00 BLAKE 2.850,00 CLARK 2.450,00 SCOTT 3.000,00 KING 5.000,00 TURNER 1.500,00 ADAMS 1.100,00 JAMES 950,00 FORD 3.000,00 MILLER 1.300,00 14 rows selected. Cc hm SQL sau y s d ng tham s NLS Tn hm TO_DATE TO_NUMBER Tham s NLS NLS_DATE_LANGUAGE NLS_CALENDAR NLS_NUMERIC_CHARACTERS NLS_CURRENCY NLS_ISO_CURRENCY NLS_DATE_LANGUAGE NLS_NUMERIC_CHARACTERS NLS_CURRENCY NLS_ISO_CURRENCY NLS_CALENDAR NLS_SORT
TO_CHAR
Mt s gi tr c s dng ging nh cc mt n (mask) nh dng trong cc hm nh TO_CHAR, TO_DATE, v TO_NUMBER. D cho du phn chm thp phn G du phn cch hng nghn
Trang 265
L cho biu tng tin t C cho biu tng tin t theo chun ISO
Mt n nh dng cho ngy thng: RM, rm nh dng thng theo kiu roman IW dnh dng tun theo chun ISO IYYY, IYY, IY, v I nh dng nm theo chun ISO
View sau y hin th cc thng tin v NLS khi to cho session: SVRMGR> SELECT * FROM nls_session_parameters; PARAMETER VALUE ------------------------ -----------------------------NLS_LANGUAGE AMERICAN NLS_TERRITORY AMERICA NLS_CURRENCY $ NLS_ISO_CURRENCY AMERICA NLS_NUMERIC_CHARACTERS ., NLS_CALENDAR GREGORIAN NLS_DATE_FORMAT DD-MON-YY NLS_DATE_LANGUAGE AMERICAN NLS_SORT BINARY 9 rows selected.
Trang 266
NLS_SESSION_PARAMETERS
Hin th cc tham s NLS s dng trong parameter file ti server SVRMGR> SELECT * FROM nls_instance_parameters; PARAMETER VALUE -------------------------- -----------------------------NLS_LANGUAGE AMERICAN NLS_TERRITORY AMERICA NLS_SORT NLS_DATE_LANGUAGE NLS_DATE_FORMAT NLS_CURRENCY NLS_NUMERIC_CHARACTERS NLS_ISO_CURRENCY 8 rows selected. Hin th ni dung cc tham s mi trng ang s dng trong session SVRMGR> SELECT * FROM nls_session_parameters; PARAMETER VALUE ------------------------ -----------------------------NLS_LANGUAGE AMERICAN NLS_TERRITORY AMERICA NLS_CURRENCY $ NLS_ISO_CURRENCY AMERICA NLS_NUMERIC_CHARACTERS ., NLS_CALENDAR GREGORIAN NLS_DATE_FORMAT DD-MON-YY NLS_DATE_LANGUAGE AMERICAN NLS_SORT BINARY 9 rows selected. S dng cu lnh truy vn sau y ly thng tin v cc tham s khi to hp l: SVRMGR> SELECT * FROM v$nls_valid_values 2> WHERE parameter='LANGUAGE'; PARAMETER VALUE ---------------------LANGUAGE AMERICAN LANGUAGE GERMAN LANGUAGE FRENCH
Trang 267
Hin th gi tr hin thi ca gi tr NLS khi to SVRMGR> SELECT * FROM v$nls_parameters; PARAMETER VALUE ----------------------------------NLS_LANGUAGE AMERICAN NLS_TERRITORY AMERICA NLS_CURRENCY $ NLS_ISO_CURRENCY AMERICA NLS_NUMERIC_CHARAC ., NLS_CALENDAR GREGORIAN NLS_DATE_FORMAT DD-MON-YY NLS_DATE_LANGUAGE AMERICAN NLS_CHARACTERSET WE8ISO8859P1 NLS_SORT BINARY 10 rows selected.
Trang 268
PH L C
A DANH M C CC HNH V
KI N TRC ORACLE SERVER .........................................................14 C U TRC SHARE POOL ...............................................................15 DATABASE BUFFER CACHE............................................................15 REDO LOG BUFFER...................................................................... 16 DATABASE WRITER (DBWR)..........................................................17 LOG WRITER (LGWT)................................................................... 18 C U TRC DATABASE ..................................................................19 QUAN H GI A DATABASE, TABLESPACE V DATAFILE ......................21 K T N I T I ORACLE SERVER ......................................................25 ORACLE ENTERPRISE MANAGER.....................................................29 ORACLE ENTERPRISE MANAGER.....................................................31 CNG C T O H TR DATABASE ORACLE DATABASE ASSISTANT . . .40 PH NG TH C XC NH N QUY N .................................................45 KH I T O THAM S ...................................................................47 FILE THAM S V D ................................................................... 49 CC B C KH I NG V D NG INSTANCE ...................................50 SO SNH CC CH T T DATABASE ...........................................52 SO SNH TH I GIAN GI A CC CCH T T DATABASE .......................53 CC M C TRUY C P VIEW H TH NG .......................................57 DICTIONARYTRONG DATABASE...................................................... 60 DICTIONARY VIEWS....................................................................61 STORED PROCEDURES V CC PACKAGES CHU N .............................64 PACKAGES TRONG C S D LI U ................................................65 K T H P S D NG NHI U CONTROL FILE ....................................... 72 N I DUNG CONTROL FILE ............................................................73
Trang 269
NHM CC REDO LOG.................................................................. 78 T CH C CC REDO LOG FILES ..................................................... 80 L U TR D LI U CH NOARCHIVING ...................................82 L U TR D LI U CH ARCHIVING .......................................83 B SUNG ONLINE REDO LOG GROUPS ............................................87 B SUNG ONLINE REDO LOG MEMBERS ........................................... 88 NG NG S D NG ONLINE REDO LOG GROUPS .................................90 NG NG S D NG ONLINE REDO LOG MEMBERS ...............................90 C U TRC DATABASE ..................................................................92 QUAN H GI A TABLESPACE V DATAFILE ......................................93 D LI U NG I DNG NN T TRONG TABLESPACE RING ........... . .94 CC LO I SEGMENTS .................................................................110 CC LO I SEGMENTS (TI P THEO) ...............................................111 CC LO I SEGMENTS (TI P THEO) ...............................................112 S D NG V GI I PHNG CC EXTENTS .......................................113 K T H P CC VNG KHNG GIAN TR NG .....................................114 C U TRC C A BLOCK D LI U ................................................... 115 CC THAM S S D NG KHNG GIAN TRONG BLOCK ......................116 S D NG VNG KHNG GIAN TRONG BLOCK .................................. 117 CC VIEWS CH A THNG TIN V C U TRC L U TR .............. . . . . . .118 PHN LO I CC THNG TIN CHNH C TRONG DBA_SEGMENTS . . . . . . .119 PHN LO I CC THNG TIN CHNH C TRONG DBA_EXTENTS ...........120 PHN LO I CC THNG TIN CHNH C TRONG DBA_FREE_SPACE . . . . . .121 ROLLBACK SEGMENT.................................................................. 122 M C CH C A ROLLBACK SEGMENT ............................................123 S D NG D LI U TRONG ROLLBACK SEGMENT .............................125 TNG KCH TH C ROLLBACK SEGMENT .......................................126
Trang 270
GI M KCH TH C C A ROLLBACK SEGMENT ................................126 CC THNG TIN CHNH V ROLLBACK SEGMENTS ...........................131 CC THNG TIN TH NG K V SEGMENTS .....................................132 THNG TIN V CC THAO TC TRN CC SEGMENTS .......................134 CH N SESSION ......................................................................... 136 TEMPORARY SEGMENT...............................................................137 PHN LO I TEMPORARY SEGMENT ...............................................138 THU NH N THNG TIN V DATABASE INSTANCE ............................140 L U TR CC DNG D LI U TRONG M T TABLE ..........................142 CLUSTER.................................................................................143 CC KI U CLUSTER ...................................................................144 THNG TIN V CLUSTER ............................................................153 B NG C T CH C THEO KI U INDEX .....................................155 TRN DNG D LI U ................................................................. 158 THNG TIN V IOT ...................................................................159 C U TRC DNG D LI U D LI U .............................................. 162 CC KI U D LI U TRONG ORACLE ..............................................163 NH D NG C A M T ROWID .....................................................165 GI I H N C A ROWID .............................................................. 166 CNG TH C TNH PCTFREE V PCTUSED .......................................170 THAY I C U TRC C A TABLE .................................................171 HIGH WATER MARK...................................................................180 THU H I KHNG GIAN KHNG S D NG .......................................182 THNG TIN V CC TABLES TRONG DATABASE ...............................185 B_TREE INDEX.......................................................................... 188 REVERSE KEY INDEX.................................................................. 189 BITMAP INDEX.......................................................................... 190
Trang 271
KI M TRA TNH H P L C A INDEX .............................................198 THNG TIN V INDEX ................................................................199 T NG QUAN V VI C N P V L U TR D LI U ............................201 SQL*LOADER............................................................................ 203 PH NG TH C N P D LI U .....................................................204 N P D LI U NG TH I ..........................................................207 N P D LI U B NG SQL*LOADER ................................................208 D CH CHUY N D LI U .............................................................. 214 CC CH EXPORT D LI U ....................................................216 CC PH NG TH C EXPORT D LI U .........................................217 EXPORT CH INCREMENTAL ............................................... 220 EXPORT CH CUMULATIVE .................................................221 EXPORT CH TON B ......................................................221 S D NG CNG C IMPORT A D LI U VO DATABASE ..........223 CC THNH PH N B O M T .......................................................228 DATABASE SCHEMA...................................................................229 THNG TIN V USER TRONG DATA DICTIONARY .............................233 THNG TIN V GI I H N TI NGUYN .........................................239 QU N L M T KH U .................................................................. 240 THU H I QUY N TR C KHI THU H I .......................................248 THU H I QUY N SAU KHI THU H I ...........................................248 THU H I QUY N TRN I T NG TR C KHI THU H I .............250 THU H I QUY N TRN I T NG SAU KHI THU H I ..................251 CH C DANH TRONG DATABASE .................................................... 252
Trang 272