You are on page 1of 269

CNG TY C PHN T VN TI NGN

H NI 07/ 2002

Kin trc v qun tr c s d liu Oracle

MC LC
MC LC ...................................................................................................... 1 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 .................................................................................... 24 2.2.1. M hnh kt ni ............................................................................................................ 24 2.2.2. Mt s khi nim c bn lin quan n kt ni................................................................ 25 2.2.3. Kt ni ti database...................................................................................................... 25

CHNG 3. CC CNG C QUN TR ORACLE .......................................... 27


3.1. CC CNG C QUN TR C S D LIU ORACLE ..................................................... 27 3.2. SERVER MANAGER LINE MODE ................................................................................... 27 3.2.1. Truy nhp Server Manager Line Mode ............................................................................ 27 3.2.2. Phn nhm cc lnh trong Server manager .................................................................... 28 3.2.3. Din gii cc lnh trong Server manager ........................................................................ 28 3.3. ORACLE ENTERPRISE MANAGER ................................................................................. 29 3.3.1. Kin trc OME .............................................................................................................. 29 3.3.2. Cc dch v chung ........................................................................................................ 30 3.3.3. Oracle Configuration Assistant ....................................................................................... 30 3.3.4. Oracle Enterprise Manager Console ................................................................................ 30 3.4. CC CNG C QUN TR KHC ................................................................................... 31

CHNG 4. TO DATABASE ....................................................................... 32


4.1. CC BC TO DATABASE .......................................................................................... 32 4.2. CHUN B MI TRNG ............................................................................................. 32 4.2.1. Chun b h iu hnh.................................................................................................. 32 4.2.2. Ln k hoch b tr cc file thng tin.............................................................................. 32 4.2.3. Optimal Flexible Architecture OFA ............................................................................... 33 4.2.4. Cu trc th mc phn mm Oracle............................................................................... 34 4.2.5. Bin mi trng ........................................................................................................... 34 4.3. CHUN B CC THAM S TRONG PARAMETER FILE.................................................... 35 4.4. CHUN B INSTANCE PHC V QUN TR .................................................................. 36 4.4.1. To mt instance ......................................................................................................... 36 4.4.2. Khi ng instance ....................................................................................................... 37 4.4.3. Dng instance.............................................................................................................. 37 4.4.4. Hu instance................................................................................................................ 38 4.5. TO DATABASE ............................................................................................................ 38 4.5.1. Khi ng Instance ...................................................................................................... 38 4.5.2. Lnh to database........................................................................................................ 38 4.5.3. Oracle Database Assistant ............................................................................................. 39 4.5.4. File script v d to mt database .................................................................................. 40 4.5.5. Li xy ra khi to database ........................................................................................... 41 4.5.6. Kt qu sau khi to database ........................................................................................ 41 4.6. TO DATA DICTIONARY CHO DATABASE .................................................................... 42

Trang 1

Kin trc v qun tr c s d liu Oracle

CHNG 5. QUN TR ORACLE DATABASE................................................ 43


5.1. PHN LOI USERS ....................................................................................................... 43 5.1.1. Database Administrators ............................................................................................... 43 5.1.2. Security Officers ........................................................................................................... 43 5.1.3. Application Developers.................................................................................................. 44 5.1.4. Database Users ............................................................................................................ 44 5.1.5. Network Administrators................................................................................................. 44 5.2. PHNG THC XC NHN C QUYN TRUY NHP .................................................. 44 5.2.1. Phng thc xc nhn quyn ........................................................................................ 44 5.2.2. Xc nhn quyn bi h iu hnh .................................................................................. 45 5.2.3. Xc nhn quyn bng file mt khu ............................................................................... 46 5.2.4. Thay i mt khu internal ........................................................................................... 46 5.3. TO PARAMETER FILE ................................................................................................. 47 5.3.1. S dng cc tham s .................................................................................................... 47 5.3.2. Mt s quy tc i vi cc tham s ................................................................................ 48 5.3.3. ................................................................................................................................... 48 5.3.4. Cc tham s c bn ...................................................................................................... 48 5.4. START V SHUT DOWN DATABASE.............................................................................. 49 5.4.1. Cc bc Start v Shut down database .......................................................................... 49 5.4.2. Start database ............................................................................................................. 51 5.4.3. Thay i tnh sn dng ca database hin thi ............................................................... 51 5.4.4. Shut down database ..................................................................................................... 52 5.4.5. Thay i trng thi ca database................................................................................... 53 5.4.6. Tm treo v phc hi Database ..................................................................................... 54 5.4.7. t ch hot ng tnh cho database ........................................................................ 55 5.5. T TRNG THI TNH CHO DATABASE ..................................................................... 55 5.5.1. a Database vo trng thi tnh .................................................................................. 55 5.5.2. Phc hi h thng tr li hot ng nh bnh thng ...................................................... 56 5.5.3. Xem trng thi ca database ......................................................................................... 56 5.6. LY CC THNG TIN V H THNG ............................................................................ 56 5.6.1. Mt s views cn quan tm ........................................................................................... 57 5.6.2. Hin th gi tr ca cc thng s h thng....................................................................... 57 5.6.3. Tham s h thng ng (c th thay i)....................................................................... 58 5.6.4. Qun l session ............................................................................................................ 58 5.6.5. Trace file v ALERT file ................................................................................................. 59

CHNG 6. DATA DICTIONARY, VIEWS V PACKAGES............................. 60


6.1. DATA DICTIONARY V VIEWS..................................................................................... 60 6.1.1. Data Dictionary ............................................................................................................ 60 6.1.2. Data Dictionary views ................................................................................................... 61 6.1.3. Sripts qun tr .............................................................................................................. 63 6.2. STORED PROCEDURES V CC PACKAGES CHUN ..................................................... 64 6.2.1. Gii thiu chung ........................................................................................................... 64 6.2.2. Stored procedures ........................................................................................................ 64 6.2.3. Packages chun ........................................................................................................... 65 6.2.4. Gii thiu mt s packages chun do Oracle cung cp ..................................................... 65 6.2.5. Package DBMS_METADATA ............................................................................................ 67 6.2.6. Package dbms_redefinition............................................................................................ 68 6.3. THNG TIN V CC STORED PROCEDURES ................................................................ 68

CHNG 7. QUN TR CONTROL FILES..................................................... 71


7.1. CONTROL FILES ........................................................................................................... 71 7.1.1. Gii thiu control file .................................................................................................... 71 7.1.2. Cch thc t tn control file ........................................................................................ 71 7.1.3. Kt hp nhiu control files............................................................................................. 71 7.1.4. Ni dung ca control file ............................................................................................... 72 7.1.5. Cc tham s nh hng ti kch thc ca control file ..................................................... 73 Trang 2

Kin trc v qun tr c s d liu Oracle


7.2. QUN TR CONTROL FILE............................................................................................ 73 7.2.1. To mi control file ...................................................................................................... 73 7.2.2. To mi control file cho mt database c sn............................................................. 75 7.2.3. Mt s li i vi cc Control Files ................................................................................. 75 7.2.4. Hu b Control Files ..................................................................................................... 76 7.3. THNG TIN TRNG THI CA CONTROL FILES .......................................................... 77

CHNG 8. QUN L REDO LOG FILES ..................................................... 78


8.1. S DNG CC REDO LOG FILES .................................................................................. 78 8.1.1. Redo log file ................................................................................................................ 78 8.1.2. Online Redo Log Groups ............................................................................................... 78 8.1.3. Online Redo Log Members ............................................................................................ 78 8.1.4. Ni dung ca Online Redo Log Files (Members)............................................................... 79 8.1.5. Active v Inactive Online Redo Log Files......................................................................... 79 8.1.6. Thit lp cc Redo Log Files khi to ............................................................................. 79 8.2. LGWR, LOG SWITCHES V CHECKPOINTS .................................................................. 80 8.2.1. Redo Log Buffer v Background process LGWR ............................................................... 80 8.2.2. Log Switches................................................................................................................ 80 8.2.3. Checkpoints ................................................................................................................. 81 8.3. LN K HOCH S DNG REDO LOG FILES................................................................. 81 8.3.1. Xc nh s lng Online redo log files........................................................................... 81 8.3.2. Ni t cc Online Redo Log Files .................................................................................. 81 8.3.3. Xc nh kch thc cho cc Online Redo Log Files .......................................................... 82 8.3.4. Lu tr cc redo log files .............................................................................................. 82 8.4. IU KHIN LU TR SAU I VI PRIMARY/STANDBY ......................................... 83 8.4.1. Thit lp tham s ARCHIVE_LAG_TARGET...................................................................... 83 8.4.2. Cc yu t nh hng ti tham s ARCHIVE_LAG_TARGET.............................................. 84 8.5. XC NH CH LU TR........................................................................................ 84 8.5.1. S dng lnh Server Manager ....................................................................................... 84 8.5.2. S dng thng tin trong data dictionary ......................................................................... 85 8.6. IU KHIN CC LOG SWITCHS V CHECKPOINTS.................................................... 86 8.6.1. Thc hin log switches ................................................................................................. 86 8.6.2. Thc hin checkpoint.................................................................................................... 86 8.6.3. iu chnh cc ngt qung checkpoints .......................................................................... 86 8.7. QUN TR CC REDO LOG FILES ................................................................................. 87 8.7.1. B sung cc online redo log groups................................................................................ 87 8.7.2. B sung cc online redo log members ............................................................................ 88 8.7.3. nh li ch cho cc redo log file ................................................................................... 88 8.7.4. Ngng s dng cc Online redo log groups .................................................................... 89 8.7.5. Ngng s dng cc Online redo log members ................................................................. 90 8.7.6. Xo rng Online redo log file ......................................................................................... 91

CHNG 9. QUN TR TABLESPACES V DATA FILES ............................... 92


9.1. CU TRC CA DATABASE........................................................................................... 92 9.1.1. Quan h gia database vi cc tablespaces v data files.................................................. 92 9.1.2. Quan h gia segment vi cc extent v cc blocks ........................................................ 93 9.2. PHN LOI CC TABLESPACES................................................................................... 94 9.2.1. Tablespace SYSTEM v non-SYSTEM.............................................................................. 94 9.2.2. Tablespaces read-only / read-write ................................................................................ 95 9.2.3. Temporary tablespace / permanent tablespace ............................................................... 95 9.3. QUN L KHNG GIAN TRONG TABLESPACES............................................................ 96 9.3.1. Dictionary-Managed Tablespaces ................................................................................... 96 9.3.2. Locally-Managed Tablespaces........................................................................................ 96 9.4. THIT LP TRNG THI CHO TABLESPACES............................................................... 97 9.5. TRAO I CC TABLESPACES GIA DATABASES........................................................ 97 9.5.1. Mt s hn ch trong vic trao i cc tablespace:.......................................................... 98 Trang 3

Kin trc v qun tr c s d liu Oracle


9.5.2. Cc bc thc hin chuyn i mt tablespace gia cc database.................................... 98 9.6. TO TABLESPACE......................................................................................................... 99 9.6.1. Lnh to tablespace ..................................................................................................... 99 9.6.2. Ch qun l cc tablespaces ................................................................................... 101 9.6.3. To temporary tablespace ........................................................................................... 101 9.6.4. Cc tham s lu tr.................................................................................................... 101 9.7. CC THAY I I VI TABLESPACE ....................................................................... 102 9.7.1. Chuyn i mt tablespace thnh mt temporary tablespace ......................................... 102 9.7.2. Thm mi cc tablespace............................................................................................ 102 9.7.3. M rng data files ...................................................................................................... 103 9.7.4. Thay i kch thc data file ....................................................................................... 103 9.7.5. Chuyn i ch ONLINE v OFFLINE ....................................................................... 104 9.7.6. Di chuyn cc data file................................................................................................ 105 9.7.7. Tablespace ch c ..................................................................................................... 106 9.7.8. Hu tablespace .......................................................................................................... 106 9.8. THNG TIN V CC TABLESPACES ............................................................................ 107 9.8.1. Xem thng tin tablespace............................................................................................ 108 9.8.2. Xem thng tin data files .............................................................................................. 108

CHNG 10. CU TRC LU TR............................................................ 110


10.1. CC LOI SEGMENTS............................................................................................... 110 10.1.1. Table....................................................................................................................... 110 10.1.2. Table partition.......................................................................................................... 110 10.1.3. Cluster..................................................................................................................... 110 10.1.4. Index ...................................................................................................................... 110 10.1.5. Index-Organized Table.............................................................................................. 111 10.1.6. Index Partition ......................................................................................................... 111 10.1.7. Rollback Segment ..................................................................................................... 111 10.1.8. Temporary Segment ................................................................................................. 111 10.1.9. LOB Segment ........................................................................................................... 111 10.1.10. LOB Index.............................................................................................................. 112 10.1.11. Nested Table .......................................................................................................... 112 10.1.12. Bootstrap Segment ................................................................................................. 112 10.2. QUN L EXTENTS................................................................................................... 112 10.2.1. Cp pht v thu hi cc extents ................................................................................. 112 10.2.2. S dng v gii phng cc extent .............................................................................. 113 10.2.3. Kt hp cc vng khng gian trng ............................................................................ 113 10.3. BLOCK D LIU ....................................................................................................... 115 10.3.1. Cu trc ca block d liu ......................................................................................... 115 10.3.2. Cc tham s s dng khng gian trong block .............................................................. 116 10.3.3. S dng khng gian trong block ................................................................................ 117 10.3.4. Phn loi mc phn on i vi tng loi segment ............................................... 117 10.4. THNG TIN V CU TRC LU TR ........................................................................ 118 10.4.1. Cc view lu tr thng tin ......................................................................................... 118 10.4.2. Xem thng tin v cc segments ................................................................................. 119 10.4.3. Thng tin v cc extents ........................................................................................... 120 10.4.4. Thng tin v cc vng trng ...................................................................................... 121

CHNG 11. QUN L ROLLBACK SEGMENTS......................................... 122


11.1. GII THIU ROLLBACK SEGMENTS......................................................................... 122 11.1.1. Khi nim ................................................................................................................ 122 11.1.2. Mc ch s dng segment........................................................................................ 122 11.1.3. Phn loi rollback segment ........................................................................................ 123 11.2. S DNG ROLLBACK SEGMENT............................................................................... 124 11.2.1. S dng rollback segment trong cc transaction.......................................................... 124 11.2.2. Tng trng i vi cc rollback segments ................................................................. 125 11.2.3. Ti u cc rollback segments..................................................................................... 126 Trang 4

Kin trc v qun tr c s d liu Oracle


11.3. QUN L ROLLBACK SEGMENTS.............................................................................. 126 11.3.1. S dng rollback segment ......................................................................................... 126 11.3.2. To rollback segment................................................................................................ 127 11.3.3. Thay i trng thi ca Rollback segments ................................................................. 128 11.3.4. Instance s dng rollback segment ............................................................................ 129 11.3.5. iu chnh kh nng lu tr ca rollback segment....................................................... 129 11.3.6. Gim bt rng ca rollback segment...................................................................... 129 11.3.7. Hy b rollback segment ........................................................................................... 130 11.3.8. Qun l undo t ng ............................................................................................... 130 11.4. THNG TIN V CC ROLLBACK SEGMENT............................................................... 131 11.4.1. Xem thng tin chung v cc rollback segment............................................................. 131 11.4.2. Xem thng tin thng k v rollback segment............................................................... 132 11.4.3. Thng tin v rollback segment ang active ................................................................. 133 11.5. CC VN LIN QUAN TI ROLLBACK SEGMENT ................................................ 134 11.5.1. Thiu khng gian cho cc transactions ....................................................................... 134 11.5.2. Li c d liu khng ng nht................................................................................ 134 11.5.3. Chn session ............................................................................................................ 135

CHNG 12. QUN L TEMPORARY SEGMENTS ..................................... 137


12.1. TEMPORARY SEGMENTS.......................................................................................... 137 12.1.1. Phn loi temporary segments................................................................................... 138 12.1.2. S dng cc Sort Segments....................................................................................... 139 12.1.3. Sort Extent Pool ....................................................................................................... 139 12.2. CP PHT KHNG GIAN CHO TEMPORARY SEGMENT ............................................ 139 12.3. THNG TIN V CC TEMPORARY SEGMENT............................................................ 140

CHNG 13. CLUSTERS V INDEX-ORGANIZED TABLES ........................ 142


13.1. TNG QUAN V CLUSTERS V INDEX-ORGANIZED TABLES ................................... 142 13.1.1. Cluster..................................................................................................................... 143 13.1.2. Xem xt v chn la Cluster ...................................................................................... 144 13.1.3. Cc kiu cluster ........................................................................................................ 144 13.1.4. Chn la kiu cluster ................................................................................................ 145 13.2. QUN L CLUSTER................................................................................................... 146 13.2.1. To cluster............................................................................................................... 146 13.2.2. To Hash Cluster ...................................................................................................... 148 13.2.3. Xc nh gi tr SIZE cho cluster ................................................................................ 149 13.2.4. Cc tham s ch nh cho hash cluster ........................................................................ 149 13.2.5. Sa i cc Cluster ................................................................................................... 150 13.2.6. Xo Cluster .............................................................................................................. 151 13.3. THNG TIN V CC CLUSTERS ................................................................................ 153 13.3.1. Xc nh Cluster v cc ct kho Cluster..................................................................... 153 13.3.2. Ly thng tin ct kho ca cluster v cc ct trong bng ............................................. 154 13.3.3. Ly thng tin cho hash cluster ................................................................................... 154 13.4. INDEX-ORGANIZED TABLE...................................................................................... 155 13.4.1. Tnh cht chung ....................................................................................................... 155 13.4.2. To mt index-organized table................................................................................... 156 13.4.3. Hin tng ROW OVERFLOW (trn dng d liu) ........................................................ 158 13.4.4. Ly thng tin IOT (Index Orrganized Table)............................................................... 159

CHNG 14. QUN L CC TABLES......................................................... 160


14.1. TNG QUAN V TABLES........................................................................................... 160 14.1.1. Phn loi cc tables .................................................................................................. 160 14.1.2. Cu trc cc dng d liu (row data) ......................................................................... 160 14.2. CC KIU D LIU TRONG TABLE ........................................................................... 161 14.2.1. Kiu d liu v hng............................................................................................... 161 14.2.2. Tp hp (collection).................................................................................................. 165 14.2.3. Kiu quan h (REF)................................................................................................... 166 Trang 5

Kin trc v qun tr c s d liu Oracle


14.2.4. Kiu d liu TIMESTAMP ........................................................................................... 166 14.3. QUN L CC TABLES.............................................................................................. 166 14.3.1. To table ................................................................................................................. 166 14.3.2. Thit lp gi tr PCTFREE v PCTUSED........................................................................ 168 14.3.3. Migration (di tr) v Chaining cc dng d liu ........................................................... 169 14.3.4. Sao chp mt tables ................................................................................................. 169 14.3.5. Qun tr columns trong table ..................................................................................... 170 14.3.6. Chuyn mt Table ti Segment hay Tablespace mi .................................................... 172 14.3.7. nh ngha li mt table ang online .......................................................................... 172 14.3.8. Bng ngoi External table....................................................................................... 174 14.4. CC RNG BUC (CONSTRAINTS) I VI TABLES .............................................. 175 14.4.1. Rng buc i vi tables ........................................................................................... 175 14.4.2. Null / Not Null .......................................................................................................... 175 14.4.3. Unique..................................................................................................................... 176 14.4.4. Primary Key ............................................................................................................. 176 14.4.5. Foreign Key ( Referential Key) ................................................................................... 176 14.4.6. Check ...................................................................................................................... 177 14.5. QUN L KHNG GIAN LU TR TRONG TABLE..................................................... 177 14.5.1. Thay i thng tin lu tr v tham s s dng Block ................................................... 177 14.5.2. Cp pht cc extents bng tay (manually) .................................................................. 178 14.5.3. High Water Mark ...................................................................................................... 179 14.5.4. Thu hi khng gian khng s dng ............................................................................ 180 14.5.5. Truncate mt table ................................................................................................... 181 14.5.6. Xo table ................................................................................................................. 181 14.5.7. Kim tra cu trc bng.............................................................................................. 182 14.5.8. Pht hin cc rows b migration ................................................................................. 182 14.6. THNG TIN V TABLES ............................................................................................ 183 14.6.1. Thng tin chung v cc tables ................................................................................... 183 14.6.2. Thng tin v s dng block v thng tin chaining........................................................ 184

CHNG 15. QUN L CC INDEXES ...................................................... 185


15.1. PHN LOI INDEXES ............................................................................................... 185 15.1.1. Index trn mt column v Index trn nhiu columns ................................................... 185 15.1.2. Unique index v Non-unique index ............................................................................. 185 15.1.3. Partitioned index v non-partitioned index .................................................................. 185 15.2. T CHC INDEX....................................................................................................... 185 15.2.1. B-TREE index ........................................................................................................... 185 15.2.2. Reverse Key Index.................................................................................................... 187 15.2.3. Bitmap Index ........................................................................................................... 188 15.2.4. So snh gia B-TREE index v Bitmap index ............................................................... 189 15.3. QUN L INDEX....................................................................................................... 189 15.3.1. To cc index........................................................................................................... 189 15.3.2. Mt s cch s dng index ........................................................................................ 192 15.3.3. To Index kho ngc (reverse key index) ................................................................. 193 15.3.4. To Bitmap index ..................................................................................................... 193 15.3.5. Thay i tham s lu tr cho index............................................................................ 194 15.3.6. Cp pht v thu hi khng gian s dng ca index...................................................... 194 15.3.7. Xy dng li (Rebuild) cc index ................................................................................ 195 15.3.8. Kim tra tnh hp l ca index ................................................................................... 196 15.3.9. Xo cc index........................................................................................................... 197 15.4. THNG TIN V CC INDEX ...................................................................................... 197 15.4.1. Xem thng tin v cc index ....................................................................................... 197 15.4.2. Tm cc ct trong mt index ...................................................................................... 198

CHNG 16. NP V T CHC LU TR D LIU .................................. 199


16.1. GII THIU CHUNG................................................................................................. 199 16.1.1. Tng quan vic np d liu ....................................................................................... 199 Trang 6

Kin trc v qun tr c s d liu Oracle


16.1.2. Np d liu trc tip ................................................................................................. 200 16.2. NP D LIU ........................................................................................................... 200 16.2.1. Np d liu bng SQL* Loader .................................................................................. 200 16.2.2. Phng php np d liu .......................................................................................... 202 16.2.3. So snh hai phng php np d liu ........................................................................ 203 16.2.4. Np d liu ng thi (Parallel direct load) ................................................................. 204 16.3. NP D LIU BNG SQL*LOADER........................................................................... 206 16.3.1. S dng SLQ*LOADER .............................................................................................. 206 16.3.2. Parameter file (tp tham s)...................................................................................... 207 16.3.3. Control file (tp iu khin) ....................................................................................... 208 16.3.4. Data file................................................................................................................... 210 16.3.5. Cc thnh phn ca log file ....................................................................................... 210 16.3.6. Cc file u ra khc .................................................................................................. 210 16.3.7. Cc hng dn khi s dng load............................................................................... 211 16.4. T CHC LI D LIU BNG CNG C EXPORT V IMPORT.................................. 212 16.4.1. Cng c dch chuyn d liu...................................................................................... 212 16.4.2. Cc ch Export .................................................................................................... 213 16.4.3. Export d liu trc tip v Export d liu thng thng ............................................... 214 16.5. CNG C EXPORT.................................................................................................... 215 16.5.1. S dng cng c Export ........................................................................................... 215 16.5.2. Gii thiu mt s ch export ................................................................................. 217 16.5.3. Cc tablespaces trao i ........................................................................................... 219 16.5.4. Mt s thng bo khi export: Warning, Error, v Completion Messages ......................... 219 16.6. CNG C IMPORT.................................................................................................... 220 16.6.1. S dng cng c Import ........................................................................................... 220 16.6.2. Chuyn i character set........................................................................................... 224

CHNG 17. QUN L USER ................................................................... 225


17.1. USER TRONG DATABASE ......................................................................................... 225 17.1.1. User v nhng thnh phn lin quan.......................................................................... 225 17.1.2. Database schema ..................................................................................................... 226 17.2. QUN L USER......................................................................................................... 226 17.2.1. Cc bc thc hin khi to mi user .......................................................................... 226 17.2.2. To mi user vi c ch xc nhn bi database .......................................................... 227 17.2.3. Thay i thuc tnh ca user ..................................................................................... 228 17.2.4. Thay i hn mc (quota) s dng tablespace............................................................ 228 17.2.5. Hu User ................................................................................................................. 229 17.3. THNG TIN V USER ............................................................................................... 229

CHNG 18. QUN L THNG TIN PROFILES......................................... 231


18.1. GII THIU PROFILE .............................................................................................. 231 18.2. QUN L PROFILE ................................................................................................... 232 18.2.1. To Profile ............................................................................................................... 232 18.2.2. Thit lp cc gii hn v ti nguyn ........................................................................... 233 18.2.3. Gn Profile cho User ................................................................................................. 233 18.2.4. t gii hn ti nguyn............................................................................................. 234 18.2.5. Thay i thng tin trong profile ................................................................................. 234 18.2.6. Hu profile ............................................................................................................... 235 18.2.7. Thng tin v cc gii hn ti nguyn .......................................................................... 235 18.3. QUN L MT KHU ................................................................................................ 236 18.3.1. To profile qun l mt khu ..................................................................................... 237 18.3.2. Cc tham s iu chnh mt khu .............................................................................. 238 18.3.3. Mt s c im chnh trong qun l mt khu ........................................................... 238 18.3.4. Hm cung cp mt khu cho ngi s dng ............................................................... 239 18.3.5. Thng tin v mt khu .............................................................................................. 239

CHNG 19. CC QUYN H THNG....................................................... 241


Trang 7

Kin trc v qun tr c s d liu Oracle


19.1. PHN LOI QUYN .................................................................................................. 241 19.1.1. Cc quyn h thng.................................................................................................. 241 19.1.2. Gn cc quyn h thng ........................................................................................... 241 19.1.3. Xc nhn user bng password file ............................................................................. 242 19.1.4. Thng tin v cc quyn ............................................................................................. 243 19.2. QUN L QUYN ...................................................................................................... 244 19.2.1. Thu hi cc quyn h thng ...................................................................................... 244 19.2.2. Quyn trn cc i tng.......................................................................................... 245 19.2.3. Gn cc quyn trn i tng.................................................................................... 246 19.2.4. Thng tin v cc quyn ............................................................................................. 246 19.2.5. Thu hi cc quyn trn i tng .............................................................................. 247

CHNG 20. QUN L CHC DANH (ROLE) ............................................ 249


20.1. CHC DANH (ROLE) TRONG DATABASE ................................................................. 249 20.1.1. Cc tnh cht ca chc danh...................................................................................... 249 20.1.2. Li ch ca vic s dng chc danh............................................................................ 249 20.2. QUN L CHC DANH.............................................................................................. 250 20.2.1. To v sa cha cc Chc danh ................................................................................ 250 20.2.2. Cc chc danh c nh ngha sn ........................................................................... 250 20.2.3. Sa cha cc chc danh ........................................................................................... 251 20.2.4. Gn cc chc danh ................................................................................................... 252 20.2.5. Thit lp chc danh mc nh.................................................................................... 252 20.2.6. Enable v Disable cc chc danh ............................................................................... 253 20.2.7. Thu hi cc chc danh t cc user ............................................................................. 254 20.2.8. Xo cc chc danh ................................................................................................... 254 20.3. THNG TIN V CC CHC DANH ............................................................................. 254

CHNG 21. TNH NNG H TR NGN NG QUC GIA....................... 256


21.1. NGN NG QUC GIA ............................................................................................. 256 21.1.1. Cc c im chnh .................................................................................................. 256 21.1.2. Chn tp k t cho database ...................................................................................... 256 21.1.3. Tp k t v tp k t quc gia ca database ............................................................... 257 21.2. CC THAM S NLS ................................................................................................... 258 21.2.1. La chn tham s..................................................................................................... 258 21.2.2. Ngn ng ph thuc v gi tr territory mc nh ........................................................ 259 21.2.3. Xc nh cc bin mi trng .................................................................................... 259 21.2.4. Ch nh c trng ngn ng (Language-Dependent) cho tng session ......................... 260 21.2.5. Tham s NLS v cc hm SQL ................................................................................... 261 21.3. THNG TIN V CC GI TR NLS C KHI TO ................................................ 263 21.3.1. Thng tin v tp k t s dng.................................................................................. 263 21.3.2. Thng tin v cc thit lp thng s NLS...................................................................... 263

PH LC................................................................................................... 266
A TI LIU THAM KHO................................................................................................. 266 B DANH MC CC HNH V ........................................................................................... 266

Trang 8

Kin trc v qun tr c s d liu Oracle

Chng 1. CC IM MI TRONG ORACLE 9i


Phin bn Oracle9i Release 1 (9.0.1) c a ra th trng vo u nm 2001 v c ci tin, b sung thm mt s chc nng, c im mi. Cc c im ny lm cho vic qun l database tr nn mm do, linh hot v hiu qu hn. Di y, ta s xem xt mt s c im mi ny: Cho php nh ngha li cu trc ca tables ang online Chc nng ny c cung cp trong gi package DBMS_REDEFINITION do Oracle cung cp, cho php ngi dng c th nh ngha li cu trc ca mt table thng quan cu lnh DML ngay khi n ang online. Vi cc phin bn trc, Oracle 8i, ta cng c th nh ngha li cu trc ca table nhng trc cn phi t ch offline cho n. iu ny khng thun tin cho vic qun tr. Cho php thc hin lnh ANALYZE VALIDATE STRUCTURE tc thi C th thc hin lnh ANALYZE ti u table ngay c khi ang c lnh DML thc hin trn table. iu khin lu tr sau Oracle cung cp c ch iu khin switching i vi cc online redo log group da theo thi gian (time-based). Trong cu hnh primary/standby, tt c cc noncurrent logs ti primary site s c lu tr ri vn chuyn ti standby database. Vic ny s hiu qu khi hn ch s lng cc redo records. Tm treo database Oracle9i cung cp chc nng suspend/resume. Qun tr vin s dng lnh ALTER SYSTEM SUSPEND tm treo database, dng mi thao tc truy xut vo ra i vi cc datafiles v control files. Khi database trng thi tm treo, cc thao tc vo ra (I/O operations) ang thc hin s c kt thc v nhng truy cp vo database mi pht sinh s c y vo queue. Thc hin lnh ALTER SYSTEM RESUME khi phc li tnh trng bnh thng ca database. t ch hot ng tnh cho database Oracle9i cho php a database vo ch hot ng tnh(quiesced state). Theo ch c cc DBA transactions, queries, v cc lnh PL/SQL l c php thc hin. Trng thi ny cho php ngi dng thc hin cc thao tc qun tr mt cch an ton. S dng cu lnh ALTER SYSTEM QUIESCE RESTRICTED a database v ch hot ng tnh. Kh nng khi phc v cp pht li khng gian Oracle s t ng thc hin tm treo (suspending) v sau khi phc (resuming) li vic thc hin cc thao tc database tn km (large database operations) trong trng hp c li cp pht khng gian. Nh vy m Oracle database server s c th t thc hin cc thao tc hp l thay v vic tr v thng bo li nh cc phin bn trc. Sau khi cc li ny c khc phc database li c t ng khi phc bnh thng.
Trang 9

Kin trc v qun tr c s d liu Oracle

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 thng tin phc hi ny. Vic s
Trang 10

Kin trc v qun tr c s d liu Oracle

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

Kin trc v qun tr c s d liu Oracle

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. 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
Trang 12

Kin trc v qun tr c s d liu Oracle

session c th c t ng chuyn sang mt nhm khc vi nhng yu cu ti nguyn khc. C kh nng ngn chn thc hin cc thao tc m c d kin l s phi chy trong mt thi gian di hn l khong thi gian cho php. C kh nng to mt undo pool, l ni cha mt s lng nht nh vng khng gian dnh cho vic khi phc thng tin (undo). C ch xc thc v nh xc thc (Proxy authentication and authorization) Oracle9i cho php mt server nm lp gia (middle-tier) xc nhn h mt client. Ta c th thc hin vic ny bng cch a vo mnh GRANT CONNECT THROUGH trong cu lnh ALTER USER. Ta cng c th ch r vai tr ca lp gia (middle tier) trong vic kt ni ti client. Application roles Oracle cho php gn roles cho cc application users m c kch hot bng cch s dng PL/SQL package. S dng mnh IDENTIFIED USING package trong cu lnh CREATE ROLE thc hin vic ny.

Trang 13

Kin trc v qun tr c s d liu Oracle

Chng 2. CC THNH PHN KIN TRC


2.1. KIN TRC ORACLE SERVER
Oracle server l mt h thng qun tr c s d liu i tng-quan h cho php qun l thng tin mt cch ton din. Oracle server bao gm hai thnh phn chnh l Oracle instance v Oracle database.

2.1.1. Oracle Instance


Oracle instance bao gm mt cu trc b nh System Global Area (SGA) v cc background processes (tin trnh nn) c s dng qun tr c s d liu. Oracle instance c xc nh qua tham s mi trng ORACLE_SID ca h iu hnh.

Background process

Hnh v 1. Kin trc Oracle Server

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. chi tit hn, ta s xem xt c th tng thnh phn.

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

Kin trc v qun tr c s d liu Oracle

Hnh v 2. Cu trc Share Pool

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 quy n tng ng. Trong trng hp cn thit, Server process c th khi to v np cc thng tin t cc file d liu.

Data buffer cache


Khi thc hin mt truy vn, Server process s tm cc blocks cn thit trong database buffer cache. Nu khng tm thy block trong database buffer cache, Server process mi c cc block t data file v to lun mt bn sao ca block vo trong vng nh m (buffer cache). Nh vy, vi cc ln truy xut ti block sau ny s khng cn thit phi truy xut vo datafile na.

Hnh v 3. Database buffer cache Trang 15

Kin trc v qun tr c s d liu Oracle

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.

Redo log buffer


Server process ghi li cc thay i ca mt instance vo redo log buffer, y cng l mt phn b nh SGA.

Hnh v 4. Redo log buffer

C mt s c im cn quan tm ca Redo log buffer: Kch thc c xc nh bi tham s LOG_BUFFER. Lu tr cc redo records (bn ghi hi phc) mi khi c thay i d liu. Redo log buffer c s dng mt cch thng xuyn v cc thay i bi mt transaction c th nm an xen vi cc thay i ca cc transactions khc. B m c t chc theo kiu circular buffer (b m ni vng) tc l d liu thay i s tip tc c np ln u sau khi vng m c s dng ht.

Background process Background process (cc tin trnh nn) thc hin cc chc nng thay cho li gi tin trnh x l tng ng. N iu khin vo ra, cung cp cc c ch x l song song nng cao hiu qu v tin cy. Ty theo tng cu hnh m Oracle instance c cc Background process nh: Database Writer (DBW0): Ghi li cc thay i trong data buffer cache ra cc file d liu. Log Writer (LGWR): Ghi li cc thay i c ng k trong redo log buffer vo cc redo log files. System Monitor (SMON): Kim tra s nht qun trong database. Process Monitor (PMON): Dn dp li ti nguyn khi cc tin trnh ca Oracle gp li. Checkpoint Process (CKPT): Cp nht li trng thi ca thng tin trong file iu khin v file d liu mi khi c thay i trong buffer cache.

Trang 16

Kin trc v qun tr c s d liu Oracle

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.

Hnh v 5. Database Writer (DBWR)

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

Kin trc v qun tr c s d liu Oracle

Hnh v 6. Log Writer (LGWT)

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

Kin trc v qun tr c s d liu Oracle

Checkpoint Process (CKPT) Cp nht li trng thi ca thng tin trong file iu khin v file d liu mi khi c thay i trong buffer cache. Xy ra checkpoints khi: Tt c cc d liu trong database buffers b thay i tnh cho n thi im checkpointed s c background process DBWRn ghi ln data files. Background process CKPT cp nht phn headers ca cc data files v cc control files. Checkpoints c th xy ra i vi tt c cc data files trong database hoc cng c th xy ra vi mt data files c th. Checkpoint xy ra theo cc tnh hung sau: Mi khi c log switch Khi mt shut down mt database vi cc ch tr ch abort Xy ra theo nh thi gian quy nh trong cc tham LOG_CHECKPOINT_INTERVAL v LOG_CHECKPOINT_TIMEOUT Khi c yu cu trc tip ca qun tr vin

khi

to

Thng tin v checkpoint c lu tr trong Alert file trong trng hp cc tham s khi to LOG_CHECKPOINTS_TO_ALERT c t l TRUE. V ngc li vi gi tr FALSE.

2.1.2. Oracle database


Oracle database l tp hp cc d liu c xem nh mt n v thnh phn (Unit). Database c nhim v lu tr v tr v cc thng tin lin quan. Database c xem xt di hai gc cu trc logic v cu trc vt l . Tuy vy, hai cu trc d liu ny vn tn ti tch bit nhau, vic qun l d liu theo cu trc lu tr vt l khng gy nh hng ti cu trc logic Oracle database c xc nh bi tn mt tn duy nht v c quy nh trong tham s DB_NAME ca parameter file.

Hnh v 7. Cu trc database

Trang 19

Kin trc v qun tr c s d liu Oracle

Cu trc vt l database Cu trc vt l bao gm tp hp cc control file, online redo log file v cc datafile: Datafiles Mi mt Oracle database u c th c mt hay nhiu datafiles. Cc database datafiles cha ton b d liu trong database. Cc d liu thuc cu trc logic ca database nh tables hay indexes u c lu tr di dng vt l trong cc datafiles ca database. Mt s tnh cht ca datafiles: Mi datafile ch c th c s dng trong mt database. Bn cnh , datafiles cng cn c mt s tnh cht cho php t ng m rng kch thc mi khi database ht ch lu tr d liu. Mt hay nhiu datafiles to nn mt n v lu tr logic ca database gi l tablespace. Mt datafile ch thuc v mt tablespace. D liu trong mt datafile c th c ra v lu vo vng nh b m ca Oracle. V d: khi mt user mun truy cp d liu trong mt table thuc database. Trong trng hp thng tin yu cu khng c trong cache memory hin thi, n s c c trc tip t cc datafiles ra v lu tr vo trong b nh. Tuy nhin, vic b sung hay thm mi d liu vo database khng nht thit phi ghi ngay vo cc datafile. Cc d liu c th tm thi ghi vo b nh gim thiu vic truy xut ti b nh ngoi ( a) lm tng hiu nng s dng h thng. Cng vic ghi d liu ny c thc hin bi DBWn background process. Redo Log Files Mi Oracle database u c mt tp hp t 02 redo log files tr ln. Cc redo log files trong database thng c gi l database's redo log. Mt redo log c to thnh t nhiu redo entries (gi l cc redo records). Chc nng chnh ca redo log l ghi li tt c cc thay i i vi d liu trong database. Redo log files c s dng bo v database khi nhng hng hc do s c. Oracle cho php s dng cng mt lc nhiu redo log gi l multiplexed redo log cng lu tr cc bn sao ca redo log trn cc a khc nhau. Cc thng tin trong redo log file ch c s dng khi phc li database trong trng hp h thng gp s c v khng cho php vit trc tip d liu trong database ln cc datafiles trong database. V d: khi c s c xy ra nh mt in bt cht chng hn, cc d liu trong b nh khng th ghi trc tip ln cc datafiles v gy ra hin tng mt d liu. Tuy nhin, tt c cc d liu b mt ny u c th khi phc li ngay khi database c m tr li. Vic ny c th thc hin c thng qua vic s dng ngay chnh cc thng tin mi nht c trong cc redo log files thuc datafiles. Oracle s khi phc li cc database cho n thi im trc khi xy ra s c. Cng vic khi phc d liu t cc redo log c gi l rolling forward. Control Files Mi Oracle database u c t nht mt control file. Control file cha cc mc thng tin quy nh cu trc vt l ca database nh: Tn ca database. Tn v ni lu tr cc datafiles hay redo log files.
Trang 20

Kin trc v qun tr c s d liu Oracle

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:

Hnh v 8. Quan h gia database, tablespace v datafile

C mt s im ta cn quan tm: Mi database c th phn chia v mt logic thnh mt hay nhiu tablespace. Mi tablespace c th c to nn, v mt vt l, bi mt hoc nhiu datafiles. Kch thc ca mt tablespace bng tng kch thc ca cc datafiles ca n. V d: trong hnh v trn SYSTEM tablespace c kch thc l 2 MB cn USERS tablespace c kch thc l 4 MB. Kch thc ca database cng c th xc nh c bng tng kch thc ca cc tablespaces ca n. V d: trong hnh v trn th kch thc ca database l 6 MB. Schema v Schema Objects Schema l tp hp cc i tng (objects) c trong database. Schema objects l cc cu trc logic cho php tham chiu trc tip ti d liu trong database. Schema objects bao gm cc cu trc nh tables, views, sequences, stored procedures, synonyms, indexes, clusters, v database links.
Trang 21

Kin trc v qun tr c s d liu Oracle

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 data blocks. Mt data block tng ng vi mt s lng nht nh cc bytes vt l ca
L mc phn cp logic thp nht, cc d liu ca Oracle database c lu tr trong cc

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 Temporary segments c t ng to bi Oracle mi khi mt cu lnh SQL statement cn n mt vng nh trung gian thc hin cc cng vic ca mnh nh sp xp d liu. Khi kt thc cu lnh , cc extent thuc temporary segment s li c hon tr cho h thng.

Data segment

index segment

rollback segment

temporary segment

Oracle thc hin cp pht vng khng gian lu tr mt cch linh hot mi khi cc extents cp pht s dng ht.

Trang 22

Kin trc v qun tr c s d liu Oracle

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.

2.1.3. Qun tr c s d liu Oracle


Qun tr c s d liu l cng vic bo tr v vn hnh Oracle server n c th tip nhn v x l c tt c cc yu cu (requests) t pha Client. lm c iu ny, ngi qun tr vin c s d liu cn phi hiu c kin trc ca Oracle database.

2.1.4. Thit lp cc tham s khi to nh hng ti kch c b nh SGA


Tham s khi to nh hng ti kch thc b nh cp pht cho vng System Global Area. Ngoi tr tham s SGA_MAX_SIZE, cn li cc tham s khc u l tham s ng tc l c th thay i gi tr ca chng ngay trong lc database ang chy thng qua cu lnh ALTER SYSTEM. Kch thc ca SGA cng c th thay i c trong qu trnh chy database. Thit lp tham s cho Buffer Cache Tham s khi to buffer cache quy nh kch thc ca buffer cache l mt phn ca SGA. . Ta s dng cc tham s DB_CACHE_SIZE v mt trong nhng tham s DB_nK_CACHE_SIZE cho php s dng ch multiple block sizes i vi database. Oracle s t ng gn cc gi tr mc nh cho tham s the DB_CACHE_SIZE, cn tham s DB_nK_CACHE_SIZE s c gn mc nh bng 0. Kch thc ca buffer cache s c nh hng nhiu ti hiu sut thc hin ca h thng. Kch thc cng ln th cng gim bt vic c v ghi a. Tuy nhin, kch thc ca cache ln s tn nhiu b nh v s c nhiu tn km trong vic thc hin paging (phn trang) hay swapping (trao i) b nh. Tham s DB_CACHE_SIZE Tham s khi to DB_CACHE_SIZE c s dng thay th cho tham s DB_BLOCK_BUFFERS ca cc phin bn Oracle trc kia. Tham s DB_CACHE_SIZE quy 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
Trang 23

Kin trc v qun tr c s d liu Oracle

DB_4K_CACHE_SIZE DB_8K_CACHE_SIZE DB_16K_CACHE_SIZE DB_32K_CACHE_SIZE. Mi tham s ch ra kch c ca buffer cache tng ng vi kch c ca block. V d:
DB_BLOCK_SIZE=4096 DB_CACHE_SIZE=12M DB_2K_CACHE_SIZE=8M DB_8K_CACHE_SIZE=4M

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.

2.2.KT NI TI ORACLE SERVER


2.2.1. M hnh kt ni
Cc Client c th kt ni ti Oracle Server thng qua 03 cch sau: Kt ni trc tip: kt ni m Client nm trn cng mt my ch Oracle server. Kt ni hai lp (two-tiered) client-server: Client nm trn mt my tnh khc v kt ni trc tip ti my ch Oracle Server. Kt ni ba lp (three-tiered): Client nm trn my tnh khc vi my ch Oracle Server, n giao tip vi mt ng dng hay mt my ch mng (network server) v iu khin ng dng hay my ch ny kt ni ti Oracle server.

Trang 24

Kin trc v qun tr c s d liu Oracle

Hnh v 9. Kt ni ti Oracle server

2.2.2. Mt s khi nim c bn lin quan n kt ni


Connection (lin kt) Lin kt l ng lin lc gia mt user process v mt Oracle server. Trong trng hp user s dng cc tool hoc cc ng dng ngay trn cng mt my vi Oracle server, ng lin lc s c to lp ngay trn my . Trong trng hp user nm trn mt my khc th lin kt s s dng ng mng kt ni ti Oracle server. Session (phin) Mt phin tng ng vi mt lin kt c th ca mt user ti mt Oracle server. Phin bt u khi user kt ni ti Oracle Server c kim tra hp l v kt thc khi user thc hin log out khi Oracle Server hoc user kt thc mt cch bt thng. Mt user cng mt lc c th c nhiu phin lm vic kt ni ti Oracle Server thng qua cc ng dng hay cc tool khc nhau. V du: User c th ng thi c cc phin lm vic gia SQL*Plus, Developer/2000 Form,... ti Oracle Server. Lu : Phin ch to lp c khi Oracle Server sn sng cho vic kt ni ca cc client.

2.2.3. Kt ni ti database
Cc bc thc hin kt ni kt ni ti database trc tin, cn phi to lin kt ti Oracle Server. Lin kt ti Oracle Server c to theo cc bc sau: User s dng cng c SQL*Plus hay s dng cc cng c khc ca Oracle nh Developer/2000 Forms khi to tin trnh. Trong m hnh Client-Server, cc cng c hay ng dng ny c chy trn my Client. 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.

Trang 25

Kin trc v qun tr c s d liu Oracle

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

Kin trc v qun tr c s d liu Oracle

Chng 3. CC CNG C QUN TR ORACLE


3.1.CC CNG C QUN TR C S D LIU ORACLE
Oracle hin ti cung cp rt nhiu cng c cho php qun tr c s d liu. C th k ra sau y mt s cng c c bn sau: Cng c Din gii

Server Manager Line Cng c qun tr c s d liu Oracle theo ch dng lnh nh Mode start (khi ng), shutdown (dng) database,... SQL*Plus Line Mode Oracle Manager y l mt tin ch s dng cho vic cng qun tr nh starting up, shutting down, hoc phc hi database.

Enterprise L cng c c giao din ha thc hin vic qun tr, iu khin v thay i mt hoc nhiu database. Tin ch s dng np cc file bn ngoi vo trong cc bng ca Oracle .

SQL*Loader

Cng c Export v Tin ch s dng exporting hoc importing d liu theo khun Import dng ca Oracle. Password File Tin ch s dng to file mt khu trong database.

thun tin, ti liu s trnh by hai cng c thng dng nht qun tr c s d liu l: Server Manager Line Mode Oracle Enterprise Manager

3.2.SERVER MANAGER LINE MODE


3.2.1. Truy nhp Server Manager Line Mode
User (ngi s dng) c th vo Server Manager Line Mode theo hai cch: C:\svrmgrl Cch ny ch vo Server Manager Line Mode m cha thc hin kt ni c th ti database Lu : trong cc phin bn c, ta g svrmgrl30 thay v svrmgrl Hoc: C:\svgrmrl command=connect internal/admin C:\svgrmrl command=@c:\example.sql Vo Server Manager Line Mode ng thi thc hin lnh lun. K t s dng trong Server Manager Line Mode Vi Server Manager Line Mode, ta c th thc hin cu lnh SQL hoc on lnh PL/SQL. Cc cu lnh c kt thc bi k t chm phy ; S dng k t / kt thc cu lnh trong trng hp bm phm Enter xung dng. Ngoi ra, ta c th chy file script cha cc cu lnh SQL v PL/SQL. Bng cch s dng k t @ trc tn file script.

Trang 27

Kin trc v qun tr c s d liu Oracle

3.2.2. Phn nhm cc lnh trong Server manager


Loi lnh EXIT REMARK Lnh khng cn kt SET ni ti database SHOW SPOOL CONNECT/DISCONNECT DESCRIBE Cc lnh cn n EXECUTE mc quyn truy SHOW ERRORS nhp SHOW PARAMETER SHOW SGA CONNECT AS SYSDBA Cc lnh cn n CONNECT AS SYSOPER mc quyn truy ARCHIVE LOG nhp c bit RECOVER DATABASE STARTUP/SHUTDOWN Tn lnh

3.2.3. Din gii cc lnh trong Server manager


Tn lnh EXIT REMARK SET SHOW SPOOL CONNECT/ DISCONNECT DESCRIBE EXECUTE SHOW ERRORS SHOW PARAMETER SHOW SGA CONNECT/AS SYSDBA ARCHIVE LOG RECOVER DATABASE Din gii ng SQL Worksheet, thot khi Server Manager Thm vo li ch dn, thng hay s dng trong file SQL script Thit lp hoc thay i cc tnh cht c trong phin lm vic hin thi. Hin th cc thit t hin thi Cho php hoc thi cho php chuyn hng kt xut d liu ra file Kt ni hoc hu kt ni ti database Xem cu trc ca mt function, package, package body, procedure, table, object, view Thc hin mt dng lnh PL/SQL Hin th cc li pht sinh ca th tc, hm hay package Hin th gi tr hin thi ca mt hay nhiu tham s khi to Hin th thng tin v SGA ca Instance hin thi Kt ni ti database vi c quyn qun tr Khi ng v dng vic lu tr t ng i vi cc file online redo log files, redo log file Phc hi li mt hay nhiu tablespaces

Trang 28

Kin trc v qun tr c s d liu Oracle

STARTUP/ SHUTDOWN

Khi ng hoc tt Oracle instance

3.3.ORACLE ENTERPRISE MANAGER


Oracle Enterprise Manager (OME) l phng tin cho php c c ci nhn tng th v ton b h thng. Trong c cy phn cp v cc hnh nh ha v cc i tng v quan h gia chng trong h thng. OME c cc tin trnh Intelligent Agent processes cho php qun l t xa cc dch v chung - common services nh jobs, events, mt cch d dng. OME cng bao gm c nhng ng dng qun l chuyn bit: DBA Management Pack, Advanced Management Packs. Bn cnh , OME cn cung cp mt lng ln cc hm API cho php tch hp vi cc h thng qun l ng dng khc. Bao gm c cc h thng qun l ca Oracle v khng phi ca Oracle. OEM Console c trong c Windows NT v Windows 95.

Hnh v 10. Oracle Enterprise Manager

3.3.1. Kin trc OME


Kin trc OME l m rng ca kin trc Client/Server, n c kin trc ba lp. Lp th nht cha cc Java-based console v cc ng dng tch hp cho php ci t v chy bi cc Web browser. Lp th hai l Oracle Management Server - OMS. Chc nng chnh ca OMS l x l v qun tr tt c cc tc v ca h thng, tp trung qun l v phn phi iu khin gia cc clients v cc nt iu khin - managed nodes. OEM s dng Oracle Enterprise Manager repository duy tr d liu h thng, d liu ng dng v cc trng thi ca cc thc th iu khin phn tn trong h thng, cho php ngi dng c th truy cp v chia s cc vng d liu lu tr. Lp th ba bao gm cc ch nh databases, nodes v cc dch v qun l khc.

Trang 29

Kin trc v qun tr c s d liu Oracle

3.3.2. Cc dch v chung


OEM c cc dch v cho php qun l cc nodes trn mng (network) Dch v pht hin - Discovery service: OEM t ng pht hin (nh v) tt c cc database v cc dch v chy trn cc nodes, mt khi cc nodes c xc nh. Cc dch v ny bao gm Web servers, listeners, machines, parallel servers, video servers, v cc services khc. Job Scheduling System: cho php thc hin t ng lp li cc tc v. H thng cho php to v qun l cc jobs, ln k hoch thc hin chng v cho php xem, chia s thng tin xc nh Jobs. Event Management System: cho php qun l mi trng mng (network environment) x l cc trng hp mt dch v, thiu hoc ht vng lu tr, v cc vn khc nh s dng ti nguyn CPU. Mi khi cc events c pht hin, ngi qun tr c th thng bo hoc sa n. Bo mt - Security: cc tham s bo mt xc nh cho tng dch v (services), i tng (objects), v tng user qun tr (administrators). Dch v kho lu tr chia s (Shared Repository) 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.

3.3.3. Oracle Configuration Assistant


Configuration Assistant l cng c cho php to cc shared repositories, t li cu hnh cho database v thit t cu hnh cho cc local console (n v iu khin cc b). Configuration Assistant c t ng khi ng ngay sau khi hon tt qu trnh ci t ca Universal Installer. Ta cng c th khi ng ng dng ny bng tay (chy lnh %emrepmgr t du nhc h thng).

3.3.4. Oracle Enterprise Manager Console


Bao gm c cy phn cp v hnh nh ha biu din cc i tng trong h thng. 1. Cc nt c biu tng: cho php gi cc ng dng khc cng thc hin vic qun tr cc tc v (task). Vic ny cng c th thc hin thng qua mc chn tng ng trn menu. 2. Navigator hay object explorer: c t chc di dng cy phn cp. N cho php xem cc Oracle services trong mng lm vic. Navigator cho php qun tr vin c th browse cc Oracle services, nh databases, listeners, nodes, v name servers, qua c th sa i cc tnh cht ca cc i tng; v d: ngi dng c th thay i ni dung ca bng. 3. Job system: cho php thc hin cc tc v t xa lin quan ti listeners, databases. Job system da trn cc th tc trong Tool Control Language (TCL) engine.

Trang 30

Kin trc v qun tr c s d liu Oracle

Hnh v 11. Oracle Enterprise Manager

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.

3.4.CC CNG C QUN TR KHC


Ngoi hai cng c chnh nh k trn, Oracle cn h tr b cc cng c chun khc nh: Instance Manager: dng iu khin database nh ngha v khi to cc tham s lin quan ti cc tnh cht ca instance. Schema Manager: dng to lp v qun l cc i tng nh tables, indexes, v views. Security Manager: dng qun l cc users v phn quyn cho cc users ny Storage Manager: dng t chc cc database files v qun l cc rollback segments. SQL Worksheet: giao tip theo kiu dng lnh, n cho php thc hin cc cu lnh SQL v PL/SQL cng nh l cc cu lnh ca Server Manager Backup Manager: dng sao lu, phc hi v bo tr databases, qun l cc redo log files. Data Manager: dng np v t chc li d liu trong databases. Ngoi cc cc cng c k trn, Oracle cn h tr cc cng c lm tng cng hiu sut lm vic ca DATABASE. Performance Manager: biu din hiu sut lm vic ca database di dng biu ho. Top-Session Manager: hin th thng tin chi tit v cc session ca 10 session c s dng ti nguyn h thng, sp xp theo th t gim dn. Cng c ny cn cho php kill session. Loock Manager: cho bit cc thng tin lin quan n vic kho (lock) cc i tng trong database. Cc thng tin c biu din di dng ho. Tablespaces Manager: cng c gip cho d dng qun l cc tablespace c trong database.

Trang 31

Kin trc v qun tr c s d liu Oracle

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...

4.2.2. Ln k hoch b tr cc file thng tin


bo v an ton cho database, ta cn c k hoch b tr cc file thng tin. Control files m bo an ton, mt database cn t nht 02 control files v c t ti hai ch khc nhau. Cc control files nn c t tn khc nhau sao cho d dng c th phn bit. Tn ca Control files nn c t km vi tn ca database cho d nh, nh sau: CTL<n><database_name>.ORA Vi: n database_name l s th t ca control file tn ca database

Trong parameter file, tn ca cc control files c t phn cch nhau bi cc du phy.

Trang 32

Kin trc v qun tr c s d liu Oracle

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

4.2.3. Optimal Flexible Architecture OFA


iu quan trng khi to database l t chc cc file h thng sao cho d dng cho vic qun tr, thm mi v b sung cc d liu vo database tn dng hiu qu cc thao tc vo ra ca h thng. OFA vi cc tin ch gip cho vic bo tr database c n gin. Cu trc ca OFA:
Trang 33

Kin trc v qun tr c s d liu Oracle

1. t tn cc thit b n c th cha ng cc d liu Oracle server ging nh mt tp hp. 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.

2. Phn bit cc file sn phm, bao gm cc phn mm v cc cng c Oracle server,

4.2.4. Cu trc th mc phn mm Oracle


Th mc Bin Dbs Lib Orainst Rdbms Plsql Sqlplus Network Svrmgrl 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 Cha cc file d liu Cha cc file th vin sn phm ca Oracle Cha chng trnh v cc file phc v cho vic ci t Cc file server, cc file th vin v cc file khc cn thit cho database PL/SQL v cc sn phm lin quan SQL*Plus Cc sn phm Oracle Net8 Server manager Din gii Cha cc file sn phm dng nh phn

4.2.5. Bin mi trng


Trn h iu hnh Windows, ta thit lp cc bin mi trng. Cc bin ny tng ng vi cc tham s trong registry nh: ORACLE_HOME, ORACLE_SID, NLS_LANG. to mi database, cn to mi bin mi trng ORACLE_SID: C:\set ORACLE_SID = U16

Trang 34

Kin trc v qun tr c s d liu Oracle

4.3.CHUN B CC THAM S TRONG PARAMETER FILE


Khi to mi mt database, ta cn quan tm ti vic to parameter file. Parameter file cha cc thng tin cn thit trong database, trong quan tm nht l cc tham s sau: Tham s DB_NAME CONTROL_FILES Din gii Tn nh danh ca database, ti a 8 k t. Tn database phi trng vi gi tr ca bin mi trng ORACLE_SID. Lit k danh sch cc control file s dng trong database. Ti thiu c 01 control file trong database. Tuy nhin, ta nn to 02 control files tr ln phng hng file. Cc control files khng cn thit phi tn ti. Khi to database, Oracle s to cc control files ny Xc nh kch thc ca mt block s dng trong database. Kch thc ny s khng thay i c sau khi database c to lp. Kch thc ca cc block c tnh theo n v K (Kilobytes). Kch thc ca block thng c t bng s nguyn ln lu tha ca 2. tng ng vi s nguyn ln cc block vt l ca h iu hnh. Do , c th ti u c s ln truy xut a cng. V d: 2K, 4K, 8K, 16K, 32K, tu theo phin bn ca Oracle v h iu hnh.

DB_BLOCK_SIZE

Thng thng, khi chun b parameter file ca mt database sp c to, ta c th sao chp li ni dung ca parameter file mu ri chnh sa li mt vi thng s trong nh db_name, control_files,... Parameter file mu ca oracle thng c t th mc: <%ORACLE_HOME%>\ADMIN\SAMPLES\PFILE V d v ni dung ca file tham s: file InitU16.ora db_name = U16 db_files = 1020 control_files = ("C:\ORANT\database\ctl1U16.ora", "C:\ORANT\database\ctl2U16.ora") db_file_multiblock_read_count = 16 db_block_buffers = 2000 shared_pool_size = 30000000 log_checkpoint_interval = 8000 processes = 100 dml_locks = 200 log_buffer = 65536 sequence_cache_entries = 30 sequence_cache_hash_buckets = 23 #audit_trail = true #timed_statistics = true background_dump_dest = C:\ORANT\rdbms80\trace user_dump_dest = C:\ORANT\rdbms80\trace db_block_size =8192
Trang 35

Kin trc v qun tr c s d liu Oracle

compatible = 8.0.4.0.0 sort_area_size = 65536 log_checkpoint_timeout = 0 remote_login_passwordfile = shared max_dump_file_size = 10240

4.4.CHUN B INSTANCE PHC V QUN TR


S dng cng c ORADIM to instance phc v cho vic to database. ORADIM s to mt service dnh ring cho database. y l mt cng c thc hin ch dng lnh. Cng c ny ch cn thit khi user to mi, sa i hay hu instance ca database bng tay. Trong trng hp s dng cng c Oracle Database Configuration Assistant can thip vo database th khng cn thit phi bit ti cng c ny. ORADIM Oracle Database Configuration Assistant

C th to mi, start, stop, sa i hay Ch c th to mi hay hu b databse. xo b instances. Khng can thip ti Khng th start hay stop database database files C th s dng sa i instance Khng th sa i instance Dng to password file v service lin Dng to password file v service lin quan. Khng to database c quan, instance v c database Lu : cc phin bn trc ca Oracle, cng c ORADIM c tn l ORADIM80

4.4.1. To mt instance
C php: C:\>ORADIM -NEW -SID SID | -SRVC SERVICE_NAME [-INTPWD INTERNAL_PWD] - SHUTTYPE SRVC | INST | SRVC, INST [MAXUSERS NUMBER][-STARTMODE AUTO | MANUAL][-PFILE FILENAME] Vi: To mi instance phc v cho database. Tn ca instance c to (tn ny thng c ly chnh l tn ca database). -SRVC SERVICE_NAME Tn ca service phc v database. -INTPWD INTERNAL_PWD Mt khu ca Internal account s dng qun tr database -MAXUSERS NUMBER S lng user ti a nh ngha trong password file -STARTMODE AUTO, MANUAL t ch khi ng instance phc v (khi ng service trn my ch server) -PFILE FILENAME
Trang 36

-NEW -SID SID

Kin trc v qun tr c s d liu Oracle

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

4.4.2. Khi ng instance


C php: C:\ORADIM -STARTUP -SID SID [-USRPWD USER_PWD] [-STARTTYPE SRVC | INST | SRVC, INST] [-PFILE FILENAME] Vi: Khi ng instance phc v sn sng cho vic to database. -SID SID Tn ca instance c to (tn ny thng c ly chnh l tn ca database). -USERPWD USER_PWD Mt khu. -STARTTYPE SRVC, INST Ch khi ng l service hay instance V d: C:\> ORADIM -STARTUP -SID PUMA -STARTTYPE SRVC -PFILE C:\ORACLE\ADMIN\PROD\PFILE\INIT.ORA -STARTUP

4.4.3. Dng instance


C php: C:\>ORADIM -SHUTDOWN -SID SID [-USRPWD USER_PWD] [-SHUTTYPE SRVC | INST | SRVC, INST] [-SHUTMODE A | I | N] Vi: Dng (stop) instance phc v. Tn ca instance c to (tn ny thng c ly chnh l tn ca database). -USERPWD USER_PWD Mt khu. -SHUTMODE Xc nh ch dng: A abort mode, I I Immediate mode, N Normal mode V d: C:\> ORADIM -SHUTDOWN -SID PUMA -SHUTTYPE SRVC INST -SHUTDOWN -SID SID

Trang 37

Kin trc v qun tr c s d liu Oracle

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

4.5.2. Lnh to database


S dng cu lnh CREATE DATABASE to database C php: CREATE DATABASE [database] [CONTROLFILE REUSE] [LOGFILE [GROUP integer] filespec [, [GROUP integer] filespec]...] [MAXLOGFILES integer] [MAXLOGMEMBERS integer] [MAXLOGHISTORY integer] [MAXDATAFILES integer] [MAXINSTANCES integer] [ARCHIVELOG|NOARCHIVELOG] [CHARACTER SET charset] [NATIONAL CHARACTER SET charset] [DATAFILE filespec [autoextend_clause] [, filespec [autoextend_clause]...]] filespec :== 'filename' [SIZE integer][K|M] [REUSE] autoextend_clause :== [AUTOEXTEND {OFF |ON [NEXT integer[K|M]] [MAXSIZE {UNLIMITED|integer[K|M]}] } ] Vi: Database Tn ca CSDL cn to (tn ny ging vi tn ca tham s DB_NAME trong parameter file)
Trang 38

Kin trc v qun tr c s d liu Oracle

CONTROLFILE REUSE Tn file tham s tn ti c ti s dng LOGFILE GROUP Tn ca log file c s dng MAXLOGFILES S lng ti a cc log file group cho CSDL MAXLOGMEMBERS S lng ti a cc log file member i vi mt log file group MAXLOGHISTORY S lng ti a cc redo log trong mt group DATAFILE filespec Tn file d liu c s dng AUTOEXTEND Cho php hoc khng cho php m rng t ng cc file d liu MAXDATAFILES S lng ti a cc datafiles trong database MAXINSTANCES S lng ln nht cc instance c th ng thi mount v open database ARCHIVELOG Xc nh rng redo log cn ch archive trc khi c dng li NOARCHIVELOG Xc nh rng redo log cn c dng li m khng cn t ch archive CHARACTER SET, NATIONAL CHARACTER SET Chun k t m CSDL s dng lu tr cc d liu V d: to database SPOOL creU16.log STARTUP NOMOUNT PFILE=initU16.ora CREATE DATABASE U16 MAXLOGFILES 5 MAXLOGMEMBERS 5 MAXDATAFILES 100 MAXLOGHISTORY 100 LOGFILE GROUP 1 ('/DISK3/log1a.rdo',/DISK4/log1b.rdo) SIZE 1 M, GROUP 2 ('/DISK3/log2a.rdo',/DISK4/log2b.rdo) SIZE 1 M DATAFILE '/DISK1/system01.dbf' size 50M autoextend on CHARACTER SET WE8ISO8859P1;

4.5.3. Oracle Database Assistant


Trang 39

Kin trc v qun tr c s d liu Oracle

to database, Oracle h tr cng c rt tin li gip ngi qun tr d dng to database hn thng qua giao din ho, l cng c Oracle Database Assistant.

Hnh v 12. Cng c to h tr database Oracle Database Assistant

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.

4.5.4. File script v d to mt database


File sqlu16.bat set ORACLE_SID=U16 C:\ORANT\bin\oradim -new -sid U16 -intpwd oracle -startmode auto -pfile C:\ORANT\database\initU16.ora C:\ORANT\bin\oradim -startup -sid U16 -starttype srvc,inst -usrpwd oracle -pfile C:\ORANT\database\initU16.ora C:\ORANT\bin\svrmgr @U16run.sql File U16run.sql spool C:\ORANT\database\spoolmain set echo on connect INTERNAL/oracle startup nomount pfile=C:\ORANT\database\initU16.ora CREATE DATABASE U16 LOGFILE 'C:\ORANT\database\logU161.ora' SIZE 1024K, 'C:\ORANT\database\logU162.ora' SIZE 1024K MAXLOGFILES 5 MAXLOGMEMBERS 5 MAXLOGHISTORY 1 DATAFILE 'C:\ORANT\database\Sys1U16.ora' SIZE 50M MAXDATAFILES 100

Trang 40

Kin trc v qun tr c s d liu Oracle

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

4.5.5. Li xy ra khi to database


Li xy ra khi to database phn ln do cc nguyn nhn sau: Li c php lnh to database Cc file d liu cn to lp tn ti Li do h iu hnh, khng c quyn, khng ch trng,...

4.5.6. Kt qu sau khi to database


Kt thc cc bc trn ta thu c mt database vi: 02 data files c t trong SYSTEM tablespace. Cc control files v cc redo log files phc v cho database Hai user qun tr database v mt khu tng ng l: SYS/change_on_install v SYSTEM/manager 01 Rollback segment SYSTEM Cc bng d liu internal vi d liu trng

Trang 41

Kin trc v qun tr c s d liu Oracle

4.6.TO DATA DICTIONARY CHO DATABASE


Trong trng hp to database bng tay, sau khi to xong database, Oracle server s to cho ta mt database hon ton trng. Cc bng trong database ny u c lu tr di dng m v ta khng th no quan st cc thng tin trong n c. c th quan st c cc thng tin trong database. Ta cn to data dictionary cho database ny. Data dictionary hay cn gi l t in d liu ca database l tp hp cc views c thit lp trong database cung cp cc thng tin v database. Cc file to data dictionary cho database c Oracle cung cp sn v thng c t trong th mc <%ORACLE_HOME%>\RDBMS\ADMIN Cc dictionary views c phn loi v t trong cc file SQL khc nhau. Mt s file SQL hay dng: Tn file SQL CATALOG.SQL CATPROC.SQL CATREP.SQL To cc package c s To cc chc nng Replication cho database Din gii To cc dictionary views c bn, trigger v store procedure c s

Ngoi ra cn c rt nhiu file script khc.

Trang 42

Kin trc v qun tr c s d liu Oracle

Chng 5. QUN TR ORACLE DATABASE


5.1.PHN LOI USERS
Oracle l mt h qun tr c s d liu ln, chy trn mi trng mng. vn hnh h thng c tt, c th c nhiu ngi s cng tham gia vo h thng vi nhng vai tr khc nhau gi l cc user. C th phn ra lm mt s loi user chnh sau: Database Administrators Security Officers Application Developers Application Administrators Database Users Network Administrators

5.1.1. Database Administrators


Do h thng Oracle database c th l rt ln v c nhiu users cng tham gia vo h thng, v khi s c mt hay mt s ngi chu trch nhim qun l h thng. Nhng ngi c vai tr nh vy c gi l database administrator (DBA). Mi mt database cn t nht 01 ngi thc hin cng vic qun tr. Mt database administrator c trch nhim thc hin mt s cng vic sau: Ci t v nng cp Oracle server v cc cng c ng dng khc. Phn phi h thng lu tr v ln k hoch lu tr cho h thng c s d liu trong tng lai. To nhng cu trc lu tr c bn nh tablespaces phc v cho vic pht trin v hot ng ca cc ng dng. To cc i tng trong database nh tables, views, indexes s dng cho cc ng dng c thit k. Thay i cu trc database khi cn thit tu theo cc thng tin ca cc application. Qun l cc users v m bo bo mt h thng. m bo tng thch v bn quyn, phin bn vi h thng Oracle iu khin v qun tr cc user access truy xut ti database. QUn l v ti u cc truy xut ti database. Ln k hoch backup (sao lu) v recovery (phc hi) cc thng tin c trong database. Lu tr cc archive data. Sao lu v khi phc database. Cp nht cc cng ngh mi a ra cc cu hi b ch.

5.1.2. Security Officers


Trong mt s trng hp, h thng i hi ch bo mt cao. Khi cn n mt hay mt nhm ngi chuyn thc hin cng tc bo v database gi l security officers. Security officer c th kt ni ti database, iu khin v qun l vic truy cp database ca cc users v bo mt h thng.

Trang 43

Kin trc v qun tr c s d liu Oracle

5.1.3. Application Developers


Application developer l ngi thit k v vit cc ng dng database. Application developer c trch nhim thc hin mt s yu cu sau:
Thit k v pht trin ng dng database. Thit k cu trc database cho tng ng dng. nh gi yu cu lu tr cho ng dng. Quy nh cc hnh thc thay i cu trc database ca ng dng. Thit lp bin php bo mt cho ng dng c pht trin.

5.1.4. Database Users


Database users tng tc vi database thng qua cc ng dng v cc tin ch. Mt user in hnh c th thc hin c mt s cng vic sau: Truy nhp, sa i, v xo hu cc d liu c php To cc bo co i vi d liu

5.1.5. Network Administrators


i vi database Oracle hot ng trn mi trng mng, khi cn c mt user thc hin cng vic qun tr mng. User ny c trch nhim m bo cc ng dng Oracle hot ng trn mi trng mng c tt.

5.2.PHNG THC XC NHN C QUYN TRUY NHP


Vic phn quyn s dng l cn thit trong cng vic qun tr. C hai user account c t ng to ra ngay t khi to database v c gn quyn DBA l: SYS v SYSTEM. SYS: c to t ng v gn quyn DBA. Mt khu mc nh l change_on_install. C quyn s hu cc bng v cc t in d liu trong database. SYSTEM: c t ng to ra vi mt khu ban u l manager v cng c gn quyn DBA. Tuy nhin, SYSTEM cn c s hu c mt s table, view m rng cha cc thng tin s dng cho cc tools ca Oracle. Quyn DBA: Ngay khi to database, Oracle to sn mt quyn gi l "DBA". Quyn ny cho php thc hin cc thao tc qun tr i vi database. 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.

5.2.1. Phng thc xc nhn quyn


Trong mt s trng hp qun tr vin database cn n phng thc xc nhn quyn truy nhp c bit do c th lc database cha c m, v d nh vi cc trng hp shutdown hoc startup database. 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.

Trang 44

Kin trc v qun tr c s d liu Oracle

Hnh v 13. Phng thc xc nhn quyn

5.2.2. Xc nhn quyn bi h iu hnh


Vic xc nhn quyn bi h iu hnh c tin hnh theo cc bc: 1. Trong h iu hnh Windows NT to mt users group vi tn ORA_<SID>_DBA v mt nhm khc ORA_<SID>_OPER vi <SID> tng ng vi tn ca instance, hoc ORA_DBA v ORA_OPER (khi ny ta khng quan tm ti instance). 2. Thm mt user vo group khi truy cp vo h iu hnh, user c th t ng c xc nh quyn DBA. 3. t tham s REMOTE_LOGIN_PASSWORDFILE trong parameter file l NONE. 4. Kt ni ti database vi mc quyn SYSDBA hay SYSOPER: CONNECT / AS { SYSDBA|SYSOPER } Ghi ch: NET8 c ci t trn cc h iu hnh Windows 95, Windows NT gip cho vic xc nhn quyn. Cc phin bn trc ca Oracle s dng lnh: CONNECT INTERNAL vi c php: CONNECT INTERNAL/pw AS SYSDBA. Lnh: CONNECT INTERNAL hin ti vn c s dng. Vi vic xc nhn quyn truy nhp bi h iu hnh, ta khng cn quan tm ti cc mc quyn (privilege) thay vo , ta cn quan tm ti hai quyn c cung cp bi h iu hnh l OSDBA v OSOPER OSOPER: l quyn cho php user c th STARTUP, SHUTDOWN, ALTER DATABASE OPEN/MOUNT, ALTER DATABASE BACKUP, ARCHIVE LOG, v RECOVER, ngoi ra cn c thm c quyn RESTRICTED SESSION. OSDBA: l quyn cho php user c th c c tt c cc quyn ca OSOPER, ngoi ra cn c thm mt s mc quyn phc v qun tr database l ADMIN OPTION, v CREATE DATABASE

Trang 45

Kin trc v qun tr c s d liu Oracle

5.2.3. Xc nhn quyn bng file mt khu


Oracle h tr cc tin ch password cho php kt ni ti Oracle Server s dng username v password. Vic truy cp vo database s dng password file c h tr bi lnh GRANT. S dng file mt khu: 1. To file mt khu bng lnh: orapwd file=<fname> password=<password> entries=<entries> Vi: fname l tn file mt khu password l mt khu ca SYS hay INTERNAL entries l s lng ti a cc qun tr vin c php 2. t tham s REMOTE_LOGIN_PASSWORDFILE l EXCLUSIVE hoc SHARED. Vi: EXCLUSIVE SHARED 3. Gn quyn cho user GRANT SYSDBA TO admin; GRANT SYSOPER TO admin 4. Kt ni ti database theo c php: SVRMGRL>CONNECT internal/admin AS SYSDBA Xem thng tin v cc member trong file mt khu Thng tin v cc member trong file mt khu c lu trong view: V$PWFILE_USER. N cho bit c nhng user no c gn quyn SYSDBA hay SYSOPER. Din gii mt s ct trong V$PWFILE_USER: USERNAME SYSDBA SYSOPER Tn Ct gn Ct gn user ny nhn gi tr TRUE th User ny c quyn SYSDBA ny nhn gi tr TRUE th User ny c quyn SYSOPER ch mt instance c th s dng file mt khu nhiu instance c th dng file mt khu

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.

5.2.4. Thay i mt khu internal


S dng tin ch ORADIM to li file mt khu. C:\>ORADIM -NEW -SID sid [-INTPWD internal_pwd][SRVC svrcname][MAXUSERS n][STARTMODE auto, manual][-PFILE filename] Vi:
Trang 46

Kin trc v qun tr c s d liu Oracle

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

5.3.TO PARAMETER FILE

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.

5.3.1. S dng cc tham s


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.
Trang 47

Kin trc v qun tr c s d liu Oracle

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.

5.3.2. Mt s quy tc i vi cc tham s


Cc gi tr c ch ra theo khun dng: <Keyword> = <Gi tr>. Mt s tham s u l tu chn v mt s khc l bt buc v d nh DB_NAME. Server u c gi tr mc nh i vi mi tham s. Cc gi tr ny l tu theo h iu hnh v tu theo tham s. Cc tham s c th c ch ra khng cn phi tun theo mt th t no c (t trc, sau khng quan trng). Phn ch dn c bt u bng k hiu #. Cc tham s l k t c t trong du nhy kp. Cng c th included cc file bi t kho IFILE. Cc gi tr l tp hp c t trong du ngoc n (,)v c ngn cch nhau bi du phy (,).

5.3.3. 5.3.4. Cc tham s c bn


Tham s CONTROL_FILES DB_BLOCK_BUFFERS DB_BLOCK_SIZE Din gii Tn ca cc control files. S lng cc data blocks c cach trong SGA. Kch thc ca mt data block. Kch thc ny nn c chn bng s s nguyn ln m 2, c th l 2K, 4K, 8K, 16K v 32K tu theo phin bn ca Oracle v ca H iu hnh. nh danh database t 8 k t tr xung. Tham s ny ch cn thit khi to mi mt database. Tn ca file tham s c include vo file tham s hin thi. Cho php c th c lng ti a l ba cp. S byte c cp pht cho redo log buffer trong SGA. Kch thc ti a ca trace files, c xc nh bng s lng block ca h iu hnh. S lng cursor ti a c ng thi m. S lng rollback segments c s dng cho mi instance S lng ti a cc tin trnh h iu hnh c th kt ni vi instance. Kch thc ca Shared Pool

DB_NAME IFILE LOG_BUFFER MAX_DUMP_FILE_SIZE OPEN_CURSOR ROLLBACK_SEGMENTS PROCESSES SHARED_POOL_SIZE

Trang 48

Kin trc v qun tr c s d liu Oracle

V d mt parametersfile:

Hnh v 15. File tham s v d

5.4.START V SHUT DOWN DATABASE


5.4.1. Cc bc Start v Shut down database
Start Instance ch Nomount Ta c th khi ng mt Instance m khng cn thit phi gn vi mt database c th. Khi khi ng Instance, cc cng vic sau y s c thc hin: c file tham s : init<SID>.ora Thu xp vng b nh SGA Khi ng cc background process M cc trace file v cc Alert file Lu : Tn database nm trong tham s DB_NAME ca file tham s. Cu lnh: STARTUP NOMOUNT; Start Instance ch mount thc hin mt vi thao tc c bit khi vn hnh database, ta c th khi ng mt instance v mount database nhng cha m database. V d nh: i tn datafiles Enable hoc Disable cc redo log files Thc hin phc hi d liu (recovery). Cc cng vic khi mount database: 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.
Trang 49

Kin trc v qun tr c s d liu Oracle

Cu lnh: STARTUP MOUNT; 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. Cu lnh: STARTUP OPEN;

Hnh v 16. Cc bc khi ng v dng Instance

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 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 50

Kin trc v qun tr c s d liu Oracle

5.4.2. Start database


C php: STARTUP [FORCE] [RESTRICT] [PFILE=filename] [EXCLUSIVE | PARALLEL | SHARED] [OPEN [RECOVER][database]|MOUNT |NOMOUNT] Vi: OPEN MOUNT NOMOUNT EXCLUSIVE PARALLEL SHARED PFILE=parfile FORCE RESTRICT SESSION RECOVER cho php cc users truy cp vo database. mounts database sn sng cho cc thao tc DBA, ngi s dng cha truy cp c database. B tr SGA v khi ng cc background process, cha sn sng cho DBA. ch cho php instance hin thi truy cp vo database. cho php nhiu instances cng c gn vi database (s dng Oracle Parallel Server) tng t nh PARALLEL. cho php s dng file tham s khng phi l mc nh xc nh cu hnh cho instance. hu b cc instance ang chy trc , khi ng instance bnh thng. ch cho php cc users truy cp vi ch RESTRICTED. quyn truy nhp vo database. bt u khi phc d liu khi database.

5.4.3. Thay i tnh sn dng ca database hin thi


Khi ng database ch NOMOUNT Thc hin sa i database theo lnh: ALTER database { MOUNT | OPEN | OPEN READ ONLY | OPEN READ WRITTE} Vi: Gn database vi instance. Lc ny ta ch c th thc hin cc thao tc qun tr trn database m cha th s dng database c. 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. MOUNT

Trang 51

Kin trc v qun tr c s d liu Oracle

5.4.4. Shut down database


C mt s ch tt database tng ng vi cc kh nng khc nhau.

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

Tng ng vi cc cch tt database trn, ta c biu v thi gian nh sau:

Trang 52

Kin trc v qun tr c s d liu Oracle

Hnh v 18. So snh thi gian gia cc cch tt database

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.

5.4.5. Thay i trng thi ca database


C php: ALTER system { SUSPEND | RESUME } SUSPEND a database vo trng thi treo. Tm thi khng cho php thc hin cc thao tc vo ra i vi datafiles v control files. Thao tc ny c thc hin khi ta chun b backup database. RESUME Ngc li vi SUSPEND, thao tc ny s a database tr li trng thi bnh thng sau khi backup xong database. V d: SQL> ALTER SYSTEM SUSPEND; System altered SQL> SELECT database_status FROM v$instance; DATABASE_STATUS --------SUSPENDED SQL> ALTER SYSTEM RESUME; System altered SQL> SELECT database_status FROM v$instance;

Trang 53

Kin trc v qun tr c s d liu Oracle

DATABASE_STATUS --------ACTIVE

5.4.6. Tm treo v phc hi Database


Oracle9i cung cp chc nng suspend/resume. Qun tr vin s dng lnh ALTER SYSTEM SUSPEND tm treo database, dng mi thao tc truy xut vo ra i vi cc datafiles v control files. Khi database trng thi tm treo, cc thao tc vo ra (I/O operations) ang thc hin s c kt thc v nhng truy cp vo database mi pht sinh s c y vo queue. Thc hin lnh ALTER SYSTEM RESUME khi phc li tnh trng bnh thng ca database. Ta s dng lnh ALTER SYSTEM SUSPEND tm treo mt database, ngn thc hin cc thao tc vo ra (I/O) i vi cc datafiles v control files. Do , cho php database c th d dng thc hin cc thao tc back up. Khi thc hin vic treo database tt c cc thao tc vo ra ang c s c tip tc cho php thc hin cho n khi hon tt, cc php thao tc vo ra mi pht sinh sau ny s c tm thi a vo queue ch x l sau. Lnh suspend (tm treo) database c thc hin i vi database ch khng phi ch i vi instance. Do vy, trong mi trng Oracle Real Application Clusters, mt khi lnh suspend c pht ra th sau mt c ch kho s c thit lp v chn tt c cc yu cu gi ti instance. S dng lnh ALTER SYSTEM RESUME phc hi (resume) li cc hot ng thng thng ca database. Ta cng c th ch r SUSPEND v RESUME t cc instances khc nhau. V d, nu cc instances 1, 2, v 3 ang chy, v ta pht lnh ALTER SYSTEM SUSPEND t instance 1, sau ta cng c th pht lnh RESUME t cc instances 1, 2, hay 3 u nh nhau. Kh nng suspend/resume l rt hu ch cho h thng n cho php ta thc hin mirror mt a hay mt file ri sau s dng vo vic sao lu, phc hi d liu cho ton b h thng. . Tuy vy, c im suspend/resume khng thay th cho cc thao tc normal shutdown database v khi vic sao chp database c suspend c th cha c cc d liu cp nht cha c commit. Cau lnh sau minh ho vic s dng lnh ALTER SYSTEM SUSPEND/RESUME. S dng thng tin cung cp trong V$INSTANCE bit c trng thi ca database.
SQL> ALTER SYSTEM SUSPEND; System altered SQL> SELECT DATABASE_STATUS FROM V$INSTANCE; DATABASE_STATUS --------SUSPENDED SQL> ALTER SYSTEM RESUME; System altered SQL> SELECT DATABASE_STATUS FROM V$INSTANCE; DATABASE_STATUS --------ACTIVE

Trang 54

Kin trc v qun tr c s d liu Oracle

5.4.7. t ch hot ng tnh cho database


Oracle9i cho php a database vo ch hot ng tnh (quiesced state), Theo ch co cc DBA transactions, queries, v cc lnh PL/SQL l c php thc hin. Trng thi ny cho php ngi dng thc hin cc thao tc qun tr mt cch an ton. S dng cu lnh ALTER SYSTEM QUIESCE RESTRICTED a database v ch hot ng tnh.

5.5. T TRNG THI TNH CHO DATABASE


C nhiu khi ta cn phi a database vo trng thi m ch c cc DBA transactions, queries (truy vn), fetches (tm kim d liu), hay cc cu lnh PL/SQL l c php thc hin. Ch ny c gi l quiesced state - tm dch l ch tnh. Ch ny cho php qun tr vin c th thc hin mt s thao tc khng an ton lm trn database bao gm cc thao tc sau y: Cc thao tc c th gp li nu ng thi c mt user transactions truy cp vo cng mt i tng. V d nh khi thay i table, thm mi ct d liu vo mt table ang c v khng yu cu kho (no-wait lock is required). Cc thao tc khng mong mun gy nh hng tc th gia cc user transactions xy ra ng thi. V d khi c mt th tc cha nhiu bc thao tc trn mt table chng hn nh table ban u c export d liu, ri b xo i v cui cng li c import d liu tr li. Cng lc c user khc mun truy cp vo table v ngay ti thi im table va b hu. Khi ny s pht sinh li h thng. 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.

5.5.1. a Database vo trng thi tnh


a database vo trng thi tnh, n gin ta ch cn s dng lnh:
ALTER SYSTEM QUIESCE RESTRICTED

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. 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.

Trang 55

Kin trc v qun tr c s d liu Oracle

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.

5.5.2. Phc hi h thng tr li hot ng nh bnh thng


Thc hin cu lnh sau:
ALTER SYSTEM UNQUIESCE

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.

5.5.3. Xem trng thi ca database


Ta c th xem trng thi ca database qua cc thng tin c trong V$INSTANCE . Cc thng tin ny c lu trong ct ACTIVE_STATE vi cc ni dung nh sau: ACTIVE_STATE NORMAL QUIESCING QUIESCED Din gii Trng thi thng thng ang trng thi tnh quiesce state, nhng cc active non-DBA sessions vn c thc hin trng thi quiesce state, v khng c bt k mt active non-DBA sessions no c php thc hin

5.6.LY CC THNG TIN V H THNG


Cc thng s h thng c t trong cc tables h thng. Ta c th quan st v truy xut ti chng thng qua cc view gi l Dynamic performance views. Cc view ny thng c tn vit u l V_$. Oracle thng to ra cc Sysnonym tng ng vi cc view ny vi tn c u l V$. Khi khi ng database ch NOMOUNT, user qun tr c th c c cc d liu c trong cc view ny. Thng tin trong view ny l cn thit cho vic mount database. View V$FIXED_TABLE cha tn ca tt c cc view V$ c trong h thng. Biu di y din t cc mc truy cp cc view ca h thng

Trang 56

Kin trc v qun tr c s d liu Oracle

Hnh v 19. Cc mc truy cp view h thng

5.6.1. Mt s views cn quan tm


Dynamic Performance View V$PARAMETER V$SGA V$OPTION V$PROCESS V$SESSION V$VERSION V$INSTANCE V$THREAD V$CONTROLFILE V$DATABASE V$DATAFILE V$DATAFILE_HEADER V$LOGFILE Din gii Thng tin v cc tham s khi to Thng tin tng hp v SGA Cc tu chn cho Oracle server c ci t Thng tin v cc hot ng ca process hin thi Thng tin v session Thng tin v phin bn ca cc thnh phn Oracle Thng tin v trng thi ca Instance hin thi Thng tin v cc thread trong h thng Lit k tn ca cc control files Thng tin v database Thng tin v cc data file c s dng Thng tin header ca cc data file c s dng Thng tin v cc online redo log files

5.6.2. Hin th gi tr ca cc thng s h thng


Ta c th xem thng tin h thng bng hai cch: S dng lnh xem tham s ca Server manager. SVRMGRL> SHOW PARAMETER control Truy xut trc tip vo view h thng SELECT name, type from v$control WHERE name like %control%; Vi hai cch trn ta u thu c mt kt qu:
Trang 57

Kin trc v qun tr c s d liu Oracle

SVRMGR> SHOW PARAMETER control NAME ------------------------------control_file_record_keep_time control_files TYPE ------integer string VALUE -------------------7 /DISK1/control01.con

5.6.3. Tham s h thng ng (c th thay i)


Trong cc tham s h thng, c mt vi tham s l ng v ta c th thay i c cc tham s ny. Thng qua cc lnh: ALTER SESSION: ch thay i gi tr ca cc tham s trong session hin thi ALTER SYSTEM: thay i gi tr trong ton b h thng ni chung. ALTER SYSTEM DEFERRED: ch thay i tham s h thng ca cc session s kt ni vo database sau ny, k t sau thi im thay i. C php: ALTER SESSION SET parameter_name = value ALTER SYSTEM SET parameter_name = value [DEFERRED] V d: ALTER SESSION SET SQL_TRACE=true; ALTER SYSTEM SET TIMED_STATISTICS=true; ALTER SYSTEM SET SORT_AREA_SIZE=131072 DEFERRED; Xem li thng tin m ta va thay i: SVRMGR> SELECT isses_modifiable,issys_modifiable, 3> ismodified, name 2> FROM v$system_parameter 4> WHERE ismodified != 'FALSE'; ISSES ISSYS_MOD ISMODIFI NAME ------------- -------- -----------------------------TRUE IMMEDIATE MODIFIED timed_statistics 1 row selected.

5.6.4. Qun l session


Restrict session Restrict session cn thit khi bo tr c s d liu, import, export v sa i cu trc ca database. Ta c th t ch cho restrict session cho database thng qua lnh: ALTER SYSTEM {ENABLE|DISABLE}RESTRICTED SESSION Vi: ENABLE RESTRICTED ch cho php cc users c quyn RESTRICTED SESSION truy nhp DISABLE RESTRICTED SESSION cho php tt c cc users truy nhp vo database
Trang 58

Kin trc v qun tr c s d liu Oracle

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

5.6.5. Trace file v ALERT file


Trace file lu tr cc thao tc bi background process. Cc thng tin v li trong h thng s c lu vo y. iu ny l rt hu ch khi thc hin d tm v khc phc li xy ra trong h thng. Trong khi chy Oracle Instance, tt c cc message pht ra i vi h thng u c lu vo Alert file. Trong qu trnh khi ng database, Oracle s t to ra Alert file nu n cha tn ti. Trong trng hp c li xy ra, cc background process s thc hin ghi li cc thng tin dump vo trace file. Ta c th t li ch ghi li ra trace file thng qua lnh: SQL>ALTER SESSION SET sql_trace=TRUE; ng dn ti cc trace file v Alert c th c ch ra bi cc tham s: BACKGROUND_DUMP_DEST Xc nh ni t ca cc trace file v ALERT. USER_DUMP_DEST Xc nh ni to cc trace files. MAX_DUMP_FILE_SIZE S lng block ca h iu hnh quy nh kch thc ca trace files.

Trang 59

Kin trc v qun tr c s d liu Oracle

Chng 6. DATA DICTIONARY, VIEWS V PACKAGES


6.1.DATA DICTIONARY V VIEWS
6.1.1. Data Dictionary
Data dictionary hay t in d liu h thng l phn rt quan trng trong Oracle database. l mt tp hp cc table v cc view s dng cho vic tham chiu n cc thng tin lin quan ti database. Data dictionary c to bi file script sql.bsq trong qu trnh to database. Data dictionary bao gm cc thng tin trung tm ca Oracle server. Data dictionary c Oracle server t ng cp nht mi khi thc hin lnh nh ngha d liu (Data Definition Language DDL). Data dictionary t trong tablespace SYSTEM do User SYS qun l. Data dictionary bao gm hai loi sau: Base tabes Data dictionary Views

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 60

Kin trc v qun tr c s d liu Oracle

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.

6.1.2. Data Dictionary views

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 61

Kin trc v qun tr c s d liu Oracle

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

Thng tin v mc quyn ca User

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

Cc thng tin kim tra

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 DBA_ALL_TABLES Description of all object and relational tables in the database

Trang 62

Kin trc v qun tr c s d liu Oracle

DBA_NESTED_TABLES DBA_OBJECT_TABLES ... Xy dng dictionary views

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.

6.1.3. Sripts qun tr


Cc scripts qun tr c t trong th mc: %ORACLE_HOME%\RDBMS80\ADMIN Cc scripts ny c phn nhm v t trong tng file ring bit. Cc quy nh v tn c trong Script qun tr Quy c Cat*.sql Dbms*.sql Prvt*.plb Utl*.sql Din gii Cc thng tin Catalog v t in d liu Phn khai bo (specification) ca cc packages trong database Phn thn cua packages c m ho v ng gi Cc views v table tin ch trong database

Trang 63

Kin trc v qun tr c s d liu Oracle

6.2.STORED PROCEDURES V CC PACKAGES CHUN


6.2.1. Gii thiu chung
Stored procedures v cc packages l cc i tng trong database, l tp hp cc on m lnh PL/SQL thc hin mt chc nng no . Stored procedures bao gm c cc procedures (th tc), functions (hm) v cc packages c vit gp thnh mt program unit (n v chng trnh). Stored procedures c th c to v hu bi cc lnh CREATE v DROP

Hnh v 22. Stored procedures v cc Packages chun

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.

6.2.2. Stored procedures


Stored procedures l cc functions hay procedures c to lp v lu ngay trong dictionary ging nh mt schema object. y l tp hp cc cu lnh SQL v PL/SQL. Sau khi Stored procedures c bin dch, n s c gn tn v c th thc hin trc tip m khng cn phi bin dch li thm bt c mt ln no na. S dng Stored procedures, ta c th np trc tip vo ngay biu thc thuc cu lnh SQL ging nh l cc hm built-in c sn ca Oracle nh UPPER hay SUBSTR. Cc functions v procedures cho php s dng tham s di dng tham s vo (IN) v tham s ra (OUT) hoc cng c th s dng tham s va vo va ra (IN OUT). Theo mc inh, cc tham s c xc nh ch vo IN.

Trang 64

Kin trc v qun tr c s d liu Oracle

6.2.3. Packages chun


Mt packages thng thng gm hai phn: specification (phn c t hay cn gi l phn khai bo) v body (phn thn). Chng c lu ring bit trong cng mt database. Phn specification l phn giao tip vi cc ng dng. Phn ny cha cc li khai bo, cc kiu, bin, hng, exceptions, cursors, v cc khai bo hm s dng. Phn body l phn ci t c th (implementation) ca cc khai bo trong phn specification. 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. Packages trong c s d liu

6.2.4. Gii thiu mt s packages chun do Oracle cung cp


Oracle cung cp mt s packages chun, ngay sau khi to database: DBMS_LOB: cung cp cc th tc cho php lm vic trn kiu d liu BLOB v CLOB, c nh ngha trong file script catprog.sql. DBMS_SESION: cung cp cc cu lnh SQL lin quan n session nh ALTER SESSION, SET ROLE, ... packages ny c nh ngha trong file dbmsutil.sql v

prvtutil.sql prvtutil.sql

DBMS_UTILITY: cha cc th tc tin ch, c t trong file dbmsutil.sql v DBMS_SPACE: cung cp cc thng tin v khong trng ca segment. DBMS_ROWID: cung cp cc thng tin v ROWID DBMS_SHARE_POOL: lu tr v hu b cc thng tin c trong share pool. Packages DBMS_SESSION Th tc trong packages SET_ROLE Din gii Kch hot vic thc hin Roles ca user

Trang 65

Kin trc v qun tr c s d liu Oracle

SET_SQL_TRACE SET_NLS CLOSE_DATABASE_LINK UNIQUE_SESSION_ID IS_ROLE_ENABLED IS_SESSION_ALIVE SET_CLOSE_CACHED_OPEN_CU RSORS FREE_UNUSED_USER_MEMORY DBMS_UTILITY ANALYZE_SCHEMA

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 schema cc objects trong

COMPILE_SCHEMA DB_VERSION DBMS_ROWID DBMS_SPACE DBMS_SHARED_P OOL ROWID_INFO UNUSED_SPACE FREE_BLOCKS KEEP UNKEEP SIZES DBMS_SQL OPEN_CURSOR PARSE BIND_VARIABLE BIND_ARRAY EXECUTE Function EXECUTE_AND_FETCH FETCH_ROWS COLUMN_VALUE IS_OPEN

Xc nh phin bn ca database Thng tin v dng d liu Vng khng gian khng s dng Cc blocks ri Lu tr cc object trong shared pool Thi lu gi cc object Kch thc b nh trong shared pool Tr v 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 dng d liu. Ly v cc dng d liu ca mt cursor. Ly v d liu ca ct Xc nh Cursor m hay cha.

Trang 66

Kin trc v qun tr c s d liu Oracle

CLOSE_CURSOR LAST_ERROR_POSITION LAST_ROW_COUNT LAST_ROW_ID LAST_SQL_FUNCTION_CODE

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

6.2.5. Package DBMS_METADATA


Mt PL/SQL package mi, DBMS_METADATA, c a vo Oracle 9i cho php ta ly c cc siu d liu (metadata) Cc thng tin tng hp v cc schema object. DBMS_METADATA l package mi b sung, n cho php thc hin cc thao tc DDL trn objects trong database. Package ny lm vic c vi cc tables, indexes, views, packages, functions, procedures, triggers, synonyms, v types. DBMS_METADATA c cc hm c bn: DBMS_METADATA.GET_DDL(object_type, name, schema) DBMS_METADATA.GET_XML(object_type, name, schema) V d: SELECT DBMS_METADATA.GET_DDL(TABLE, EMP, SCOTT) from dual; CREATE TABLE "SCOTT"."EMP" ( "EMPNO" NUMBER(4,0), "ENAME" VARCHAR2(10), "JOB" VARCHAR2(9), "MGR" NUMBER(4,0), "HIREDATE" DATE, "SAL" NUMBER(7,2), "COMM" NUMBER(7,2), "DEPTNO" NUMBER(2,0), CONSTRAINT "PK_EMP" PRIMARY KEY ("EMPNO") USING INDEX PCTFREE 10 INITRANS 2 MAXTRANS 255 STORAGE(INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645 PCTINCREASE 0 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"

Trang 67

Kin trc v qun tr c s d liu Oracle

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>

6.2.6. Package dbms_redefinition


Package ny cung cp 05 th tc cho php chnh sa cc objects online . CAN_REDEF_TABLE START_REDEF_TABLE FINISH_REDEF_TABLE ABORT_REDEF_TABLE SYNC_INTERIM_TABLE

6.3.THNG TIN V CC STORED PROCEDURES


Khi lu tr cc Stored procedures hay packages, Oracle s t ng lu li trng thi ca n l VALID hay INVALID. 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 tn schema cha procedure cn bin dch li

Trang 68

Kin trc v qun tr c s d liu Oracle

procedure_name COMPILE DEBUG

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;

V d: ALTER PROCEDURE henry.close_acct

Tng t nh i vi procedure, c php lnh yu cu bin dch li Stored function c dng: ALTER FUNCTION [schema_name].<function_name> COMPILE [DEBUG]; V d: ALTER FUNCTION merriweather.get_bal COMPILE; i vi package, lnh yu cu bin dch li cng tng t nhng c thm mt b sung l user phi khai bo r tng phn ca package s c bin dch li. C php: ALTER PACKAGE [schema_name].<package_name> COMPILE [DEBUG] <PACKAGE | SPECIFICATION | BODY>; Cc khai bo b sung cho php user yu cu bin dch li phn SPECIFICATION hay phn BODY hoc l bin dch li c hai phn trn. V d: ALTER PACKAGE blair.accounting COMPILE PACKAGE; Hoc: ALTER PACKAGE blair.accounting COMPILE BODY; xc nh c trng thi ca cc Stored procedures, ta c th thc hin truy vn da trn dictionary DBA_OBJECTS. SVRMGR> SELECT object_name, object_type, status 2> FROM dba_objects WHERE object_name like DBMS_% OBJECT_NAME OBJECT_TYPE STATUS -------------------- --------------- -------DBMS_ALERT PACKAGES VALID DBMS_ALERT PACKAGES BODY VALID DBMS_ALERT_INFO TABLE VALID DBMS_APPLICATION_INF PACKAGES VALID DBMS_APPLICATION_INF PACKAGES BODY VALID DBMS_AQ PACKAGES VALID DBMS_AQ PACKAGES BODY VALID ... Hoc ta cng c th s dng lnh DESCRIBE ly thng tin SVRMGR> DESCRIBE dbms_session.set_role procedure SET_ROLE (ROLE_CMD VARCHAR2);
Trang 69

Kin trc v qun tr c s d liu Oracle

svrmgr> describe dbms_session packages dbms_session is ------------- OVERVIEW -- This packages provides access to SQL "alter session" -- statements, and other session information from, stored -- procedures. ----------------------------- PROCEDURES AND FUNCTIONS procedure set_role(role_cmd varchar2); -- Equivalent to SQL "SET ROLE ...". -- Input arguments: -- role_cmd -- This text is appended to "set role " and then executed as -- SQL. procedure set_sql_trace(sql_trace boolean); -- Equivalent to SQL "ALTER SESSION SET SQL_TRACE ..." -- Input arguments: -- sql_trace -- TRUE or FALSE. Turns tracing on or off. procedure set_nls(param varchar2, value varchar2); Stored procedures hay Packages nhn trng thi INVALID khi cc cu lnh trong Stored procedures hay Packages b li.

Trang 70

Kin trc v qun tr c s d liu Oracle

Chng 7. QUN TR CONTROL FILES


7.1.CONTROL FILES
7.1.1. Gii thiu control file
Control file l file thng tin dng nh phn c s dng cho vic khi to v vn hnh database mt cch hiu qu. Mi khi instance c MOUNT (gn) vi mt Oracle database, cc thng tin trong control file s c c ra, t xc nh cc data files v cc online redo log files. Control file c cp nht lin tc vo database trong sut qu trnh s dng v n lun trng thi sn sng (available) mi khi database c OPEN (m) hay c MOUNT (gn) vi instance. Control file cung cp cc thng tin mt cch ng nht trong database c s dng trong qu trnh khi phc (recovery). Mi control file ti mt thi im ch phc v cho mt database. Khi c mt database s dng control file th cc database khc s khng th truy cp ti control file na.

7.1.2. Cch thc t tn control file


Tn control file c xc nh trong tham s CONTROL_FILES ca parameter file. Tn ca cc control files c t phn cch bi du phy (,). Instance phc v database s m cc control file v ly cc thng tin t c th iu khin hot ng ca database. Trong qu trnh hot ng, Instance cng s ghi li cc tnh trng ca database. m bo an ton, mt database cn t nht 02 control files v c t ti hai ch khc nhau. Cc control files nn c t tn khc nhau sao cho c th phn bit d dng. Tn ca Control files nn c t km vi tn ca database cho d nh, nh sau: CTL<n><database_name>.ORA Vi: n database_name V d: control_files = (C:\ORANT\DATABASE\CTL1KTKB.ORA, C:\ORANT\DATABASE\CTL2KTKB.ORA) l s th t ca control file tn ca database

Trong parameter file, cc tn ca control files c t phn cch nhau bi cc du phy.

7.1.3. Kt hp nhiu control files


Khi to database, ta c th s dng cng lc nhiu control files thng qua vic ch r tn cc control files trong tham s khi to CONTROL_FILES. Oracle server to v cp nht tt c danh sch cc file lin quan mi khi to database. 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.

Trang 71

Kin trc v qun tr c s d liu Oracle

Hnh v 24. Kt hp s dng nhiu control file

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.

7.1.4. Ni dung ca control file


Cc thng tin cha trong control file bao gm: Tn database v cc nh danh (identifications) Tn v ni cha cc data files, cc redo log files Tn cc tablespaces trong database Nhn thi gian tng ng lc to database Gi tr s hiu ca log sequence hin thi Thng tin v checkpoint Cc thng tin lch s (log history) Cc thng tin sao lu ca tin ch Recovery Manager

Trang 72

Kin trc v qun tr c s d liu Oracle

Hnh v 25. Ni dung control file

Control file c th c chia lm hai loi chnh: C th ti s dng (reused) Khng th ti s dng (unreused)

7.1.5. Cc tham s nh hng ti kch thc ca control file


C mt s tham s h thng lin quan ti kch thc ca control file MAXLOGFILES MAXLOGMEMBERS MAXLOGHISTORY MAXDATAFILES MAXINSTANCES 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.

7.2.QUN TR CONTROL FILE


7.2.1. To mi control file
Vic to mi control files i vi database i khi l cn thit. Ta hy xt cc tnh hung: Tt c cc control files ca database hin thi u b li v ta khng c bn backup ca chng.
Trang 73

Kin trc v qun tr c s d liu Oracle

Ta mun thay i mt hay nhiu tham s c thit lp i vi database m cc tham s ny c ch ra ngay t cu lnh CREATE DATABASE nh tn database, MAXLOGFILES, MAXLOGMEMBERS, MAXLOGHISTORY, MAXDATAFILES, v MAXINSTANCES. V d, ta mun i tn database khi xy ra xung t vi mt database ang c trong h thng nhng trng tn. Ta c th to mi control file cho mt database thng qua cu lnh SQL. C php: CREATE CONTROLFILE [REUSE] [SET] DATABASE database LOGFILE [GROUP integer] filespec [, [GROUP integer] filespec] ... {RESETLOGS | NORESETLOGS} DATAFILE filespec [, filespec] ... [MAXLOGFILES integer] [MAXLOGMEMBERS integer] [MAXLOGHISTORY integer] [MAXDATAFILES integer] [MAXINSTANCES integer] [ARCHIVELOG | NOARCHIVELOG] Vi: REUSE Cho bit CONTROL_FILES c th c ti s dng, ta khng cn quan tm ti cc tham s thuc loi tu chn. Thay i tn ca database. Lu : <Tn> Tn ca database. danh sch tn ca cc redo log file groups S lng ti a cc redo log file groups S lng ti a cc members trong mt redo S lng ti a cc archived redo log file groups S lng ti a cc datafiles S lng ti a cc instances c th kt ni ti database. Thit lp ch archiving lu tr cc redo log files

SET DATABASE DATABASE LOGFILE MAXLOGFILES MAXLOGMEMBERS MAXLOGHISTORY MAXDATAFILES MAXINSTANCES ARCHIVELOG V d:

CREATE CONTROLFILE SET DATABASE prod LOGFILE GROUP 1 ('logfile1A', 'logfile1B') SIZE 50K, GROUP 2 ('logfile2A', 'logfile2B') SIZE 50K NORESETLOGS DATAFILE 'datafile1' SIZE 3M, 'datafile2' SIZE 5M MAXLOGFILES 50 MAXLOGMEMBERS 3

Trang 74

Kin trc v qun tr c s d liu Oracle

MAXDATAFILES 200 MAXINSTANCES 6 ARCHIVELOG;

7.2.2. To mi control file cho mt database c sn


Vic to mi control file c thc hin theo cc bc sau: 1. Thit lp danh sch cc datafiles v online redo log files s dng trong database. Trong trng hp backup database, ta c th d dng xc nh c danh sch cc file ny da vo thng tin trong dictionary view: V$CONTROLFILE, V$DATAFILE, V$LOGFILE. Trong trng hp database b li, qun tr vin database cn c gng xc nh y cc datafiles v online redo log files. Nu thiu bt k mt trong s cc file trn th tablespace SYSTEM s khng th khi phc li c v do ta khng th khi phc li c database. 2. Shut down (tt) database nu n ang c m. Thc hin shut down ch normal. Trong trng hp khng th tt normal c th hy tt database theo ch IMMEDIATE hoc ABORT. 3. Sao lu (Backup) tt c cc datafiles v online redo log files ca database. 4. Startup instance tr li ch nomount. 5. To mi control file thng qua lnh to CONTROL FILES. Khi to mi control file, s dng tu chn RESETLOGS nu database b mt bt k mt no online redo log groups. Trong trng hp ny ta cn khi phc li cc redo logs b mt. Ngc li, ta s dng tu chn NORESETLOGS. 6. Sao lu control file mi to. 7. Sa i cc tham s trong parameter file m c s dng n trong cc control files bao gm tham s CONTROL_FILES v DB_NAME. 8. Thc hin khi phc database nu cn. Ta s b qua bc ny trong trng hp khng cn phi khi phc database. Nu control file mi to c s dng tu chn NORESETLOGS, th ta c th khi phc li ton b database. Trong trng hp tu chn s dng l RESETLOGS, ta cn ch ra thm mt tu chn na l USING BACKUP CONTROL FILE. Th tc ny s thc hin khi phc li cc online hoc archived redo logs hoc datafiles. 9. Open database vi control file va to. Nu khng thc hin recovery th c th open database ch normally. 10. Nu c s dng RESETLOGS trong lc to control file, th cn s dng thm cu lnh ALTER DATABASE , vi tu chn RESETLOGS.

7.2.3. Mt s li i vi cc Control Files


Sau khi thc hin lnh CREATE CONTROLFILE, ta c th ta gp mt s li c bn sau: Thiu file Sau khi to mt control file v s dng n m database, kim tra alert log bit liu Oracle c xc nh c c thng tin g khng ng nht gia data dictionary v control file hay khng? V d nh datafile c km theo c data dictionary nhng khng c danh sch cc data dictionary i km. 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).
Trang 75

Kin trc v qun tr c s d liu Oracle

Ta xt hai trng hp c th xy ra nh sau: S dng tu chn RESETLOGS trong cu lnh CREATE CONTROLFILE s cho php m database m khng cn ti tu chn RESETLOGS. iu ny ch c th xy ra nu tt c cc online redo logs ang trong tnh trng sn sng. S dng tu chn RESETLOGS trong cu lnh CREATE CONTROLFILE bt buc phi m database cng vi tu chn RESETLOGS, datafile tng ng vi MISSINGnnnn ch ch c hay OFFLINE. Khi m database c s dng tu chn RESETLOGS, v MISSINGnnnn tng ng vi datafile khng ch ch c hay offline, ta s khng th truy xut vo datafile . Trong trng hp ny, tablespace cha datafile cn c hu b (DROP).

X l li xy ra i vi lnh CREATE CONTROLFILE Oracle gi tr v m li(cc m li hay xy ra l ORA-01173, ORA-01176, ORA-01177, ORA-01215 hoc ORA-01216) khi ta c gng thc hin mount v open database sau khi to mi mt control file. Tnh hung hay xy ra nht l trong cu lnh CREATE CONTROLFILE m ta qun mt file hoc c a vo tn file nhng n vn cha c trong danh sch. Trong trng hp ny, ta cn phi khi phc (RESTORE) li cc files c backup bc 3 (pha trn) v lp li cc th tc bc 4 (pha trn) lu s dng ng tn cc files.

7.2.4. Hu b Control Files


Ta c th hu b cc control files khi database. V d, ta thc hin vic ny khi ng dn ti cc control file khng cn ph hp na. C mt iu lu l ti bt k thi im no database cng cn phi c t nht l 2 control files. Cc bc thc hin 1. Shut down (tt) database. 2. Sa li tham s CONTROL_FILES trong parameter file, xo tn control file c v thay vo tn control file mi. 3. Restart (khi ng li) database.

Trang 76

Kin trc v qun tr c s d liu Oracle

7.3.THNG TIN TRNG THI CA CONTROL FILES


Ta c th xem c cc thng tin v control file da trn dictionary views c trong database.

V d: SVRMGR> SELECT name 2>FROM v$controlfile; NAME ----------------------/DISK1/control01.con /DISK2/control02.con 2 rows selected. SVRMGR> SELECT value 2>FROM v$parameter WHERE name =control_files; VALUE -----------------------/DISK1/control01.con /DISK2/control02.con 2 rows selected. V$CONTROLFILE_RECORD_SECTION cha cc thng tin v cc section. V d: SVRMGR>SELECT type, record_size, records_total, records_used 2> FROM v$controlfile_record_section 3> WHERE type=DATAFILE; TYPE RECORD_SIZ RECORDS_TO RECORDS_US ------------- ------------------- ---------DATAFILE 180 30 4 1 row selected. Ct d liu RECORDS_TO ch ra s lng cc bn ghi c cp pht cho mt section.

Trang 77

Kin trc v qun tr c s d liu Oracle

Chng 8. QUN L REDO LOG FILES


8.1.S DNG CC REDO LOG FILES
8.1.1. Redo log file
Oracle server s dng cc online redo log files gim thiu vic mt mt d liu trong database. Redo log files ghi li tt c cc thay i trong database buffer cache tr mt vi ngoi l ghi d liu trc tip. Redo log files c s dng n khi instance gp s c v ta mun khi phc li cc d liu commit nhng cha kp ghi ln data files. Redo log files ch c s dng trong trng hp khi phc d liu. Qun tr vin cn thit lp cc bn sao cc online redo log files ca database trnh vic mt mt thng tin trong database do vic s dng mt file duy nht.

Hnh v 26. Nhm cc redo log

8.1.2. Online Redo Log Groups


L nhm cc bn sao ring bit ca cc online redo log files c gi l online redo log group. Background process LGWR thc hin vic ghi ng thi cc thng tin tng t nhau vo cc member thuc cng mt group. Khi mt group y s tip tc chuyn sang ghi d liu trn group tip theo. Oracle server, thng thng, cn t nht 02 online redo log file groups c th vn hnh mt database.

8.1.3. Online Redo Log Members


Mi mt online redo log file trong mt group c gi l mt member (thnh vin). Mi member trong mt nhm c mt s th t (log sequence numbers) phn bit v cc member ny c cng mt kch thc. S th t c gn mi khi Oracle server bt u ghi d liu vo log group c th phn bit c cc redo log file duy nht. S log sequence number c lu tr trong control file v trong phn header ca tt c cc data files.

Trang 78

Kin trc v qun tr c s d liu Oracle

8.1.4. Ni dung ca Online Redo Log Files (Members)


Online redo log files lu tr cc redo records hay cn c gi l cc redo entries. Mi redo record l mt nhm cc change vectors (vector thay i d liu), trong mi vector c

trng cho mt s thay i trn mt block d liu thuc database. V d, khi ta thay i gi tr lng trong bng employee, Oracle s to ra mt redo record lu tr li vic thay i d liu ca data segment block, rollback segment block v transaction table tng ng vi thay i d liu ni trn. Cc redo entries lu tr li cc d liu t ta c th ti to li cc thay i d liu trong database, bao gm c rollback segments. Khi thc hin phc hi (recover) database s dng redo data, Oracle s c cc change vectors c trong cc redo records ri p cc thay i ny vo cc blocks tng ng. Cc redo records c lu tr trong b nh m SGA. Mi khi thc hin commit mt transaction, LGWR s ghi li cc redo records ca transaction t cc redo log buffer thuc SGA vo mt online redo log file, v gn mt s hiu system change number (SCN) cho transaction c commit . Chi khi cc redo records thuc transaction c lu tr an ton trn a th user process mi c nhn thng bo: transaction has been committed. Cc redo records c th c ghi vo online redo log file trc khi transaction tng ng c commit. Khi redo log buffer y, hoc khi transaction commit, LGWR s y tt c cc redo log entries trong redo log buffer ra online redo log file, ngay c khi redo records c th cha c commit khi cn, Oracle c th khi phc (roll back) li cc thay i ny.

8.1.5. Active v Inactive Online Redo Log Files


Ti mi mt thi im, Oracle ch s dng mt trong s cc online redo log files lu tr cc redo records c trong redo log buffer. Online redo log file trng thi sn sng cho vic ghi d liu, n c gi l current online redo log file. Cc online redo log files cn thit cho vic khi phc instance c gi l active online redo log files. Tri li, cc online redo log files khng cn thit cho vic khi phc instance c gi l inactive. Khi qun tr vin database t ch enable archiving, Oracle s khng th ti s dng hay ghi ln cc active online log file cho ti khi ARCn lu tr ht cc ni dung ca n. Trong trng hp disable archiving, khi online redo log file cui cng c in y, vic lu ra file s c tip tc thc hin i vi active file u tin.

8.1.6. Thit lp cc Redo Log Files khi to


Vic khi to ban u tp hp cc online redo log file bao gm cc groups v cc members c thc hin trong qu trnh to database. Cc tham s di y xc nh cc gii hn v s lng ca online redo log files: Tham s MAXLOGFILES trong lnh CREATE DATABASE xc nh s lng ti a cc online redo log groups. S lng ti a cho MAXLOGFILES l 255. Tham s MAXLOGMEMBERS trong lnh CREATE DATABASE quy nh s lng ti a cc members c trong mi group. 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.

Trang 79

Kin trc v qun tr c s d liu Oracle

8.2.LGWR, LOG SWITCHES V CHECKPOINTS

Hnh v 27. T chc cc redo log files

8.2.1. Redo Log Buffer v Background process LGWR


Oracle Server s tun t ghi li cc thay i i vi database c trong redo log buffer. Redo log buffer c s dng theo kiu xoay vng. Theo , cc redo entries s c tin trnh nn LGWR ghi vo mt trong cc online redo log groups gi l online redo log group hin thi (current) theo cc tnh hung sau: Khi commit mt transaction Khi redo log buffer y Khi LGWR vt qu thi gian timeout (3 giy) Trc khi DBWR ghi cc blocks b thay i trong database buffers cache vo trong cc data files 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.

8.2.2. Log Switches


LGWR ghi d liu ln cc online redo log files mt cch tun t, tc l mi khi online redo log group c ghi y, LGWR s li chuyn sang ghi ln group tip theo. Khi online redo log file cui cng c ghi y, LGWR s li quay tr v online redo log group u tin v li bt u qu trnh ghi. chuyn sang ghi trn online redo log group khc. Qun tr vin database cng c th thc hin cc log switches bng tay. Mi khi xy ra log switch, LGWT s ghi 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.

Log switch l s kin xy ra khi LGWR dng vic ghi trn mt online redo log group v

Trang 80

Kin trc v qun tr c s d liu Oracle

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 LOG_CHECKPOINT_INTERVAL v LOG_CHECKPOINT_TIMEOUT Khi c yu cu trc tip ca qun tr vin

khi

to

Thng tin v checkpoint c lu tr trong Alert file trong trng hp cc tham s khi to LOG_CHECKPOINTS_TO_ALERT c t l TRUE. V ngc li vi gi tr FALSE.

8.3.LN K HOCH S DNG REDO LOG FILES


8.3.1. Xc nh s lng Online redo log files
xc nh s lng cc online redo log files s dng cho ph hp vi database ta cn phi kim tra vi nhiu cu hnh khc nhau. Trong mt s trng hp, mt database instance ch cn ti 02 groups. Tuy nhin, trong mt s trng hp khc, mt database instance li c th cn ti nhiu groups hn c th lun m bo c cc groups sn dng cho LGWR. V d, khi cc thng ip ghi trong trace file hay Alert file cho bit LGWR thng xuyn phi ch mt group do vn cha kt thc c checkpoint, hoc do group vn cha c lu tr (archived) th lc ny l lc ta cn thm mi cc groups. Mc d Oracle server cho php s dng nhiu groups vi s lng members trong n l khc nhau, ta vn nn c gng xy dng mt cu hnh cn i (s lng cc members trong cc group nn l bng nhau).

8.3.2. Ni t cc Online Redo Log Files


Khi s dng ng thi nhiu online redo log files, ta nn t cc members ca mt group trn cc phn a khc nhau. Mt iu lu l khi mt member no khng sn dng (available) m cc members khc l sn dng th instance cng khng th shut down c. 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.

Trang 81

Kin trc v qun tr c s d liu Oracle

8.3.3. Xc nh kch thc cho cc Online Redo Log Files


Kch thc ti thiu ca mt online redo log file l 50 K cn kch thc ti a th tu thuc vo h iu hnh. Cc members thuc cc groups khc nhau c th c cc kch thc khc nhau; Tuy nhin ta nn t kch thc ging nhau gia cc members ny. Vic s dng cc groups c kch thc khc nhau ch nn thc hin mt cch tm thi khi ta mun thay i kch thc ca cc members. Trong trng hp ny, ta cn to cc online redo log groups mi vi kch thc khc, ri sau loi b (remove) cc groups c i. Mt s tnh hung nh hng ti cu hnh ca cc online redo log files: S lng cc log switches v checkpoints S lng v ln ca cc redo entries ln ca vng khng gian lu tr th cp

8.3.4. Lu tr cc redo log files


Qun tr vin database cn phi quyt nh t ch ARCHIVELOG hay ch NOARCHIVELOG cho database.

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

Hnh v 28. 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.

Trang 82

Kin trc v qun tr c s d liu Oracle

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

8.4.IU KHIN LU TR SAU I VI PRIMARY/STANDBY


Oracle cung cp c ch iu khin switch cc online redo log group da theo thi gian (time-based). Trong cu hnh primary/standby, tt c cc noncurrent logs ti primary site s c lu tr ri vn chuyn ti standby database. Vic ny s hiu qu khi hn ch s lng cc redo records. Vic thc hin lu tr sau l v standby database cho tt c cc thay i trn online redo log ti primary database c lu tr sau. iu khin vic lu tr sau ny, ta cn s dng tham s ARCHIVE_LAG_TARGET. Vic thit lp tham s ny cho php ta hn ch, cng nh xc nh c khong thi gian c s dng cho lu tr sau.

8.4.1. Thit lp tham s ARCHIVE_LAG_TARGET


Khi thit lp tham s khi to ARCHIVE_LAG_TARGET, Oracle s kim tra theo nh k thi gian cc online redo log ca instance hin thi v pht sinh cc log switch theo cc iu kin sau: Gi s ban u, current log c to sau n giy v sau li mt m giy lu current log ra a. Khi ny khong thi gian n + m s tng ng vi gi tr ca tham s ARCHIVE_LAG_TARGET. Current log cha cc redo records.

Trang 83

Kin trc v qun tr c s d liu Oracle

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.

8.4.2. Cc yu t nh hng ti tham s ARCHIVE_LAG_TARGET


C mt s yu t cn c xem xt khi ta thit lp gi tr cho tham s ARCHIVE_LAG_TARGET. Tng thi gian switch (xem nh l thi gian lu tr) cc logs Tn sut thc hin switch cc log khi n y Lng d liu c th redo b mt khi database lm vic ch standby 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:

8.5.1. S dng lnh Server Manager


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 84

Kin trc v qun tr c s d liu Oracle

8.5.2. S dng thng tin trong data dictionary


Ta cng c th s dng thng tin trong cc data dictionary views: V$DATABASE v V$INSTANCE. V d: SVRMGR> SELECT name, log_mode 2> FROM v$database; NAME LOG_MODE ----------------U15 NOARCHIVELOG 1 row selected. SVRMGR> SELECT archiver 2> FROM v$instance; ARCHIVE --------STOPPED 1 row selected. Ta cng c th xem cc thng tin lin quan n cc groups v cc members thng qua views data dictionary V$THREAD, V$LOG. Cc thng tin cn quan tm: V$THREAD: GROUPS, CURRENT_GROUP#, SEQUENCE# V$LOG: GROUP#, MEMBERS, STATUS, SEQUENCE#, BYTES V d: SVRMGR>SELECT groups, current_group#,sequence# 2>FROM v$thread; GROUPS CURRENT_GR SEQUENCE# ------------------- ---------2 1 689 1 row selected. SVRMGR>SELECT group#,sequence#,bytes,members,status 2>FROM v$log; GROUP# SEQUENCE# BYTES MEMBERS STATUS --------- ---------- -------- --------- ------1 688 1048576 1 CURRENT 2 689 1048576 1 INACTIVE 2 rows selected. 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.
Trang 85

Kin trc v qun tr c s d liu Oracle

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

MEMBER ----------------------------/DISK3/log1a.rdo /DISK4/log2a.rdo

8.6.IU KHIN CC LOG SWITCHS V CHECKPOINTS


8.6.1. Thc hin log switches
Log switches v checkpoint l cc s kin xy ra mt cch t ng mi khi online redo log group y. Tuy nhin, ta vn c th pht sinh cc Log switchs thng qua lnh ca Server Manager. SVRMGR>ALTER SYSTEM SWITCH LOGFILE; Trong Oracle Enterprise Manager OEM, ta lm theo cc bc sau: 1. S dng Backup Manager 2. Chn Subsystem 3. Chn Logfile --> Switch logfile

8.6.2. Thc hin checkpoint


Ta cng c th pht sinh cc Checkpoints thng qua lnh: SVRMGR>ALTER SYSTEM CHECKPOINT; Trong Oracle Enterprise Manager OEM, ta lm theo cc bc sau: 1. S dng Backup Manager 2. Chn Subsystem 3. Chn Logfile --> Force checkpoint

8.6.3. iu chnh cc ngt qung checkpoints


Trong trng hp database s dng cc online redo log files ln, ta c th iu chnh li cc ngt qung i vi online redo log file thng qua cc tham s: 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.

Trang 86

Kin trc v qun tr c s d liu Oracle

8.7.QUN TR CC REDO LOG FILES


8.7.1. B sung cc online redo log groups
Trong mt vi trng hp, ta c th cn ti vic np thm cc log groups hay cc log members. C php: ALTER DATABASE [database] ADD LOGFILE [GROUP integer] filespec [, [GROUP integer] filespec]...]

Hnh v 30. B sung online redo log groups

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 87

Kin trc v qun tr c s d liu Oracle

8.7.2. B sung cc online redo log members

Hnh v 31. B sung online redo log members

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

8.7.3. nh li ch cho cc redo log file


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. Tt database. 2. Sao chp cc online redo log files ti mt a im mi. 3. Restart database ch mount. 4. 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).

Trang 88

Kin trc v qun tr c s d liu Oracle

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.

8.7.4. Ngng s dng cc Online redo log groups


c th thay i kch thc cc online redo log groups, ta c th thm mi cc online redo log group v xo b cc online redo log group c. S dng lnh ca Server Manager ngng s dng online redo log group: ALTER DATABASE [database] DROP LOGFILE {GROUP integer|('filename'[, 'filename']...)} [,{GROUP integer|('filename'[, 'filename']...)}]...

Hnh v 32. Ngng s dng Online redo log groups

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.

Trang 89

Kin trc v qun tr c s d liu Oracle

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.

8.7.5. Ngng s dng cc Online redo log members


Tng t nh cc log group, i vi cc log members ta cng c th ngng s dng. S dng lnh ca Server Manager ngng s dng online redo log member: ALTER DATABASE [database] DROP LOGFILE MEMBER 'filename'[, 'filename']...

Hnh v 33. Ngng s dng Online redo log members

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.

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 90

Kin trc v qun tr c s d liu Oracle

8.7.6. Xo rng Online redo log file


Trong mt vi trng hp cc members b li, qun tr vin database c th x l bng cch khi to li cc log file thng qua lnh SQL khi to li: ALTER DATABASE CLEAR LOGFILE C php: ALTER DATABASE [database] CLEAR [UNARCHIVED] LOGFILE {GROUP integer|('filename'[, 'filename']...)} [,{GROUP integer|('filename'[, 'filename']...)}]... S dng lnh ny cng tng ng vi vic thm mi cc online redo log file v xo b cc redo log file hin thi. Lu : Khi xo rng logfile m n khng dng lu tr, ta cn b sung t kho UNARCHIVED.

Trang 91

Kin trc v qun tr c s d liu Oracle

Chng 9. QUN TR TABLESPACES V DATA FILES


9.1.CU TRC CA DATABASE
Cu trc database bao gm cu trc logic v cu trc vt l. Cu trc vt l bao gm tp hp cc control files, online redo log files v cc data files. Cu trc logic bao gm cc schema objects tablespaces, segments, extents v data blocks.

Hnh v 34. Cu trc database

9.1.1. Quan h gia database vi cc tablespaces v data files


V mt logic, mt database c th phn nh thnh nhiu phn gi l cc tablespaces. Tablespace Mt tablespace ch thuc mt database. Mi tablespace c th cha mt hay nhiu data file thuc h iu hnh. Tablespaces c th t trng thi online hay offline trong lc database ang chy. Ngoi tr tablespace SYSTEM hay tablespace cha rollback segments ang c trng thi ACTIVE, cc tablespaces u c th chuyn v trng thi offline trong lc database ang chy. Cc tablespaces cng c th chuyn i trng thi read-write hay read-only. 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 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

Trang 92

Kin trc v qun tr c s d liu Oracle

Hnh v 35. Quan h gia tablespace v datafile

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.

9.1.2. Quan h gia segment vi cc extent v cc blocks


Oracle cho php iu chnh khng gian a thng qua vic thay i kch thc ca cc cu trc lu tr logic nh: tablespaces, segments, extents v blocks. Setgments Mt segment l vng khng gian cp pht tng ng vi mt kiu cu trc logic c trong mt tablespace. Ta c th phn ra lm mt s loi segment chnh sau: Data segments Index segments Temporary segments Rollback segments Mt segment c th l mt data segment c th c tri rng trn nhiu datafiles thuc mt tablespace. Extents Extent l mt cp phn chia v mt logic tip theo ca databse. Mt extent l tp hp lin tip cc blocks d liu. Mi kiu segment c quy inh bao gm mt hay nhiu extents. Khc vi segments, mt extent ch c nm duy nht trn mt data file.
Trang 93

Kin trc v qun tr c s d liu Oracle

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.

9.2.PHN LOI CC TABLESPACES


9.2.1. Tablespace SYSTEM v non-SYSTEM
Mt database gm c t nht mt tablespace l tablespace SYSTEM, l ni lu tr cc thng tin ca h thng. Ngoi ra, database cn c th thm vo cc tablespace khc, l cc non-SYSTEM tablespaces, cha d liu ca cc user. Tablespace SYSTEM C trong tt c cc database Cha thng tin v cc data dictionary views, cc nh ngha ca stored procedures, packages, v cc database triggers di dng PL/SQL program units. Cha SYSTEM rollback segment Khng nn cha d liu ngi dng trong tablespace ny mc d c th.

Hnh v 36. D liu ngi dng nn t trong tablespace ring

Non-SYSTEM Tablespace Cha Cha Cha Cha cc cc cc cc rollback segments temporary segments data segments index segments

Trang 94

Kin trc v qun tr c s d liu Oracle

9.2.2. Tablespaces read-only / read-write


Tablespaces read-only Mc ch chnh ca vic s dng cc tablespaces read-only (ch c) l hn ch cc th tc cn thit khi thc hin sao lu v phc hi mt phn ln d liu khng b thay i (static) ca database. Oracle khng thc hin cp nht cc files nm trong tablespace read-only, v th cc files c th c t trong thit b ch c nh CD ROMs hay a WORM drives (Write Once-Read Many). Mi khi to mi mt tablespace, h thng s to cho ta mt tablespace c c quyn c v quyn ghi. Ta c th thay i li thuc tnh tablespace thnh read-only thng qua mnh READ ONLY trong cu lnh ALTER TABLESPACE. Vic ny s dn ti tt c cc datafiles thuc tablespace s c t li thuc tnh l read-only. Cu lnh ALTER TABLESPACE ... READ ONLY s t tablespace vo ch chuyn tip (transitional read-only) v ch cho tt c cc transactions trn kt thc (commit hoc roll back). Ch chuyn tip ny s khng cho php bt k mt thao tc ghi mi no c thc hin trn tablespace ngoi tr vic rollback cc transactions hin thi v thay i d liu trong cc blocks trong tablespace. Do , ch chuyn tip ca tablespace cng ht nh tablespace read-only i vi cc cu lnh mi ca ngi dng ngoi tr lnh ROLLBACK. Sau khi tt c cc transactions hin thi kt thc th cu lnh ALTER TABLESPACE ... READ ONLY mi c xem l kt thc v tablespace c t ch read-only. t ch read-only cho tablespace khng lm nh hng ti trng thi offline hay online ca tablespace . Cc Offline datafiles vn khng th truy xut c. Vic a mt datafile trong tablespace read-only vo ch online s cho php user c th c d liu trong file . File ny vn khng th vit d liu vo tr phi tablespace tng ng c t li ch cho php c v ghi. Read-only tablespaces khng th b sa i. cp nht d liu trong mt read-only tablespace, trc tin ta cn t li ch cho tablespace l read-write. Sau , thc hin cp nht d liu trong tablespace ri t li ch read-only cho tablespace . Do cc read-only tablespaces khng b sa i nn ta cng khng cn thit phi thc hin vic backup d liu trn n nhiu ln. V ta cng khng cn thit phi phc hi li cc readonly tablespaces, do d liu trong khng b thay i. Ta khng th b sung cc datafiles vo tablespace read-only, ngay c khi t ch cho tablespace l offline. Bi v, khi b sung mt datafile, Oracle s phi cp nht phn thng tin header trong khi thao tc ghi ln tablespace ny l khng c php. Tablespace read-write Tri vi tablespace read-only, vi cc tablespace read-wirte, ta c th thc hin cc thao tc c v ghi trn . 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.

9.2.3. Temporary tablespace / permanent tablespace


Temporary tablespaces c s dng dnh ring cho cc thao tc sp xp d liu. Trong temporary tablespace khng c bt c segments d liu no nm trong .

Trang 95

Kin trc v qun tr c s d liu Oracle

Sort segments c th cng c chia s s dng khi nhiu thao tc sp xp cng c thc hin. Mt sort segment c s dng cho tt c cc instance c thc hin thao tc sp xp trn mt tablespace. Vic s dng cc temporary tablespaces cho php nng cao hiu sut thc hin mi khi c nhiu thao tc sp xp c thc hin trn mt vng nh ln v khng ph hp vi kch thc ca b nh trong ca my tnh. Sort segment thuc temporary tablespace c to ra vo ngay thi im u ca thao tc sp xp. Sort segment s c cp thm vng nh v m rng dn cho ti khi kch thc ca segment ngang bng hoc ln hn tng s kch thc lu tr cn thit cho vic thc hin tt c cc thao tc sp xp ca instance. Cc tablespaces khng phi l temporary tablespaces c gi l cc permanent tablespaces. Cc permanent tablespace c s dng lu tr d liu trong database.

9.3.QUN L KHNG GIAN TRONG TABLESPACES


Tablespaces cp pht vng khng gian theo cc extents. Tablespaces s dng hai phng php khc nhau cp pht v gii phng vng khng gian lu gi: Qun l cc extents qua data dictionary (dictionary-managed tablespaces) Qun l cc extents qua tablespace (locally-managed tablespaces) 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.

9.3.1. Dictionary-Managed Tablespaces


Trong phng php ny tablespace s dng data dictionary qun l cc extents ca n. Oracle cp nht tng tables trong data dictionary mi khi cp pht, gii phng hay s dng li mt extent. Oracle cng lu li cc thng tin rollback ca vic cp nht cc dictionary tables. Theo mc nh, phng php qun l ny s c p dng cho cc tablespaces c trong database. Trong cc phin bn Oracle 8.0 hoc sm hn, ch c mt phng php chnh l phng php ny.

9.3.2. Locally-Managed Tablespaces


Bn cnh , tablespace cng c th qun l cc extents ca n thng qua mt bitmap (nh x bit) trong tng datafile t xc nh c trng thi ca cc blocks trong datafile l ang s dng hay c gii phng. Mi mt bit trong bitmap s tng ng vi mt block hay mt nhm cc blocks. Mi khi c mt extent c cp pht, gii phng hay ti s dng, Oracle s thay i gi tr ca bitmap theo ng nh trng thi mi ca cc blocks. Vic thay i ny s khng lm pht sinh cc thng tin trong rollback do khng c thao tc cp nht d liu 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 dictionary-managed 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.

Trang 96

Kin trc v qun tr c s d liu Oracle

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.

9.4.THIT LP TRNG THI CHO TABLESPACES


Qun tr vin database c th thit lp trng thi cho cc tablespaces l online (c th s dng) hay offline (khng th s dng) ngoi tr tablespace SYSTEM mi khi m database. Tablespace SYSTEM lun trng thi online mi khi database c m bi v Oracle lun phi s dng cc d liu trong dictionary. Mt tablespace thng thng ch online khi , cc d liu trong n l sn sng i vi cc database users. Tuy nhin, qun tr vin database c th t ch offline cho tablespace: Khi ny mt phn ca database s khng th truy xut c, trong khi phn cn li vn c th truy xut bnh thng. Thc hin offline tablespace khi backup d liu (mc d ta vn c th backup d liu ngay khi database ang chy v cc tablespace trng thi online). 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. 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.

9.5.TRAO I CC TABLESPACES GIA DATABASES


Ta c th s dng chc nng transportable tablespaces dch chuyn mt phn ca mt database sang mt database Oracle khc. Vic trao i cc tablespaces gia cc database l rt hu ch cho:

Trang 97

Kin trc v qun tr c s d liu Oracle

Vic dch chuy d liu t h thng x l trc tuyn (OLTP online transaction processing systems) sang thnh d liu ca h thng kho d liu (data warehouse staging systems). Cp nht kho d liu (data warehouses) v cc d liu thuc h thng. Np cc d liu t cc kho c s d liu trung tm (central data warehouses). Lu tr cc d liu ca h thng OLTP and data warehouse systems efficiently. Cung cp d liu cho cc khch hng hoc ngi s dng ni b. 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.

9.5.1. Mt s hn ch trong vic trao i cc tablespace:


Database ngun v ch phi c chy trn cng mt nn phn cng (hardware platform). V d, c th trao i cc tablespaces gia database Oracle chy trn h iu hnh Sun Solari, hoc trao i cc tablespaces gia cc databases Oracle chy trn h iu hnh NT. Tuy vy, ta khng th trao i cc tablespace gia database Oracle chay trn SUN Solaris vi cc database Oracle chy trn NT. Database ngun v ch phi c cng mt kch thc ca data block. Database ngun v ch phi s dng cng mt tp k t s dng trong database (national character set). Khng th chuyn i tablespace sang database ch khi database ny c mt tablespace c cng tn. Vic chuyn i tablespaces khng c h tr: o Snapshot/replication o Function-based indexes o Scoped REFs o Domain indexes (Mt kiu index mi, cho php m rng vic nh ch s)

9.5.2. Cc bc thc hin chuyn i mt tablespace gia cc database


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. 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
Trang 98

Transportable tablespace set cha cc datafiles ng vi tp cc tablespaces c s

Kin trc v qun tr c s d liu Oracle

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 l: TRANSPORT_SET_VIOLATIONS. S dng cu lnh truy vn xem kt qu: SELECT * FROM transport_set_violations; Lnh truy vn kt xut kt qu rng cho bit tablespace khng cha cc tham chiu ti tablespace bn ngoi. 2. To transportable tablespace set Pht lnh thay i trng thi ca tablespace 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; 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
Trang 99

Kin trc v qun tr c s d liu Oracle

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

t ch cha s dng tablespace ngay t khi to lp

(Offline)

tablespace c th s dng lu tr cc i tng thng tr tablespace ch s dng lu tr cc i tng trung gian (temporary objects). V d: s dng lu tr d liu khi sp xp theo cu lnh ORDER BY

V d: CREATE TABLESPACE app_data DATAFILE /DISK4/app01.dbf SIZE 100M, /DISK5/app02.dbf SIZE 100M MINIMUM EXTENT 500K DEFAULT STORAGE (INITIAL 500K NEXT 500K MAXEXTENTS 500 PCTINCREASE 0); Cng tng t, ta c th thc hin trong Oracle Enterprise Manager OEM: 1. 2. 3. 4. 5. Chy Oracle Storage Manager. Chn Tablespace>Create. Trong General page ca bng thuc tnh, nhp vo tn tablespace ri chn ADD. Trong bng thuc tnh Create Datafile, ch ra cc data file. Trong phn Extents page, nhp vo cc thng tin lu gi
Trang 100

Kin trc v qun tr c s d liu Oracle


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.

9.6.2. Ch qun l cc tablespaces


Vi cu lnh to tablespace thng thng nh trn, Oracle server s to tablespace vi ch qun l l Dictionary-Managed Tablespaces thc hin qun l tablespace theo phng php Locally-Managed Tablespaces ta cn a thm vo cu lnh mnh : MANAGEMENT LOCAL AUTOLOCATE. V d: CREATE TABLESPACE lmtbsb DATAFILE 'c:\data\lmtbsb01.dbf' SIZE 50M EXTENT MANAGEMENT LOCAL AUTOALLOCATE;

9.6.3. To temporary tablespace


Qun tr vin database c th to mt temporary tablespace s dng cho vic sp xp cc d liu khng dng lu tr thng tr cc d liu. to temporary tablespace, ta c th s dng lnh SQL ging nh lnh to tablespace thng thng, nhng c thm t kho TEMPORARY cui. V d: CREATE TABLESPACE sort DATAFILE /DISK2/sort01.dbf SIZE 50M MINIMUM EXTENT 1M DEFAULT STORAGE (INITIAL 2M NEXT 2M MAXEXTENTS 500 PCTINCREASE 0) TEMPORARY; 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. 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:

Trang 101

Kin trc v qun tr c s d liu Oracle

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:

Sizen

kch thc ca extent th n

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.

9.7.CC THAY I I VI TABLESPACE


9.7.1. Chuyn i mt tablespace thnh mt temporary tablespace
Ta c th thay i cc tablespaces ang tn ti bin n thnh mt temporary tablespace. V d: ALTER TABLESPACE tbsa TEMPORARY;

9.7.2. Thm mi cc tablespace


m rng khng gian ca tablespace ta c th thc hin theo hai cch sau: Thm mi cc data file vo tablespace Thay i dung lng cc data files Hoc ta cng c th s dng cu lnh SQL can thip nh sau: 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.

Trang 102

Kin trc v qun tr c s d liu Oracle

9.7.3. M rng data files


Ta c th thc hin m rng (thay i) kch thc data file theo hai cch: M rng theo ch t ng. S dng t kho: AUTOEXTENTED M rng theo ch can thip trc tip (manually). S dng lnh ALTER TABLESPACE, ALTER DATABASE 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']... 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.

9.7.4. Thay i kch thc data file


Thay v m rng kch thc ca database bng cch thm vo cc data file, qun tr vin cng c th m rng bng cch iu chnh tng kch thc ca data file. S dng cu lnh SQL sau thay i kch thc ca data file ALTER DATABASE [database]
Trang 103

Kin trc v qun tr c s d liu Oracle

DATAFILE 'filename'[, 'filename']... RESIZE integer[K|M] Vi: integer Kch thc tuyt i ca file data file

S dng cu lnh SQL sau thay i ni lu tr mc nh: ALTER TABLESPACE tablespace {MINIMUM EXTENT integer[K|M] |DEFAULT storage_clause } V d: ALTER TABLESPACE app_data MINIMUM EXTENT 2M; ALTER TABLESPACE app_data DEFAULT STORAGE (INITIAL 2M NEXT 2M MAXEXTENTS 999);

9.7.5. Chuyn i ch ONLINE v OFFLINE


User ch c th truy xut vo tablespace nu n ang trng thi online. Trong mt vi trng hp, qun tr vin database c th thay i trng thi database thnh offline vi mc ch: Di chuyn cc data files ti v tr khc Ch cho php user truy xut phn d liu cn li trong database. chuyn i ch ONLINE v OFFLINE, ta c th thc hin cu lnh SQL sau: ALTER TABLESPACE tablespace {ONLINE |OFFLINE [NORMAL|TEMPORARY|IMMEDIATE] } 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. Chy Oracle Storage Manager. 2. Chuyn ti nt Tablespace. 3. Chn tablespace tng ng.
Trang 104

Kin trc v qun tr c s d liu Oracle

4. Trong General page, t ch trong Offline radio button. 5. Bm nt Apply

9.7.6. Di chuyn cc data file


Tu thuc kiu tablespace, ta c th di chuyn cc data files theo cc phng thc khc nhau. Lnh ALTER TABLESPACE Lnh ny ch p dng cho cc tablespace khng phi l SYSTEM tablespace, v khng cha rollback segments hay temporary segments. Cu lnh: ALTER TABESPACE tablespace RENAME DATAFILE 'filename'[, 'filename']... TO 'filename'[, 'filename']... V d: ALTER TABLESPACE app_data RENAME DATAFILE /DISK4/app01.dbf TO /DISK5/app01.dbf; Ta thc hin theo cc bc sau: 1. Chuyn ch offline cho tablespace. 2. Di chuyn cc data files tng ng bng lnh ca h iu hnh. 3. Thc hin lnh ALTER TABLESPACE RENAME DATAFILE. 4. Chuyn li ch online cho tablespace . 5. S dng lnh ca h iu hnh xo data file c nu cn thit. 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']... TO 'filename'[, 'filename']... V d: ALTER DATABASE RENAME FILE /DISK1/system01.dbf TO /DISK2/system01.dbf; Ta thc hin theo cc bc sau: 1. Shutdown database. 2. Di chuyn data files bng lnh ca h iu hnh. 3. Mount li database. 4. Thc hin lnh ALTER DATABASE RENAME FILE. 5. M li database.

Trang 105

Kin trc v qun tr c s d liu Oracle

Trong OEM ta lm nh sau 1. Chy Oracle Storage Manager. 2. Chuyn ti nt Tablespace ri chn data file tng ng. 3. Trong phn General page, thay i li cc thng tin thch hp. 4. 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. Chy Oracle Storage Manager. Chuyn ti nt Tablespace. Chn tablespace. Chn Tablespace>Make Read Only. 5. 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. 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:
Trang 106

INCLUDING CONTENTS

Kin trc v qun tr c s d liu Oracle

DROP TABLESPACE app_data INCLUDING CONTENTS; Trong OEM ta thc hin theo cc bc sau 1. Chy Oracle Storage Manager. 2. Chuyn ti nt Tablespace chn tablespace tng ng. 3. Chn Tablespace>Remove. 4. Bm nt OK.

9.8.THNG TIN V CC TABLESPACES


Mt s views thng tin chung Tn tham s Din gii

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 data extents c trong cc tablespaces. Thng tin v free extents c trong cc tablespaces. 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 tempfiles thuc cc temporary tablespaces. Thng tin ca cc extents trong cc locally managed temporary tablespaces. Thng tin ca cc locally managed temporary tablespaces bao gm: trng thi ca temporary space cached (vng khng gian m trung gian) c s dng bi mi instance. Hin th vng khng gian used/free ca mi tempfile. Cc tablespaces mc nh v temporary tablespaces ca cc users. Hn mc s dng tablespace ca cc users. Thng tin v sort segment i vi mi instance. Vng khng gian sp xp trung gian c s dng bi user v temporary/permanent tablespace.

V$TEMP_SPACE_HEADER DBA_USERS DBA_TS_QUOTAS V$SORT SEGMENT V$SORT_USER

Trang 107

Kin trc v qun tr c s d liu Oracle

9.8.1. Xem thng tin tablespace


xem thng tin v tablespace, ta c th ly trong data dictionary views. View DBA_TABLESPACES lu tr cc thng tin ny. Mt s thng tin quan tm: Tn tham s TABLESPACE_NAME NEXT_EXTENT MAX_EXTENTS PCT_INCREASE MIN_EXTENTS STATUS CONTENTS V d: SVRMGR> SELECT tablespace_name, initial_extent, next_extent, 2 > max_extents, pct_increase, min_extlen 3 > FROM dba_tablespaces; TABLESPACE_NAME INITIAL_EX --------------- ---------SYSTEM 1240 RBS 10240 TEMP 262144 DATA01 204800 4 rows selected. NEXT_EXT -------10240 10240 262144 204800 MIN_EXTENT ---------1 1 1 1 MAX_EXTENT ---------121 121 999 999 PCT_I ----50 50 50 50 MIN_EXTLEN --------0 0 131072 51200 Tn tablespace Kch thc ca cc extent m rng tnh theo bytes S lng ti a cc extents trong mt segment Phn trm tng trng kch thc ca cc extents S lng ti thiu cc extents trong mt segment Trng thi ca tablespace l Online hay Offline Phn loi tablespace l permanent hay temporary Din gii

SVRMGR> SELECT tablespace_name, contents,status 2> FROM dba_tablespaces; TABLESPACE_NAME --------------SYSTEM RBS TEMP DATA01 4 rows selected. CONTENTS --------PERMANENT PERMANENT TEMPORARY PERMANENT STATUS -----ONLINE ONLINE ONLINE ONLINE

9.8.2. Xem thng tin data files


xem thng tin v data files, ta c th ly trong dictionary views. View DBA_DATA_FILES lu tr cc thng tin ny. Mt s thng tin quan tm: Tn tham s FILE_NAME TABLESPACE_NAME Din gii Tn file (c km ng dn) tng ng vi datafile Tn ca tablespace ng vi datafile

Trang 108

Kin trc v qun tr c s d liu Oracle

BYTES AUTOEXTENSIBLE MAXBYTES INCREMENT_BY

Dung lng tnh theo bytes ca tablespace hin thi Ch t ng m rng dung lng ca datafile Dung lng ti a
Ch s tng t ng trong h thng

V d: SVRMGR> SELECT file_name, tablespace_name, bytes, 2> autoextensible, maxbytes, increment_by 3> FROM dba_data_files; FILE_NAME --------/DISK1/system01.dbf /DISK2/rbs01.dbf /DISK3/temp01.dbf /DISK4/data01.dbf /DISK5/data02.dbf 5 rows selected. TABLESPACE_NAME --------------SYSTEM RBS TEMP DATA01 DATA01 BYTES -------31457280 5242880 5242880 5242880 512000 AUT ---NO NO NO NO YES MAXBYTES -------0 0 0 0 15728640 INCREMENT_BY ---------0 0 0 0 512

Trang 109

Kin trc v qun tr c s d liu Oracle

Chng 10. CU TRC LU TR


10.1.CC LOI SEGMENTS
Segments l cc vng khng gian ca cc objects (i tng) trong database. Di y, ta s xem xt mt s loi segments c th.

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.2. Table partition


C th c mt s table trong database c s lng truy cp ln v ng thi. Khi , d liu trong table s c lu thnh nhiu partition (phn khu), mi partition c th nm trn cc tablespace khc nhau. Oracle server h tr vic phn chia ny bng cc gi tr kho. Khi mt table c phn khu, mi partition c xem nh mt segment.

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 110

Kin trc v qun tr c s d liu Oracle

10.1.5. Index-Organized Table


Trong mt index-organized table, cc d liu trong mt index c lu tr da vo gi tr kho. Mt index-organized table khng cn thit n mt table dng tm kim (lookup), cc d liu c th c tr v ngay trc tip t cy index (index tree).

Hnh v 38. Cc loi segments (tip theo)

10.1.6. Index Partition


Mt index c th c partitioned (phn khu) v tri rng trn nhiu tablespaces khc nhau. Khi , mi partition ca mt index s tng ng vi segment (on) v khng c php nm di trn nhiu tablespaces. Mc ch chnh ca vic s dng index partition l gim thiu nhng tranh chp vo ra I/O.

10.1.7. Rollback Segment


Rollback segment c s dng trong transaction (giao dch) to cc thay i trong database. Trc khi thay i cc d liu hay cc index blocks, cc gi tr c s c lu gi vo rollback segment. Vic lm ny cho php user c th phc hi li cc thay i.

10.1.8. Temporary Segment


Khi mt user thc hin cc lnh nh CREATE INDEX, SELECT DISTINCT, v SELECT GROUP BY, Oracle s c gng thc hin cng vic sp xp ngay trong b nh. Khi cng vic sp xp cn n nhiu khng gian hn, cc kt qu ny s c ghi trc tip ln a. Temporary segments s c dng n trong trng hp ny.

10.1.9. LOB Segment


Khi mt hay nhiu ct trong table lu gi cc i tng ln (large objects - LOBs) nh cc vn bn ti liu, hnh nh, hay videos. Cc ct cha d liu ln ny s c Oracle server lu gi trong cc segments ring c bit n nh l LOB segments. Table s ch lu gi cc gi tr dng nh v, xc nh ni lu gi cc d liu LOB tng ng.

Trang 111

Kin trc v qun tr c s d liu Oracle

10.1.10. LOB Index


Mt LOB index segment c to ngm nh mi khi LOB segment c to lp. Cc tnh cht lu gi ca LOB index c th c quy nh bi qun tr vin database. Mc ch ca vic s dng LOB index segment l cho php tm kim cc gi tr c th trong ct d liu loi LOB.

Hnh v 39. Cc loi segments (tip theo)

10.1.11. Nested Table


Ct d liu trong table c th c to lp t mt user-defined table (bng do ngi dng nh ngha). Trong trng hp ny, bng d liu tng ng vi phn t thuc ct d liu (inner table), c bit n nh mt nested table v c lu gi trong mt segment ring bit.

10.1.12. Bootstrap Segment


Bootstrap segment, c bit n nh mt cache segment, c to bi file script sql.bsq sau mi khi database c to. Segment gip cho vic khi to data dictionary cache mi khi database c m bi mt instance. D liu trong bootstrap segment khng th xem hay sa cha, cp nht c. Qun tr database cng khng cn thit phi quan tm ti segment ny.

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 112

Kin trc v qun tr c s d liu Oracle

10.2.2. S dng v gii phng cc extent


Khi mt tablespace c to, cc data files thuc tablespace s cha cc phn thng tin sau: Header block, tng ng vi block u tin ca file Phn cn li ca data file l cc phn cn trng

Hnh v 40. S dng v gii phng cc extents

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.

10.2.3. Kt hp cc vng khng gian trng


Ta c th thc hin vic kt hp cc vng khng gian trng lin tip nhau mi khi cc extents trong cng mt tablespace c gii phng. iu ny rt d xy ra, v d: khi c hai table b hu (dropped). Cc extents trng ny c th c kt hp li thnh mt extent trong cc iu kin: Khi tin trnh SMON khi to mt space transaction kt hp cc extents trng. Khi Oracle server cn phi cp pht vng trng m n cn ti lng khng gian trng ln hn khng gian ca mt extent. Kt hp theo yu cu ca qun tr vin database.

Trang 113

Kin trc v qun tr c s d liu Oracle

Hnh v 41. Kt hp cc vng khng gian trng

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. S dng cng c Oracle Tablespace Manager. 2. Chuyn ti nt Expand Tablespaces. 3. Chn tablespace tng ng. 4. Chn mc Tools>Coalesce Free Extents.

Trang 114

Kin trc v qun tr c s d liu Oracle

10.3.BLOCK D LIU
10.3.1. Cu trc ca block d liu

Hnh v 42. Cu trc ca Block d liu

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 115

Kin trc v qun tr c s d liu Oracle

10.3.2. Cc tham s s dng khng gian trong block


Cc tham s s dng khng gian trong block c dng iu khin vic s dng vng khng gian d liu v index trong cc segments. Cc tham s iu khin song song

Hnh v 43. Cc tham s s dng khng gian trong block

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. 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.

Trang 116

Kin trc v qun tr c s d liu Oracle

10.3.3. S dng khng gian trong block


c th, ta theo di cc bc vic s dng cc vng khng gian trong block i vi mt table c PCTFREE=20 v PCTUSED=40: Phase 1: Cc dng d liu c np vo block cho ti khi 80% (100-PCTFREE). Lc ny, ta khng th insert thm d liu vo Block.

Hnh v 44. S dng vng khng gian trong block

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.

10.3.4. Phn loi mc phn on i vi tng loi segment


Tablespace SYSTEM TOOLS DATAn INDEXn RBSn TEMPn Phn loi s dng Data dictionary Applications Data segments Index segments Rollback segments Temporary segments Mc phn on Khng xy ra Rt t t t Nhiu Rt nhiu*

K hiu * c ngha l ch ng vi cc tablespaces thuc loi PERMANENT

Hin tng phn on d liu xy ra vi mc khc nhau i vi cc loi segments khc nhau. Oracle khuyn co nn lu tr d liu trn nhiu tablespaces khc nhau gim thiu vic s dng lng ph cc vng khng gian.

Trang 117

Kin trc v qun tr c s d liu Oracle

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.

10.4.THNG TIN V CU TRC LU TR


10.4.1. Cc view lu tr thng tin
Thng tin v cc tablespaces, data files, segments, v extents (thng tin v c phn s dng ln phn cn trng) u c th ly t cc t in d liu. Thng tin v tablespace c th c lu trong DBA_TABLESPACES. Thng tin v cc file d liu ca database c lu trong DBA_DATA_FILES. Thng tin v cc vng trng trong cc data file, vng trng ca extent c lu trong DBA_FREE_SPACE. View DBA_SEGMENTS lu gi thng tin v cc segment. Tng t nh vy, DBA_EXTENTS lu gi thng tin v cc extent.

Hnh v 45. Cc views cha thng tin v cu trc lu tr

Trang 118

Kin trc v qun tr c s d liu Oracle

10.4.2. Xem thng tin v cc segments


Thng tin c lu trong DBA_SEGMENTS.

Hnh v 46. Phn loi cc thng tin chnh c trong DBA_SEGMENTS

Ta c th ly thng tin v cc segments theo cc loi sau: Thng tin tng hp: User s hu, tn segment, loi segment, tn tablespace. Thng tin v kch c: extents, blocks. Thng tin lu tr: INITIAL_EXTENT, NEXT_EXTENT, MIN_EXTENT, MAX_EXTENT, PCT_INCREASE V d: Xem s lng cc extents v blocks c cp pht cho tng segment do user SCOTT s hu. SVRMGR> SELECT segment_name,tablespace_name,extents,blocks 2> FROM dba_segments 3> WHERE owner='SCOTT'; SEGMENT_NAME -----------EMP DEPT BONUS SALGRADE DUMMY 5 rows selected. TABLESPACE_NAME --------------DATA01 DATA01 DATA01 DATA01 DATA01 EXTENTS --------5 1 1 1 1 BLOCKS -------55 5 5 5 5

Trang 119

Kin trc v qun tr c s d liu Oracle

10.4.3. Thng tin v cc extents


Thng tin c lu trong DBA_EXTENTS.

Hnh v 47. Phn loi cc thng tin chnh c trong DBA_EXTENTS

Ta c th ly thng tin v cc extents theo cc loi sau: Thng tin nhn dng: User s hu, tn segment, m hiu extent Thng tin v kch c v ni t: TABLESPACE_NAME, RELATIVE_FNO, FILE_ID, BLOCK_ID, BLOCKS V d: Xem thng tin chi tit v cc extents c trong mt segment cho trc SVRMGR> SELECT extent_id,file_id,block_id,blocks 2> FROM dba_extents 3> WHERE owner='SCOTT' 4> AND segment_name='EMP'; EXTENT_ID FILE_ID --------------0 4 1 4 2 4 3 4 4 4 5 rows selected. BLOCK_ID -------2 27 32 42 57 BLOCKS -----5 5 10 15 20

Trang 120

Kin trc v qun tr c s d liu Oracle

10.4.4. Thng tin v cc vng trng


Thng tin v cc vng trng c lu trong DBA_FREE_SPACE.

Hnh v 48. Phn loi cc thng tin chnh c trong DBA_FREE_SPACE

View ny cha cc thng tin v V d: SVRMGR> SELECT tablespace_name, count(*), 2> max(blocks), sum(blocks) 3> FROM dba_free_space 4> GROUP BY tablespace_name; TABLESPACE_NAME COUNT(*) MAX(BLOCKS SUM(BLOCKS --------------- -------- ---------- ---------DATA01 2 1284 1533 RBS 3 2329 2419 SORT 1 1023 1023 SYSTEM 1 5626 5626 TEMP 1 2431 2431 5 rows selected.

Trang 121

Kin trc v qun tr c s d liu Oracle

Chng 11. QUN L ROLLBACK SEGMENTS


11.1.GII THIU ROLLBACK SEGMENTS
11.1.1. Khi nim
Mi khi c s thay i d liu trong database, cc d liu c u c lu li c th khi phc li trng thi ca d liu trc khi thay i. Rollback segment c dng lu tr cc gi tr c . Rollback segment lu gi cc thng tin v block nh block ID, v cc d liu sa i ca block.

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.

11.1.2. Mc ch s dng segment


Transaction rollback Khi mt transaction thc hin cc thay i i vi cc dng d liu trong table, cc gi tr ban u (old image) s c lu gi vo rollback segment. Khi transaction c rolled back (ly li), cc d liu c lu trong rollback segment s c ly ra v ln d liu hin ti trong block, phc hi li cc gi tr nguyn thu.

Trang 122

Kin trc v qun tr c s d liu Oracle

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 .

11.1.3. Phn loi rollback segment


SYSTEM Rollback Segment SYSTEM rollback segment c to ngay trong SYSTEM tablespace mi khi mt database c to lp. Rollback segment ny ch c s dng i vi cc thay i d liu ca cc i tng nm trong SYSTEM tablespace. Non-SYSTEM Rollback Segments Mt database c th c nhiu tablespaces v nn c t nht mt non-SYSTEM rollback segment. Cc non-SYSTEM rollback segment do qun tr vin database to lp c th c s dng lu gi cc thay i trn cc i tng c trong cc non-SYSTEM tablespace khc. C hai loi non-SYSTEM rollback segments. Private: Private rollback segments l cc segments c s dng ring cho mi instance. Public: Public rollback segments l mt phn ca rollback segments c trong database. Public rollback segments c th c s dng bi Oracle Parallel Server.

Trang 123

Kin trc v qun tr c s d liu Oracle

11.2.S DNG ROLLBACK SEGMENT


11.2.1. S dng rollback segment trong cc transaction
Cp pht cc Rollback Segment i vi cc transaction phi x l mt khi lng ln cc d liu, ta cn gn transaction ny vi mt rollback segment ring chuyn lm nhim v lu gi cc trng thi ban u ca d liu. Ch gn rollback segments cho mt transaction: Lng trc khi lng thng tin trong transaction cn rollback ph hp (fit) vi kch thc ca vng trng (extents) hin thi ca rollback segment. Cp pht va cc vng trng v khng cn cp pht b cc vng trng (extents) cho rollback segments c gn cho transaction v iu ny c th dn n vic gim hiu sut thc hin ca h thng. 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.

Hnh v 51. S dng d liu trong rollback segment Trang 124

Kin trc v qun tr c s d liu Oracle

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.

11.2.2. Tng trng i vi cc rollback segments


Rollback segment c con tr xc nh extent ang lm vic. Khi extent lm vic y, con tr s chuyn sang extent k tip thc hin vic ghi d liu. C nh vy cho n extent cui cng ri li quay tr v extent u tin nu extent ny ang ri. Tuy nhin, c nhiu kh nng extent u tin ny cng ang khng ri. Khi , con tr khng th nhy cch m b qua extent 1 chuyn sang extent 2 c. tip tc duy tr hot ng cho transaction, cn phi b sung thm mt extent na vo sau extent cui cng. Vic ny to nn s tng trng i vi cc rolback segments. Vic tng trng i vi cc rolback segments s tip tc xy ra cho ti khi s lng cc extents tng kch khung quy nh trong tham s MAXEXTENTS.

Hnh v 52. Tng kch thc Rollback Segment

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.

Trang 125

Kin trc v qun tr c s d liu Oracle

11.2.3. Ti u cc rollback segments


Khi kt thc hoc commit cc transaction, n s gii phng vng khng gian s dng lu cc d liu dng phc hi. Cc extent trong rollback c a tr li trng thi inactive. tit kim khng gian lu tr trong rollback segment, ta c th ti u li rollback segment thng qua tham s OPTIMAL.

Hnh v 53. Gim kch thc ca Rollback segment

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:
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.

11.3.QUN L ROLLBACK SEGMENTS


11.3.1. S dng rollback segment
Kch thc ca rollback segment Kch thc ca rollback c xc nh tu thuc vo hai yu t sau: Loi transaction c thc hin (insert, update, delete, ...) Lng d liu c x l

Trang 126

Kin trc v qun tr c s d liu Oracle

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.

11.3.2. To rollback segment


Ta c th to rollback segment thng qua cu lnh SQL: C php: CREATE [PUBLIC] ROLLBACK SEGMENT rollback_segment [TABLESPACE tablespace] [STORAGE ([INITIAL integer[K|M]] [NEXT integer[K|M]] [MINEXTENTS integer] [MAXEXTENTS {integer|UNLIMITED}] [OPTIMAL {integer[K|M]|NULL}] ) ] Lu : Mt rollback segment c th l PUBLIC hoc PRIVATE (mc nh) vic gn ny c thc hin ngay lc to v khng th thay i sau ny. MINEXTENTS>=2 i vi cc rollback segment. PCTINCREASE c b qua i vi cc rollback segment v c gn bng 0. 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);

Trang 127

Kin trc v qun tr c s d liu Oracle

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.

11.3.3. Thay i trng thi ca Rollback segments


Rollback segments c th nhn mt trong hai trng thi ONLINE/OFFLINE Khi rollback segment c trng thi online th n sn sng s dng cho cc transactions, ngc li, trng thi offline cho bit n khng sn sng cho cc transactions. Thng thng, rollback segments l online v sn dng cho cc transactions. Trong mt s tnh hung nht nh, ta cn t trng thi online hay ofline i vi cc rollback segments: Khi trng thi ca tablespace l online, nu tablespace c cha cc rollback segments, ta s khng th t trng thi tablespace thnh offline nu c bt k mt transaction no vn cn ang s dng cc rollback segments thuc tablespace . x l c tnh hung ny, ta cn thay i trng thi ca rollback segments thnh offline ngn khng cho s dng cc rollback segments trc khi thay i trng thi ca tablespace l offline. Khi ta mun drop (hu) cc rollback segments, nhng khng th thc hin c do vn cn transactions ang s dng n. x l c tnh hung ny, ta cn ngn khng cho s dng rollback segment thng qua vic t li trng thi rollback segments l offline. Sau khi to mi mt rollback segment, n s c trng thi offline v cha th s dng ngay c. c th sn dng cho cc transaction, rollback segment cn c chuyn trng thi thnh online thng qua cu lnh ALTER ROLLBACK SEGMENT C php: ALTER ROLLBACK SEGMENT rollback_segment ONLINE | OFFLINE Rollback segment s c trng thi online cho ti khi instance b tt (shutdown). 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. Chy Oracle Storage Manager.
Trang 128

Kin trc v qun tr c s d liu Oracle

2. 3. 4. 5.

Chuyn ti nt Rollback Segments. Chn rollback segment tng ng. Chn Rollback>Place Online/ Take Offline. Trong hp thoi xc nhn, bm nt Yes.

11.3.4. Instance s dng rollback segment


c th, ta xem xt cc bc thc hin khi mt instance s dng rollback segment 1. Instance s dng tt c cc rollback segments c tn trong phn tham s ROLLBACK_SEGMENTS. 2. Tham s TRANSACTIONS v TRANSACTIONS_PER_ROLLBACK_SEGMENT c s dng tnh ton s lng rollback segments cn thit cho mt instance:

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.

11.3.5. iu chnh kh nng lu tr ca rollback segment


Ta c th iu chnh cc tnh cht lu tr ca tng rollback segment thng qua lnh ALTER ROLLBACK SEGMENT 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.

11.3.6. Gim bt rng ca rollback segment

Trang 129

Kin trc v qun tr c s d liu Oracle

Trong trng hp tham s OPTIMAL c ch r, Oracle server s c gng thc hin cp pht v gii phng vng khng gian da theo gi tr ca tham s OPTIMAL. Ngc li, ta c th thc hin cp pht khng gian thng qua lnh trc tip: ALTER ROLLBACK SEGMENT rollback_segment SHRINK [ TO integer [ K|M ]]; Trong trng hp tham s integer khng c ch r, Oracle s gim lng khng gian rollback segment v ti gi tr OPTIMAL Trong OEM ta c th thc hin theo cc bc sau: Chy Oracle Storage Manager. Chuyn ti nt Rollback Segments. Chn rollback segment tng ng. Chn Rollback>Shrink. Trong hp thoi Shrink Rollback Segment, chn Optimal Size rt gn kch thc rollback segment theo kch thc c ti u. Hoc chn Size ri nhp vo gi tr kch thc cho vng khng gian tng ng. 6. Bm nt OK. 1. 2. 3. 4. 5.

11.3.7. Hy b rollback segment


Trong mt s trng hp khng cn s dng cc rollback segment, ta c th hy cc rollback segment thng qua cu lnh SQL: DROP ROLLBACK SEGMENT rollback_segment; Trong OEM, ta lm theo cc bc sau: Chn Oracle Storage Manager. Chuyn ti nt Rollback Segments. Chn rollback segment tng ng. Chn Rollback>Remove. Ta ch c th hy cc rollback segment trng thi offline. 5. Bm nt Yes trong hp thoi xc nhn. 1. 2. 3. 4.

11.3.8. Qun l undo t ng


Kh nng qun l undo t ng (Automatic Undo Management - AUM) l mt c im kh mi ca Oracle 9i. Cung cp c ch tin cy hn cho DBA khi to, thay i kch thc v iu chnh rollback segments trong database. Theo , Rollback segments c th c to, xo hay iu chnh kch thc mt cch t ng bi instance. D liu rollback data c qun l nh vo undo tablespace. V d: to undo tablespace CREATE UNDO TABLESPACE UNDO_TBS DATAFILE /u01/oradata/freeney9/undo_tbs01.ora SIZE 100M AUTOEXTEND ON NEXT 10M MAXSIZE 700M
Trang 130

Kin trc v qun tr c s d liu Oracle

Mt s tham s khi to chnh: UNDO_MANAGEMENT (MANUAL / AUTO): Cho bit database c s dng c ch AUM hay khng. Default = MANUAL UNDO_TABLESPACE (valid tablespace): Ch r tn undo tablespace s dng. UNDO_RETENTION (in seconds default=30): Cho bit thi gian tr thc hin committed undo. UNDO_SUPPRESS_ERRORS (TRUE / FALSE): Cho bit h thng c tr v exception hay khng khi SET TRANSACTION USE ROLLBACK SEGMENT pht li. Default = TRUE

11.4.THNG TIN V CC ROLLBACK SEGMENT


Thng tin v cc rollback segment c lu gi trong t in d liu.

11.4.1. Xem thng tin chung v cc rollback segment


Thng tin chung v rollback segment c lu trong view DBA_ROLLBACK_SEGS.

Hnh v 54. Cc thng tin chnh v rollback segments

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

Trang 131

Kin trc v qun tr c s d liu Oracle

--------------------SYSTEM SYSTEM RBS1 RBS RBS2 RBS RBS3 RBS 4 rows selected. D liu trong ct OWNER nhn cc gi tr:

--------------- -----SYS SYS SYS SYS ONLINE ONLINE ONLINE OFFLINE

--------

SYS: Rollback thuc loi private PUBLIC: Rollback thuc loi public

11.4.2. Xem thng tin thng k v rollback segment


Ta ly c cc thng tin ny t cc view V$ROLLSTAT v V$ROLLNAME.

Hnh v 55. Cc thng tin thng k v segments

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.

Trang 132

Kin trc v qun tr c s d liu Oracle

Din gii mt s ct d liu trong view V$ROLLSTAT Tn ct USN EXTENTS RSSIZE XACTS OTPSIZE HWMSIZE AVEACTIVE STATUS 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, Trng thi ca rollback segment

11.4.3. Thng tin v rollback segment ang active


Ta c th kt hp thng tin trong hai bng V$TRANSACTION v V$SESSION.

Hnh v 56. Thng tin v cc thao tc trn cc segments

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 ----------SYSTEM SCOTT XIDUSN ---------2 1 UBAFIL --------2 2 UBABLK ---------7 163 USED_UBLK ---------1 1
Trang 133

Kin trc v qun tr c s d liu Oracle

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, START_UBABLK Din gii a ch ca session, ly c t V$SESION.SADDR S hiu ca Rollback segment c s dng bi transaction V tr hin thi ca rollback segment m transaction s ghi vo

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

11.5.CC VN LIN QUAN TI ROLLBACK SEGMENT


11.5.1. Thiu khng gian cho cc transactions
Nguyn nhn Do mt transaction khng c s dng nhiu rollback segments nn c th xy ra tnh trng thiu vng khng gian cho cc rollback segment v gy ra li (ORA-01562). Nguyn nhn c th l mt trong cc trng hp sau: Khng c khng gian trong tablespace (ORA-01560) S lng cc extents trong rollback segment t ti gi tr MAXEXTENTS v khng th b sung thm cc extent vo rollback segment (ORA-01628) 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 Vi li ORA-01628: Tng tham s MAXEXTENTS ca rollback segment Hu v to li rollback segment vi kch thc ca extent ln hn

11.5.2. Li c d liu khng ng nht


Nguyn nhn Oracle server c gng m bo cc cu lnh s ch x l trn cc d liu c commit. V th, cc d liu cha commit s khng c s dng. Trong trng hp Oracle server khng to c cc bn lu gi tr c cc d liu (read-consistent image of data), user s nhn c li ORA-01555 snapshot too old. Li ny xy ra khi transaction thay i cc d liu c commit v: Transaction slot c trong phn rollback header ang c s dng

Trang 134

Kin trc v qun tr c s d liu Oracle

Gi tr ban u (before-image) trong rollback segment c ghi ln bi mt transaction khc Gii php Tng ch s MINEXTENTS M rng kch thc extent Tng gi tr OPTIMAL

11.5.3. Chn session

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
Trang 135

Kin trc v qun tr c s d liu Oracle

5> AND ((r.curext = t.start_uext-1) OR 6> ((r.curext = r.extents-1) AND t.start_uext=0)); SID SERIAL# START_TIME --- ------- ------------9 27 10/30/97 21:10:41 1 row selected. XIDUSN USERNAME ------ -------2 SYSTEM

Trang 136

Kin trc v qun tr c s d liu Oracle

Chng 12. QUN L TEMPORARY SEGMENTS


12.1.TEMPORARY SEGMENTS
Temporary segments c s dng khi Oracle server thc cc hin cu lnh sp xp m khng th s dng vng khng gian trong b nh do khng , v d nh: SELECT. . . ORDER BY CREATE INDEX SELECT DISTINCT SELECT. . . GROUP BY SELECT. . . UNION 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 137

Kin trc v qun tr c s d liu Oracle

12.1.1. Phn loi temporary segments


Cc temporary segments c th c to trn mt permanent tablespace hoc trn mt temporary tablespace. User c th s dng mt trong cc kiu tablespaces ny sp xp.

Hnh v 59. Phn loi temporary segment

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. 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
Trang 138

Kin trc v qun tr c s d liu Oracle

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.

12.1.2. S dng cc Sort Segments


Sort segment c to bi cu lnh sp xp u tin s dng ti temporary tablespace cho vic sp xp. V sort segment ch b hy khi tt (shutdown) database. Vic ny lm gim bt s ln cp pht v thu hi cc sort segments phc v cho cng vic sp xp, lm tng nng sut h thng. Oracle khng hn ch s lng cc extents cp pht cho mi sort segment thuc mt temporary tablespace.

12.1.3. Sort Extent Pool


Oracle server lu li chi tit sort segment trong vng Sort Extent Pool ca vng nh SGA, mi cu lnh cn ti cc vng trng thc hin sp xp c th tm cc extent ri trong vng nh ny.

12.2.CP PHT KHNG GIAN CHO TEMPORARY SEGMENT


Temporary tablespaces c s dng tng hiu qu sp xp d liu. Kch thc ca cc extents trong temporary segment c xc nh bi DEFAULT STORAGE clause ca tablespace tng ng. Do lng d liu ghi ln temporary segment bng phn nguyn ln gi tr SORT_AREA_SIZE. Do vy, ta nn t INITIAL = NEXT = (n*SORT_AREA_SIZE)+ DB_BLOCK_SIZE Gi tr PCTINCREASE=0, m bo cc extents c cng kch thc.

Trang 139

Kin trc v qun tr c s d liu Oracle

12.3.THNG TIN V CC TEMPORARY SEGMENT

Hnh v 60. Thu nhn thng tin v database instance

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; TABLESPACE_NAME EXTENT_SIZ --------------- ---------TEMP 128 1 row selected. TOTAL_EXTE ---------1 MAX_SORT_B ---------128 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 Din gii

Trang 140

Kin trc v qun tr c s d liu Oracle

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

USERNAME USER TABLESPACE ------------ ---------SYSTEM SYS TEMP 1 row selected.

Trang 141

Kin trc v qun tr c s d liu Oracle

Chng 13. CLUSTERS V INDEX-ORGANIZED TABLES


13.1.TNG QUAN V CLUSTERS V INDEX-ORGANIZED TABLES
Trong mt bng thng thng ngi s dng c rt nhiu gii hn v iu khin phn tn cc hng trong bng. Khi mt bng c to ra ln u tin ni chung cc hng c chn vo trong on bt u ca block u tin trong extent u tin. Nhng mt khi cc cu lnh DML a ra mt vi yu t nh trt t ca cc block trong danh sch cc block t do, cc hng b migration s lm cho cc cu lnh ny rt kh trong vic sp xp cc hng trong bng.

Hnh v 61. Lu tr cc dng d liu trong mt table

Cluster h tr mt vi qu trnh iu khin cc hng c lu tr. Khi mt cluster c s dng, Oracle server s lu tt c cc hng m c cng gi tr kho trong cng mt Block nu c th. Khi bng Index-Organized c s dng, ngi s dng c th iu khin trt t ca cc hng. D liu trong bng index-organized s trong trt t ca kho ch nh.

Trang 142

Kin trc v qun tr c s d liu Oracle

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. Cluster hay c dng h tr hiu nng. Truy xut ngu nhin d liu trong cluster c th nhanh hn, nhng khi s dng truy vn trn ton bng th cc bng c cluster s chm hn.
Trang 143

Kin trc v qun tr c s d liu Oracle

Cluster s quyt nh gi tr cc tham s lu tr ca tt c cc tables trong cluster .

13.1.2. Xem xt v chn la Cluster


Chn cc tables cho cluster S dng cc clusters lu tr mt hay nhiu tables m chng thng xuyn c s dng truy vn d liu (t thc hin cc thao tc insert hay update d liu) v cc tables ny thng c kt hp vi nhau qua php kt ni trong cu lnh truy vn d liu. Chn la cc ct s dng cho Cluster Key Vic chn la cc ct d liu s dng cho cluster key l kh quan trng. Khi c nhiu ct d liu c s dng trong cc php kt ni gia nhiu tables ca cu lnh truy vn, ta nn s dng cluster cho cc tables trn vi cluster key l nhm ca tt c cc ct d liu . Thng thng, ta nn t index cho cluster tng ng vi cc ct d liu trong cluster key. Mt cluster key tt l cluster key m s dng n ta c th phn u s lng cc rows (dng) trn mi nhm. Trnh chuyn c cluster key th tng ng vi nhiu rows trong khi li c nhng cluster key khc li c qu t cc rows. Khi c qu nhiu rows tng ng vi mt cluster key s lm cho vic tm kim mt dng d liu no trong cluster tr nn tn km hn. Mt khc, t cc Cluster keys i vi nhng ct c min gi tr t cng khng hiu qu. V d nh t cluster key i vi cc ct nhn gi tr logic, min gi tr ca ct ny ch l true v false cho nn cluster key trn ct d liu ny cng khng pht huy c hiu qu.

13.1.3. Cc kiu cluster


C hai kiu cluster Index Cluster Hash Cluster

Hnh v 63. Cc kiu Cluster

Trang 144

Kin trc v qun tr c s d liu Oracle

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.

13.1.4. Chn la kiu cluster


Lu tr table trong hash cluster l mt cch nhm lm tng hiu sut ca h thng, tng cng tc tr v cc d liu ca cu lnh truy vn. S dng hash cluster l mt trong s cc cch chn la gia non-clustered tables c km theo index trn tables tng ng, s dng index cluster v s dng hash cluster. Vi mt table c s dng index hay mt index cluster, khi nh v dng d liu trong table, Oracle server s s dng cc key values (gi tr kho) trong index nh v. Vi vic s dng hash cluster (cluster c s dng phng php bm), Oracle s lu tr cc rows ca table trong mt hash cluster v nh v dng d liu ny thng qua mt hash function (hm bm). Oracle s dng hash function to ra cc gi tr dng s, gi l cc hash values (gi tr bm). Cc hash values c xc nh da vo cc gi tr ca cc ct d liu. Ging nh

kho ca index cluster, kho ca mt hash cluster cng c th bao gm mt hoc nhiu ct d liu. xc nh c mt dng d liu trong indexed table th t nht cn phi thc hin 02 thao tc vo ra vi: Cn ti t nht l mt thao tc vo ra xc nh c key value trong index V cn mt thao tc vo ra na c hoc ghi dng d liu trong table hay cluster

Trang 145

Kin trc v qun tr c s d liu Oracle

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, 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 ]
Trang 146

Kin trc v qun tr c s d liu Oracle

[ [ [ [ Vi: schema column cluster data type SIZE

SIZE integer [ K | M ] ] storage-clause ] TABLESPACE tablespace ] INDEX ] l owner ca bng tn ca ct lm kho cho cluster tn ca cluster kiu d liu v kch thc ca ct lm kho ch nh khng gian yu cu bi ton b cc hng tng ng vi gi tr kho, n v tnh byte, kilobyte hay megabyte. Ch nh cluster to ra l mt index cluster.

INDEX 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. 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.
Trang 147

Kin trc v qun tr c s d liu Oracle

Mt bng m c t trong mt cluster khng th c cc thuc tnh vt l ca ring n bi v segment khng phi ca ring n m l mt phn ca cluster. Lu : phi c cluster index th mi thao tc c d liu trong tables nm trong cluster V d: To Cluster CREATE CLUSTER scott.ord_clu (ord_no NUMBER(3)) SIZE 200 TABLESPACE DATA01 STORAGE(INITIAL 5M NEXT 5M PCTINCREASE 0); To Index cho Cluster CREATE INDEX scott.ord_clu_idx ON CLUSTER scott.ord_clu TABLESPACE INDX01 STORAGE(INITIAL 1M NEXT 1M PCTINCREASE 0); To table trong Cluster CREATE TABLE scott.ord (ord_no NUMBER(3) CONSTRAINT ord_pk PRIMARY KEY, ord_dt DATE, cust_cd VARCHAR2(3)) CLUSTER scott.ord_clu(ord_no); CREATE TABLE scott.item (ord_no NUMBER(3) CONSTRAINT item_ord_fk REFERENCES scott.ord, prod VARCHAR2(5), qty NUMBER(3), CONSTRAINT item_pk PRIMARY KEY(ord_no,prod)) CLUSTER scott.ord_clu(ord_no);

13.2.2. To Hash Cluster


to mt hash cluster v t bng ln trn n, thc hin cc bc sau: To cluster To bng 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
Trang 148

Kin trc v qun tr c s d liu Oracle

(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.

13.2.3. Xc nh gi tr SIZE cho cluster


SIZE dng nh ngha khng gian s dng bi tt c cc hng cho kho. c s dng cho c hai kiu cluster nh gi : S cc i gi tr kho cho mt block trong index cluster. Gi tr chnh xc s gi tr kho cho block trong hash cluster. 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.

13.2.4. Cc tham s ch nh cho hash cluster


C hai tham s chnh c ch ra cho cc hash cluster l HASHKEYS: s gi tr kho HASH IS : Tu chn cho hm bm do ngi dng nh ngha. 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:

Trang 149

Kin trc v qun tr c s d liu Oracle

Cc extent c thit lp khi nh ngha trong mnh STORAGE s tip tc n khi tng kch thc ca cc extent c thit lp bng hay ln hn gi tr tnh ton. HASH IS Hm bm c th c nh ngha bi user, hm c chn cn xem xt tnh phn tn ca gi tr kho : C kh nng phn tn ln nht cc hng trong trong s cc gi tr kho. C gng gim thiu s ng (collision). ng s xy ra khi mt vi gi tr kho bm ra cng mt kt qu. Khi tnh trng ng xy ra s gy ra khng khng gian cha tt c cc hng , mt con tr s c t vo trong block, mt bn ghi mi c t qua block mi. nh gi tr n mt gi tr nguyn dng. Mt hm bm c th cha bt k cu lnh SQL hp l no, cc hm do user nh ngha khng th tham gia vo hm bm.

13.2.5. Sa i cc Cluster
Cc sa i i vi Cluster bao gm 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. 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
Trang 150

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

Kin trc v qun tr c s d liu Oracle

Cc cu lnh ALTER CLUSTER, TRUNCATE CLUSTER v ANALYZE CLUSTER c cng mt c php tng ng vi cu lnh cho bng.

13.2.6. Xo Cluster
Mt cluster ch c th xo nu nh tt c cc bng trn cluster c xo i, iu ny c th thc hin bng cch s dng mnh tu chn INCLUDING TABLES trong cu lnh xo CLUSTER hay bng cch xo bng trc khi xo CLUSTER. C php: DROP CLUSTER [ schema. ] cluster [ INCLUDING TABLES [ CASCADE CONSTRAINTS ]] Mnh CASCADE CONSTRAINTS phi c s dng nu bt c bng no trong cluster b tham chiu n bi mt ngoai kho (Foreign Key) ca bng m khng thuc vo cluster. V d: S dng mnh INCLUDE TABLES xo cc bng trong Cluster DROP CLUSTER scott.ord_clu INCLUDING TABLES; Xo cc bng trc khi xo Cluster DROP TABLE scott.ord; DROP TABLE scott.item; DROP CLUSTER scott.ord_clu; Cc tnh 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)

Index X X X X X X X X

Hash

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

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

Trang 151

Kin trc v qun tr c s d liu Oracle

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. nh gi s gi tr kho: trong hash cluster, cc hm bm da trn tham s ch nh bi ngi dng vo thi im to chng. Vic nh gi gi tr kho hay kch thc chnh xc l phc tp bi v cc bng ny thay i. Mt la chn sai cho HASHKEYS v SIZE c th dn n mt hm bm khng hiu qu v c th dn n lng ph khng gian lu tr, v vy hash cluster ch nn s dng khi m gi tr ca SIZE v HASHKEYS l c th nh gi c trc. iu kin query: Hm bm c th c s dng truy xut d liu ch khi gi tr kho l c bit. V l do ny m tm kim trong mt khong khng th s dng hm bm. Nu cu lnh truy vn s dng da vo tnh ngang bng trong kho ca cluster chng c th h tr cho qu trnh bm. Tuy nhin c th to ra mt index trn kho ca hash cluster, nu nhiu truy vn s dng tm kim khong trong ct kho ca hash cluster.

Trang 152

Kin trc v qun tr c s d liu Oracle

13.3.THNG TIN V CC CLUSTERS


Thng tin v Cluster c ly trong t in d liu: DBA_CLUSTERS, DBA_TAB_COLUMNS, DBA_CLU_COLUMNS, DBA_CLUSTER_HASH_EXPRESSIONS

Hnh v 64. Thng tin v Cluster

13.3.1. Xc nh Cluster v cc ct kho Cluster


tm tn ca index cluster thuc v user SCOTT v cc ct lm kho trong cluster s dng cu lnh query sau: SVRMGR> SELECT c.cluster_name, c.cluster_type, c.key_size, 2> cc.column_name, cc.data_type, 3> decode(cc.data_type, 'NUMBER', 4> decode(cc.data_precision,NULL,NULL, 5> cc.data_precision||','||cc.data_scale), 6> 'DATE', NULL, cc.data_length) AS "COLSIZE" 7> FROM dba_clusters c, dba_tab_columns cc 8> WHERE c.owner = cc.owner 9> AND c.cluster_name = cc.table_name 10> AND c. owner= 'SCOTT'; CLUSTER_NAME CLUST ------------ -----OFF_CLU HASH OFF_CLU HASH ORD_CLU INDEX 3 rows selected. KEY_SIZE ------500 500 300 COLUMN_NAME ---------COUNTRY POSTCODE ORD_NO DATA_TYPE COLSIZE --------- ------VARCHAR2 2 VARCHAR2 8 NUMBER 3,0

Trang 153

Kin trc v qun tr c s d liu Oracle

13.3.2. Ly thng tin ct kho ca cluster v cc ct trong bng


Truy vn ct DBA_CLU_COLUMNS ly thng tin v danh sch cc cluster, cc bng trong cluster v tn cc ct: SVRMGR> SELECT * 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.3.3. Ly thng tin cho hash cluster


tm s kho hash v kiu ca hm bm s dng, s dng cu lnh query sau: SVRMGR> SELECT c.cluster_name, c.hashkeys, c.function, 2> h.hash_expression 3> FROM dba_clusters c, dba_cluster_hash_expressions h 4> WHERE c.owner = h.owner(+) 5> AND c.cluster_name = h.cluster_name(+) 6> AND c.owner='SCOTT' 7> AND c.cluster_type='HASH'; CLUSTER_NAME ------------OFF_CLU 1 row selected. HASHKEYS FUNCTION HASH_EXPRESSION ---------- ------------- --------------1009 DEFAULT2

Trang 154

Kin trc v qun tr c s d liu Oracle

13.4.INDEX-ORGANIZED TABLE
13.4.1. Tnh cht chung

Hnh v 65. Bng c t chc theo kiu index

Cu trc lu tr Mt index-organized table lu ton b d liu cho bng trong mt cu trc B-TREE, B-TREE index da trn kho chnh ca bng v n c t chc ging nh mt index. Cc block phn l trong cu trc ny cha cc ct khng phi l kho thay v cc ROWID. V vy vic s dng index-organized table cn 2 segments khc nhau mt cho table v mt cho index. Truy 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 cc Khng c ROWID index Khng c cc index ph FTS tr v cc dng d liu khng theo Duyt tt c ch s v tr v cc dng d liu
Trang 155

Kin trc v qun tr c s d liu Oracle

mt trt t Cho php cc rng buc duy nht

theo th t kho chnh Khng h tr cc rng buc duy nht

H tr vic phn vng, phn tn v lan Khng h tr vic phn vng, phn tn v lan truyn (replication) d liu truyn (replication) d liu

Mt index-organized table khc vi table nh sau: ROWID c th l xc nh duy nht cho mt hng trong bng thng thng, trong khi hng trong index-organized table th c xc nh bi kho chnh ca bng. Mt bng thng thng c th c nhiu index. Cc index lu gi tr ROWID tng ng cho gi tr kho ca index, trong khi i vi index-organnized table khng dng ROWID nn index th cp s khng th to ra trn kiu bng ny. Bt c mt cu lnh SQL truy xut gi tr ROWID ca bng index-organized table s nhn c mt li. Khi thc hin vic qut trn ton bng trn bng thng thng trt t cc hng tr v l khng th bit trc c. Ngc li qu trnh truy vn trn ton b bng indexorganized 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).

13.4.2. To mt index-organized table


Mt index-organized table s dng trong trng hp : Cc Cc Cc Cc 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 ch nh n l mt index-organized table
Trang 156

ng dng thu hi thng tin ng dng khng gian ng dng x l phn tch trc tuyn (OLAP) bng thng xuyn truy xut s dng kho chnh ca bng.

ORGANIZATION INDEX

Kin trc v qun tr c s d liu Oracle

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 157

Kin trc v qun tr c s d liu Oracle

13.4.3. Hin tng ROW OVERFLOW (trn dng d liu)


Mt hng ln trong index-organized table c th b ph hu vng lu tr dy c ca cc hng trong index, vn ny c th khc phc c bng cch s dng mt vng overflow.

Hnh v 66. Trn dng d liu

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 indexorgannized 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 index-organized table.

Trang 158

Kin trc v qun tr c s d liu Oracle

13.4.4. Ly thng tin IOT (Index Orrganized Table)


Thng tin v IOT c ly trong t in d liu. Hai views cn quan tm l DBA_TABLES v DBA_INDEXES

Hnh v 67. Thng tin v IOT

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 159

Kin trc v qun tr c s d liu Oracle

Chng 14. QUN L CC TABLES


14.1.TNG QUAN V TABLES
14.1.1. Phn loi cc tables
C mt s phng php lu tr d liu ngi s dng. Trong Oracle database, d liu c th c lu trong nhng i tng sau: Regular Tables Partition Tables Index_Organized Tables Clustered Tables 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.

14.1.2. Cu trc cc dng d liu (row data)


Cc dng d liu (rows data) c lu trong cc database blocks. Cc trng d liu trn mi row c lu tr theo mt trt t ging nh trt t ca cc ct d liu (columns) khi nh ngha table. Cc trng c gi tr NULL s khng c lu tr. Mi row trong table c th c s lng cc trng d liu khc nhau. Mi row trong table u c: 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 .
Trang 160

Kin trc v qun tr c s d liu Oracle

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. Cu trc dng d liu d liu

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.

14.2.CC KIU D LIU TRONG TABLE


14.2.1. Kiu d liu v hng
D liu k t (character) D liu k t c th lu tr theo kiu chui c di khng i (fixed length) hoc c di thay i c (variable length) trong database. Kiu k t c di khng thay i nh l CHAR, NCHAR c lu tr gn thm cc khong trng (blanks). NCHAR l kiu d liu NLS (kiu d liu c h tr c tnh ngn ng ca tng quc gia) cho php lu tr cc tp k t c rng khng thay i hay c rng thay i (fixed width, variable width). Kch thc cc i c quyt nh bi s bytes dng lu tr mt k t, vi mt gii hn trn l 2000 bytes cho mt row. Kiu d liu CHAR ph hp vi vic lu tr xu k t thuc bng m ASCII. Trong khi kiu d liu NCHAR ph hp vi vic lu tr xu k t thuc bng m phc tp hn, bng m unicode chng hn. Khi ny, mi k t lu tr c th c kch thc ln hn mt byte (V d: k t ch Trung Quc, Nht Bn,..). 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

Trang 161

Kin trc v qun tr c s d liu Oracle

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)
10 bytes 10 bytes 4 bytes 8 bytes T T T T e s e

Lu tr d liu
e s e t s t t s t

VARCHAR v NVARCHAR l hai kiu d liu chun c Oracle h tr t cc phin bn u. Vi cc phin bn sau ca Oracle, c h tr thm kiu d liu VARCHAR2 v NVARCHAR2. Hai kiu d liu ny cng tng t nh VARRCHAR v NVARCHAR, tuy nhin hai kiu d liu ny c h tr x l tt hn v cn c tip tc h tr trong cc phin bn tip theo ca Oracle. Oracle khuyn co ngi s dng nn dng kiu d liu VARCHAR2 v NVARCHAR2 thay cho kiu cc d liu c l VARCHAR v NVARCHAR. Kiu d liu k t c di thay i s ch s dng mt s bytes cn thit lu tr gi tr thc s ca ct v c th thay i kch thc cho mi hng. VARCHAR2 v NVARCHAR2 l v d ca kiu d liu k t c di thay i.

Hnh v 69. Cc kiu d liu trong Oracle

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: Mt byte lu phn m Mt byte lu hai con s phn nh tr. Mt byte lu s m.

Trang 162

Kin trc v qun tr c s d liu Oracle

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 C th ln ti 4GB SELECT tr v locator LOB Nhiu ct cho mt bng

D liu in-line (c th lu tr trong mt D liu c th l in-line hay out-of-line (d dng ca table) liu khng lu tr c trong bng m phi lu ring trong mt tablespace, c s dng LOB locator xc nh d liu LOB) Khng h tr Object type Truy nhp tun t cc b (chunk) H tr kiu object Truy xut chunk khng tun t

Ngoi ra, Oracle cung cp 6 kiu d liu cho vic lu tr cc i tng ln: CLOB v LONG d liu k t c rng khng i. NCLOB lu d liu k t NLS c rng khng i. BLOB v LONG RAW cho cc d liu phi cu trc . BFILE lu tr cc d liu phi cu trc trong h iu hnh. LONG v LONG RAW, trc y, thng c s dng lu tr d liu phi cu trc nh image, document hay cc thng tin vt l. cc phin bn gn y, Oracle 8i, kiu d liu ny c thay th bng kiu d liu LOB. Kiu d liu LOB khc vi d liu LONG v LONG RAW cho nn chng khng th dng ln vi nhau. LOB khng h tr cho cc chng trnh vit vi LONG v ngc li. 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. 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).

Trang 163

Kin trc v qun tr c s d liu Oracle

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 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.

Trang 164

Kin trc v qun tr c s d liu Oracle

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). 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.

Trang 165

Kin trc v qun tr c s d liu Oracle

14.2.3. Kiu quan h (REF)


Kiu quan h c dng nh l con tr trong database. Vic s dng kiu ny i hi tu chn OBJECT. V d, mi Item trong n t hng c th tr n hay tham chiu n mt hng trong bng PRODUCTS, m khng cn lu tr m ca cc sn phm. Kiu d liu do ngi s dng nh ngha (User Defined Type) Oracle database cho php ngi s dng nh ngha kiu d liu v s dng chng trong ng dng, s dng c tnh ny cn chn tu chn OBJECT.

14.2.4. Kiu d liu TIMESTAMP


Trong phin bn Oracle 9i, ta c thm m kiu d liu mi, gi l kiu TIMESTAMP. Kiu d liu ny cho php ta lu tr d liu dates, time vi cp chnh xc 9 s thn phn ca n v giy. Oracle cung cp mt s hm phc v cho vic chuyn i kiu lin quan: TO_TIMESTAMP: chuyn i String sang Timestamp. TO_TIMESTAMP_TZ: chuyn i String thnh Timestamp c km Time Zone. TO_DSINTERVAL: chuyn i String thnh Interval Day to Second. TO_YMINTERVAL: chuyn i String thnh Interval Year to Month TO_CHAR: chuyn i sang khun dng characters. EXTRACT: tr v cc gi tr yu cu (dng mt s - number) t mt gi tr datetime hay interval datatype. Options are Year, Month, Day, Hour, Minute, Second, Timezone_Hour, Timezone_Minute, Timezone_Region, or Timezone_ABBR. V d: SELECT EXTRACT(YEAR FROM SYSDATE) FROM DUAL;

14.3. QUN L CC TABLES


14.3.1. To table
Ta c th to table thng qua cu lnh SQL C php: CREATE TABLE [schema.] table (column datatype[ , column datatype ].....) [TABLESPACE tablespace] [PCTFREE interger] [PCTUSED interger] [INITTRANS interger] [MAXTRANS interger] [STORAGE storage_clause] [LOGGING|NOLOGGING] [CACHE|NOCACHE] Vi: schema tng ng vi user s hu table.
Trang 166

Kin trc v qun tr c s d liu Oracle

table column datatype TABLESPACE PCTFREE PCTUSED INITRANS MAXTRANS STORAGE LOGGING NOLOGGING CACHE NOCACHE

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. 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
Trang 167

Kin trc v qun tr c s d liu Oracle

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. Trong OEM, ta thc hin theo cc bc sau 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.

14.3.2. Thit lp gi tr PCTFREE v PCTUSED


PCTFREE Khi gi tr PCTFREE ln th khng gian dnh cho insert d liu s ln hn khng gian cho update d liu. Thit lp gi tr ny ln d phng cho mt s trng hp: Table c nhiu ct d liu nhn gi tr NULL lc u nhng sau n li c cp nht bi mt gi tr khc NULL. Cc ct d liu trong table c m rng kch thc mi khi n c cp nht bi mt gi tr khc c rng ln hn. Mt gi tr PCTFREE ln s lm cho mt hng trong block thp i. Mi block s cho php c t hng hn c lu tr. PCTUSED Tham s PCTUSED c xc nh nhm m bo cung cp s lng block trng phc v cng vic lu tr d liu ca table. Cc blocks cung cp cho table c ly t mt danh sch cc block rng. Khi table cn thm block lu tr, Oracle server s tm mt Block trng tip theo trong danh sch cc block rng ny cung cp cho table. Qu trnh tm kim tuyn tnh xy ra cho n khi hoc l tm thy mt block rng trong danh sch hoc tm n cui cng ca danh sch. Ta c th s dng cng thc di y xc nh gi tr ca tham s PCTFREE. Gi tr ca tham s c tnh bi cng thc ny c th lm gim thi gian tm kim trong danh sch cc block rng v tng kh nng tm kim khi cn thm khng gian s dng.

Trang 168

Kin trc v qun tr c s d liu Oracle

Cng thc tnh cho cc gi tr PCTFREE v PCTUSED

Hnh v 72. Cng thc tnh PCTFREE v PCTUSED

Ch : Gi tr kch thc trung bnh (average row size) c th nh gi t vic s dng cu lnh ANALYZE TABLE.

14.3.3. Migration (di tr) v Chaining cc dng d liu


Migration (di tr) dng d liu Nu gi tr PCTFREE c khi to bi mt gi tr nh th s c th khng khng gian cn thit trong qu trnh tng trng ca cc blocks (v d nh update d liu trong cc rows bi mt d liu khc c rng ln hn). Khi , oracle server s chuyn ton b row sang mt block mi v thay i con tr t block c sang block mi. Qu trnh ny goi l qu trnh migration (di tr) ca mt row. Khi thc hin di tr mt row, hiu nng tm kim cc rows s b gim i do Oracle server cn phi qut 2 block d liu xc nh row d liu cn tm. Chaining dng d liu Hin tng chaining cc rows xy ra khi insert mt row qu ln vo mt block. iu ny xy ra khi row cha cc ct d liu c kch thc ln. Trong trng hp ny, Oracle server s chia cc rows thnh nhiu on nh (gi l chunk). Mi chunk c lu tr trong mt block cng vi thng tin con tr truy xut n. Tp hp nhiu chunks cho php lu c ton b d liu ca row. 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.

14.3.4. Sao chp mt tables


Ta c th s dng cu lnh CREATE TABLE sao chp mt table ang tn ti: C php: CREATE TABLE [schema.]table [LOGGING|NOLOGGING] .... AS Subquery

Trang 169

Kin trc v qun tr c s d liu Oracle

V d: CREATE TABLE new_emp STORAGE(INITTIAL 200K NEXT 200K PCTINCREASE 0 MAXEXTENTS 50) NOLOGGING TABLESPACE data01 AS SELECT * FROM scott.emp; Lu : Cc mnh TABLESPACE, STORAGE hay thng tin s dng cc blocks c th c ch ra khi to bng. S dng mnh NOLOGGING nu mun b qua vic sinh ra cc thng tin log trong redo log file v tng tc to bng. Khi thc hin sao chp cc table, cc contraints (rng buc), triggers (mt th tc c t ng kch hot khi c thao tc trn d liu) v privileges (quyn) trn table gc s khng c sao chp sang table mi. c c nhng th ny, ta phi to bng tay. Nu mt column c quy nh l NOT NULL trong table gc, cc ct tng ng trong bng mi cng s c quy nh l NOT NULL.

14.3.5. Qun tr columns trong table


Ta c th thay i cu trc ca table thng qua vic can thip vo cu trc ca table. S dng cu lnh ALTER TABLE sa i cu trc ca table. Vic thay i cu trc ca table bao gm: Thm mi columns Thay i cu trc columns Xo b columns t ch UNUSED cho columns

Hnh v 73. Thay i cu trc ca table

Thm mi columns C php: ALTER TABLE table ADD (column_name datatype [DEFAULT expr],
Trang 170

Kin trc v qun tr c s d liu Oracle

[column_name V d: SQL>ALTER TABLE Dept 2 >ADD (job Table altered. 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

datatype],...);

varchar2(30));

datatype [DEFAULT datatype],...);

expr],

varchar2(50));

Bt u t phin bn 8.1.0.0.0 tr i, Oracle cho php ta c th xo bt cc ct d liu khng cn cn s dng n trong mt table, bao gm c index-organized table. Vic ny s lm gii phng mt phn vng khng gian trong database. c th thc hin c vic ny User cn phi c cp quyn ALTER ANY TABLE trn table c ct cn xo. Tuy vy, ta khng th xo tt c cc ct trong mt table hay xo cc ct d liu trong cc table do user SYS s hu. xo columns ta thc hin cu lnh ALTER TABLE...DROP COLUMN. V d: Xo ct SAL trong bng emp: ALTER TABLE emp DROP COLUMN sal; Xo ct SAL v COMM trong bng emp:
ALTER TABLE emp DROP (sal, comm);

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;

Trang 171

Kin trc v qun tr c s d liu Oracle

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;

14.3.6. Chuyn mt Table ti Segment hay Tablespace mi


Trong qu trnh thc hin chng trnh, d liu trong table thng xuyn c thm mi, cp nht,... Vic ny s lm cho d liu trong table tng nhanh. Khi n vt qu hn mc m qun tr vin cp pht ban u, ta cn phi chuyn table ti segment hay tablespace mi h thng tip tc thc hin c. Ta s dng cu lnh ALTER TABLE...MOVE thc hin cng vic ny. V d: Chuyn table EMP ti mt segment mi vi cc tham s lu tr mi ph hp hn. ALTER TABLE emp MOVE STORAGE ( INITIAL 20K NEXT 40K MINEXTENTS 2 MAXEXTENTS 20 PCTINCREASE 0 );

14.3.7. nh ngha li mt table ang online


Trong h thng cp cao, i khi ta cn ta cn phi nh ngha li (redefine) cc table (gi l "hot" tables) nng cao hiu sut s dng ca cu lnh truy vn cng nh cc lnh thao tc d liu khc. phin bn Oracle 9i c cung cp c ch nh ngha li tables ngay c khi n ang hot ng - online. Khi nh ngha li mt table ang trong tnh trng online, cc cu lnh DML vn c th c trn table . Table s b kho (locked) ch exclusive. Vi kh nng mi c cung cp ny, ta c th: Thay i cc tham s lu tr i vi table. Di chuyn table sang mt tablespace khc trong cng mt schema. B sung cc h tr cho vic truy vn song song. H tr vic thm v hu partitioning . To li table lm gim s phn on. Thay i cu trc ca mt table thng thng hay mt index-organized table Thm v hu column trong table 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
Trang 172

Kin trc v qun tr c s d liu Oracle

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. 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,
Trang 173

Kin trc v qun tr c s d liu Oracle

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.

14.3.8. Bng ngoi External table


External tables l cc files lu tr d liu bn ngoi database m Oracle xem n nh l mt table. D liu trong external table thng l read-only v khng c indexes trn .Quyn trn cc Object ny ch l SELECT TABLE v READ DIRECTORY. Tham s UTL_FILE_DIR c s dng xc nh ng dn ti file. V d: CREATE DIRECTORY external_tables AS c:\oracle\oradata\external; CREATE TABLE EMP_EXT (EMPNO NUMBER(4,0), ENAME VARCHAR2(10), JOB VARCHAR2(9), MGR NUMBER(4,0), HIREDATE DATE, SAL NUMBER(7,2), COMM NUMBER(7,2), DEPTNO NUMBER(2,0)) ORGANIZATION EXTERNAL (TYPE oracle_loader DEFAULT DIRECTORY external_tables ACCESS PARAMETERS (RECORDS DELIMITED BY NEWLINE BADFILE external_tables:bad_emp_ext.txt LOGFILE external_tables:log_emp_ext.txt FIELDS TERMINATED BY , MISSING FIELD VALUES ARE NULL) LOCATION (emp.txt)) REJECT LIMIT UNLIMITED;
Trang 174

Kin trc v qun tr c s d liu Oracle

Khi table metadata c to lp, table ny c th c s dng truy vn d liu ging ht nh cc table khc. Ta vn c th s dng cc hm hay cc cu lnh join trn table ny, Ta cng c th tham kho cc thng tin v external tables trong cc view sau: DBA_EXTERNAL_TABLES cho bit cc thuc tnh ca external table trong database. DBA_EXTERNAL_LOCATIONS cho bit ng dn ti cc files v th mc tng ng lu gi chng.

14.4.CC RNG BUC (CONSTRAINTS) I VI TABLES


14.4.1. Rng buc i vi tables
Khi np d liu vo table, oracle khng ch quan tm ti vic cho php a cc d liu ph hp vi cu trc ca table (nh: cng kiu d liu vi ct tng ng, ln ca d liu a vo nm trong khong cho php,...) m cn quan tm ti tnh ph hp d liu v mt logic ca cc d liu lu tr trong table (v d nh khng th c hai ngi khc nhau m li c cng mt m s lu trong h thng, gi tr tui khng th nhn gi tr m,...). m bo tnh logic v ph hp vi yu cu nghip v ca tng bi ton c th, Oracle server cho php ngi thit k v qun tr database c th to ra cc rng buc d liu ph hp nht thng qua vic s dng cc table constraints (rng buc i vi tables). 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 CHECK 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

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.2. Null / Not Null


L rng buc i vi d liu trong column l trng (null) hoc khng trng (not null). V d mnh rng buc:
Trang 175

Kin trc v qun tr c s d liu Oracle

CREATE TABLE DEPT ( DEPTNO NUMBER(2) NOT NULL, DNAME CHAR(14), LOC CHAR(13), CONSTRAINT DEPT_PRIMARY_KEY PRIMARY KEY (DEPTNO));

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));

14.4.4. Primary Key


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.5. Foreign Key ( Referential Key)


Ch ra mi lin h rng buc tham chiu gia table ny vi table khc, hoc trong chnh 1 table. N ch ra mi lin h cha-con v ch rng buc gia FOREIGN KEY bng ny vi PRIMARY KEY hoc UNIQUE KEY ca bng khc. V d: quan h gia DEPT v EMP thng qua trng DEPTNO. CREATE TABLE EMP ( EMPNO NUMBER(4), ENAME VARCHAR2(10) NOT NULL, JOB VARCHAR2(9), MGR NUMBER(4), HIREDATE DATE, SAL NUMBER(7,2), COMM NUMBER(7,2), DEPTNO NUMBER(7,2) NOT NULL, CONSTRAINT EMP_DEPTNO_FK FOREIGN KEY (DEPTNO) REFERENCES DEPT (DEPTNO) ON DELETE CASCADE); T kho ON DELETE CASCADE ch nh trong dng kho ny nhm mc ch khi d liu cha b xo (trong bng DEPT) th d liu con cng t ng b xo theo (trong bng EMP).

Trang 176

Kin trc v qun tr c s d liu Oracle

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);

14.5.QUN L KHNG GIAN LU TR TRONG TABLE


14.5.1. Thay i thng tin lu tr v tham s s dng Block
Mt s thng tin ca tham s lu tr v tham s s dng block c th thay i bng cch s dng cu lnh ALTER TABLE. C php ALTER TABLE [schema.]table {[storage_clause ] [PCTFREE integer] [PCTUSED integer] [INITRANS integer] [MAXTRANS integer] V d: ALTER TABLE scott.emp PCTFREE 30 PCTUSED 50 STORAGE(NEXT 500K MINEXTENTS 2 MAXEXTENTS 100); Trong OEM, ta thc hin theo cc bc sau 1. 2. 3. 4. Chy Oracle Schema Manager. Chuyn ti nt Tables, ri tip tc chuyn ti schema tng ng Chn table. Thay i cc gi tr trong phn Storage tab 5. Bm nt Apply.

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.

Trang 177

Kin trc v qun tr c s d liu Oracle

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. Gii hn: 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. Cc tham s s dng block: Thay i cc tham s s dng block nhm: Tit kim khng gian s dng. Gim thiu qu trnh migration v chaining ca block. nh 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.

14.5.2. Cp pht cc extents bng tay (manually)


Cc extents c th cp pht bng cch s dng cu lnh cp pht trc tip (gi l phng php manually - bng tay) nhm: iu khin qu trnh phn tn cc extents ca table trn cc file khc nhau. Trnh hin tng m rng t ng kch thc table trc khi np d liu vo table . C php: ALTER TABLE [schema.]table ALLOCATE EXTENT [([ SIZE integer K|M]] [ DATAFILE filename ])] V d: ALTER TABLE scott.emp ALLOCATE EXTENT(SIZE 500K DATAFILE D:\Orant\oradata\orcl\data01.dbf);
Trang 178

Kin trc v qun tr c s d liu Oracle

Nu b qua tham s SIZE, Oracle server s s dng gi tr NEXT_EXTENT c trong DBA_TABLES thit lp gi tr cho cc extents mi. File c ch nh trong mnh DATAFILE phi thuc v tablespace m cha table ang xem xt, nu khng cu lnh s sinh ra li. Nu mnh DATAFILE khng c s dng th Oracle server s thit lp extent mi trong mt datafile thuc tablespace cha table ang xem xt. Lu : Gi tr NEXT_EXTENT trong DBA_TABLES khng lm nh hng n qu trnh thit lp extent bng tay. Oracle server khng tnh li gi tr ca extent tip theo khi thc hin cu lnh.

14.5.3. High Water Mark


Gi tr ca High Water Mark cho mt table ch nh Block cui cng tng c s dng cho table. Khi d liu c insert vo trong table th High Water Mark c chuyn n block cui cng c s dng. High Water Mark khng c khi to li gi tr khi xo cc rows trong table. Gi tr ca High Water Mark c lu tr trong phn Header ca table . 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. High water mark

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;
Trang 179

Kin trc v qun tr c s d liu Oracle

11> v_last_used_block NUMBER; 12> 13> BEGIN 14> dbms_space.unused_space(v_owner, 15> v_segment_name, 16> v_segment_type, 17> v_total_blocks, 18> v_total_bytes, 19> v_unused_blocks, 20> v_unused_bytes, 21> v_last_used_extent_file_id, 22> v_last_used_extent_block_id, 23> v_last_used_block 24> ); 25> dbms_output.put_line(INITCAP(v_segment_type)||' : '||v_owner||'.'||v_segment_name); 26> dbms_output.put_line('Total Blocks : '||TO_CHAR(v_total_blocks)); 27> dbms_output.put_line('Blocks above HWM : '||TO_CHAR(v_unused_blocks)); 28> END; 29> / Statement processed. Table : SCOTT.EMPLOYEES Total Blocks : 25 Blocks above HWM : 23 Ch : th tc c gi ti package dbms_space. Package ny c to lp khi chy script dbmsutil.sql v th tc prvtutil.plb.

14.5.4. Thu hi khng gian khng s dng


Nu nh cp pht mt lng ln cc extents cho table nhng n cha c s dng ht th ta c th ly li vng khng gian cn trng . Khng gian ny sau khi c thu hi s li sn sng cho cc segments khc s dng.

Hnh v 75. Thu hi khng gian khng s dng

Trang 180

Kin trc v qun tr c s d liu Oracle

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 : 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.5. Truncate mt table


Truncate mt table s xo ton b cc row d liu trong table v gii phng khng gian s dng. C php: TRUNCATE TABLE [schema.]table [{DROP|REUSE} STORAGE] nh hng ca vic s dng cu lnh: Tt c cc rows trong table u b xo . Khng th rollback c khi thc hin cu lnh v cu lnh ny bt buc phi commit. Cc Indexes tng ng ca table s c xo i. Mt table tham chiu bi cc ngoi kho (FOREIGN KEY) khng th TRUNCATE. Cc triggers i km vi table s khng b xo khi thc hin cu lnh. Nu s dng mnh DROP: tt c cc extents ngoi tr cc extents ch nh bi MINEXTENTS c loi b High Water Mark c khi to s tr n block u tin trong table. Gi tr ca NEXT_EXTENT trong table c khi to li n kch thc ca extent c gi tr extent_id nh nht trong s cc extents b thu hi. Tc l nu MINEXTENTS=2 th gi tr NEXT_EXTENT s c khi to n gi tr ca extent th 3 ca table. S dng REUSE nhm ti s dng ton b khng gian s dng bi table. S dng mnh REUSE hay DROP u dn n vic xo cc Indexes.

14.5.6. Xo table
Mt table c th b xo khi khng cn thit s dng hay khi mun t chc li n. C php: DROP TABLE [schema.]table [CASCADE CONSTRAINTS]
Trang 181

Kin trc v qun tr c s d liu Oracle

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.

14.5.7. Kim tra cu trc bng


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.

14.5.8. Pht hin cc rows b migration


Cu lnh ANALYZE cng cn c th c s dng kim tra cc rows b migration hoc chaining trong table hay khng. C php: ANALYZE TABLE [schema.]table [ COMPUTE STATISTICS] [ ESTIMATE STATISTICS] SAMPLE integer ROWS | PERCENT]

Trang 182

Kin trc v qun tr c s d liu Oracle

Tu chn COMPUTE STATISTICS s sinh ra thng tin thng k da vo thng tin ca ton b table, cn tu chn ESTIMATE STATISTICS s sinh ra thng tin thng k da vo mt s hng lm mu. Khi thng tin v thng k kt sinh th n s c cp nht vo bng DBA_TABLES, trng CHAIN_CNT s c cp nht vi thng tin v s rows b chaining v migration trong bng. Nu c mt s lng ln cc rows trong table b chaining hay migration th table cn c t chc v nh gi li thng qua cu lnh ANALYZE nh trn. 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

14.6.THNG TIN V TABLES


Thng tin v cc tables c th ly t dictionary views.

Hnh v 76. Thng tin v cc tables trong database

14.6.1. Thng tin chung v cc tables


ly thng tin v bng: s i tng d liu, v tr ca phn header ca bng cho tt c cc bng thuc v user SCOTT ta dng cu lnh sau: SVRMGR> SELECT t.table_name, o.data_object_id, 2> s.header_file, s.header_block 3> FROM dba_tables t, dba_objects o, dba_segments s 4> WHERE t.owner=o.owner 5> AND t.table_name=o.object_name 6> AND t.owner=s.owner 7> AND t.table_name=s.segment_name
Trang 183

Kin trc v qun tr c s d liu Oracle

8> AND t.owner='SCOTT'; TABLE_NAME DATA_OBJEC HEADER_FIL ----------- ---------- ---------BONUS 1812 4 DEPARTMENTS 1811 4 DUMMY 1814 4 EMPLOYEES 1810 4 SALGRADE 1813 4 5 rows selected.

HEADER_BLO ---------12 7 22 2 17

14.6.2. Thng tin v s dng block v thng tin chaining


S dng cu lnh query sau y ly thng tin v s hng b chaining hay migration trong bng, s block c s dng ti gi tr High Water Mark v gi tr ca s block trn mc High Water Mark SVRMGR> SELECT blocks AS HWM, empty_blocks, chain_cnt AS "Chained Blocks" 2> FROM dba_tables 3> WHERE owner='SCOTT' 4> AND table_name='EMPLOYEES'; HWM EMPTY_BLOC Chained Bl ---- ---------- ---------1 23 0 1 row selected. Lu : d liu trong trong dba_tables c cp nht thc hin lnh ANALYZE (xem phn kim tra cu trc bng - trn).

Trang 184

Kin trc v qun tr c s d liu Oracle

Chng 15. QUN L CC INDEXES


15.1.PHN LOI INDEXES
Index l cu trc hnh cy cho php truy xut trc tip mt row trong table. Indexes c th chia ra lm hai loi chnh l logic v vt l. Index theo kiu logic dn xut t ng dng, cn index theo kiu vt l th c phn chia theo cch thc m index c lu tr.

15.1.1. Index trn mt column v Index trn nhiu columns


Mt index trn mt column th ch c mt column tham gia vo INDEX KEY. V d index trn trng EMPNO ca bng EMP ch c mt ct tham gia vo kho ca index. Index trn nhiu columns hay cn gi l index phc hp, nhng indexes ny c to thnh t nhiu columns trong table, cc columns to thnh index khng cn phi cnh nhau. V d index to nn t hai ct DEPNO v JOB trong bng EMP. S columns cc i cho mt index trn nhiu columns l 32. Tuy nhin kch thc kt hp ca tt c cc columns khng vt qu 1/3 kch thc ca mt Block.

15.1.2. Unique index v Non-unique index


Mt unique index (index duy nht) m bo rng khng c hai rows no thuc table c cng mt gi tr trn cc columns c trong index. Kho ca unique index ch c th tr n mt row duy nht trong table. Khc vi unique index, vi non-unique index (index khng duy nht), mt gi tr kho ca index s tng ng vi mt nhm cc rows.

15.1.3. Partitioned index v non-partitioned index


Cc table thng thng trong database u thuc loi non-partitioned table. Partitioned index (index phn khu) dng cho cc table ln, lu cc mc index (index entries) ca index ny c th nm trn nhiu segments. Vic phn khu s cho php mt index c th tri rng trn nhiu tablespaces, gim bt tnh trng qu ti khi index c truy xut v qun l. Cc partitioned index hay c s dng cng vi cc partitioned table (bng c phn khu) tng cng hiu nng v d qun l. Partitioned index s c to ra ng vi mi partitioned table. Ti liu ny cp ti hai loi index hay c s dng l B-TREE index v BIPMAP index.

15.2.T CHC INDEX


15.2.1. B-TREE index
Mc d hu ht cc indexes u s dng B-TREE index, song thut ng B-TREE thng s dng kt hp vi mt index c lu tr danh sch ROWID ti mi kho ca index .

Trang 185

Kin trc v qun tr c s d liu Oracle

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 186

Kin trc v qun tr c s d liu Oracle

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.

15.2.2. Reverse Key Index


Tri ngc vi B-TREE index, reverse key index (kho index ngc) s dng cu trc kho index theo th t cc bytes ngc vi th t trong B-TREE (ngoi tr ROWID). Tuy nhin, trt t ca cc columns trong kho vn c gi nguyn.

Hnh v 78. Reverse Key Index

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 187

Kin trc v qun tr c s d liu Oracle

15.2.3. Bitmap Index

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 188

Kin trc v qun tr c s d liu Oracle

15.2.4. So snh gia B-TREE index v Bitmap index


Bng so snh gia B-TREE v Bitmap index B-tree Bitmap

Thch hp vi cc ct d liu trn tp gi Thch hp vi cc ct d liu trn tp gi tr ln tr nh Vic cp nht da trn kho quan h nn Cp nht da vo trng kho nn kh t khng t Khng hiu qu cho cc truy vn c s Hiu qu cho cc truy vn c s dng dng mnh OR mnh OR Hu ch i vi OLTP (Online transsaction Hu ch i vi DSS (Decision support processing - dch v x l trc tuyn) system - h thng h tr quyt nh)

Bng trn y so snh gia B-TREE v Bitmap Index, Bitmap index c s dng nhiu hn trong trng hp cc ct c gi tr khc nhau rt t. Vic cp nht cc ct lm kho trong Bitmap index th s chm hn bi v Bitmap index s dng phng php kho on bitmap (bitmap segment level locking), trong khi trong mt B-TREE index kho thc hin trn cc im vo tng ng vi tng row ring l trn table. Bitmap index c th thc hin cc hot ng vi cc ton hng logic OR. Khi Oracle Server s dng hai phn on bitmap thc hin vic so snh tng bit trong ton hng OR v tr v kt qu l mt chui Bitmap. Tnh cht ny cho php s dng hiu qu chui Bitmap trong cu lnh truy vn c s dng ton hng logic OR. Ni chung B-TREE index thch hp hn trong mi trng OLTP cho vic truy vn cc bng ng. Trong khi , Bitmap index thch hp hn trong mi trng DSS c s dng nhiu cu lnh truy vn phc tp trn cc table ln (large) v tnh (static).

15.3.QUN L INDEX
15.3.1. To cc index
Mt index c th to hoc trn acount ca user l owner ca bng hay to trn mt acount khc. C php: CREATE [ UNIQUE ]INDEX [schema.] index ON [schema.] table (column [ ASC | DESC ] [ , column [ASC | DESC ] ] ...) [ TABLESPACE tablespace ] [ PCTFREE integer ] [ INITRANS integer ] [ MAXTRANS integer ] [ storage-clause ] [ LOGGING| NOLOGGING ] [ NOSORT ] Vi: UNIQUE schema c s dng ch nh mt unique index (nonunique index l mc nh). l owner ca bng cha index.
Trang 189

Kin trc v qun tr c s d liu Oracle

index table column ASC/DESC TABLESPACE PCTFREE INITRANS MAXTRANS STORAGE LOGGING NOLOGGING NOSORT

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. Cc hng dn khi to index: Hy xem xt cc hng dn khi to index: 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.
Trang 190

Kin trc v qun tr c s d liu Oracle

lm gim s phn mnh trong cc tablespace dng cha index s dng chun kch thc extent l bi s ca 5*DB_BLOCK_SIZE. Hiu nng c th tng ln nu khng s dng mnh LOGGING. V vy, cn xem xt khi s dng mnh LOGGING khi to cc index ln. V cc im vo cho index l nh hn i vi cc rows c index nn index block s c nhiu im vo cho mt block. V vy, gi tr ca INITRANS i vi index ni chung nn t ln hn l gi tr ca tham s ny trn table s dng index. pht huy hiu qu ca vic s dng index, ta to index cho tng ct hoc nhm ct tham gia trong mnh WHERE ca cu lnh truy vn. V d: 1. To index tng tc truy vn tn nhn vin: SELECT * FROM emp WHERE UPPER(emp_name) LIKE 'JOH%'; Lnh to index CREATE INDEX idx ON emp (UPPER(emp_name)); 2. Vi cu lnh truy vn trn biu thc: SELECT a FROM t WHERE a + b * (c - 1) < 100; Lnh to index CREATE INDEX idx ON t (a + b * (c - 1), a, b); 3. To index h tr sp xp chui k t da trn ngn ng ca tng quc gia: SELECT * FROM t_table ORDER BY name; Lnh to index CREATE INDEX nls_index ON t_table NLSSORT(name, 'NLS_SORT = German')); 4. S dng index trn nhiu ct khc nhau: SELECT * FROM emp WHERE UPPER(emp_name) LIKE 'JOH%' ORDER BY name; Lnh to index CREATE INDEX empi ON emp UPPER ((ename), NLSSORT(ename)); Index v gi tr PCTFREE Tham s PCTFREE cho index lm vic khc vi cho table. Tham s ny c s dng ch trong qu trnh to cc index. Tham s ny dnh ring khng gian cho cc im vo ca idex. Cc im vo ca index s khng c cp nht. Khi ct kho c cp nht, cc im vo c s c xo v chn vo mt im vo mi. S dng gi tr ca tham s PCTFREE thp cho index trn cc ct m gi tr ca n tng u n. V d nh h thng sinh s ho n. Khi ny, im vo ca index mi s lun lun da vo im vo tn ti trc v v vy khng cn chn thm vo cc im vo mi gia hai im vo tn ti. y gi tr cho mt ct c index ca hng c chn vo bng c th nhn bt c gi tr no. V vy gi tr mi c th khng nm trong dy gi tr c. Cho nn cn phi ch nh mt gi tr PTCFREE cao. V d to index trn trng m khch hng trn bng ho n. Trong trng hp ny cn s dng cng thc tnh sau xc nh gi tr ca PCTFREE:
Trang 191

Kin trc v qun tr c s d liu Oracle

Gi tr cc i c th ly trong khong thi gian c th chng hn nh mt nm.

15.3.2. Mt s cch s dng index


S dng index mt cch tng minh Vi cch ny, ngi dng ch vic to index mt cch tng minh thng qua cu lnh SQL. Mnh ON s cho bit ct d liu trong bng c s dng index. V d: CREATE INDEX emp_ename ON emp(ename) TABLESPACE users STORAGE (INITIAL 20K NEXT 20k PCTINCREASE 75) PCTFREE 0; Index c gn lin ngay trong rng buc (constraint) Khi to cc rng buc UNIQUE hoc PRIMARY KEY cho cc ct d liu trong table, Oracle s t ng to ra cc index tng ng vi ct d liu ny. Tuy nhin trong mt s trng hp, user s hu table mun to cc indexes cho table nm trn mt tablespace ring tin cho vic qun tr. Khi ny, vic to index cn c gn lin mt cch tng minh ngay trong cu lnh to bng. V d: CREATE TABLE emp ( empno NUMBER(5) PRIMARY KEY, age INTEGER) ENABLE PRIMARY KEY USING INDEX TABLESPACE users PCTFREE 0; Index Online Thng thng trong khi to index, cc cu lnh DML tc ng ln ct d liu c lin quan u tm thi khng thc hin c cho n khi hon tt vic to index. c th cho php thc hin cu lnh DML tc ng ln cc ct d liu c index, Oracle c h tr Index online (Index trc tuyn) khi ny, ta cn b sung thm mnh ONLINE vo trong cu lnh. V d: ALTER INDEX emp_name REBUILD ONLINE; 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.

Trang 192

Kin trc v qun tr c s d liu Oracle

V d: CREATE INDEX idx ON t (a + b * (c - 1), a, b);


SELECT a FROM t WHERE a + b * (c - 1) < 100;

S dng cho cu lnh truy vn:

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.

15.3.3. To Index kho ngc (reverse key index)


Ta c th to cc reverse key index bng cu ln CREATE INDEX: 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 ] REVERSE V d: CREATE UNIQUE INDEX scott.ord_ord_no_idx ON scott.ord(ord_no) REVERSE PCTFREE 30 STORAGE(INITIAL 200K NEXT 200K PCTINCREASE 0 MAXEXTENTS 50) TABLESPACE indx01; Cu lnh ny to index kho ngc tng t nh cho index thng thng ngoi tr vic thm mnh REVERSE. Ch : t kho NOSORT khng c s dng trong cu lnh to index kho ngc.

15.3.4. To Bitmap index


C php: CREATE BITMAP INDEX [schema.] index ON [schema.] table (column [ ASC | DESC ] [ , column [ASC | DESC ] ] ...) [ TABLESPACE tablespace ] [ PCTFREE integer ] [ INITRANS integer ]
Trang 193

Kin trc v qun tr c s d liu Oracle

[ [ [ [ V d :

MAXTRANS integer ] storage-clause ] LOGGING| NOLOGGING ] NOSORT ]

CREATE BITMAP INDEX scott.ord_region_id_idx ON scott.ord(region_id) PCTFREE 30 STORAGE(INITIAL 200K NEXT 200K PCTINCREASE 0 MAXEXTENTS 50) TABLESPACE indx01; Ch : Bitmap index khng th l Unique. Tham s khi to CREATE_BITMAP_AREA_SIZE quyt nh khng gian s c s dng cho vic lu tr cc bitmap segment trong b nh, gi tr mc nh ca n l 8MB, mt gi tr ln hn c th lm cho vic to index nhanh hn.

15.3.5. Thay i tham s lu tr cho index


Mt s tham s lu tr v tham s s dng block c th thay i bng cch s dng cu lnh ALTER INDEX. C php: ALTER INDEX [schema.]index [ storage-clause ] [ INITRANS integer ] [ MAXTRANS integer ] V d: ALTER INDEX scott.emp_lname_idx STORAGE(NEXT 400K MAXEXTENTS 100); nh hng ca vic thay i tham s lu tr cho mt index ging nh vic thay i tham s cho bng, cch s dng chung nht ca vic thay i tham s l tng gi tr ca MAXEXTENTS cho index.

15.3.6. Cp pht v thu hi khng gian s dng ca index


Thit lp khng gian s dng bng tay Cng vic ny cn thit khi thm cc extent cho mt index trc khi mt qu trnh chn mt lng ln cc hng vo trong bng . Thm cc extent bng tay ngn vic t ng thm cc extent ca index. 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]]
Trang 194

Kin trc v qun tr c s d liu Oracle

[ 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.

15.3.7. Xy dng li (Rebuild) cc index


Cc index c xy dng li nhm mc ch: Mt index mi c xy dng trn c s mt index tn ti . Qu trnh sp xp khng cn thit khi mt index c xy dng trn mt index tn ti, kt qu l qu trnh s to ra hiu nng cao hn. Index c b xo i sau khi mt index mi c to. Trong qu trnh xy dng li Index khng gian cn thit l khng gian cho c index c v index mi khi c to thnh. Cc truy vn c th tip tc s dng cc index ang tn ti trong khi cc index mi ang c xy dng. 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 ] [ MAXTRANS integer ] [ storage-clause ] [ LOGGING| NOLOGGING ] [ REVERSE | NOREVERSE ] Cu lnh Rebuild index khng th dng chuyn i mt Bitmap index thnh mt B-Tree v ngc li. Cc mnh REVERSE v NOREVERSE ch s dng vi B-tree index. V d:

Trang 195

Kin trc v qun tr c s d liu Oracle

ALTER INDEX scott.ord_region_id_idx REBUILD TABLESPACE indx02;

15.3.8. Kim tra tnh hp l ca index

Hnh v 80. Kim tra tnh hp l ca Index

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

T chc li index nu n c t l cc hng b xo cao, v d khi t l DEL_LF_ROWS vi LF_ROWS vt qu 30% .

Trang 196

Kin trc v qun tr c s d liu Oracle

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. C php: DROP INDEX [schema.]index;

15.4.THNG TIN V CC INDEX


15.4.1. Xem thng tin v cc index
Data dictionary c cc view dng xem thng tin v index, hai view thng dng nht hay s dng l DBA_INDEXES v DBA_IND_COLUMNS.

Hnh v 81. Thng tin v Index

S dng cu lnh sau y kim tra tn kiu v trng thi ca index ca user SCOTT: SVRMGR> SELECT index_name, tablespace_name, index_type, 2> uniqueness, status 3> FROM dba_indexes 4> WHERE owner='SCOTT'; 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

Trang 197

Kin trc v qun tr c s d liu Oracle

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.

15.4.2. Tm cc ct trong mt index


Cu lnh truy vn sau y lit k cc index ca user SCOTT v ch ra cc bng v ct trn index c xy dng: SVRMGR> SELECT index_name, table_owner, table_name, column_name 2> FROM dba_ind_columns 3> WHERE index_owner = 'SCOTT' 4> ORDER BY index_name, column_position; INDEX_NAME TABLE_OWNER ----------------- ------------EMP_LNAME_IDX SCOTT ORD_ORD_NO_IDX SCOTT ORD_REGION_ID_IDX SCOTT 3 rows selected. TABLE_NAME --------------EMP ORD ORD COLUMN_NAME ---------LAST_NAME ORD_NO REGION_ID

Trang 198

Kin trc v qun tr c s d liu Oracle

Chng 16. NP V T CHC LU TR D LIU


16.1.GII THIU CHUNG
16.1.1. Tng quan vic np d liu

Hnh v 82. Tng quan v vic np v lu tr d liu

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 199

Kin trc v qun tr c s d liu Oracle

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.

16.1.2. Np d liu trc tip


Khi np d liu trc tip (direct load insert) c th s dng mnh APPEND nh sau: C php: INSERT /*+APPEND*/ INTO [schema.]table [ [NO]LOGGING] sub_query ; Trong : schema table sub_query l owner ca bng l tn ca bng l cu lnh query ly cc hng theo yu cu

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. 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.
Trang 200

Kin trc v qun tr c s d liu Oracle

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 201

Kin trc v qun tr c s d liu Oracle

16.2.2. Phng php np d liu

Hnh v 84. Phng thc np d liu

SQL* Loader s dng hai phng php load d liu: Conventional load - np d liu thng qua mng Direct load - np d liu trc tip Conventional load Phng php conventional load xy dng mt mng cc hng c insert v s dng cu lnh INSERT load d liu. Trong qu trnh load d liu theo phng php conventional load cc bn ghi a vo s c phn tch da vo cc trng c ch nh. Mt mng ca cc bn ghi c to lp v chn vo trong bng theo ch nh ca file iu khin. Cc bn ghi khng tho mn iu kn ca cc trng c ch nh th s b loi b v cc bn ghi khng tho mn iu kin la chn t ra s b t chi. C th s dng phng php conventional load load d liu vo trong c cc bng cluster hay cc bng khng c cluster. Thng tin redo log c sinh ra v iu khin bi thuc tnh LOG cho cc bng c load. Direct load Theo phng php direct load, oracle server xy dng cc block d liu trn b nh v ct cc block ny trc tip vo trong cc vng extent c cp pht cho bng c dng trong qu trnh load . Redo log khng c sinh ra tr khi database ang ch ARCHIVE LOG, Direct load s dng cc trng ch nh xy dng ton b cc blocks ca d liu v trc tip ghi ton b cc block vo trong cc datafile. Qu trnh load d liu ny c th b qua vng m d liu trn b nh, vic truy xut vng nh SGA ch qun l vic m rng cc extents v hiu chnh gi tr High Water Mark. 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.
Trang 202

Kin trc v qun tr c s d liu Oracle

16.2.3. So snh hai phng php np d liu


Bng sau y so snh hai phng php load d liu Conventional load Direct load

S dng ln COMMIT ghi nhn S dng cc lnh lu tr d liu thay i d liu thng tr Lun c cc redo log tng ng Tho mn tt c cc rng buc Ch to redo log trong mt s trng hp c bit Ch cn tho mn kho chnh, kho duy nht v iu kin NOT NULL

Thc hin cc trigger INSERT km Khng thc hin cc trigger INSERT km theo theo (nu c) C th np d liu vo clustered Khng cho php np d liu vo clustered tables tables User khc vn c th thay i d liu Trong khi np, cc user khc khng c php trn table, trong khi np. sa i d liu ca bng

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. 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.

Trang 203

Kin trc v qun tr c s d liu Oracle

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.

16.2.4. Np d liu ng thi (Parallel direct load)


Parallel direct load cho php s dng mt vi session direct load ng thi d liu vo trong mt bng.

Hnh v 85. Np d liu ng thi Trang 204

Kin trc v qun tr c s d liu Oracle

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 205

Kin trc v qun tr c s d liu Oracle

16.3.NP D LIU BNG SQL*LOADER


16.3.1. S dng SLQ*LOADER

Hnh v 86. Np d liu bng SQL*Loader

S dng cu lnh sau y thc hin load d liu: C php: C:\> sqlldr[keyword=]value[[[,]keyword=]value]... Vi: keyword value V d: $sqlldr scott/tiger \ > control=ulcase6.ctl \ > log=ulcase6.log direct=true Ch : Nu t kho khng c ch nh th gi tr cn c ch ng nh trt t trong cu lnh. l t kho l gi tr c gn cho t kho

Cc t kho c s dng khi np d liu


Trang 206

Kin trc v qun tr c s d liu Oracle

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

DIRECT PARFILE PARALLEL FILE

Cc tham s cn c th nh ngha trong file iu khin.

16.3.2. Parameter file (tp tham s)


Trong trng hp thc hin lnh np d liu vi nhiu tham s tu chn khc nhau, khi ny ta c th gom cc tham s tu chn ny vo trong cng mt file tham s. Tp tham s c th c s dng ch nh cc tham s cho qu trnh load d liu, s dng tp tham s lu cc thng s c s dng cho qu trnh load. Tp ny s dng nh dng sau y nh ngha tham s: <KEYWORD> = <VALUE> Tham s PARFILE c dng xc nh tn ca file tham s. V d: SQLLDR PARFILE=example.par Vi ni dung ca file tham s example.par l: userid=scott/tiger control=example.ctl
Trang 207

Kin trc v qun tr c s d liu Oracle

errors=9999 log=example.log

Lu :
Trong v d trn, example.ctl l tn ca control file - s c nhc ti trong phn sau. Cc t kho s dng trong file tham s chnh l cc t kho dng np d liu nh ni trn.

16.3.3. Control file (tp iu khin)


Tp iu khin bao gm cc thnh phn sau: Tn ca tp d liu u vo s dng mnh INFILE. S hp thnh cc bn ghi logic t mt bn ghi vt l trong file d liu u vo, s dng mnh nh CONCATENATE v CONTINUEIF. Cc trng ch nh bao gm v tr, kiu d liu, delimiter s dng mnh FIELDS. Tn ca bng v phng php load d liu, xc nh d liu c c load vo bng trng hay chn cc bn ghi mi sau khi xo cc bn ghi tn ti, hoc gn thm cc hng vo bng tn ti d liu, s dng mnh INTO TABLE. Cc bn ghi c b qua cho mi bng s dng mnh CONTINUE_LOAD. iu kin c th c s dng cho vic la chn cc hng c load s dng mnh WHEN. Cc ct c load Quy tc cho vic sinh ra cc gi tr ct, s dng mnh RECNUM, SYSDATE v p dng cc hm SQL Cc tham s load s dng trong mnh OPTIONS 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

Trang 208

Kin trc v qun tr c s d liu Oracle

BEGINDATA READBUFFERS BADFILE DISCARDFILE CHARACTERSET INSERT APPEND TRAILING NULLCOLS POSITION CONSTANT RECNUM SYSDATE TERMINATED ENCLOSED

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

V d: Ni dung ca mt control file 1. D liu c np trc tip LOAD DATA 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,
Trang 209

Kin trc v qun tr c s d liu Oracle

deptno

POSITION(50:51)

INTEGER

EXTERNAL) 10 10 10 20 30 30

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

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.

16.3.4. Data file


File d liu cha cc bn ghi c x l theo mt nh dng nh ngha trong control file. D liu trong data file thng l cc d liu dng text. Thng thng th cc d liu ny c c do vic export t cc database khc loi nh FoxPro, Access,... V d data file: xem v d pha trn

16.3.5. Cc thnh phn ca log file


Log file lun c to ra v nu qu trnh load d liu hon thnh m log file khng c to ra th l do user thiu quyn hoc khoong khng gian a. Log file bao gm cc thng tin sau: Phn header: bao gm thng tin v thi gian chy, phin bn ca phn mm. 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.

16.3.6. Cc file u ra khc


Bad file Bad file cha cc bn ghi b t chi trong qu trnh x l v mt trong cc l do sau: Cc bn ghi u vo c li. V d nh nh dng sai, rng ca trng qu ln. Khng th chn thm cc bn ghi vo table chng hn nh d liu np vo khng hp l, cc constraints b vi phm. 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.

Trang 210

Kin trc v qun tr c s d liu Oracle

16.3.7. Cc hng dn khi s dng load


S dng cc hng dn sau y khi dng SQL* Loader load d liu gim thiu c li v tng hiu nng trong qu trnh load: S dng tp tham s rt bt cc tham s dng lnh. Tch tp iu khin v tp d liu cho php s dng li tp iu khin cho cc session load khc nhau. Thit lp khng gian lu d liu da vo kch thc ca d liu trnh vic thit lp cc extents lu tr t ng trong khi load. Khi s dng direct load,cc segment temporary c s dng sinh ra cc index cho d liu mi. Cc index ny c trn vi cc index c ca bng vo lc load. Bng cch xp d liu u vo trong kho ca cc index ln nht c th lm gim khng gian dng cho vic sort d liu. Vi parallel direct load c th ch nh v tr ca cc phn on tm thi c s dng cho vic insert d liu. i vi mi session load d liu nn ch nh cc datafile khc nhau. 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. 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.

Trang 211

Kin trc v qun tr c s d liu Oracle

16.4.T CHC LI D LIU BNG CNG C EXPORT V IMPORT


16.4.1. Cng c dch chuyn d liu
Export v Import l cng c cho php ngi qun tr Oracle Database c th chuyn d liu gia hai Oracle database vo chnh bn trong Oracle database gia cc tablespace khc nhau hay gia cc user khc nhau.

Hnh v 87. Dch chuyn d liu

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.

Trang 212

Kin trc v qun tr c s d liu Oracle

16.4.2. Cc ch Export
Cng c export cung cp 3 kiu export: User Table Database

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 .

Trang 213

Kin trc v qun tr c s d liu Oracle

Ch Full Khi s dng ch full th ton b cc i tng thuc v database ngoi tr cc cc i tng thuc SYS s c export. Ch ny i hi quyn c bit v khng th thc hin vi mi user. Ch rng trong ba ch export quyn ca user c s dng l role: EXP_FULL_DATABASE.

16.4.3. Export d liu trc tip v Export d liu thng thng


Trong Oracle s dng hai phng php load khc nhau : conventional v direct load

Hnh v 89. Cc phng thc Export d liu

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 214

Kin trc v qun tr c s d liu Oracle

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. Kch Tu theo h thc buffer c xc nh theo cng thc: iu hnh buffer_size = rows_in_array * maximum_row_size Y Gi tr l Y, khi import d liu, kch thc ca extent khi to c t bng vi kch thc ca segment hin thi. Gi tr l Y, tt c cc thao tc export ch c thc hin trong mt read-only transaction. Gi tr l Y, cc rng buc cng c exported cng vi d liu trong bng. Gi tr l Y, export trc tip Hin th mc export, s dng d liu c export, ti mi ln. V d: FEEDBACK=10, Cng c export s hin th tin trnh cho bit mi ln thc hin s export c 10 dng d liu Tn file d liu ra. Tp d liu c phn m rng l .dmp Gi tr l Y, export ton b database. thc hin c vic ny, user cn c cp quyn EXP_FULL_DATABASE Gi tr l Y, export cc i tng trong database cng vi c cc quyn ang c p dng trn i tng
Trang 215

COMPRESS

CONSISTENT CONSTRAINTS DIRECT FEEDBACK

N Y N

0 FILE FULL N GRANTS Y

expdat.dm p

Kin trc v qun tr c s d liu Oracle

HELP INCTYPE INDEXES LOG OWNER PARFILE QUERY

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 ROWS STATISTICS

Ghi li ch d liu l incremental hay cumulative vo trong cc bng h thng: SYS.INCEXP, SYS.INCFIL v SYS.INCVID

Tu theo h Kch thc tnh theo bytes ca bn ghi c export iu 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)

TABLES TRANSPORT_TABL ESPACE TABLESPACES N

C export cc transportable tablespace hay khng Khi tham s TRANSPORT_TABLESPACE = Y, TABLESPACES s dng lit k danh sch tn cc tablespace export

TRIGGERS USERID

C export c cc trigger hay khng? Username v mt khu ca user thc hin export. Chng c th hin theo khun dng: username/password AS SYSDBA hay username/password@instance AS SYSDBA

V d: 1. Export trc tip bng d liu $exp scott/tiger tables=(dept,emp) \ > file=emp.dmp log=exp.log compress=n \ > direct=y recordlength=32768 2. Export d liu s dng file tham s > exp system/manager parfile=params.dat Ni dung ca params.dat FILE=dba.dmp GRANTS=y
Trang 216

Kin trc v qun tr c s d liu Oracle

FULL=y ROWS=y

16.5.2. Gii thiu mt s ch export


Qu trnh backup (sao lu) d liu cn c thng xuyn c thc hin. Cng vic Backup c th c thc hin theo nh k. Tuy vy, vi ln u tin, ta vn phi thc hin vic backup d liu mt cch y . Ti cc ln backup d liu sau , d liu trong database c th c nhng bin i khng nhiu so vi d liu ca ln backup u tin. V th ta c cc ch thc hin backup d liu khc nhau v c th p dng cc ch backup ny tu thuc vo tnh hung c th. Incremental Exports (ch tng trng) Ch incremental ch thc hin backup i vi cc bng c s thay i so vi ln thc hin backup gn nht. Trong ch ny, ton b d liu ca bng v c nh ngha cc bng cng s c exports khng phn bit cc dng d liu c thay i hay khng c thay i (min l bng c thay i, th s export ton b bng). Ch incremental Exports l ch thng hay c thc hin nht trong s cc ch export. V d: Gi s ln Export u tin, ta thc hin export ton b thng tin v bng. Khi ny ti ln th hai, s dng ch incremental Export, sau khi bng d liu c s thng tin mt dng no . Tt c cc bng d liu c s thay i thng tin v c cc indexes i km vi bng s c export.

Trong ln th ba, c thay i trong table 3 v table 4. Khi ny Ch Incremental Export s tip tc export d liu nh sau:

Hnh v 90. Export ch Incremental

Trang 217

Kin trc v qun tr c s d liu Oracle

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.

Hnh v 92. Export ch ton b

Trang 218

Kin trc v qun tr c s d liu Oracle

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

16.5.3. Cc tablespaces trao i


Oracle cho php qun tr vin database c th chuyn mt tablespace t mt database sang mt database khc, thng qua c im transportable tablespace. di chuyn hay sao chp mt tp hp cc tablespaces, trc tin ta cn a cc tablespaces v trng thi read-only, ri sao chp cc datafiles tng ng vi cc tablespaces ny, v s dng cng c Export/Import di chuyn cc thng tin database c lu tr trong data dictionary gi l metadata (thng tin ca cc thng tin). C cc datafiles v metadata c export s c sao chp sang database ch. Tip theo, qun tr vin database cn import cc metadata ny vo database mi ri thit lp li trng thi cho cc tablespace va c sao chp. Mt s t kho c s dng thc hin export cc transportable tablespace metadata. TRANSPORT_TABLESPACE TABLESPACES

16.5.4. Mt s thng bo khi export: Warning, Error, v Completion Messages


Log File Ta c th lu li tt c cc thng bo (messages) do cng c Export pht ra vo trong mt log file, thng qua vic s dng tham s LOG. Cng c Export s ghi li chi tit cc thng tin thnh cng v c cc thng tin li xy ra trong qu trnh thc hin export. 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

Trang 219

Kin trc v qun tr c s d liu Oracle

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

Hnh v 93. S dng cng c Import a d liu vo database

Trang 220

Kin trc v qun tr c s d liu Oracle

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 ANALYZE BUFFER Mc nh Y Din gii Cho php thc hin lnh ANALYZE i vi database trc khi import d liu l t kho s dng l gi tr c gn cho t kho

Kch thc ca b m s dng khi import. Kch Tu theo h thc buffer c xc nh theo cng thc: iu hnh buffer_size = rows_in_array * maximum_row_size N Pht ln commit sau mi ln a d liu vo database trong qu trnh import. Vi cch ny, d liu s c m bo a vo database, i li, thi gian import s b ko di hn. Cho bit c import c cc rng buc vo database hay khng Lit k danh sch cc datafile s c a vo database. 0 Hin th mc import, s dng d liu c import, ti mi ln. V d: FEEDBACK=10, Cng c import s hin th tin trnh cho bit mi ln thc hin s a c 10 dng d liu vo database Tn file d liu vo. Tp d liu c phn m rng
Trang 221

COMMIT

CONSTRAINTS DATAFILES FEEDBACK

FILE

expdat.dmp

Kin trc v qun tr c s d liu Oracle

l .dmp FROMUSER FULL N GRANTS Y HELP IGNORE INCTYPE INDEXES LOG PARFILE RECORDLENGTH ROWS SKIP_UNUSABLE_ INDEXES TABLES Y N N Import cc FROMUSER objects vocc schemas thuc

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 Gi tr l Y, import c cc index. Tn file lu tr cc thng bo khi import. Tn file cha cc tham s export

Tu theo h Kch thc tnh theo bytes ca 01 bn ghi c iu hnh import Y N Cho bit c import tng dng d liu trong bng hay khng. Cho bit c b qua vic to cc index v t n v trng thi Unusable trong qu trnh Import hay khng. Lit k danh sch cc bng import. V d:
imp system/manager TABLES=(jones.accts, scott.emp,scott.dept)

TRANSPORT_TABL ESPACE TABLESPACES

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
Trang 222

Kin trc v qun tr c s d liu Oracle

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. 3. 4. 5. 6. Cc nh ngha cc bng (Table definitions) D liu trong cc bng (Table data) Cc Index tng ng vi tng bng (Table indexes) Cc Integrity constraints, views, procedures v triggers 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. 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.

Trang 223

Kin trc v qun tr c s d liu Oracle

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.

16.6.2. Chuyn i character set


Chuyn i character set khi export Phng php conventional export s s dng character set ch nh cho session ca user. Phng php direct path export ch s dng charater set ca database, nu character set ca export session khng ging nh character set ca database khi export c khi to, export s hin th mt thng bo, cn ch nh character set cho session v khi ng li qu trnh export. Export file c cha mt c (flag) ch nh character set c s dng. Chuyn i character set khi Import Import session v character set ca database ch c th khc vi character set ca database ngun, trong tnh hung ny cn c s chuyn i ca cc tp 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 224

Kin trc v qun tr c s d liu Oracle

Chng 17. QUN L USER


17.1.USER TRONG DATABASE
17.1.1. User v nhng thnh phn lin quan
Security Domain Qun tr vin database nh ngha cc tn User. Qua , cho php ngi s dng c th truy nhp vo database thng qua cc tn user ny. Security domain (bo mt theo min) nh ngha cc quyn truy nhp nht nh trn cc i tng trong database v p dng cc quyn ny cho tng user c trong database.

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 225

Kin trc v qun tr c s d liu Oracle

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.

17.1.2. Database schema


Schema c xem nh mt tp hp cc i tng nh tables, views, clusters, procedures, v packages, cng c mt quan h gn lin vi mt user no . Mi khi user trong database c to, mt schema tng ng vi user cng s c to lp vi cng tn. Mi user ch c th gn lin vi mt schema c cng tn, v th username v schema nhiu khi c th dng ln thay cho nhau. Hnh di y s lit k cc i tng trong schema ca mi users Oracle database.

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. 6. Phn quyn truy nhp (privileges - quyn; roles - chc danh) cho user va to lp.

Trang 226

Kin trc v qun tr c s d liu Oracle

17.2.2. To mi user vi c ch xc nhn bi database


Vi c ch ny, database s s dng mt khu ca user xc nhn mi khi user kt ni ti database. Mi mt khu ca user, s c Oracle server lu tr ngay trong data dictionary v n c th kim tra rt d dng mi khi User kt ni ti database. C php: CREATE USER user IDENTIFIED {BY password | EXTERNALLY} [ DEFAULT TABLESPACE tablespace ] [ TEMPORARY TABLESPACE tablespace ] [ QUOTA {integer [K | M ] | UNLIMITED } ON tablespace [ QUOTA {integer [K | M ] | UNLIMITED } ON tablespace ] ...] [ PASSWORD EXPIRE ] [ ACCOUNT { LOCK | UNLOCK }] [ PROFILE { profile | DEFAULT }] Vi: tn truy nhp ca user xc nh c ch xc nhn user bi database vi mt khu truy nhp l password EXTERNALLY xc nh c ch xc nhn user bi h iu hnh DEFAULT/TEMPORARY TABLESPACE xc nh default/temporary tablespace cho user QUOTA xc nh lng khng gian ti a cp pht cho user lu tr cc i tng trong tng tablespace tng ng. T kho UNLIMITED cho bit khng hn nh s lng khng gian cp pht. PASSWORD EXPIRE bt buc user phi ch r mt khu mi khi user thc hin kt ni ti database thng qua SQL*PLUS (Phng thc ny ch c tc dng khi user s dng c ch xc nhn bi database) ACCOUNT LOCK/ UNLOCK s dng tu chn ny lock/unlock i vi mi user mt cch tng minh (mc nh l UNLOCK). PROFILE dng iu khin ti nguyn ca user. user BY password Lu : Khi thit lp tu chn PASSWORD EXPIRE trong lnh to user, khi user s dng SQL*PLUS kt ni ti database, mi ln kt ni user li phi np mi mt khu. Vic truy cp thng thng s nhn c thng bo: ERROR: ORA-28001: the account has expired Changing password for PETER Old password: New password: Retype new password: Password changed

Trang 227

Kin trc v qun tr c s d liu Oracle

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.

17.2.3. Thay i thuc tnh ca user


Ta s dng cu lnh ALTER USER khi thc hin cc thay i user nh mt khu, lock. S dng khi: Thay i mt khu khi user qun mt khu. Lock/Unlock i vi cc account ca user. Thay i mt khu theo tng phin lm vic. C php: ALTER USER user [ IDENTIFIED {BY password | EXTERNALLY }] [ PASSWORD EXPIRE] [ ACCOUNT {LOCK | UNLOCK }] ; V d: ALTER USER peter IDENTIFIED BY hisgrandpa PASSWORD EXPIRE; Lu : khi user b lock m vn c gng kt ni ti database. Oracle server s pht sinh li ERROR: ORA-28000: the account is locked Warning: You are no longer connected to ORACLE. Trong OEM ta c th thc hin theo cc bc sau 1. 2. 3. 4. 5. 6. 7. Chy Oracle Security Manager. Chuyn ti nt Users. Chn username tng ng. Chn User>Change Account Status. Thc hin thay i cc trng thi Unlock, Lock, or Expire. Nhp vo cc thng tin trong phn General page. Bm nt Apply.

17.2.4. Thay i hn mc (quota) s dng tablespace


Trong mt s trng hp, ta c th thay i hn mc s dng tablespace khi: Cc tables ca user khng th m rng lu tr thm c na Cc ng dng c ci tin i hi b sung thm cc tables hay indexes. Cc i tng c t chc li v c t trn nhiu tablespaces khc nhau. C php: ALTER USER user
Trang 228

Kin trc v qun tr c s d liu Oracle

[ 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.

17.3.THNG TIN V USER


Ta c th ly cc thng tin lin quan ti user trong data dictionary DBA_USERS v DBA_TS_QUOTAS. Vi mi user, ta c th xc nh c cc thng tin v hn mc: V d: SVRMGR> SELECT tablespace_name, blocks, max_blocks,bytes, max_bytes 2> FROM dba_ts_quotas 3> WHERE username = 'SCOTT'; TABLESPACE_NAME BLOCKS --------------- ------DATA01 10 1 row selected. MAX_BLOCKS BYTES ---------- -------1 20480 MAX_BYTES -----------1

Gi tr -1 trong ct MAX_BLOCKS v MAX_BYTES cho bit ct ny cha c gn gi tr tng minh.


Trang 229

Kin trc v qun tr c s d liu Oracle

Hnh v 96. Thng tin v User trong data dictionary

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 230

Kin trc v qun tr c s d liu Oracle

Chng 18. QUN L THNG TIN PROFILES


18.1.GII THIU PROFILE
Thng tin profile l tp hp cc thng tin v ti nguyn h thng v thng tin lin quan ti mt khu ca user bao gm: Thi gian s dng CPU (CPU time) Cc thao tc vo ra (I/O operations) Thi gian ngh (Idle time) Thi gian kt ni (Connect time) Dung lng b nh (Memory space) Cc phin lm vic ng thi (Concurrent sessions) S ln s dng v thi gian s dng mt mt khu (Password aging and expiration) Lch s thay i mt khu (Password history) C ch xc nhn mt khu (Password complexity verification) Kho account truy nhp (Account locking) 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 231

Kin trc v qun tr c s d liu Oracle

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 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. 4. Bm nt Apply. 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

Trang 232

Kin trc v qun tr c s d liu Oracle

18.2.2. Thit lp cc gii hn v ti nguyn


Gii hn v ti nguyn cho tng session level Ti nguyn CPU_PER_SESSION SESSIONS_PER_USER CONNECT_TIME IDLE_TIME LOGICAL_READS_PER_SESSION PRIVATE_SGA Din gii Tng lng thi gian CPU, c xc nh theo n v trm giy. S lng ti a cc session c th s dng ng thi bi cng mt user Thi gian kt ni ti a, tnh theo n v pht Thi gian tr, tnh theo n v pht S lng block d liu c c Vng khng gian ginh ring trong SGA, tnh theo n v byte

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).

18.2.3. Gn Profile cho User


Vic gn profile c th c thc hin ngay trong ln CREATE USER hay lnh ALTER USER. V d: s dng lnh CREATE USER to mt user USER3 vi mt khu l USER3, sau gn profile c tn l DEVELOPER_PROF cho user va to. CREATE USER user3 IDENTIFIED BY user3 DEFAULT TABLESPACE data01 TEMPORARY TABLESPACE temp QUOTA unlimited ON data01 PROFILE developer_prof; iu chnh user SCOTT v gn profile DEVELOPER_PROF cho User ny. ALTER USER scott PROFILE developer_prof;

Trang 233

Kin trc v qun tr c s d liu Oracle

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 .

18.2.4. t gii hn ti nguyn


Ta c th t gii hn s dng ti nguyn thng qua tham s khi to RESOURCE_LIMIT hay s dng cu ln ALTER SYSTEM. S dng tham s khi to RESOURCE_LIMIT Cho php hoc khng cho php p dng cc gii hn ti nguyn. Vi cch ny, ta cn khi ng li instance khi thay i cc gi tr trong file tham s khi to. Gi tr ca tham s l TRUE nu cho php gii hn ti nguyn. Ngc li, gi tr s l FALSE (y l gi tr mc nh). 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.

18.2.5. Thay i thng tin trong profile


Ta c th thay i cc thng tin trong profile thng qua cu lnh ALTER PROFILE. C php: ALTER 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]

Trang 234

Kin trc v qun tr c s d liu Oracle

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.

18.2.7. Thng tin v cc gii hn ti nguyn


xem thng tin v cc gii hn s dng ti nguyn, ta xem xt trong cc data dictionary DBA_USERS v DBA_PROFILE

Trang 235

Kin trc v qun tr c s d liu Oracle

Hnh v 97. Thng tin v gii hn ti nguyn

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 236

Kin trc v qun tr c s d liu Oracle

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 .

18.3.1. To profile qun l mt khu


To profile qun l mt khu thng qua lnh CREATE PROFILE C php: CREATE PROFILE profile LIMIT [FAILED_LOGIN_ATTEMPTS max_value] [PASSWORD_LIFE_TIME max_value] [ {PASSWORD_REUSE_TIME |PASSWORD_REUSE_MAX} max_value] [ACCOUNT_LOCK_TIME max_value] [PASSWORD_GRACE_TIME max_value] [PASSWORD_VERIFY_FUNCTION {function|NULL|DEFAULT} ] V d: CREATE PROFILE grace_5 LIMIT FAILED_LOGIN_ATTEMPTS 3 PASSWORD_LIFE_TIME 30 PASSWORD_REUSE_TIME 30 PASSWORD_VERIFY_FUNCTION verify_function PASSWORD_GRACE_TIME 5; Trong OEM, ta thc hin theo cc bc sau: 1. 2. 3. 4. Chy Security Manager. Chn Profile>Create. Trong phn Password Property sheet nhp vo cc tham s mt khu ca account. Bm nt Apply.
Trang 237

Kin trc v qun tr c s d liu Oracle

18.3.2. Cc tham s iu chnh mt khu


Ti nguyn FAILED_LOGIN_ATTEMPTS PASSWORD_LOCK_TIME PASSWORD_LIFE_TIME PASSWORD_GRACE_TIME PASSWORD_REUSE_TIME PASSWORD_REUSE_MAX PASSWORD_VERIFY_FUNCTION Din gii S ln kt ni hng (do nhp sai tn hay mt khu) ti a S ngy lock account ca user k t khi ht hn s dng mt khu S ngy s dng mt khu mi kt t khi bt u thay i mt khu Thi gian gia hn cho vic thay i mt khu Thi gian ti thiu, tnh theo ngy, c th ti s dng mt khu c S ln ti a c th s dng li mt mt khu. Hm PL/SQL thc hin m ho v kim tra mt khu trc khi n c s dng

18.3.3. Mt s c im chnh trong qun l mt khu


Account Locking Oracle server t ng locks (kho) account ca user khi user c tnh truy nhp vo account vi s ln truy nhp sai t n gi tr FAILED_LOGIN_ATTEMPTS. Sau khong thi gian PASSWORD_LOCK_TIME, account li c t ng unlocked hoc c th c unlocked bi qun tr vin database vi lnh ALTER USER. Ngoi ra, database account cng c th c locked mt cch tng minh thng qua lnh ALTER USER. Khi ny, account s khng c t ng unlocked ging nh trng hp trn. Thi hn s dng mt khu Tham s PASSWORD_LIFE_TIME xc nh thi gian ti a cho vic s dng mt mt khu, sau thi gian ny, mt khu cn c thay i. Qun tr vin database c th ch ra thi gian gia hn (PASSWORD_GRACE_TIME). Thi gian ny bt u sau khi mt khu truy cp h thng ht hn. Trong thi gian ny, mi ln truy cp vo h thng s hin ln mt thng bo nhc nh (warning message) thay i mt khu. User cn phi thc hin thi hn thay i mt khu trong khong thi gian gia hn, qu thi gian trn account ca user s b locked. Lch s s dng mt khu (Password history) Password history thc hin vic kim tra m bo khng cho php user c ti s dng mt mt khu no trong nhiu ln. Cc quy nh ny c thit lp trong cc tham s: PASSWORD_REUSE_TIME tng ng vi thi gian ti thiu, tnh theo ngy, c th ti s dng mt khu c. PASSWORD_REUSE_MAX l s ln ti a c th s dng li mt mt khu. Khi mt tham s c thit lp gi tr l DEFAULT hay UNLIMITED, cc tham s khc s c gn gi tr l UNLIMITED.
Trang 238

Kin trc v qun tr c s d liu Oracle

18.3.4. Hm cung cp mt khu cho ngi s dng


Khi a hm cung cp mt khu cho ngi s dng vo trong databse, qun tr vin database cn quan tm ti mt s c im sau: Hm c khai bo theo nh dng: function_name( userid_parameter IN VARCHAR2(30), password_parameter IN VARCHAR2(30), old_password_parameter IN VARCHAR2(30)) RETURN BOOLEAN Gi tr tr v ca hm l TRUE nu thnh cng hay FALSE trong trng hp gp li. Khi hm mt khu pht sinh li (raise an exception), li s lm ngng thc hin lnh ALTER USER hay CREATE USER. Hm mt khu bt buc phi khai bo trong schema ca user SYS. 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.

18.3.5. Thng tin v mt khu


Ta c th kt hp cc thng tin v mt khu c trong cc data dictionary DBA_USERS v DBA_PROFILES. DBA_USERS: profile, username, account_status, lock_date, expiry_date DBA_PROFILES: profile, resource_name, resource_type (PASSWORD), limit V d: Xem thng tin v thi hn v trng thi lock ca mt khu. SVRMGR> SELECT username, password, account_status, 2>lock_date, expiry_date 3> FROM dba_users; USERNAME PASSWORD ACCOUNT_STATUS LOCK_DATE EXPIRY_DA --------- --------------- -------------- --------- --------SYS D4C5016086B2DC6 OPEN 19-DEC-97 SYSTEM D4DF7931AB130E3 OPEN 19-DEC-97 TEST 7A0F2B316C212D6 OPEN 31-JAN-98 SCOTT F894844C34402B6 OPEN 19-DEC-97 DBSNMP E066D214D5421CC OPEN 19-DEC-97 USER3 94152F9F5B35B10 OPEN 12-FEB-98 6 rows selected. Xem thng tin profile ca mt khu SVRMGR> SELECT * FROM dba_profiles 2>WHERE resource_type='PASSWORD'; PROFILE RESOURCE_NAME -------------------------------------DEFAULT FAILED_LOGIN_ATTEMPTS DEVELOPER_PROF FAILED_LOGIN_ATTEMPTS DEFAULT PASSWORD_LIFE_TIME DEVELOPER_PROF PASSWORD_LIFE_TIME DEFAULT PASSWORD_REUSE_TIME DEVELOPER_PROF PASSWORD_REUSE_IME DEFAULT PASSWORD_REUSE_MAX

LIMIT --------------3 DEFAULT 60 DEFAULT 1800 DEFAULT UNLIMITED


Trang 239

Kin trc v qun tr c s d liu Oracle

DEVELOPER_PROF DEFAULT DEVELOPER_PROF DEFAULT DEVELOPER_PROF DEFAULT DEVELOPER_PROF 14 rows selected.

PASSWORD_REUSE_MAX PASSWORD_VERIFY_FUNCTION PASSWORD_VERIFY_FUNCTION PASSWORD_LOCK_TIME PASSWORD_LOCK_TIME PASSWORD_GRACE_TIME PASSWORD_GRACE_TIME

DEFAULT VERIFY_FUNCTION DEFAULT .0006 DEFAULT 10 DEFAULT

Trang 240

Kin trc v qun tr c s d liu Oracle

Chng 19. CC QUYN H THNG


19.1.PHN LOI QUYN
Oracle database c khong 80 quyn h thng v con s ny ang tip tc tng ln. Cc quyn h thng c th chia ra nh sau: Cc quyn cho php thc hin cc thao tc mc rng trn h thng v d nh: CREATE SESSION, CREATE TABLESPACE. Cc quyn cho php qun l cc i tng thuc v mt user v d: CREATE TABLE Cc quyn cho php qun l cc i tng trong bt c mt schema no v d cu lnh: CREATE ANY TABLE. 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.

19.1.1. Cc quyn h thng


Phn loi INDEX V d CREATE ANY INDEX ALTER ANY INDEX DROP ANY INDEX CREATE TABLE CREATE ANY TABLE ALTER ANY TABLE DROP ANY TABLE SELECT ANY TABLE UPDATE ANY TABLE DELETE ANY TABLE CREATE SESSION ALTER SESSION RESTRICTED SESSION CREATE TABLESPACE ALTER TABLESPACE DROP TABLESPACE UNLIMITED TABLESPACE

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.

19.1.2. Gn cc quyn h thng


S dng c php sau y gn quyn h thng cho user
Trang 241

Kin trc v qun tr c s d liu Oracle

C php: GRANT {system_priv|role} [, {system_priv|role} ]... TO {user|role|PUBLIC} [, {user|role|PUBLIC} ]... [WITH ADMIN OPTION] Vi: system_priv ch nh quyn h thng s dng role ch nh tn chc danh c gn PUBLIC gn quyn h thng cho tt c cc user WITH ADMIN OPTION cho php user c gn quyn c th gn quyn hay chc danh cho user khc. V d: GRANT CREATE SESSION, CREATE TABLE TO user1; Hoc GRANT CREATE SESSION TO scott WITH ADMIN OPTION; Mt s hng dn c quyn h thng, user cn c gn quyn c km thm tu chn WITH ADMIN OPTION. Ngi c gn vi tu chn WITH ADMIN OPTION c th tip tc gn cho mt user khc quyn h thng vi WITH ADMIN OPTION. Bt c mt user no c quyn GRANT ANY ROLE c th gn bt k quyn no trong database. Ngi c gn vi tu chn WITH ADMIN OPTION c th gn quyn hay ly li cc quyn t bt c user hay role no trong database.

19.1.3. Xc nhn user bng password file


Trong chng qun l database, ta bit n hai quyn h thng l SYSDBA v SYSOPER. Cc quyn ny c s dng ch nh rng vic xc lp user thng qua password file. Ch c ngi qun tr h thng mi c th c kh nng connect vo database vi quyn qun tr. Kt ni vi quyn SYSDBA s cho php user c quyn thc thi khng gii hn i vi cc hot ng trn database hay i tng trong database. Bng sau y phn bit gia hai loi quyn SYSDBA v SYSOPER Phn loi V d STARTUP SHUTDOWN ALTER DATABASE OPEN | MOUNT ALTER DATABASE BACKUP CONTROLFILE ALTER TABLESPACE BEGIN/END BACKUP RECOVER DATABASE, ALTER DATABASE ARCHIVELOG RESTRICTED SESSION
Trang 242

SYSOPER

Kin trc v qun tr c s d liu Oracle

SYSDBA

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

19.1.4. Thng tin v cc quyn


Thng tin v cc quyn c ly t cc view data dictionary: DBA_SYS_PRIVS v SESSION_PRIVS. Cc thng tin bao gm: DBA_SYS_PRIVS: GRANTEE, PRIVILEGE, ADMIN OPTION SESSION_PRIVS: PRIVILEGE V d: Lt k cc quyn h thng c gn cho user v role: SVRMGR>SELECT * FROM DBA_SYS_PRIVS; GRANTEE ---------... SCOTT SYS SYS SYS SYS SYS SYS SYSTEM ... PRIVILEGE --------------SELECT ANY TABLE DELETE ANY TABLE EXECUTE ANY TYPE INSERT ANY TABLE SELECT ANY SEQUENCE SELECT ANY TABLE UPDATE ANY TABLE UNLIMITED TABLESPAC ADM ----NO NO NO NO NO YES NO YES

View SESSION_PRIVS lit k cc quyn c sn cho session hin ti cho mt user.


Trang 243

Kin trc v qun tr c s d liu Oracle

SVRMGR> SELECT * FROM session_privs; PRIVILEGE ---------------------------------------CREATE SESSION ALTER SESSION CREATE TABLE SELECT ANY TABLE CREATE CLUSTER CREATE SYNONYM CREATE VIEW CREATE SEQUENCE CREATE DATABASE LINK CREATE PROCEDURE CREATE TRIGGER CREATE TYPE 12 rows selected.

19.2.QUN L QUYN
19.2.1. Thu hi cc quyn h thng
S dng c php sau y ly li cc quyn h thng. C php: REVOKE {system_priv|role} [, {system_priv|role} ]... FROM {user|role|PUBLIC} [, {user|role|PUBLIC} ]... V d: REVOKE CREATE TABLE FROM user1; Hoc: REVOKE CREATE SESSION FROM scott; Ch : Cu lnh REVOKE ch c th ly li quyn ca m c gn trc tip bng cu lnh GRANT. Thu hi cc quyn h thng c th nh hng n mt s cc i tng ph thuc. V d: nu quyn SELECT ANY TABLE c gn cho user v user c gn cc th tc hay view m s dng cc bng thuc v cc user khc th vic ly li cc quyn s lm cho cc th tc hay view tr nn khng hp l. Thu hi cc quyn s dng c WITH ADMIN OPTION Hai hnh di y s minh ho vic thu hi cc quyn h thng s dng WITH ADMIN OPTION.

Trang 244

Kin trc v qun tr c s d liu Oracle

Hnh v 99. Thu hi quyn trc khi thu hi

Hnh v 100.

Thu hi quyn sau khi thu hi

Khng c s nh hng lan truyn khi thu hi quyn h thng, khi s dng tu chn WITH ADMIN OPTION.

19.2.2. Quyn trn cc i tng


Mi quyn trn i tng c gn cho php ngi dng c gn thc thi mt s thao tc trn i tng, bng di y lit k cc quyn c th c gn trn mt i tng. Quyn ALTER DELETE EXECUTE INDEX INSERT REFERENCES SELECT UPDATE X X X X X X X Table X X X X X X View Sequence X Procedure

Trang 245

Kin trc v qun tr c s d liu Oracle

19.2.3. Gn cc quyn trn i tng


S dng c php sau y gn mt quyn trn i tng. C php: GRANT { object_priv [(column_list)] [, object_priv [(column_list)] ]... |ALL [PRIVILEGES]} ON [schema.]object TO {user|role|PUBLIC} [, {user|role|PUBLIC} ]... [WITH GRANT OPTION] Vi: object_priv ch nh quyn i tng c gn column_list ch nh cc ct ca mt bng hay view (tu chn ny ch s dng khi gn cc quyn INSERT,REFERENCES hay UPDATE. gn tt c cc quyn cho i tng m c gn vi WITH ADMIN OPTION. ch nh i tng trn cc quyn c gn

ALL

ON object . 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.

19.2.4. Thng tin v cc quyn


Thng tin v cc quyn c lu tr trong cc data dictionary. Mt s thng tin ta cn quan tm: DBA_TAB_PRIVS: GRANTEE, OWNER, TABLE_NAME, GRANTOR, PRIVILEGE, GRANTABLE DBA_COL_PRIVS: GRANTEE, OWNER, TABLE_NAME, COLUMN_NAME, GRANTOR, PRIVILEGE, GRANTABLE Truy vn thng tin trn bng DBA_TAB_PRIVS ly thng tin v cc quyn trn i tng c gn cho user. svrmgr> SELECT * FROM dba_tab_privs 2> WHERE GRANTEE=SCOTT GRANTEE OWNER --------- ----SCOTT SYS 1 row selected. TABLE_NAME GRA ----------- ----RESUMES SYS PRIVILEGE GRA ---------- ----READ NO

Trang 246

Kin trc v qun tr c s d liu Oracle

19.2.5. Thu hi cc quyn trn i tng


S dng c php sau y ly li quyn cp. C php: REVOKE { object_priv [, object_priv ]... |ALL [PRIVILEGES] } ON [schema.]object FROM {user|role|PUBLIC} [, {user|role|PUBLIC} ]... [CASCADE CONSTRAINTS] Vi: ch nh quyn trn i tng c gn thu hi ton b cc quyn trn i tng c gn cho user. ON ch nh i tng trn cc quyn trn i tng c thu hi. FROM ch nh user hay role b thu hi quyn. CASCADE CONSTRAINTS xo tt c cc tham chiu m vic thu hi c nh ngha do s dng quyn REFERENCES hay ALL. V du: REVOKE execute ON dbms_pipe FROM scott; Ly li cc quyn i tng khi s dng mnh WITH GRANT OPTION Vic thu hi cc quyn i tng s dn n cc vic thu hi cc quyn lan truyn. Hnh sau minh ho qu trnh lan truyn : object_pri ALL

Hnh v 101.

Thu hi quyn trn i tng trc khi thu hi

Trang 247

Kin trc v qun tr c s d liu Oracle

Hnh v 102.

Thu hi quyn trn i tng sau khi thu hi

Trang 248

Kin trc v qun tr c s d liu Oracle

Chng 20. QUN L CHC DANH (ROLE)


20.1.CHC DANH (ROLE) TRONG DATABASE
Oracle cung cp cng c cho php qun l mt cch d dng cc quyn thng qua vic s dng chc danh (Roles). Chc danh l mt nhm cc quyn c t tn c lin quan n nhau v c gn cho mt user hay mt chc danh khc. Chc danh c a ra nhm lm d dng qun l cc quyn trong h thng.

Hnh v 103.

Chc danh trong database

20.1.1. Cc tnh cht ca chc danh


c gn v ly li t user vi cng cu lnh. C th gn cho bt c user no mt chc danh ngoi tr cho chnh n. C th bao gm c quyn h thng (system privileges) v quyn i tng (object privileges) trong chc danh. C th enable v disable cc chc danh c gn cho cc user. C th yu cu password khi cn enable cc chc danh. Tn cc chc danh phi l duy nht trong cc user ang tn ti v tn cc chc danh ang tn ti. Khng thuc v bt c user no v khng thuc v bt c schema no. C cc m t t trong data dictionary.

20.1.2. Li ch ca vic s dng chc danh


Gim cng vic gn cc quyn S dng cc chc danh n gin ho vic qun l cc chc danh, bng cch gn mt tp cc quyn cho ngi dng. C th gn cc quyn cho mt chc danh v sau gn chc danh cho cc user. Qun l cc quyn mt cch linh ng 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.
Trang 249

Kin trc v qun tr c s d liu Oracle

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.

20.2.QUN L CHC DANH


20.2.1. To v sa cha cc Chc danh
S dng cu lnh sau y thc hin vic to cc chc danh C php: CREATE ROLE role_name [NOT IDENTIFIED | IDENTIFIED {BY password | EXTERNALLY }] Vi: role_name NOT IDENTIFIED BY password EXTERNALLY tn ca chc danh ch nh khng cn kim tra chc danh khi enable chc danh mt khu ngi dng cn cung cp khi enable chc danh ch nh user phi c xc lp bi dch v bn ngoi (nh h iu hnh hay dch v bn th ba) trc khi enable chc danh.

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.

20.2.2. Cc chc danh c nh ngha sn


Cc chc danh c lit k di y c nh ngha t ng trong Oracle Database. Connect v Resource l chc danh cung cp ph hp vi cc version trc y ca Oracle database. Cc chc danh EXP_FULL_DATABASE v IMP_FULL_DATABASE dng cho cc cng c export v import. 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

Trang 250

Kin trc v qun tr c s d liu Oracle

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 quy n 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.

20.2.3. Sa cha cc chc danh


S dng c php sau y sa cha mt chc danh tn ti. C php: ALTER ROLE role_name {NOT IDENTIFIED | IDENTIFIED {BY password | EXTERNALLY }}; Vi: role_name NOT IDENTIFIED danh IDENTIFIED BY password EXTERNALLY V d: ALTER ROLE sales_clerk IDENTIFIED BY commission; Hoc: ALTER ROLE hr_clerk IDENTIFIED EXTERNALLY; Hoc: ALTER ROLE hr_manager NOT IDENTIFIED;
Trang 251

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)

Kin trc v qun tr c s d liu Oracle

20.2.4. Gn cc chc danh


S dng c php sau y gn mt chc danh cho mt user: C php : GRANT role_name [, role_name ]... TO {user|role|PUBLIC} [, {user|role|PUBLIC} ]... [WITH ADMIN OPTION] Vi : role_name tn ca chc danh gn user tn ca user c gn chc danh role tn ca chc danh c gn PUBLIC ch nh gn chc danh cho tt c cc user WITH ADMIN OPTION cho php user c gn chc danh c th gn chc danh cho user khc. V d: GRANT sales_clerk TO scott; Hoc: GRANT hr_clerk, TO hr_manager; Hoc: GRANT hr_manager TO scott WITH ADMIN OPTION; User to chc danh c mc nh gn tu chn WITH ADMIN OPTION.

20.2.5. Thit lp chc danh mc nh


Mt user c th c nhiu chc danh c gn. Chc danh mc nh l mt tp con cc chc danh c t ng enable khi user log on vo database. Gii hn cc chc danh mc nh bng cu lnh ALTER USER. C php : ALTER USER user DEFAULT ROLE {role [,role]... | ALL [EXCEPT role [,role]... ] | NONE} Vi: user role ALL EXCEPT NONE V d: ALTER USER scott DEFAULT ROLE hr_clerk, sales_clerk;
Trang 252

tn ca user c gn cc chc danh tn ca chc danh c thit lp mc nh t tt c cc chc danh c gn cho user l mc nh ngoi tr cc chc danh nm sau mnh EXCEPT. ch nh cc chc danh i sau mnh ny khng thuc vo cc chc danh mc nh. khng chc danh no trong s chc danh c gn cho user l chc danh mc nh.

Kin trc v qun tr c s d liu Oracle

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.

20.2.6. Enable v Disable cc chc danh


Enable v Disable cc chc danh s tm thi cho php hoc khng cho php cc quyn kt hp vi cc chc danh. enable cc chc danh trc ht cn gn cc chc danh cho user. Khi mt chc danh c enable, user c th s dng cc quyn c gn cho chc danh v ngc li tr khi cc quyn c gn trc tip cho user hay c gn cho chc danh khc nhng chc danh c enable cho user . Ch nh cc chc danh c enable Cu lnh SET ROLE v th tc DBMS_SESSION.SET_ROLE cho php enable tt c cc chc danh v disable cc chc danh khc . C php: SET ROLE {role [ IDENTIFIED BY PASSWORD ] [, role [ IDENTIFIED BY PASSWORD ]]... | ALL [ EXCEPT role [, role ] ...] | NONE } Vi: role l tn ca chc danh IDENTIFIED BY password ch nh mt khu xc nhn khi enable chc danh ALL enable tt c cc chc danh c gn cho user hin thi ngoi tr cc chc danh trong danh sch sau mnh EXCEPT EXCEPT danh sch cc chc danh khng c enable. NONE disable tt c cc chc danh cho session hin thi. V d: SET ROLE sales_clerk IDENTIFIED BY commission; Hoc: SET ROLE hr_clerk; Hoc: SET ROLE ALL EXCEPT sales_clerk; Hoc: SET ROLE NONE;
Trang 253

Kin trc v qun tr c s d liu Oracle

20.2.7. Thu hi cc chc danh t cc user


S dng c php sau y thu hi cc chc danh t cc user . C php : REVOKE role_name [, role_name ]... FROM {user|role|PUBLIC} [, {user|role|PUBLIC} ]... Vi: role_name user role PUBLIC V d: REVOKE sales_clerk FROM scott; Hoc: REVOKE hr_manager FROM PUBLIC; tn ca cc tn user b tn ca cc thu hi cc user. chc danh cn thu hi. thu hi chc danh. chc danh b thu hi chc danh. quyn hay chc danh t tt c cc

20.2.8. Xo cc chc danh


xo cc chc danh t database s dng cu lnh sau. C php: DROP ROLE role_name; Vi: role_name V d: DROP ROLE hr_manager; l tn ca chc danh b xo.

20.3.THNG TIN V CC CHC DANH


Cc bng thng tin v chc danh Thng tin v cc chc danh c ly trong data dictionary. C rt nhiu tables v views cha thng tin v cc quyn c gn cho user. Tn view DBA_ROLES DBA_ROLE_PRIVS ROLE_PRIVS DBA_SYS_PRIVS ROLE_SYS_PRIVS ROLE_TAB_PRIVS SESSION_ROLES Din gii Tt c cc chc danh trong database Cc chc danh c gn quyn cho user hay chc danh khc Cc chc danh c gn quyn cho chc danh khc Quyn h thng gn cho user hay chc danh Quyn h thng gn cho chc danh Quyn trn table c gn cho chc danh Cc chc danh c php ca user hin thi
Trang 254

Kin trc v qun tr c s d liu Oracle

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 255

Kin trc v qun tr c s d liu Oracle

Chng 21. TNH NNG H TR NGN NG QUC GIA


21.1.NGN NG QUC GIA
21.1.1. Cc c im chnh
NLS (National Language Support) cho php cc cng c database v cc thng bo li, trt t sp xp, thng tin ngy thng, tin t, con s v lch c chuyn i t ng ph hp vi ngn ng quc gia ngi s dng. Cc thao tc trn ngn ng ph thuc c iu khin bi mt s tham s v bin mi trng trn c 2 pha Client v Server. Server v Client c th chy trn cng hoc khc computer. Trong trng hp client v server s dng cc tp character set khc nhau, Oracle s chuyn i cc tp character set t ng. Mt s c im chnh ca NLS: H tr nhiu loi ngn ng khc nhau. H tr nhiu quc gia, lnh th khc nhau. H tr nhiu loi tp k t (character set) s dng trong database. Cho php sp xp k t trn cc loi ngn ng ca tng quc gia. Thng bo s dng ting a phng. nh dng thi gian, ngy thng theo nh dng ca tng quc gia. nh dng s theo khun dng ca tng quc gia. nh dng tin t theo khun dng ca tng quc gia. 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.

21.1.2. Chn tp k t cho database


B m k t ch nh m k t tng ng m mt my tnh c th hin th v nhn. B m k t c dng bin dch d liu thnh cc biu tng c ngha hin th trn cc my tnh. Oracle h tr cc b k t sau: Single_byte Varying_width Fixed_width
Trang 256

Kin trc v qun tr c s d liu Oracle

Unicode 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.

21.1.3. Tp k t v tp k t quc gia ca database


Cu lnh CREATE DATABASE c cc mnh : CHARACTER SET v NATIONAL CHARACTER SET m t tp k t c s dng trong database. C hai tp k t ny khng th thay i khi to database. Nu mnh NATIONAL CHARACTER SET khng c ch ra trong cu lnh to database th database s s dng tp k t tng ng vi CHARACTER SET. V tp k t ca database c s dng xc nh v lu tr cc cu lnh SQL v m PL/SQL nn n tng thch vi tp k t EBCDIC hay 7-bit ASCII. V vy, khng th s dng cc tp k t nhiu bytes (multibyte character set) hay tp k t c rng khng i (fixedwidth) nh l tp k t s dngcho database. Ta ch c th s dng cc tp k t ny nh l tp k t thuc loi NATIONAL CHARACTER SET m thi. Cc kiu d liu nh NCHAR, NVARCHAR2 v NCLOB c cung cp khai bo cc ct nh l cc bin th ca cc kiu c bn nh CHAR, VARCHAR2 v CLOB. Chng c lu tr v s dng vi tp k t national character set ch khng phi l database character set.

Tp k t database (Database Character Set) Xc nh ngay khi to database

Tp k t quc gia (National Character Set) Xc nh ngay khi to database

Khng th thay i li sau khi to Khng th thay i li sau khi to database database
Trang 257

Kin trc v qun tr c s d liu Oracle

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.

21.2.CC THAM S NLS


21.2.1. La chn tham s
C ba cch ch nh cc tham s NLS: Ch nh tham s NLS thng qua tham s khi to nm trong parameter file ca Server . S dng bin mi trng ti client. Thng s ti Client s chp ln (overriding) tham s mc nh tng ng ti server. Ch nh tham s thng qua lnh ALTER SESSION. Gi tr mi ca tham s s chp ln gi tr c ca tham s tng ng ca server. 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. 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
Trang 258

Kin trc v qun tr c s d liu Oracle

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

21.2.2. Ngn ng ph thuc v gi tr territory mc nh


Cc gi tr mc nh Tham s NLS_LANGUAGE NLS_DATE_LANGUAGE NLS_SORT NLS_TERRITORY NLS_CURRENCY NLS_ISO_CURRENCY NLS_DATE_FORMAT NLS_NUMERIC_CHARACTERS AMERICAN AMERICAN BINARY AMERICA $ AMERICA DD-MON-YY ,. Gi tr

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

21.2.3. Xc nh cc bin mi trng


Ch nh bin mi trng NLS_LANG NLS_LANG=<language>_<territory>.<charset> Thm cc bin mi trng : NLS_DATE_FORMAT NLS_DATE_LANGUAGE NLS_SORT
Trang 259

Kin trc v qun tr c s d liu Oracle

NLS_NUMERIC_CHARACTERS NLS_CURRENCY NLS_ISO_CURRENCY NLS_CALENDAR Bin mi trng NLS_LANG S dng bin mi trng NLS_LANG chp ln gi tr NLS mc nh s dng cho user. Xc nh gi tr ca tham s NLS_LANG: NLS_LANG=<language>_<territory>.<charset> Vi: language territory charset V d: NLS_LANG=GERMAN_GERMAN.W8EISO8850P1 Tham s NLS_LANG quy nh tp k t cho client. Cc clients khc nhau c th s dng cc b m k t khc nhau. D liu truyn i t client ti server s c chuyn i t ng t tp k t s dng ti client sang tp k t s dng ti server. Vic chuyn i ny l trong sut i vi cc ng dng ti client. Cc bin mi trng m rng Cc tham s khi to NLS u c th khai bo di dng bin mi trng, chng quy nh cc c trng ngn ng s dng ti mi clients. Tham s NLS_CALENDAR c s dng chn h thng lch m Oracle s s dng. Mt s tham s c th ch nh di dng bin mi trng NLS_LIST_SEPARATOR, NLS_DISPLAY, NLS_CREDIT, NLS_DEBIT, NLS_MONETARY,NLS_CHAR. ti clients: NLS_LANG, tn ngn ng quc gia s dng (l gi tr ca tham s NLS_LANGUAGE). c trng vng lnh th (l gi tr ca tham s NLS_TERRITORY). b m k t s dng bi ng dng pha client.

21.2.4. Ch nh c trng ngn ng (Language-Dependent) cho tng session


thay i cc c tnh NLS cho mt session ta s dng cu lnh ALTER SESSION. Tt c cc bin mi trng c th c khi to c pha client v server u c th thay i c thng qua cu lnh ALTER SESSION . V d: nh dng ca date c thay i cho session. ALTER SESSION SET NLS_DATE_FORMAT=DD.MM.YYYY; 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);

Trang 260

Kin trc v qun tr c s d liu Oracle

21.2.5. Tham s NLS v cc hm SQL


Sp xp nh phn l phng thc sp xp thng c s dng. Trong , cc phn t c sp xp theo cc gi tr nh phn trong b m k t. V tr ca cc k t c th thay i theo ngn ng s dng. loi b gii hn ca sp xp nh phn, Oracle cung cp phng thc sp xp theo ngn ng bng cch khi to tham s NLS_SORT. V d: SQL> ALTER SESSION SET NLS_SORT=BINARY; Session altered. SQL> SELECT letter FROM letters ORDER BY letter; LETTER ------a b c z 6 rows selected. Tham s NLS trong cc hm SQL Oracle cung cp mt s hm SQL s dng trn cc tp k t single_byte v multibyte. Cc hm SQL cho php ch nh cc tham s NLS ging nh mt phn trong danh sch tham s ca chng. Cc tham s ny s thay th cho cc gi tr NLS ch nh bi cc bin mi trng. V d: s dng tham s ngn ng trong hm SQL. SVMRGRL> SELECT TO_CHAR(hiredate,'dd.mon.yyyy', 2> 'NLS_DATE_LANGUAGE=GERMAN') 3> FROM emp TO_CHAR(HIR ----------17.dez.1980 20.feb.1981 22.feb.1981 02.apr.1981 28.sep.1981 01.mai.1981 09.jun.1981 19.apr.1987 17.nov.1981 08.sep.1981 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='',.''')
Trang 261

Kin trc v qun tr c s d liu Oracle

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

NLS_UPPER, NLS_LOWER, NLS_INITCAP, NLSSORT

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 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
Trang 262

Kin trc v qun tr c s d liu Oracle

21.3.THNG TIN V CC GI TR NLS C KHI TO


21.3.1. Thng tin v tp k t s dng
Thng tin c ly trong t in d liu, bng NLS_DATABASE_PARAMETERS S dng cu lnh truy vn sau y ly thng tin v cc gi tr NLS c khi to SVRMGR> SELECT parameter, value FROM nls_database_parameters 2> WHERE parameter LIKE '%CHARACTERSET%'; PARAMETER VALUE ---------------------------------------------------NLS_CHARACTERSET WE8ISO8859P1 NLS_NCHAR_CHARACTERSET US7ASCII 2 rows selected. View ny hin th gi tr cc tham s c ch nh bt buc trong tp khi to: SVRMGR> SELECT * FROM nls_instance_parameters; PARAMETER -------------------------NLS_LANGUAGE NLS_TERRITORY NLS_SORT NLS_DATE_LANGUAGE NLS_DATE_FORMAT NLS_CURRENCY NLS_NUMERIC_CHARACTERS NLS_ISO_CURRENCY 8 rows selected. VALUE -----------------------------AMERICAN AMERICA

View sau y hin th cc thng tin v NLS khi to cho session: SVRMGR> SELECT * FROM nls_session_parameters; PARAMETER VALUE ------------------------ -----------------------------NLS_LANGUAGE AMERICAN NLS_TERRITORY AMERICA NLS_CURRENCY $ NLS_ISO_CURRENCY AMERICA NLS_NUMERIC_CHARACTERS ., NLS_CALENDAR GREGORIAN NLS_DATE_FORMAT DD-MON-YY NLS_DATE_LANGUAGE AMERICAN NLS_SORT BINARY 9 rows selected.

21.3.2. Thng tin v cc thit lp thng s NLS


Thng tin NLS c t trong cc data dictionary views: NLS_INSTANCE_PARAMETERS v NLS_SESSION_PARAMETERS. NLS_INSTANCE_PARAMETERS Tham s (tham s khi to NLS c thit lp mt cch tng minh)
Trang 263

Kin trc v qun tr c s d liu Oracle

Gi tr NLS_SESSION_PARAMETERS Tham s (Cc tham s NLS ca tng phin) Gi tr Hin th cc tham s NLS s dng trong parameter file ti server SVRMGR> SELECT * FROM nls_instance_parameters; PARAMETER VALUE -------------------------- -----------------------------NLS_LANGUAGE AMERICAN NLS_TERRITORY AMERICA NLS_SORT NLS_DATE_LANGUAGE NLS_DATE_FORMAT NLS_CURRENCY NLS_NUMERIC_CHARACTERS NLS_ISO_CURRENCY 8 rows selected. Hin th ni dung cc tham s mi trng ang s dng trong session SVRMGR> SELECT * FROM nls_session_parameters; PARAMETER VALUE ------------------------ -----------------------------NLS_LANGUAGE AMERICAN NLS_TERRITORY AMERICA NLS_CURRENCY $ NLS_ISO_CURRENCY AMERICA NLS_NUMERIC_CHARACTERS ., NLS_CALENDAR GREGORIAN NLS_DATE_FORMAT DD-MON-YY NLS_DATE_LANGUAGE AMERICAN NLS_SORT BINARY 9 rows selected. S dng cu lnh truy vn sau y ly thng tin v cc tham s khi to hp l: SVRMGR> SELECT * FROM v$nls_valid_values 2> WHERE parameter='LANGUAGE'; PARAMETER VALUE ---------------------LANGUAGE AMERICAN LANGUAGE GERMAN LANGUAGE FRENCH LANGUAGE CANADIAN FRENCH LANGUAGE SPANISH LANGUAGE ITALIAN LANGUAGE DUTCH LANGUAGE SWEDISH LANGUAGE NORWEGIAN LANGUAGE DANISH ...

Trang 264

Kin trc v qun tr c s d liu Oracle

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 265

Kin trc v qun tr c s d liu Oracle

PH LC
A TI LIU THAM KHO
[1] [2] [3] [4] [5] [6] [7] Gio trnh SQL v PL/SQL, Cng ty c phn ti ngn, 04/2001 Gio trnh kin trc v qun tr CSDL Oracle 8i, Cng ty c phn ti ngn, 04/2001 Oracle 8: Database Administration Personal Edition, Oracle Corp, 1998 Oracle Architecture and Administration, Oracle Corp - Bruce Ernst, Hanne Rue Rasmussen, Ulrike Schwinn, Vijay Venkatachalam, 1999 Database Management With Oracle Enterprise Manager, Oracle Corp, 04/2001 Oracle 9i new features summary, Oracle Corp, 04/2001 Website: www.oracle.com

B DANH MC CC HNH V
Hnh Hnh Hnh Hnh Hnh Hnh Hnh Hnh Hnh Hnh Hnh Hnh Hnh Hnh Hnh Hnh Hnh Hnh Hnh Hnh Hnh Hnh Hnh Hnh Hnh Hnh Hnh Hnh Hnh Hnh Hnh Hnh Hnh Hnh Hnh Hnh Hnh Hnh Hnh v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. Kin trc Oracle Server................................................................................ 14 Cu trc Share Pool .................................................................................... 15 Database buffer cache................................................................................. 15 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............................. 40 Phng thc xc nhn quyn..................................................................... 45 Khi to tham s....................................................................................... 47 File tham s v d ..................................................................................... 49 Cc bc khi ng v dng Instance ........................................................ 50 So snh cc ch tt database ................................................................ 52 So snh thi gian gia cc cch tt database .............................................. 53 Cc mc truy cp view h thng............................................................ 57 Dictionarytrong database ........................................................................... 60 Dictionary views........................................................................................ 61 Stored procedures v cc Packages chun................................................... 64 Packages trong c s d liu ..................................................................... 65 Kt hp s dng nhiu control file .............................................................. 72 Ni dung control file .................................................................................. 73 Nhm cc redo log .................................................................................... 78 T chc cc redo log files .......................................................................... 80 Lu tr d liu ch NOARCHIVING...................................................... 82 Lu tr d liu ch ARCHIVING .......................................................... 83 B sung online redo log groups .................................................................. 87 B sung online redo log members............................................................... 88 Ngng s dng Online redo log groups ....................................................... 89 Ngng s dng Online redo log members ................................................... 90 Cu trc database ..................................................................................... 92 Quan h gia tablespace v datafile ........................................................... 93 D liu ngi dng nn t trong tablespace ring ...................................... 94 Cc loi segments ................................................................................... 110 Cc loi segments (tip theo)................................................................... 111 Cc loi segments (tip theo)................................................................... 112 Trang 266

Kin trc v qun tr c s d liu Oracle


Hnh Hnh Hnh Hnh Hnh Hnh Hnh Hnh Hnh Hnh Hnh Hnh Hnh Hnh Hnh Hnh Hnh Hnh Hnh Hnh Hnh Hnh Hnh Hnh Hnh Hnh Hnh Hnh Hnh Hnh Hnh Hnh Hnh Hnh Hnh Hnh Hnh Hnh Hnh Hnh Hnh Hnh Hnh Hnh Hnh Hnh Hnh Hnh Hnh Hnh Hnh Hnh Hnh Hnh Hnh Hnh Hnh Hnh Hnh Hnh v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. 66. 67. 68. 69. 70. 71. 72. 73. 74. 75. 76. 77. 78. 79. 80. 81. 82. 83. 84. 85. 86. 87. 88. 89. 90. 91. 92. 93. 94. 95. 96. 97. 98. 99. S dng v gii phng cc extents ........................................................... 113 Kt hp cc vng khng gian trng .......................................................... 114 Cu trc ca Block d liu ....................................................................... 115 Cc tham s s dng khng gian trong block ............................................ 116 S dng vng khng gian trong block....................................................... 117 Cc views cha thng tin v cu trc lu tr ............................................. 118 Phn loi cc thng tin chnh c trong DBA_SEGMENTS ............................. 119 Phn loi cc thng tin chnh c trong DBA_EXTENTS ................................ 120 Phn loi cc thng tin chnh c trong DBA_FREE_SPACE ........................... 121 Rollback segment.................................................................................... 122 Mc ch ca rollback segment................................................................. 123 S dng d liu trong rollback segment .................................................... 124 Tng kch thc Rollback Segment ........................................................... 125 Gim kch thc ca Rollback segment ..................................................... 126 Cc thng tin chnh v rollback segments.................................................. 131 Cc thng tin thng k v segments ......................................................... 132 Thng tin v cc thao tc trn cc segments ............................................. 133 Chn session .......................................................................................... 135 Temporary segment ................................................................................ 137 Phn loi temporary segment................................................................... 138 Thu nhn thng tin v database instance .................................................. 140 Lu tr cc dng d liu trong mt table .................................................. 142 Cluster ................................................................................................... 143 Cc kiu Cluster ...................................................................................... 144 Thng tin v Cluster ................................................................................ 153 Bng c t chc theo kiu index........................................................... 155 Trn dng d liu ................................................................................... 158 Thng tin v IOT .................................................................................... 159 Cu trc dng d liu d liu ................................................................... 161 Cc kiu d liu trong Oracle ................................................................... 162 nh dng ca mt RowID ....................................................................... 164 Gii hn ca RowID ................................................................................ 165 Cng thc tnh PCTFREE v PCTUSED....................................................... 169 Thay i cu trc ca table...................................................................... 170 High water mark ..................................................................................... 179 Thu hi khng gian khng s dng........................................................... 180 Thng tin v cc tables trong database ..................................................... 183 B_TREE index ......................................................................................... 186 Reverse Key Index .................................................................................. 187 Bitmap index .......................................................................................... 188 Kim tra tnh hp l ca Index ................................................................. 196 Thng tin v Index.................................................................................. 197 Tng quan v vic np v lu tr d liu .................................................. 199 SQL*loader............................................................................................. 201 Phng thc np d liu ......................................................................... 202 Np d liu ng thi.............................................................................. 204 Np d liu bng SQL*Loader .................................................................. 206 Dch chuyn d liu................................................................................. 212 Cc ch export d liu ........................................................................ 213 Cc phng thc Export d liu ............................................................... 214 Export ch Incremental .................................................................... 217 Export ch Cumulative ..................................................................... 218 Export ch ton b .......................................................................... 218 S dng cng c Import a d liu vo database................................ 220 Cc thnh phn bo mt.......................................................................... 225 Database schema.................................................................................... 226 Thng tin v User trong data dictionary .................................................... 230 Thng tin v gii hn ti nguyn .............................................................. 236 Qun l mt khu ................................................................................... 237 Thu hi quyn trc khi thu hi............................................................. 245 Trang 267

Kin trc v qun tr c s d liu Oracle


Hnh Hnh Hnh Hnh v v v v 100. 101. 102. 103. Thu hi quyn sau khi thu hi ............................................................. 245 Thu hi quyn trn i tng trc khi thu hi ..................................... 247 Thu hi quyn trn i tng sau khi thu hi........................................ 248 Chc danh trong database ..................................................................... 249

Trang 268

You might also like