Professional Documents
Culture Documents
MC LC
CHNG 1. CC IM MI TRONG ORACLE 9I.............................9 CHNG 2. CC THNH PHN KIN TRC.................................14
2.1. KIN 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. KT NI TI ORACLE SERVER..................................................................25 2.2.1. M hnh kt ni...................................................................................................25 2.2.2. Mt s khi nim c bn lin quan n kt ni...................................................25 2.2.3. Kt ni ti database...........................................................................................26
CHNG 4. TO DATABASE.....................................................33
4.1. CC BC TO DATABASE......................................................................33 4.2. CHUN B MI TRNG..........................................................................33 4.2.1. Chun b h iu hnh........................................................................................33 4.2.2. Ln k hoch b tr cc file thng tin..................................................................33 4.2.3. Optimal Flexible Architecture OFA...................................................................34 4.2.4. Cu trc th mc phn mm Oracle...................................................................35 4.2.5. Bin mi trng..................................................................................................35 4.3. CHUN B CC THAM S TRONG PARAMETER FILE...................................36 4.4. CHUN B INSTANCE PHC V QUN TR.................................................37 4.4.1. To mt instance................................................................................................37 4.4.2. Khi ng instance.............................................................................................38 4.4.3. Dng instance....................................................................................................38 4.4.4. Hu instance......................................................................................................39 4.5. TO DATABASE......................................................................................39 4.5.1. Khi ng Instance.............................................................................................39 4.5.2. Lnh to database..............................................................................................39 4.5.3. Oracle Database Assistant..................................................................................41 4.5.4. File script v d to mt database......................................................................41 4.5.5. Li xy ra khi to database................................................................................42 4.5.6. Kt qu sau khi to database.............................................................................42 4.6. TO DATA DICTIONARY CHO DATABASE..................................................43
Kin trc v qun tr c s d liu Oracle 5.1.3. Application Developers.......................................................................................45 5.1.4. Database Users..................................................................................................45 5.1.5. Network Administrators......................................................................................45 5.2. PHNG THC XC NHN C QUYN TRUY NHP..................................45 5.2.1. Phng thc xc nhn quyn.............................................................................45 5.2.2. Xc nhn quyn bi h iu hnh......................................................................46 5.2.3. Xc nhn quyn bng file mt khu...................................................................47 5.2.4. Thay i mt khu internal.................................................................................47 5.3. TO PARAMETER FILE ...........................................................................48 5.3.1. S dng cc tham s..........................................................................................48 5.3.2. Mt s quy tc i vi cc tham s....................................................................49 5.3.4. Cc tham s c bn............................................................................................49 5.4. START V SHUT DOWN DATABASE..........................................................50 5.4.1. Cc bc Start v Shut down database..............................................................50 5.4.2. Start database....................................................................................................52 5.4.3. Thay i tnh sn dng ca database hin thi..................................................52 5.4.4. Shut down database...........................................................................................53 5.4.5. Thay i trng thi ca database.......................................................................54 5.4.6. Tm treo v phc hi Database..........................................................................55 5.4.7. t ch hot ng tnh cho database............................................................56 5.5. T TRNG THI TNH CHO DATABASE..................................................56 5.5.1. a Database vo trng thi tnh.......................................................................56 5.5.2. Phc hi h thng tr li hot ng nh bnh thng.........................................57 5.5.3. Xem trng thi ca database.............................................................................57 5.6. LY CC THNG TIN V H THNG..........................................................57 5.6.1. Mt s views cn quan tm................................................................................58 5.6.2. Hin th gi tr ca cc thng s h thng..........................................................58 5.6.3. Tham s h thng ng (c th thay i)...........................................................59 5.6.4. Qun l session..................................................................................................59 5.6.5. Trace file v ALERT file.......................................................................................60
Trang 2
Kin trc v qun tr c s d liu Oracle 9.7.3. M rng data files.............................................................................................104 9.7.4. Thay i kch thc data file.............................................................................105 9.7.5. Chuyn i ch ONLINE v OFFLINE............................................................105 9.7.6. Di chuyn cc data file.....................................................................................106 9.7.7. Tablespace ch c...........................................................................................107 9.7.8. Hu tablespace.................................................................................................107 9.8. THNG TIN V CC TABLESPACES.........................................................108 9.8.1. Xem thng tin tablespace.................................................................................109 9.8.2. Xem thng tin data files...................................................................................110
Trang 4
Kin trc v qun tr c s d liu Oracle 11.4.2. Xem thng tin thng k v rollback segment.................................................133 11.4.3. Thng tin v rollback segment ang active....................................................135 11.5. CC VN LIN QUAN TI ROLLBACK SEGMENT................................136 11.5.1. Thiu khng gian cho cc transactions...........................................................136 11.5.2. Li c d liu khng ng nht.....................................................................136 11.5.3. Chn session..................................................................................................136
Trang 5
Kin trc v qun tr c s d liu Oracle 14.4.2. Null / Not Null.................................................................................................178 14.4.3. Unique............................................................................................................178 14.4.4. Primary Key....................................................................................................178 14.4.5. Foreign Key ( Referential Key)........................................................................179 14.4.6. Check ............................................................................................................179 14.5. QUN L KHNG GIAN LU TR TRONG TABLE....................................180 14.5.1. Thay i thng tin lu tr v tham s s dng Block......................................180 14.5.2. Cp pht cc extents bng tay (manually).....................................................181 14.5.3. High Water Mark.............................................................................................181 14.5.4. Thu hi khng gian khng s dng.................................................................183 14.5.5. Truncate mt table.........................................................................................184 14.5.6. Xo table........................................................................................................184 14.5.7. Kim tra cu trc bng...................................................................................184 14.5.8. Pht hin cc rows b migration .....................................................................185 14.6. THNG TIN V TABLES........................................................................186 14.6.1. Thng tin chung v cc tables........................................................................186 14.6.2. Thng tin v s dng block v thng tin chaining..........................................187
Trang 6
Kin trc v qun tr c s d liu Oracle 16.4. T CHC LI D LIU BNG CNG C EXPORT V IMPORT...................215 16.4.1. Cng c dch chuyn d liu...........................................................................215 16.4.2. Cc ch Export..........................................................................................216 16.4.3. Export d liu trc tip v Export d liu thng thng.................................218 16.5. CNG C EXPORT...............................................................................219 16.5.1. S dng cng c Export.................................................................................219 16.5.2. Gii thiu mt s ch export.....................................................................221 16.5.3. Cc tablespaces trao i................................................................................223 16.5.4. Mt s thng bo khi export: Warning, Error, v Completion Messages.........223 16.6. CNG C IMPORT...............................................................................224 16.6.1. S dng cng c Import.................................................................................224 16.6.2. Chuyn i character set ...............................................................................228
Trang 7
Kin trc v qun tr c s d liu Oracle 20.1.2. Li ch ca vic s dng chc danh................................................................254 20.2. QUN L CHC DANH.........................................................................255 20.2.1. To v sa cha cc Chc danh ....................................................................255 20.2.2. Cc chc danh c nh ngha sn...............................................................255 20.2.3. Sa cha cc chc danh.................................................................................256 20.2.4. Gn cc chc danh.........................................................................................257 20.2.5. Thit lp chc danh mc nh.........................................................................257 20.2.6. Enable v Disable cc chc danh...................................................................258 20.2.7. Thu hi cc chc danh t cc user.................................................................259 20.2.8. Xo cc chc danh.........................................................................................259 20.3. THNG TIN V CC CHC DANH..........................................................259
Trang 8
Cho php lu tr trn nhiu ch lu 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 qun 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. Cp nht li cc global indexes mi khi thc hin thao tc bo 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 dng ng thi nhiu 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. Qun 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 . Qun 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. Qun l vic khi phc (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
Trang 10
thng tin phc hi ny. Vic 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. Qun 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 bng 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 cng 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 mc 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. Mt 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. Qun l vic s dng 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. Lit 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 hot 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. im mi 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). v nh xc thc (Proxy authentication and
C ch xc thc 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
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. Data Dictionary Cache Data dictionary cache l mt thnh phn ca Shared pool lu tr thng tin ca dictionary cache c s dng gn nht nh cc nh ngha cc bng, nh ngha cc ct, usernames, passwords, v cc privileges (quyn). Trong giai on phn tch lnh (parse phase), Server process s tm cc thng tin trong dictionary cache xc nh cc i tng trong cu lnh SQL v xc nh cc mc quyn tng ng. Trong trng hp cn thit, Server process c th khi to v np cc thng tin t cc file d liu.
Trang 15
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.
Trang 16
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.
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 s khi to LOG_CHECKPOINT_INTERVAL v LOG_CHECKPOINT_TIMEOUT Khi c yu cu trc tip ca qun tr vin
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:
Trang 20
Tn ca database. 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. Databases, Tablespaces, v Datafiles Mi quan h gia cc databases, tablespaces, v datafiles c th c minh ho bi hnh v sau:
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.
Trang 21
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 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. Oracle Data Blocks L mc phn cp logic thp nht, cc d liu ca Oracle database c lu tr trong cc data blocks. Mt data block tng ng vi mt s lng nht nh cc bytes vt l ca database trong khng gian a cng. Kch thc ca mt data block c ch ra cho mi Oracle database ngay khi database c to lp. Database s dng, cp pht v gii phng vng khng gian lu tr thng qua cc Oracle data blocks. 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
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.
nh kch thc ca block buffers chun. Kch thc ca mt block chun li c quy nh trong tham s DB_BLOCK_SIZE. Tuy vy, tham s DB_BLOCK_BUFFERS vn c s dng tng thch vi cc phin bn trc, tuy nhin gi tr ca n khng c s dng cho cc tham s ng. 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. iu chnh kch c ca Shared Pool 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. iu chnh kch c ca 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. . Gii hn kch c ca 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
Trang 25
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 ClientServer, cc cng c hay ng dng ny c chy trn my Client. 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 Cng c qun tr c s d liu Oracle theo ch dng Line Mode lnh nh start (khi ng), shutdown (dng) database,... SQL*Plus Mode Line y l mt tin ch s dng cho vic cng qun tr nh starting up, shutting down, hoc phc hi database.
Oracle Enterprise L cng c c giao din ha thc hin vic qun tr, Manager iu khin v thay i mt hoc nhiu database. SQL*Loader Tin ch s dng np cc file bn ngoi vo trong cc bng ca Oracle .
Cng c Export v Tin ch s dng exporting hoc importing d liu theo Import khun 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 28
online redo log files, redo log file RECOVER DATABASE STARTUP/ SHUTDOWN Phc hi li mt hay nhiu tablespaces Khi ng hoc tt Oracle instance
Hnh v 10.
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
Hnh v 11.
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.
Trang 31
Tablespaces Manager: cng c gip cho d dng qun l cc tablespace c trong database.
Trang 32
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 33
Trong parameter file, tn ca cc control files c t phn cch nhau bi cc du phy. V d: control_files = (C:\ORANT\DATABASE\CTL1KTKB.ORA, C:\ORANT\DATABASE\CTL2KTKB.ORA)
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
OFA vi cc tin ch gip cho vic bo tr database c n gin. 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.
Cu trc th mc con Th mc Admin Demo Doc Install Lib Log File scripts qun tr File d liu v cc scripts minh ho README file Cc file phc v cho vic ci t Cc th vin sn phm Cc file log Din gii
Trang 35
CONTROL_FILES
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
Trang 36
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
C th to mi, start, stop, sa i Ch c th to mi hay hu b hay xo b instances. Khng can databse. Khng th start hay stop thip ti database files database C th s dng sa i instance Dng to password file v service lin quan. Khng to database c Khng th sa i instance Dng to password file v service lin quan, instance v c database
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
Trang 37
t ch khi ng instance phc v (khi ng service trn my ch server) -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 38
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
Database
Tn ca CSDL cn to (tn ny ging vi tn ca tham s DB_NAME trong parameter file) 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
Trang 40
Hnh v 12.
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.
DATAFILE 'C:\ORANT\database\Sys1U16.ora' SIZE 50M 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
ng
l:
Trang 43
Trang 44
Lu : 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 45
Tu thuc vo vic qun tr database trn cng mt my hay my khc m ta c th s dng c ch xc nhn quyn truy nhp database bi h iu hnh hay hay password files.
Hnh v 13.
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 46
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.
Trang 47
C:\>ORADIM -NEW -SID sid [-INTPWD internal_pwd][SRVC svrcname] [MAXUSERS n][STARTMODE auto, manual][-PFILE filename] 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
Hnh v 14.
Khi to tham s
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 48
Cc tham s c th nh hng ti hiu qu s dng database. Cc thng s trong file tham s bao gm: Kch thc ca vng System Global Area (SGA) ti u hiu sut. t mc nh cho database v instance. 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.
DB_NAME IFILE
V d mt parametersfile:
Hnh v 15.
File tham s v d
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:
Trang 50
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:
Hnh v 16.
Khi phc 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
Trang 51
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. 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.
Trang 52
OPEN READ WRITE M database, sn sng cho vic s dng database, c c ln ghi. OPEN READ ONLY M database nhng ch cho c database nh s dng cc cu lnh truy vn chng hn. Cc thao tc ghi khng th thc hin c. Tu chn ny c s dng khi ta cn sao chp cc redo log files ca database. OPEN Tng t nh OPEN READ ONLY, y l biu din mc nh ca OPEN READ WRITE.
Hnh v 17.
So snh cc ch tt database
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 53
Hnh v 18.
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.
DATABASE_STATUS --------ACTIVE
Trang 55
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 56
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 57
Hnh v 19.
Vi hai cch trn ta u thu c mt kt qu: SVRMGR> SHOW PARAMETER control NAME ------------------------------control_file_record_keep_time control_files TYPE ------integer string VALUE -------------------7 /DISK1/control01.con
C php:
Trang 59
cho php tt c cc users truy nhp vo database 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 60
Hnh v 20.
Dictionarytrong database
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 61
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.
Hnh v 21.
Dictionary views
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. Tip 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. Tip 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. Tip 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 62
Phn loi mt s loi 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,... Din gii
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
Din gii 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 63
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 64
Hnh v 22.
Li ch ca 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.
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.
Hnh v 23.
Trang 66
Packages DBMS_SESSION
Din gii Kch hot vic thc hin Roles ca user 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 tt 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 cc objects trong schema Xc nh database phin bn ca
IS_ROLE_ENABLED
COMPILE_SCHEMA DB_VERSION DBMS_ROWID DBMS_SPACE ROWID_INFO UNUSED_SPACE FREE_BLOCKS DBMS_SHARED_P OOL KEEP UNKEEP SIZES DBMS_SQL OPEN_CURSOR PARSE BIND_VARIABLE BIND_ARRAY EXECUTE Function EXECUTE_AND_FETCH
Thng tin v dng d liu Vng khng gian khng s dng Cc blocks ri Lu tr cc shared pool Kch thc shared pool object trong
Tr v s hiu cursor (ID number) 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
Trang 67
dng d liu. FETCH_ROWS COLUMN_VALUE IS_OPEN CLOSE_CURSOR LAST_ERROR_POSITION LAST_ROW_COUNT LAST_ROW_ID LAST_SQL_FUNCTION_CODE Ly v cc dng d liu ca mt cursor. Ly v d liu ca ct Xc nh Cursor m hay cha. 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 68
FREELISTS 1 FREELIST GROUPS 1 BUFFER_POOL DEFAULT) TABLESPACE "USERS" ENABLE, CONSTRAINT "FK_DEPTNO" FOREIGN KEY ("DEPTNO") REFERENCES "SCOTT"."DEPT" ("DEPTNO") ENABLE NOVALIDATE ) PCTFREE 10 PCTUSED 40 INITRANS 1 MAXTRANS 255 LOGGING STORAGE(INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645 PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1 BUFFER_POOL DEFAULT) TABLESPACE "USERS"
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>
Trang 69
VALID: Stored procedures hay packages c trng thi l VALID nu n c bin dch v khng c li xy ra. Khi ny, n sn sng cho vic s dng. INVALID: l trng thi ngc li vi trng thi VALID. Stored procedures hay Packages vn cn li khi bin dch. Khi ny, ta cha th s dng c ngay.
C php lnh yu cu bin dch li Stored procedures: ALTER PROCEDURE [schema_name].<procedure_name> COMPILE [DEBUG]; 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_%
Trang 70
OBJECT_TYPE STATUS --------------- -------PACKAGES VALID PACKAGES BODY VALID TABLE VALID PACKAGES VALID PACKAGES BODY VALID PACKAGES VALID PACKAGES BODY VALID
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 71
Trong parameter file, cc tn ca control files c t phn cch nhau bi cc du phy. V d: control_files = (C:\ORANT\DATABASE\CTL1KTKB.ORA, C:\ORANT\DATABASE\CTL2KTKB.ORA)
Trang 72
Oracle khuyn co s dng t nht 02 control files. Cc control files nn c t ring bit trn cc a khc nhau phng s c. Nu mt control file b hng, ta c th sao chp li file ny ri khi ng li instance.
Hnh v 24.
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 73
Hnh v 25.
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.
Trang 74
Tt c cc control files ca database hin thi u b li v ta khng c bn backup ca chng. 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
Trang 75
Trang 76
Nu mt datafile tn ti trong data dictionary nhng cha c trong control file mi to, Oracle s to mt placeholder entry trong control file vi tn l MISSINGnnnn (trong nnnn l mt con s vit di dng thp phn). 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, ORA01177, 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 77
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 78
Hnh v 26.
sequence number c lu tr trong control file v trong phn header ca tt c cc data files.
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.
Hnh v 27.
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.
Trang 81
d liu ln log group mi v n gn mt s hiu duy nht xc nh c cc redo entries va lu gi. Mi khi xy ra s kin log switch ng thi mt s kin checkpoint cng s c khi to.
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 c Background process DBWR ghi ln datafiles. 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 instance vi cc ch tr ch abort Xy ra theo nh thi gian quy nh trong cc tham s khi to LOG_CHECKPOINT_INTERVAL v LOG_CHECKPOINT_TIMEOUT Khi c yu cu trc tip ca qun tr vin
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 82
Vic tch bit cc archive log files v online redo log files trn cc phn a khc nhau, c th lm gim bt xung t gia cc background process ARCH v LGWR. 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 trng hp hng a.
Ch NOARCHIVELOG Vi ch NOARCHIVELOG, cc online redo log files s b ghi mi khi online redo log file ghi y v xy ra log switches. LGWR s khng ghi ln redo log group cho ti khi kt thc checkpoint ca group
Trang 83
Lu tr d liu ch NOARCHIVING
Ch ARCHIVELOG Trong trng hp database c thit lp ch ARCHIVELOG, cc groups y, mc d trng thi inactive s vn c lu gi. Do tt c cc thay i trong database u c ghi li trong cc online redo log files, qun tr vin database c th s dng phng php sao chp vt l (physical backup) v c th khi phc li cc d liu commit trong database m khng s b mt d liu.
Hnh v 29.
Lu tr d liu ch ARCHIVING
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.
Tham s LOG_ARCHIVE_START trong parameter file xc nh cc ch lu tr ny. LOG_ARCHIVE_START = TRUE, thc hin lu tr ch t ng LOG_ARCHIVE_START = FALSE, thc hin lu tr ch manually
Tham s ARCHIVE_LAG_TARGET cho bit gii hn trn v thi gian (tnh theo n v giy) m current log cn s dng. Do thi gian lu tr khng chnh xc bng khong thi gian log switch. Tham s khi taon ny nn c thit lp vi gi tr khong 30 giy. ARCHIVE_LAG_TARGET = 1800 Gi tr 0 tng ng vi vic khng thc hin chc nng log switching. y l gi tr thit lp mc nh. Ta c th t gi tr cho tham s ARCHIVE_LAG_TARGET ngay c khi database khng trong ch sao lu (standby database). V d, tham s ARCHIVE_LAG_TARGET c th c thit 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 c switch trong mt khong thi gian qu ngn. Tuy nhin, trong trng hp cc redo c to ra vi tc khng u nh nhau, th khong thi gian ngt qung (interval) s a ra gii hn trn i vi current log. Khi database trong trng thi ngh (idle) v redo records khng c to 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 trng hp ARCHIVE_LAG_TARGET c thit lp vi gi tr qu thp th cng khng 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 hp l nng cao hiu sut h thng.
8.5.XC NH CH LU TR
bit c cc thng tin v vic lu tr, ta c th s dng mt s cch sau:
Trang 85
Cu lnh ny cho bit ch log ca database. V d: SVRMGR> ARCHIVE LOG LIST Database log mode No Archive Mode Automatic archival Disabled Archive destination ?/dbs/arch Oldest online log sequence 688 Current log sequence 689
Trang 86
Trong cu lnh trn, gi tr ca ct STATUS c biu hin nh sau: UNUSED ch ra online redo log group vn cha c s dng. Trng thi ny tng ng vi vic online redo log file mi c thm vo. CURRENT ch ra rng online redo log group ang c s dng. N cng ngm inh 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 c s dng nhng khng phi l online redo log group hin thi. INACTIVE ch ra online redo log group khng cn cn thit cho vic khi phc 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
LOG_CHECKPOINT_INTERVAL: S lng blocks (tnh theo s block ca h iu hnh) ln nht thc hin mt checkpoint LOG_CHECKPOINT_TIMEOUT: Khong thi gian ln nht (tnh theo n v giy) thc hin mt checkpoint.
Hnh v 30.
Vi cu lnh trn, ta cn ch ra tn v ng dn ca cc members trong tng group c th. Gi tr ca tham s GROUP c chn tng ng vi mi redo log file group. Trong trng hp b qua tham s ny, Oracle server s t ng sinh ra cc gi tr thch hp. Trong Oracle Enterprise Manager OEM, ta lm theo cc bc sau: 1. S dng Backup Manager 2. Chn Subsystem 3. Chn Logfile --> Add Logfile Group
Trang 88
Hnh v 31.
Tng t nh cc group, ta cng c th thm mi cc member cho tng group bng cu lnh SQL ALTER DATABASE [database] ADD LOGFILE MEMBER [ 'filename' [REUSE] [,'filename' [REUSE]]... TO {GROUP integer |('filename'[, 'filename']...) } ]... Lu : tn file c ch ra cn km theo ng dn y . Trong trng hp khng c ng dn, file s c xem nh c t trong th mc mc nh. Nu file thm mi tn ti, ta cn thm vo tu chn REUSE. Trong Oracle Enterprise Manager OEM, ta lm theo cc bc sau: 1. S dng Backup Manager 2. Chn Subsystem 3. Chn Logfile --> Add Logfile Member
Trang 89
Trong mt vi trng hp, ta cn phi dch chuyn cc file redo log ti mt v tr khc, m bo an ton chng hn. Khi ny, ta cn thc hin theo cc bc sau: 1. 2. 3. 4. Tt database. Sao chp cc online redo log files ti mt a im mi. Restart database ch mount. Thc hin lnh ALTER DATABASE RENAME FILE thay i con tr trong control file, tr ti mt ng dn file mi. 5. M li database (Lnh: ALTER DATABASE OPEN). Cu lnh i tn file: ALTER DATABASE [database] RENAME FILE 'filename'[, 'filename']... TO 'filename'[, 'filename']... Lu : Phi tn ti file ng dn mi ch ra. Trong Oracle Enterprise Manager OEM, ta lm theo cc bc sau: 1. 2. 3. 4. S dng Backup Manager Chuyn ti nt Logfile Group Chn log file group tng ng Thay i tn file trong trng thuc tnh.
Trang 90
Trong Oracle Enterprise Manager OEM, ta lm theo cc bc sau: 1. 2. 3. 4. 5. S dng Backup Manager Chuyn ti nt Logfile Group Chn log file group tng ng Chn Logfile --> Drop Logfile Group Bm nt OK.
Mt s im cn lu khi xo log groups Mt instance cn t nht hai nhm (group) cc online redo log files. Khng th hu (drop) group ang trng thi active. Khi hu mt online redo log group, thc cht ta ch hu v mt logic m thi. Oracle s khng tip tc qun l n na. Tuy nhin, cc file s vn cn v khng b xo bi h iu hnh.
Hnh v 33.
Trong Oracle Enterprise Manager OEM, ta lm theo cc bc sau: 1. 2. 3. 4. 5. S dng Backup Manager Chuyn ti nt Logfile Group Chn log file group tng ng Chn Logfile --> Drop Logfile Member Bm nt OK.
Trang 91
Mt s im cn lu khi xo log members Khng th ngng 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 trc khi ngng s dng cc member ca group hin thi. Khi hu mt online redo log member, thc cht ta ch hu v mt logic cc file vn khng b xo bi h iu hnh.
Trang 92
Hnh v 34.
Cu trc database
S dng 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
Trang 93
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 h thng
Hnh v 35.
Data files Mi mt tablespace c th bao gm mt hay nhiu data files, l cc file thuc h iu hnh dng lu tr d liu trong tablespace. Cc data files c mt s tnh cht chnh sau: Mt data file ch thuc v mt tablespace. Qun tr vin database c th thay i kch thc ca data file ngay c khi n c to lp, lm tng tnh nng ng cho cc i tng c trong tablespace.
Mt segment c th l mt data segment c th c tri rng trn nhiu datafiles thuc mt tablespace.
Trang 94
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 c quy inh bao gm mt hay nhiu extents. Khc vi segments, mt extent ch c nm duy nht trn mt data file. Data Blocks y l n v lu tr (lu khng phi l n v qun l) d liu nh nht trong database Oracle. Mt block d liu s tng ng vi mt hay nhiu blocks ca h iu hnh. (V d: h iu hnh Windows 32, 1 block h iu hnh = 32 kbytes = 32*1024 bytes). Kch thc ca block d liu c xc nh bi tham s khi to DB_BLOCK_SIZE ngay khi database c to. Block trong database cng l n v vo ra nh nht.
Hnh v 36.
Non-SYSTEM Tablespace
Trang 95
cc cc cc cc
Trang 96
Ta cng c th s dng mnh READ WRITE trong cu lnh ALTER TABLESPACE thay i trng thi tablespace read-only thnh trng thi read-write.
Ngay khi to tablespace, ta cn la chn lun phng php qun l vng khng gian s c p dng cho tablespace . Khi chn ri, ta khng th thay i phng php qun l khng gian na.
no trong cc tables ca data dictionary (Ngoi tr trng hp c bit lin quan n cc thng tin hn mc (quota) ca tablespace). Locally-managed tablespaces c mt s u im hn so vi dictionary-managed tablespaces l: Qun l cc b cc extents trnh cc thao tc qun l khng gian theo kiu quy. Vic ny c th xy ra khi s dng phng php dictionarymanaged tablespaces nu vic s dng hay gii phng khng gian l kt qu ca cc thao tc s dng hay gii phng khng gian trong rollback segment hay data dictionary table. Qun l cc b cc 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 thc ca cc extents c qun l cc b c th c xc nh t ng bi h thng. Mt khc, tt c cc extents c th c cng mt kch c nh nhau trong phng php locally-managed tablespace. Mnh LOCAL trong phn EXTENT MANAGEMENT ca cu lnh CREATE TABLESPACE s ch r phng thc qun l khng gian: Vi cc permanent tablespaces v temporary tablespaces, ta c th s dng mnh EXTENT MANAGEMENT LOCAL. Trong phin bn 8i, phng php qun l ny vn cha c p dng cho tablespace SYSTEM. Nu p dng, h thng s pht sinh li 809225.
Lu : ta khng th t ch offline cho tablespace nu n c cha cc rollback segments ang c s dng. t Offline cho tablespace Khi mt tablespace c a ra offline, Oracle s khng cho php thc hin cc cu lnh SQL c tham chiu ti cc objects lu tr trong tablespace ny. Oracle lu li cc d liu rollback tng ng khi thc hin cu lnh SQL trong mt rollback segment khc c trong tablespace SYSTEM thay v l rollback segment c trong tablespace c offline nu c. Tablespace c a v online tr li, Oracle s p li cc d liu rollback ang c trong tablespace SYSTEM vo tablespace . Ta ch c th a mt tablespace thnh online trong chnh database m n c to, khng th t online cho tabalespace trong mt database khc c. Vic ny c gim st bi cc thng tin c trong dictionary.
Trang 98
Oracle t ng thc hin chuyn ch t online thnh offline i vi tablespaces mi khi xy ra s c h thng. V d nh: tin trnh DBWn gp li.
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 ch i hi phi sao chp cc datafiles ri tch hp thng tin v cu trc ca tablespace vo database mi. C th s dng phng php trao i cc tablespaces dch chuyn cc index data, do , trnh vic ti to li (rebuilds) cc index, ta c th thc hin cng vic ny np d liu trong cc bng.
1. Ch c th thc hin trao i cc tablespaces m n khng cha cc tham chiu ti tablespace khc. 2. To mt transportable tablespace set. Transportable tablespace set cha cc datafiles ng vi tp cc tablespaces c s 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 di). 3. Chuyn i tablespace. Sao chp cc datafiles v export file sang database ch. C th s dng cc cng c sao chp file thng thng ca h iu hnh thc hin cng vic ny 4. a tablespace vo s dng (plug-in). Thc hin cng vic Import a cc tablespaces vo database ch. Minh ho vic 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 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 v trng 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 c kt xut; N khng kt xut cc rng buc tham chiu. 3. Thc hin sao chp cc datafile ca tablespace va c kt xut ra mt v tr khc. 4. t li trng thi bnh thng cho tablespace va c xem xt. ALTER TABLESPACE sales_1 READ WRITE; l:
Trang 100
5. a bn sao ca cc datafile va c sao chp vo v tr tng ng vi database ch. 6. Connect vo database mi vi mc quyn SYSDBA. 7. a cc tablespaces c kt xut vo database mi
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 th s dng cu lnh SQL to mt tablespace. C php: 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
Trang 101
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 tng t, ta c th thc hin trong Oracle Enterprise Manager OEM: 1. Chy Oracle Storage Manager. 2. Chn Tablespace>Create. 3. Trong General page ca bng thuc tnh, nhp vo tn tablespace ri chn ADD. 4. Trong bng thuc tnh Create Datafile, ch ra cc data file. 5. Trong phn Extents page, nhp vo cc thng tin lu gi 6. Chn mc Create. Hn ch S lng ti a cc tablespaces trn mi database l 64. S lng ti a cc data files trong mi tablespace l 1023.
1. Chy Oracle Storage Manager. 2. Chn Tablespace>Create. 3. Trong General page, nhp vo tn tng ng ri chn ADD hin th mc Create Datafile. 4. Trong Create Datafile ch ra tng data file c th. 5. Chn TEMPORARY trong nhm chn radio button. 6. Bm nt Create.
9.6.4. Cc tham s lu tr
Lng khng gian dng cho mt tablespace c xc nh trong mnh lu tr (storage clause). Cc tham s ny c xc nh ngay ti thi im to tablespace. Trong trng hp khng ch r cc tham s ny trong lnh to lp (CREATE), cc tham s s c s dng cc gi tr theo mc nh. C mt s tham s lu tr cn quan tm sau: INITIAL quy nh kch thc ca extent u tin. Kch thc nh nht ca extent u tin l 02 block = (2*DB_BLOCK_SIZE). Mc nh, kch thc ny l 5 blocks = (5* DB_BLOCK_SIZE). NEXT ng vi kch thc ca extent th hai. Kch thc ti thiu l 01 block. Mc nh, kch thc ny l 5 blocks = (5* DB_BLOCK_SIZE). MINEXTENTS s lng extent c to lp mi khi segment c to lp. Mc nh gi tr ny l 1. PCTINCREASE phn trm tng kch thc extent. Kch thc ca mt extent c xc nh theo kch thc:
Vi:
V d: NEXT = 200K, PCTINCREASE = 50. Ta tnh c extent th hai = 200K, extent th ba = 300K, extent th t = 450K MAXEXTENTS xc nh s lng ti a cc extents c trong mt segment. Gi tr nh nht l 1. Gi tr ln nht theo mc nh ph thuc vo kch thc ca block d liu. Gi tr ny cng c th c xc nh thng qua gi tr UNLIMITED, tng ng vi gi tr l 2147483645.
Thm mi cc data file vo tablespace Thay i dung lng cc data files ALTER TABLESPACE tablespace ADD DATAFILE filespec [autoextend_clause] [, filespec [autoextend_clause]]...
Vi Oracle Enterprise Manager, ta lm theo cc bc sau: 1. Chy Oracle Storage Manager. 2. Chn Tablespace>Create. 3. Trong General page, nhp vo tn tng ng ri chn ADD hin th mc Create Datafile. 4. Trong Create Datafile ch ra tng data file c th.
Thit lp ch AUTOEXTENT trong khi to 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 bc sau: 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 tng ng. Bm nt Create.
Thit lp ch AUTOEXTENT khi data file tn ti C php: ALTER DATABASE [database] DATAFILE 'filename'[, 'filename']...
Trang 104
autoextend_clause Trong OEM ta thc hin cc bc sau: 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 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);
Trang 105
Ch OFFLINE Oracle server khng cho php thc hin cu lnh SQL i vi cc i tng c trong tablespace c OFFLINE. Oracle server thc hin checkpoint i vi tt c cc data files thuc tablespace trc khi chuyn sang ch OFFLINE. Mi khi database c m, qun tr vin database c th chuyn ch offline cho tt c cc tablespace ngoi tr SYSTEM v cc tablespace tng ng vi cc active rollback segments hay temporary segments. Trong OEM ta c th thc hin theo cc bc sau: 1. 2. 3. 4. 5. Chy Oracle Storage Manager. Chuyn ti nt Tablespace. Chn tablespace tng ng. Trong General page, t ch trong Offline radio button. Bm nt Apply
Lnh ALTER DATABASE Lnh ny ch p dng cho cc tablespace khng l SYSTEM v khng cha rollback segments hay temporary segments. Cu lnh: ALTER DATABASE [database] RENAME FILE 'filename'[, 'filename']...
Trang 106
TO 'filename'[, 'filename']... V d: ALTER DATABASE RENAME FILE /DISK1/system01.dbf TO /DISK2/system01.dbf; Ta thc hin theo cc bc sau: 1. 2. 3. 4. 5. Shutdown database. Di chuyn data files bng lnh ca h iu hnh. Mount li database. Thc hin lnh ALTER DATABASE RENAME FILE. M li database.
Trong OEM ta lm nh sau 1. 2. 3. 4. Chy Oracle Storage Manager. Chuyn ti nt Tablespace ri chn data file tng 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 ch ny. C php: ALTER TABLESPACE tablespace READ{ONLY|WRITE} V d: ALTER TABLESPACE app_data READ ONLY; Trong OEM ta thc hin theo cc bc sau: 1. 2. 3. 4. 5. Chy Oracle Storage Manager. Chuyn ti nt Tablespace. Chn tablespace. Chn Tablespace>Make Read Only. Bm nt OK.
Thit lp ch ch c cho tablespace Ta c th thit lp ch ch c cho tablespace khi n m bo mt s iu 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 trng hp ta c th hu tablespace khi database.
Trang 107
Vic ny c th thc 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 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 thc hin theo cc bc sau 1. 2. 3. 4. Chy Oracle Storage Manager. Chuyn ti nt Tablespace chn tablespace tng ng. Chn Tablespace>Remove. Bm nt OK. INCLUDING CONTENTS
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 v segment c trong cc tablespaces. Thng tin v tablespaces. Thng tin v tablespaces. data free extents extents c c trong trong cc cc
Thng tin v tt c cc datafiles, bao gm c s hiu tablespace v user s hu tablespace. Thng tin v cc tempfiles, bao gm c s hiu tablespace v user s hu tablespace. Hin th cc datafiles thuc cc tablespaces. Hin th cc tablespaces. tempfiles thuc cc temporary
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
Trang 108
space cached (vng khng gian m trung gian) c s dng bi mi instance. V$TEMP_SPACE_HEADER DBA_USERS DBA_TS_QUOTAS V$SORT SEGMENT V$SORT_USER Hin th vng khng gian used/free ca mi tempfile. Cc tablespaces mc nh tablespaces ca cc users. v temporary
Hn mc s dng tablespace ca cc users. Thng tin v sort segment i vi mi instance. Vng khng gian sp xp trung gian c s dng bi user v temporary/permanent tablespace.
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 110
10.1.1. Table
Table (bng), l ni lu gi d liu trong database. D liu trong mt table c lu gi khng theo mt th t bt buc. Cc d liu trong mt table thuc loi nonpartitioned (khng phn khu) s phi lu gi trong cng mt tablespace.
Hnh v 37.
Cc loi segments
10.1.3. Cluster
Cc dng d liu trong mt cluster c lu tr theo cc gi tr ca trng kho (key column). Mt cluster c th cha mt hay nhiu tables v n c xem l mt kiu on 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 c lu tr trong mt index segment. Mt table c ti bao nhiu indexes, th s c by nhiu index segments c s dng. Mc ch ca segment ny l tm kim v nh v cc dng d liu trong mt table da trn mt kho c ch ra.
Trang 111
Hnh v 38.
Trang 112
Hnh v 39.
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 c to mi, c m rng hay b thay i (altered). V n s b thu hi khi segment b hu, b thay i, b ct bt (truncated). Ring i vi cc rollback segments, cc extent c th b t ng thu hi.
Trang 113
Hnh v 40.
Mi khi segments c to lp, n s c cp pht mt vng khng thch hp t nhng 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 c xem l used extent (extent c s dng). Khi cc segments gii phng vng khng gian, cc extents tng ng vi n s c gii phng v a vo vng free extents (extents ri) ca tablespace. Vi vic cp pht v gii phng cc extents c th gy nn hin tng phn on vng d liu trong cc data files ca tablespace.
Trang 114
Hnh v 41.
Lu Tin trnh SMON s ch kt hp cc extent trong cng tablespaces khi m PCTINCREASE ln hn 0. Trong storage clause mc nh ca tablespaces, t PCTINCREASE=1 khi cc user objects c th c t ng kt hp cc vng trng mi khi n c gii phng. Yu cu kt hp vng trng View DBA_FREE_SPACE_COALESCED c dng xem tablespace no c cc extents rng c th kt hp c vi nhau. S dng cu lnh truy vn sau y ly cc thng 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 di y: ALTER TABLESPACE tablespace COALESCE; Trong OEM, ta thc hin theo cc bc sau 1. 2. 3. 4. S dng cng c Oracle Tablespace Manager. Chuyn ti nt Expand Tablespaces. Chn tablespace tng ng. Chn mc Tools>Coalesce Free Extents.
Trang 115
10.3.BLOCK D LIU
10.3.1. Cu trc ca block d liu
Hnh v 42.
Cc Blocks d liu ca Oracle c cu thnh t cc phn sau: Block header (vng u): Header cha a ch ca block d liu, thng tin v table directory, row directory, v cc transaction slots. Thng tin trong Block headers s tng dn theo hng t trn xung di. Data space (vng d liu): Cc dng d liu c np vo block theo hng t di 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 b phn 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 116
Hnh v 43.
Cc tham s INITRANS v MAXTRANS ch ra s lng khi to, s lng ln nht cc transaction slots, c to trong mi index block hay data block. Cc transaction slots c s dng lu gi cc thng tin v cc transactions lm thay i cc block ti cng mt thi im. Mi transaction ch s dng mt transaction slot. INITRANS c gn gi tr mc nh bng 1 cho data segment, v 2 cho index segment. MAXTRANS c gn gi tr mc nh l 255, dng to ngng i vi cc transactions ng thi c lm thay i cc block d liu hay index block. Khi thit lp gi tr ny, vng khng gian cho cc transaction slots s c m bo c th thc hin cc transaction mt cch hiu qu. Tham s iu khin vng lu tr d liu PCTFREE trong mt data segment ch lng phn trm vng trng trong mi data block 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 lng phn trm ti thiu ca vng khng gian s dng, theo Oracle Server lu gi cc block d liu ca table. Mt block s c np li 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 c insert. Theo mc nh mi free list s c to tng ng vi mi segment. Tham s FREELISTS xc nh s lng free list. Mc nh, PCTUSED bng 40 phn trm.
Trang 117
PCTFREE v PCTUSED c tnh ton theo phn trm vng khng gian ca d liu, tc l vng khng gian ca Block cn li tr i vng khng gian header.
Hnh v 44.
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.
Trang 118
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. Phn loi cc Objects v phn on 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.
Hnh v 45.
Trang 119
Hnh v 46.
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 120
Hnh v 47.
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 121
Hnh v 48.
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 122
Hnh v 49.
Rollback segment
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 123
Hnh v 50.
Mc ch ca rollback segment
Phc hi 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. Nht qun trong vic c d liu 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 124
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 dng 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 125
Hnh v 51.
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 126
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.
Hnh v 53.
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. V d: Thu nh kch thc rollback segment RBS1 bng 100K:
Trang 127
Kin trc v qun tr c s d liu Oracle ALTER ROLLBACK SEGMENT rbs1 SHRINK TO 100K;
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 lng 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.
Trang 128
OPTIMAL, nu c ch ra th khng c nh hn gi tr kch thc khi to ca rollback segment c xc nh trong tham s MINEXTENTS. 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:
Trang 129
ALTER ROLLBACK SEGMENT rollback_segment ONLINE | OFFLINE Rollback segment s c trng thi online cho ti khi instance b tt (shutdown). t trng 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) Lu : 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 thc hin theo cc bc 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.
C php: ALTER ROLLBACK SEGMENT rollback_segment [STORAGE ( [NEXT integer[K|M]] [MINEXTENTS integer] [MAXEXTENTS {integer|UNLIMITED}] [OPTIMAL {integer[K|M]|NULL}] ) ] Trong OEM ta thc hin theo cc bc 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 131
4. Chn Rollback>Remove. Ta ch c th hy cc rollback segment trng thi offline. 5. Bm nt Yes trong hp thoi xc nhn.
Trang 132
Hnh v 54.
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
Trang 133
Hnh v 55.
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 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 ct USN EXTENTS RSSIZE XACTS OTPSIZE HWMSIZE AVEACTIVE Din gii 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,
Trang 134
STATUS
Hnh v 56.
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 ct SES_ADDR XIDUSN UBAFIL, UBABLK, UBASQN,UBAREC USED_UBLK START_UEXT, START_UBAFIL, Din gii a ch ca session, ly c t V$SESION.SADDR S hiu ca transaction Rollback segment c s dng bi UBAFIL --------2 2 UBABLK ---------7 163 USED_UBLK ---------1 1
V tr hin thi ca rollback segment m transaction s ghi vo 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
Trang 135
START_UBABLK
Gii 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:
Gii php Tng ch s MINEXTENTS M rng kch thc extent Tng gi tr OPTIMAL
Trang 136
Hnh v 57.
Chn session
Vn 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. Gii 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 137
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.
Hnh v 58.
Temporary segment
Trang 138
Hnh v 59.
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 139
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 140
Hnh v 60.
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 ct 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; Din gii 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
Trang 141
TOTAL_EXTE ---------1
MAX_SORT_B ---------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 142
Hnh v 61.
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 143
13.1.1. Cluster
Mt cluster dng cha tp cc hng c quan h trong mt Oracle block.
Hnh v 62.
Cluster
S khc nhau gia bng c cluster v bng 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 ca 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.
Trang 144
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. Cluster s quyt nh gi tr cc tham s lu tr ca tt c cc tables trong cluster .
Trang 145
Hnh v 63.
Cc kiu Cluster
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.
Trang 146
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 nhc im ca phng 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 nhc im ca cc phng 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,
Trang 147
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 ] [ PCTUSED integer ] [ INITRANS integer ] [ MAXTRANS integer ] [ SIZE integer [ K | M ] ] [ storage-clause ] [ TABLESPACE tablespace ] [ INDEX ] schema column cluster data type SIZE 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.
Vi:
INDEX Lu :
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.
Trang 148
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 ]... ) 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);
Trang 149
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 ] [ 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.
Trang 150
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:
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.
Trang 151
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); Bng quy nh cc thao tc c th thc hin cho index v hash cluster Lnh ALTER CLUSTER Thao tc Thay i cc tham s s dng khi Index Cluster C Hash Cluster C C C C Khng Khng Khng Khng 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 Thay i SIZE Thay i HASHKEYS v HASH IS Gii phng khng gian Ti s dng khng gian C C C C C
TRUNCATE CLUSTER
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
Trang 152
DROP TABLE scott.ord; DROP TABLE scott.item; DROP CLUSTER scott.ord_clu; Cc tnh hung s dng 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: Chun 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 Index X Hash X X X
Tnh cht ca d liu 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 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 hot ng trn d liu trong cc bng 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.
Trang 153
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 154
Hnh v 64.
2> FROM dba_clu_columns 3> WHERE owner='SCOTT' 4> ORDER BY cluster_name, table_name; OWNER CLUSTER_NAME ------ -----------SCOTT OFF_CLU SCOTT OFF_CLU SCOTT ORD_CLU SCOTT ORD_CLU 4 rows selected. CLU_COLUMN_NA ------------COUNTRY POSTCODE ORD_NO ORD_NO TABLE_NAME ---------OFFICE OFFICE ITEM ORD TAB_COLUMN_NA ------------COUNTRY POSTCODE ORD_NO ORD_NO
13.4.INDEX-ORGANIZED TABLE
13.4.1. Tnh cht chung
Trang 156
Hnh v 65.
Cu trc lu tr Mt index-organized table lu ton b d liu cho bng trong mt cu trc BTREE, 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 xut mt 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 gia index-organized table v cc table Index-Organized Table Kho xc nh duy nht l ROWID Table Xc nh duy nht bi kho chnh
ROWID c ngm nh s dng cho Khng c ROWID cc index Khng c cc index ph FTS tr v cc dng d liu khng Duyt tt c ch s v tr v cc dng d liu theo th t kho chnh theo mt trt t Cho php cc rng buc duy nht Khng h tr cc rng buc duy nht
Trang 157
H tr vic phn vng, phn tn v Khng h tr vic phn vng, phn tn lan truyn (replication) d liu v 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 indexorgannized 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 ] Vi: schema table l owner ca bng l tn ca bng
ORGANIZATION INDEX
Trang 158
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.
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; Mt s gii hn 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 159
Hnh v 66.
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. To phn on (segment) cho mt 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 index-organnized table.
Cc hot ng c th trn index-organized table 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 indexorganized table.
Trang 160
Hnh v 67.
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 ----SALES Overflow Index Overflow TS Index TS PCT_THRESHOLD ----------------- -------- ----------- -------- ------------SYS_IOT_OVER_2049 SALES_PK DATA02 DATA01 20
Trang 161
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 162
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.
Hnh v 68.
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.
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 liu Test Test Test Test Bng m 8 bits 16 bits 8 bits 16 bits Kiu d liu CHAR(10) NCHAR(5) VARCHAR(10) NVARCHAR(5) Lu tr d liu
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.
Hnh v 69.
D liu kiu 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:
Trang 164
Kiu d liu 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. Kiu d liu 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). Kiu d liu lu tr i tng ln (LOB) LONG, LONG RAW Mt ct cho mt bng Kch thc c th ti 2GB SELECT tr v d liu LOB Nhiu ct cho mt bng C th ln ti 4GB SELECT tr v locator
D liu in-line (c th lu tr trong D liu c th l in-line hay out-of-line mt dng ca table) (d 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. Kiu d liu 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.
Trang 165
S dng RowID cho php truy xut nhanh chng cc rows ca mt table. RowID cn c lu tr trong Index ch nh r tng rows tng ng vi tng gi tr kho (key values).
nh dng ca 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.
Hnh v 70.
nh dng ca mt RowID
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
Trang 166
Xc nh v tr ca row nh gi tr ca RowID 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 gii hn (Restricted RowID)
Hnh v 71.
Gii hn ca 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. Mng bin (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 bng lng 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).
Trang 167
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. 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.
(column datatype[ , column datatype ].....) [TABLESPACE tablespace] [PCTFREE interger] [PCTUSED interger] [INITTRANS interger] [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; Lu : 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.
Trang 169
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. 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
Trang 170
kim trong danh sch cc block rng v tng kh nng tm kim khi cn thm khng gian s dng.
Hnh v 72.
Ch : Gi tr kch thc trung bnh (average row size) c th nh gi t vic s dng cu lnh ANALYZE TABLE.
Trang 171
C th gim thiu hin tng chaining cc rows bng cch t gi tr kch thc ca block l ln hoc cng c th tch cc table thnh nhiu tables nh hn m ti cc tables nh ny c t ct hn.
Trang 172
Hnh v 73.
Thm mi columns C php: ALTER TABLE table ADD (column_name [column_name V d: SQL>ALTER TABLE Dept 2 >ADD (job Table altered. varchar2(30)); datatype [DEFAULT datatype],...); expr],
Thay i cu trc mt column C php: ALTER TABLE table MODIFY (column_name [column_name V d: SQL>ALTER TABLE Dept 2 >MODIFY (ename Table altered. Xo bt 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:
Trang 173
expr],
varchar2(50));
ALTER TABLE emp DROP COLUMN sal; Xo ct SAL v COMM trong bng emp:
ALTER TABLE emp DROP (sal, comm);
nh du khng s dng 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); 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 ct d liu c nh du 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 174
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 bc thc hin vic nh ngha li 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. 2. 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. 3. Bt u tin trnh redefine bng vic gi th tc: DBMS_REDEFINITION.START_REDEF_TABLE(). 4. 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.
Trang 175
5. 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. 6. 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 bc thc hin redefine: 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.
Trang 176
S dng table constraints nhm p ng c mt s yu cu: Thit lp cc quy tc nghip v i vi d liu trong tng table nhiu mc khc nhau: kim tra tnh logic ca d liu trc khi thc hin cc thao tc insert, update hay delete tng dng d liu trn table. Ngn cn vic xo d liu trn table khi d liu ny c lin quan ti cc d liu thuc cc tables khc.
Cc loi rng buc ton vn d liu Rng buc NOT NULL UNIQUE PRIMARY KEY FOREIGN KEY Din gii 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
CHECK
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.
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 178
Ch ra rng buc duy nht (ging UNIQUE), tuy nhin kho l dng kho UNIQUE cp cao nht. Mt table ch c th c mt PRIMARY KEY. Cc gi tr trong PRIMARY KEY bt buc phi NOTT NULL. C php khi t CONSTRAINT mc TABLE: [CONSTRAINT constraint_name] PRIMARY KEY (column, Column..) C php khi t CONSTRAINT mc COLUMN [CONSTRAINT constraint_name] PRIMARY KEY
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 179
nh hng ca vic thay i cc tham s lu 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.
Gii hn:
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 hng ca vic 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:
519. Khi d liu c insert vo trong table th High Water Mark c chuyn n block cui cng c s dng. 520. High Water Mark khng c khi to li gi tr khi xo cc rows trong table. 521. Gi tr ca High Water Mark c lu tr trong phn Header ca table . 522. Khi Oracle server truy vn d liu trn ton b table, n c tt c cc blocks theo trnh t t di ln trn cho ti khi t n gi tr High Water Mark.
Hnh v 74.
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. 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);
Trang 182
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.
Hnh v 75.
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. Lu :
Trang 183
Do vic thu hi khng gian bi cu lnh trn s gii phng khng gian khng s dng nn vic s dng tun t cu lnh ny c th dn n phn mnh khng gian trong data file. trnh hin tng cn khi to gi tr MINIMUM EXTENT cho tablespace. gii phng vng khng gian bn di High Water Mark, thm ch khi High Water Mark l di gi tr MINEXTENTS cn s dng mnh KEEP 0.
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.
Trang 184
Oracle server thc hin kim tra tnh ton vn ca mi data block. S dng mnh CASCADE kim tra cu trc ca cc indexes trn table v thc thi vic tham chiu cho gia cc table v index ca table . Mc ch chnh ca cu lnh ny l thng k cc thng tin v table. T , s dng thng tin ny nhm mc ch ti u ho vic s dng khng gian lu tr. Mt s cch s dng khc l: Xo thng tin thng k v cc bng trong data dictionary. Kim tra cu trc cc bn. Xc nh mc Migration v Chaining ca cc rows trong table.
Kim tra cu 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] 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 185
V d: ANALYZE TABLE VOUCHER ESTIMATE STATISTICS; Tng ng vi lnh: ANALYZE TABLE VOUCHER ESTIMATE STATISTICS; SAMPLE 1024 ROWS Khi s dng mnh ESTIMATE STATISTICS, theo mc nh, n s dng 1024 rows
Hnh v 76.
Trang 186
Trang 187
Trang 188
Cu trc ca 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.
Hnh v 77.
B_TREE index
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 dng ca 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 ca 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 hng ca vic thc thi cu lnh DML i vi 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 189
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.
Hnh v 78.
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 190
Hnh v 79.
Bitmap index
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.
Cu trc ca 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 dng 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 191
Thch hp vi cc ct d liu trn tp Thch hp vi cc ct d liu trn tp gi tr ln gi tr nh Vic cp nht da trn kho quan h Cp nht da vo trng kho nn nn khng t kh t Khng hiu qu cho cc truy vn c s dng mnh OR Hiu qu cho cc truy vn c s dng mnh OR
Hu ch i vi OLTP (Online Hu ch i vi DSS (Decision support transsaction processing - dch v x system - h thng h tr quyt nh) l trc tuyn)
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 ]
Trang 192
Vi: 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 193
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
Trang 194
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. 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:
CREATE INDEX emp_name ON emp (mgr, emp1, emp2, emp3) ONLINE; 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;
Lu : 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.
Trang 196
Trang 197
Ly li khng gian cp pht cho index bng tay 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 hung c th phi xy dng li 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 ]
Trang 198
[ [ [ [
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 Btree index. V d: ALTER INDEX scott.ord_region_id_idx REBUILD TABLESPACE indx02;
Hnh v 80.
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 199
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.
Hnh v 81.
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
Trang 200
3> FROM dba_indexes 4> WHERE owner='SCOTT'; INDEX_NAME -----------EMP_LNAME_IDX ORD_ORD_NO_IDX ORD_REGION_ID_IDX 3 rows selected. TABLESPACE_NAME --------------INDX01 INDX01 INDX02 INDEX_TYPE ---------NORMAL NORMAL BITMAP UNIQUENES --------NONUNIQUE UNIQUE NONUNIQUE STATUS -----VALID VALID VALID
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 201
Hnh v 82.
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 202
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 dch khc ng thi to thay i trn bng 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.
Trang 203
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. 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.
Hnh v 83.
SQL*loader
SQL*Loader s dng 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 204
Hnh v 84.
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
Trang 205
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. 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 Khng thc hin cc trigger INSERT km km theo (nu c) theo 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 trn table, trong khi np. Trong khi np, cc user khc khng c php sa i d liu ca bng
Phng php lu tr d liu 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.
Lu li 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.
Trang 206
Thit lp cc rng buc 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. 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.
Thc hin 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 liu 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 207
Hnh v 85.
Np d liu ng thi
Tnh tun t ca cc cu lnh 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 hn 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 208
Hnh v 86.
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 dng khi np d liu T kho USERID CONTROL LOG BAD DATA DISCARD DISCARDMAX SKIP LOAD ERRORS ROWS BINDSIZE Din gii 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 210
Trang 211
Ch nh cc tham s lu tr cho phn on temporary c to khi s dng parallel load. Cc comment (ch dn) s dng tin t -- 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.
Mt s t kho hay s dng trong Control file: T kho INFILE Din gii 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
INFILE * INTO TABLE dept 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.
Cc thng tin ton cc: tn ca input file v output file, cc tham s dng lnh. Cc thng tin bng: tn bng, iu kin load v phng php load. 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 li xy ra khi load d liu 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.
Trang 214
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 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.
Gii quyt cc li 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.
Hnh v 87.
Trang 215
Cng c Export 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 dng 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 216
Hnh v 88.
Cc ch export d liu
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
Trang 217
khng th thc hin vi mi user. Ch rng trong ba ch export quyn ca user c s dng l role: EXP_FULL_DATABASE.
Hnh v 89.
Cch thng thng (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 trc tip (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.
Trang 218
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
Ch dng lnh (command line) 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 lnh s dng khi Import d liu T kho ANALYZE BUFFER Mc nh Y Din gii Cho php thc hin lnh ANALYZE i vi database trc khi import d liu
Kch thc ca b m s dng khi export. Tu theo Kch thc buffer c xc nh theo cng h iu thc: 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, c thc transaction. tt c cc thao tc export ch hin trong mt read-only
COMPRESS
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
Trang 219
p dng trn i tng HELP INCTYPE INDEXES LOG Y N 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) 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
a ra danh sch cc users s hu cc i tng c export Tn file cha cc tham s export Export d liu tho mn mt iu kin no .
V d: exp scott/tiger tables=emp query = \"where job=\'SALESMAN\' and sal\<1600\"
RECORD Y RECORDLENGTH
Ghi li ch d liu l incremental hay cumulative vo trong cc bng h thng: SYS.INCEXP, SYS.INCFIL v SYS.INCVID
Tu theo Kch thc tnh theo bytes ca bn ghi c h iu export hnh 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)
ROWS STATISTICS
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
Trang 220
> exp system/manager parfile=params.dat Ni dung ca params.dat FILE=dba.dmp GRANTS=y FULL=y ROWS=y
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:
Trang 221
Hnh v 90.
Export ch Incremental
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. 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.
Hnh v 91.
Export ch Cumulative
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.
Trang 222
Hnh v 92.
Export 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
Trang 223
Warning Messages (thng bo cnh bo) i vi cc li xy ra khng nghim trng (nonfatal errors) tin ch Export s khng dng vic export d liu ngay. V d, khi c mt li xy ra trong qu trnh exporting mt table, export s hin th cc thng bo li error message ri b qua table hin ti tip tc chuyn sang cc table khc. Cc li khng nghim trng c gi l cc warnings (cnh bo). Export s pht ra cnh bo mi khi c li khng nghim trng xy ra. V d, yu cu export mt table khng tn ti, tin ch Export s a ra thng bo khng c table tng ng v tip tc thc hin cc table cn li. > exp scott/tiger tables=xxx,emp Export: Release 8.1.6.0.0 - Production on Wed Oct 6 15:25:15 1999 (c) Copyright 1999 Oracle Corporation. All rights reserved.
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. Fatal Error Messages (thng bo li nghim trng) 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 tt) 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
Trang 224
Hnh v 93.
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 FULL Din gii 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 hu nh tables, grants, indexes, v procedures. 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 lnh C php: $imp [keyword=]{value|(value, value ...)} [ [ [,] keyword=]{value|(value, value ...)} ] ... Vi: keyword value Cc tham s dng lnh T kho Mc nh Din gii
Trang 225
ANALYZE BUFFER
Cho php thc hin lnh ANALYZE i vi database trc khi import d liu
Kch thc ca b m s dng khi import. Tu theo Kch thc buffer c xc nh theo cng h iu thc: hnh buffer_size = rows_in_array * maximum_row_size 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. 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 objects vocc schemas thuc FROMUSER N 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 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 C b qua cc li xy ra trong qu trnh import tip tc import d liu mi hay khng. Cc ch incremental Import Y 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 Kch thc tnh theo bytes ca 01 bn ghi h iu c import hnh 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
Trang 226
COMMIT N
expdat.dm p
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) Th t ca 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) 2. Cc nh ngha cc bng (Table definitions) 3. D liu trong cc bng (Table data) 4. Cc Index tng ng vi tng bng (Table indexes) 5. Cc Integrity constraints, views, procedures v triggers 6. 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 mt bng tn ti 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.
Trang 227
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 dng cho mt i tng 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 hng dn trong s dng 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 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.
character set. D liu c chuyn i sang character set ca user session trong qu trnh import sau c chuyn thnh database character set. Trong qu trnh chuyn i, bt c character set no trong export file khng tng ng vi character set ch u s c thay th bi character set mc nh. l character set c nh ngha bi database. chuyn i 100% thnh cng th tp k t trong database ch phi l tp cha ca tp k t trong tp ngun.
Trang 229
Hnh v 94.
Cc thnh phn bo mt
Authentication Mechanism (C ch xc nhn) 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 (hn mc 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 mc 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 230
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 (hn 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.
Hnh v 95.
Database schema
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.
Trang 231
6. Phn quyn truy nhp (privileges - quyn; roles - chc danh) cho user va to lp.
Trang 232
Password changed Trong OEM ta c th thc hin theo cc bc 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:
Trang 233
C php: 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 thc hin theo cc bc 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.
1 row selected. Gi tr -1 trong ct MAX_BLOCKS v MAX_BYTES cho bit ct ny cha c gn gi tr tng minh.
Hnh v 96.
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 235
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 dng 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 dng profile qun 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 236
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 Lu : 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 thc hin cc bc 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.
Trang 237
4. Bm nt Apply.
Gii hn v ti nguyn cho tng Call level Ti nguyn CPU_PER_CALL LOGICAL_READS_PER_CALL Din gii 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).
ALTER USER scott PROFILE developer_prof; Trong OEM, ta c th lm theo cc bc 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.
Mt s tnh cht ca 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 dng lnh 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.
[COMPOSITE_LIMIT max_value] [PRIVATE_SGA max_bytes] V d: ALTER PROFILE default LIMIT SESSIONS_PER_USER 5 CPU_PER_CALL 3600 IDLE_TIME 30; Trong OEM, ta thc hin theo cc bc 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 thc hin theo cc bc 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 240
Hnh v 97.
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 241
Hnh v 98.
Qun l mt khu
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 243
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.
DEVELOPER_PROF DEFAULT DEVELOPER_PROF DEFAULT DEVELOPER_PROF DEFAULT DEVELOPER_PROF DEFAULT DEVELOPER_PROF DEFAULT DEVELOPER_PROF 14 rows selected.
PASSWORD_LIFE_TIME 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
DEFAULT 1800 DEFAULT UNLIMITED DEFAULT VERIFY_FUNCTION DEFAULT .0006 DEFAULT 10 DEFAULT
Trang 245
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 246
Trang 247
SYSOPER
SYSDBA
ALTER DATABASE OPEN | MOUNT ALTER DATABASE BACKUP CONTROLFILE ALTER TABLESPACE BEGIN/END BACKUP RECOVER DATABASE, 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
YES NO YES
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.
Trang 249
Hai hnh di y s minh ho vic thu hi cc quyn h thng s dng WITH ADMIN OPTION.
Hnh v 99.
Hnh v 100.
Khng c s nh hng lan truyn khi thu hi quyn h thng, khi s dng tu chn WITH ADMIN OPTION.
Table
View
Sequenc e X
Procedur e
X X
X X X X
X X X X
ALL
ON object gn . WITH GRANT OPTION cho php ngi c gn quyn c th gn cc quyn cho mt user khc. Lu :
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 TABLE_NAME GRA PRIVILEGE GRA
Trang 251
---------- ----READ NO
Hnh v 101.
Trang 252
Hnh v 102.
Trang 253
Hnh v 103.
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. Chn cc quyn c sn 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 255
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 chc danh CONNECT RESOURCE DBA EXP_FULL_DATABASE IMP_FULL_DATABASE DELETE_CATALOG_ROLE EXECUTE_CATALOG_ROLE SELECT_CATALOG_ROLE Din gii 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
Mt s chc danh c bit 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)
Trang 257
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.
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 260
H tr ngn ng quc 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.
Trang 261
Tp 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... Tp k t Varying_Width nhiu 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. Tp k t Fixed_Width nhiu 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. Tp 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.
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 hng dn 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 thuc 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.
Trang 263
Cc tham s khi to NLS_TERRITORY quy nh cc gi tr c trng cho tng vng lnh th (territory). 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 Din gii 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 Din gii 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 264
Trang 265
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 dng 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 267
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
Trang 268
9 rows selected.
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
Trang 269
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 270
PH LC
A DANH MC CC HNH V
KIN TRC ORACLE SERVER......................................................14 CU TRC SHARE POOL............................................................15 DATABASE BUFFER CACHE........................................................16 REDO LOG BUFFER...................................................................16 DATABASE WRITER (DBWR)......................................................17 LOG WRITER (LGWT)................................................................18 CU TRC DATABASE...............................................................19 QUAN H GIA DATABASE, TABLESPACE V DATAFILE................21 KT NI TI ORACLE SERVER....................................................25 ORACLE ENTERPRISE MANAGER................................................29 ORACLE ENTERPRISE MANAGER................................................31 CNG C TO H TR DATABASE ORACLE DATABASE ASSISTANT ..............................................................................................41 PHNG THC XC NHN QUYN.............................................46 KHI TO THAM S..................................................................48 FILE THAM S V D.................................................................50 CC BC KHI NG V DNG INSTANCE...............................51 SO SNH CC CH TT DATABASE.......................................53 SO SNH THI GIAN GIA CC CCH TT DATABASE..................54 CC MC TRUY CP VIEW H THNG...................................58 DICTIONARYTRONG DATABASE.................................................61 DICTIONARY VIEWS..................................................................62 STORED PROCEDURES V CC PACKAGES CHUN......................65 PACKAGES TRONG C S D LIU.............................................66 KT HP S DNG NHIU CONTROL FILE...................................73 NI DUNG CONTROL FILE..........................................................74
Trang 271
NHM CC REDO LOG...............................................................79 T CHC CC REDO LOG FILES..................................................81 LU TR D LIU CH NOARCHIVING................................84 LU TR D LIU CH ARCHIVING....................................84 B SUNG ONLINE REDO LOG GROUPS........................................88 B SUNG ONLINE REDO LOG MEMBERS......................................89 NGNG S DNG ONLINE REDO LOG GROUPS............................91 NGNG S DNG ONLINE REDO LOG MEMBERS..........................91 CU TRC DATABASE...............................................................93 QUAN H GIA TABLESPACE V DATAFILE.................................94 D LIU NGI DNG NN T TRONG TABLESPACE RING........95 CC LOI SEGMENTS..............................................................111 CC LOI SEGMENTS (TIP THEO)...........................................112 CC LOI SEGMENTS (TIP THEO)...........................................113 S DNG V GII PHNG CC EXTENTS...................................114 KT HP CC VNG KHNG GIAN TRNG.................................115 CU TRC CA BLOCK D LIU...............................................116 CC THAM S S DNG KHNG GIAN TRONG BLOCK................117 S DNG VNG KHNG GIAN TRONG BLOCK............................118 CC VIEWS CHA THNG TIN V CU TRC LU TR................119 PHN LOI CC THNG TIN CHNH C TRONG DBA_SEGMENTS .120 PHN LOI CC THNG TIN CHNH C TRONG DBA_EXTENTS. . . .121 PHN LOI CC THNG TIN CHNH C TRONG DBA_FREE_SPACE .............................................................................................122 ROLLBACK SEGMENT..............................................................123 MC CH CA ROLLBACK SEGMENT.......................................124 S DNG D LIU TRONG ROLLBACK SEGMENT........................126 TNG KCH THC ROLLBACK SEGMENT..................................127
Trang 272
GIM KCH THC CA ROLLBACK SEGMENT...........................127 CC THNG TIN CHNH V ROLLBACK SEGMENTS.....................133 CC THNG TIN THNG K V SEGMENTS................................134 THNG TIN V CC THAO TC TRN CC SEGMENTS.................135 CHN SESSION.......................................................................137 TEMPORARY SEGMENT...........................................................138 PHN LOI TEMPORARY SEGMENT..........................................139 THU NHN THNG TIN V DATABASE INSTANCE.......................141 LU TR CC DNG D LIU TRONG MT TABLE......................143 CLUSTER...............................................................................144 CC KIU CLUSTER.................................................................146 THNG TIN V CLUSTER..........................................................155 BNG C T CHC THEO KIU INDEX..................................157 TRN DNG D LIU..............................................................160 THNG TIN V IOT..................................................................161 CU TRC DNG D LIU D LIU...........................................163 CC KIU D LIU TRONG ORACLE...........................................164 NH DNG CA MT ROWID..................................................166 GII HN CA ROWID ............................................................167 CNG THC TNH PCTFREE V PCTUSED..................................171 THAY I CU TRC CA TABLE..............................................173 HIGH WATER MARK................................................................182 THU HI KHNG GIAN KHNG S DNG..................................183 THNG TIN V CC TABLES TRONG DATABASE.........................186 B_TREE INDEX........................................................................189 REVERSE KEY INDEX...............................................................190 BITMAP INDEX.......................................................................191 KIM TRA TNH HP L CA INDEX..........................................199
Trang 273
THNG TIN V INDEX..............................................................200 TNG QUAN V VIC NP V LU TR D LIU........................202 SQL*LOADER..........................................................................204 PHNG THC NP D LIU...................................................205 NP D LIU NG THI........................................................208 NP D LIU BNG SQL*LOADER.............................................209 DCH CHUYN D LIU............................................................215 CC CH EXPORT D LIU.................................................217 CC PHNG THC EXPORT D LIU ......................................218 EXPORT CH INCREMENTAL ...........................................222 EXPORT CH CUMULATIVE..............................................222 EXPORT CH TON B...................................................223 S DNG CNG C IMPORT A D LIU VO DATABASE....225 CC THNH PHN BO MT....................................................230 DATABASE SCHEMA................................................................231 THNG TIN V USER TRONG DATA DICTIONARY........................235 THNG TIN V GII HN TI NGUYN......................................241 QUN L MT KHU...............................................................242 THU HI QUYN TRC KHI THU HI.....................................250 THU HI QUYN SAU KHI THU HI.........................................250 THU HI QUYN TRN I TNG TRC KHI THU HI..........252 THU HI QUYN TRN I TNG SAU KHI THU HI..............253 CHC DANH TRONG DATABASE...............................................254
Trang 274