Documents
Resources
Learning Center
Upload
Plans & pricing Sign in
Sign Out

Kien truc va quan tri co so du lieu Olacle 9i

VIEWS: 277 PAGES: 142

									www.updatesofts.com

Trân tr ng c m ơn MyloveisThuy ã cung c p cu n sách này.

ORACLE 9i – Ki n trúc và Qu n tr

Trang 1

www.updatesofts.com

M CL C
CHƯƠNG 1. CÁC I M M I TRONG ORACLE 9I ......................................... 10

CHƯƠNG 2. CÁC THÀNH PH N KI N TRÚC................................................. 15
2.1. KI 2.1.1. 2.1.2. 2.1.3. 2.1.4. N TRÚC ORACLE SERVER........................................................................................ 15 Oracle Instance ..........................................................................................................15 Oracle database..........................................................................................................20 Qu n tr cơ s d li u Oracle........................................................................................24 Thi t l p các tham s kh i t o nh hư ng t i kích c b nh SGA ....................................24

2.2. K T N I T I ORACLE SERVER..................................................................................... 25 2.2.1. Mô hình k t n i ..........................................................................................................25 2.2.2. M t s khái ni m cơ b n liên quan n k t n i...............................................................26 2.2.3. K t n i t i database ....................................................................................................26

CHƯƠNG 3. CÁC CÔNG C

QU N TR ORACLE ........................................... 28

3.1. CÁC CÔNG C QU N TR CƠ S D LI U ORACLE...................................................... 28 3.2. SERVER MANAGER LINE MODE ................................................................................... 28 3.2.1. Truy nh p Server Manager Line Mode ...........................................................................28 3.2.2. Phân nhóm các l nh trong Server manager....................................................................29 3.2.3. Di n gi i các l nh trong Server manager .......................................................................29 3.3. ORACLE ENTERPRISE MANAGER ................................................................................. 30 3.3.1. Ki n trúc OME ............................................................................................................30 3.3.2. Các d ch v chung.......................................................................................................31 3.3.3. Oracle Configuration Assistant ......................................................................................31 3.3.4. Oracle Enterprise Manager Console ...............................................................................31 3.4. CÁC CÔNG C QU N TR KHÁC.................................................................................... 32

CHƯƠNG 4. T O DATABASE ........................................................................ 33
4.1. CÁC BƯ C T O DATABASE .......................................................................................... 33 4.2. CHU N B MÔI TRƯ NG.............................................................................................. 33 4.2.1. Chu n b h i u hành ................................................................................................33 4.2.2. Lên k ho ch b trí các file thông tin.............................................................................33 4.2.3. Optimal Flexible Architecture – OFA ..............................................................................34 4.2.4. C u trúc thư m c ph n m m Oracle..............................................................................35 4.2.5. Bi n môi trư ng..........................................................................................................35 4.3. CHU N B CÁC THAM S TRONG PARAMETER FILE .................................................... 36 4.4. CHU N B INSTANCE PH C V QU N TR .................................................................. 37 4.4.1. T o m t instance ........................................................................................................37 4.4.2. Kh i ng instance .....................................................................................................38 4.4.3. D ng instance ............................................................................................................38 4.4.4. Hu instance ..............................................................................................................39 4.5. T O DATABASE ............................................................................................................ 39 4.5.1. Kh i ng Instance .....................................................................................................39 4.5.2. L nh t o database ......................................................................................................39 4.5.3. Oracle Database Assistant............................................................................................41 4.5.4. File script ví d t o m t database .................................................................................41 4.5.5. L i x y ra khi t o database ..........................................................................................42 4.5.6. K t qu sau khi t o database .......................................................................................42 4.6. T O DATA DICTIONARY CHO DATABASE .................................................................... 43

CHƯƠNG 5. QU N TR ORACLE DATABASE ................................................ 44
5.1. PHÂN LO I USERS ....................................................................................................... 44

ORACLE 9i – Ki n trúc và Qu n tr

Trang 2

www.updatesofts.com 5.1.1. Database Administrators ..............................................................................................44 5.1.2. Security Officers .........................................................................................................44 5.1.3. Application Developers ................................................................................................45 5.1.4. Database Users ..........................................................................................................45 5.1.5. Network Administrators ...............................................................................................45 5.2. PHƯƠNG TH C XÁC NH N C QUY N TRUY NH P .................................................. 45 5.2.1. Phương th c xác nh n quy n .......................................................................................45 5.2.2. Xác nh n quy n b i h i u hành.................................................................................46 5.2.3. Xác nh n quy n b ng file m t kh u ..............................................................................47 5.2.4. Thay i m t kh u internal ..........................................................................................47 5.3. T O PARAMETER FILE ................................................................................................. 48 5.3.1. S d ng các tham s ..................................................................................................48 5.3.2. M t s quy t c i v i các tham s ...............................................................................49 5.3.3. .................................................................................................................................49 5.3.4. Các tham s cơ b n ....................................................................................................49 5.4. START VÀ SHUT DOWN DATABASE .............................................................................. 50 5.4.1. Các bư c Start và Shut down database .........................................................................50 5.4.2. Start database ............................................................................................................52 5.4.3. Thay i tính s n dùng c a database hi n th i...............................................................52 5.4.4. Shut down database....................................................................................................53 5.4.5. Thay i tr ng thái c a database..................................................................................54 5.4.6. T m treo và ph c h i Database ....................................................................................55 5.4.7. t ch ho t ng tĩnh cho database .......................................................................56 5.5. T TR NG THÁI TĨNH CHO DATABASE...................................................................... 56 5.5.1. ưa Database vào tr ng thái tĩnh .................................................................................56 5.5.2. Ph c h i h th ng tr l i ho t ng như bình thư ng .....................................................57 5.5.3. Xem tr ng thái c a database........................................................................................57 5.6. L Y CÁC THÔNG TIN V H TH NG ............................................................................. 57 5.6.1. M t s views c n quan tâm..........................................................................................58 5.6.2. Hi n th giá tr c a các thông s h th ng......................................................................58 5.6.3. Tham s h th ng ng (có th thay i)......................................................................59 5.6.4. Qu n lý session ..........................................................................................................59 5.6.5. Trace file và ALERT file................................................................................................60

CHƯƠNG 6. DATA DICTIONARY, VIEWS VÀ PACKAGES ............................. 61
6.1. DATA DICTIONARY VÀ VIEWS ..................................................................................... 61 6.1.1. Data Dictionary...........................................................................................................61 6.1.2. Data Dictionary views..................................................................................................62 6.1.3. Sripts qu n tr ............................................................................................................64 6.2. STORED PROCEDURES VÀ CÁC PACKAGES CHU N ..................................................... 65 6.2.1. Gi i thi u chung .........................................................................................................65 6.2.2. Stored procedures.......................................................................................................65 6.2.3. Packages chu n..........................................................................................................66 6.2.4. Gi i thi u m t s packages chu n do Oracle cung c p ....................................................66 6.2.5. Package DBMS_METADATA...........................................................................................68 6.2.6. Package dbms_redefinition ..........................................................................................69 6.3. THÔNG TIN V CÁC STORED PROCEDURES................................................................. 69

CHƯƠNG 7. QU N TR CONTROL FILES...................................................... 72
7.1. CONTROL FILES ........................................................................................................... 72 7.1.1. Gi i thi u control file ...................................................................................................72 7.1.2. Cách th c t tên control file .......................................................................................72 7.1.3. K t h p nhi u control files ...........................................................................................72 7.1.4. N i dung c a control file ..............................................................................................73 7.1.5. Các tham s nh hư ng t i kích thư c c a control file ....................................................74 7.2. QU N TR CONTROL FILE ............................................................................................ 74 7.2.1. T o m i control file .....................................................................................................74 ORACLE 9i – Ki n trúc và Qu n tr Trang 3

www.updatesofts.com 7.2.2. T o m i control file cho m t database ã có s n ............................................................76 7.2.3. M t s l i i v i các Control Files ................................................................................76 7.2.4. Hu b Control Files ....................................................................................................77 7.3. THÔNG TIN TR NG THÁI C A CONTROL FILES........................................................... 78

CHƯƠNG 8. QU N LÝ REDO LOG FILES ...................................................... 79
8.1. S D NG CÁC REDO LOG FILES................................................................................... 79 8.1.1. Redo log file...............................................................................................................79 8.1.2. Online Redo Log Groups ..............................................................................................79 8.1.3. Online Redo Log Members ...........................................................................................79 8.1.4. N i dung c a Online Redo Log Files (Members)..............................................................80 8.1.5. Active và Inactive Online Redo Log Files ........................................................................80 8.1.6. Thi t l p các Redo Log Files kh i t o ............................................................................80 8.2. LGWR, LOG SWITCHES VÀ CHECKPOINTS .................................................................. 81 8.2.1. Redo Log Buffer và Background process LGWR ..............................................................81 8.2.2. Log Switches ..............................................................................................................81 8.2.3. Checkpoints ...............................................................................................................82 8.3. LÊN K HO CH S D NG REDO LOG FILES ................................................................. 82 8.3.1. Xác nh s lư ng Online redo log files ..........................................................................82 8.3.2. Nơi t các Online Redo Log Files .................................................................................82 8.3.3. Xác nh kích thư c cho các Online Redo Log Files .........................................................83 8.3.4. Lưu tr các redo log files .............................................................................................83 8.4. I U KHI N LƯU TR SAU I V I PRIMARY/STANDBY.......................................... 84 8.4.1. Thi t l p tham s ARCHIVE_LAG_TARGET .....................................................................84 8.4.2. Các y u t nh hư ng t i tham s ARCHIVE_LAG_TARGET .............................................85 8.5. XÁC NH CH LƯU TR ........................................................................................ 85 8.5.1. S d ng l nh Server Manager ......................................................................................85 8.5.2. S d ng thông tin trong data dictionary ........................................................................86 8.6. I U KHI N CÁC LOG SWITCHS VÀ CHECKPOINTS .................................................... 87 8.6.1. Th c hi n log switches ................................................................................................87 8.6.2. Th c hi n checkpoint ..................................................................................................87 8.6.3. i u ch nh các ng t quãng checkpoints .........................................................................87 8.7. QU N TR CÁC REDO LOG FILES ................................................................................. 88 8.7.1. B sung các online redo log groups...............................................................................88 8.7.2. B sung các online redo log members ...........................................................................89 8.7.3. nh l i ch cho các redo log file ..................................................................................89 8.7.4. Ng ng s d ng các Online redo log groups....................................................................90 8.7.5. Ng ng s d ng các Online redo log members ................................................................91 8.7.6. Xoá r ng Online redo log file ........................................................................................92

CHƯƠNG 9. QU N TR TABLESPACES VÀ DATA FILES................................ 93
9.1. C U TRÚC C A DATABASE ........................................................................................... 93 9.1.1. Quan h gi a database v i các tablespaces và data files .................................................93 9.1.2. Quan h gi a segment v i các extent và các blocks ........................................................94 9.2. PHÂN LO I CÁC TABLESPACES ................................................................................... 95 9.2.1. Tablespace SYSTEM và non-SYSTEM.............................................................................95 9.2.2. Tablespaces read-only / read-write ...............................................................................96 9.2.3. Temporary tablespace / permanent tablespace...............................................................96 9.3. QU N LÝ KHÔNG GIAN TRONG TABLESPACES ............................................................ 97 9.3.1. Dictionary-Managed Tablespaces ..................................................................................97 9.3.2. Locally-Managed Tablespaces.......................................................................................97 9.4. THI T L P TR NG THÁI CHO TABLESPACES ............................................................... 98 9.5. TRAO I CÁC TABLESPACES GI A DATABASES ........................................................ 98 9.5.1. M t s h n ch trong vi c trao i các tablespace: .........................................................99 9.5.2. Các bư c th c hi n chuy n i m t tablespace gi a các database....................................99 9.6. T O TABLESPACE ....................................................................................................... 100 ORACLE 9i – Ki n trúc và Qu n tr Trang 4

www.updatesofts.com 9.6.1. 9.6.2. 9.6.3. 9.6.4. L nh t o tablespace .................................................................................................. 100 Ch qu n lý các tablespaces .................................................................................. 102 T o temporary tablespace.......................................................................................... 102 Các tham s lưu tr .................................................................................................. 102

9.7. CÁC THAY I I V I TABLESPACE ....................................................................... 103 9.7.1. Chuy n i m t tablespace thành m t temporary tablespace ......................................... 103 9.7.2. Thêm m i các tablespace .......................................................................................... 103 9.7.3. M r ng data files..................................................................................................... 104 9.7.4. Thay i kích thư c data file ...................................................................................... 104 9.7.5. Chuy n i ch ONLINE và OFFLINE ...................................................................... 105 9.7.6. Di chuy n các data file .............................................................................................. 106 9.7.7. Tablespace ch c.................................................................................................... 107 9.7.8. Hu tablespace ......................................................................................................... 107 9.8. THÔNG TIN V CÁC TABLESPACES ............................................................................ 108 9.8.1. Xem thông tin tablespace .......................................................................................... 109 9.8.2. Xem thông tin data files............................................................................................. 109

CHƯƠNG 10. C U TRÚC LƯU TR ............................................................. 111
10.1. CÁC LO I SEGMENTS ............................................................................................... 111 10.1.1. Table ..................................................................................................................... 111 10.1.2. Table partition ........................................................................................................ 111 10.1.3. Cluster ................................................................................................................... 111 10.1.4. Index..................................................................................................................... 111 10.1.5. Index-Organized Table ............................................................................................ 112 10.1.6. Index Partition ........................................................................................................ 112 10.1.7. Rollback Segment ................................................................................................... 112 10.1.8. Temporary Segment................................................................................................ 112 10.1.9. LOB Segment ......................................................................................................... 112 10.1.10. LOB Index ............................................................................................................ 113 10.1.11. Nested Table ........................................................................................................ 113 10.1.12. Bootstrap Segment ................................................................................................ 113 10.2. QU N LÝ EXTENTS ................................................................................................... 113 10.2.1. C p phát và thu h i các extents................................................................................ 113 10.2.2. S d ng và gi i phóng các extent ............................................................................. 114 10.2.3. K t h p các vùng không gian tr ng ........................................................................... 114 10.3. BLOCK D LI U........................................................................................................ 116 10.3.1. C u trúc c a block d li u ........................................................................................ 116 10.3.2. Các tham s s d ng không gian trong block ............................................................. 117 10.3.3. S d ng không gian trong block ............................................................................... 118 10.3.4. Phân lo i m c phân o n i v i t ng lo i segment ............................................... 118 10.4. THÔNG TIN V C U TRÚC LƯU TR ........................................................................ 119 10.4.1. Các view lưu tr thông tin........................................................................................ 119 10.4.2. Xem thông tin v các segments ................................................................................ 120 10.4.3. Thông tin v các extents .......................................................................................... 121 10.4.4. Thông tin v các vùng tr ng..................................................................................... 122

CHƯƠNG 11. QU N LÝ ROLLBACK SEGMENTS ......................................... 123
11.1. GI 11.1.1. 11.1.2. 11.1.3. 11.2. S 11.2.1. 11.2.2. 11.2.3. I THI U ROLLBACK SEGMENTS ......................................................................... 123 Khái ni m............................................................................................................... 123 M c ích s d ng segment ...................................................................................... 123 Phân lo i rollback segment....................................................................................... 124 D NG ROLLBACK SEGMENT ............................................................................... 125 S d ng rollback segment trong các transaction ......................................................... 125 Tăng trư ng i v i các rollback segments ................................................................ 126 T i ưu các rollback segments ................................................................................... 127

11.3. QU N LÝ ROLLBACK SEGMENTS .............................................................................. 127 11.3.1. S d ng rollback segment........................................................................................ 127 ORACLE 9i – Ki n trúc và Qu n tr Trang 5

www.updatesofts.com 11.3.2. 11.3.3. 11.3.4. 11.3.5. 11.3.6. 11.3.7. 11.3.8. T o rollback segment .............................................................................................. 128 Thay i tr ng thái c a Rollback segments ................................................................ 129 Instance s d ng rollback segment ........................................................................... 130 i u ch nh kh năng lưu tr c a rollback segment ...................................................... 130 Gi m b t r ng c a rollback segment..................................................................... 130 H y b rollback segment.......................................................................................... 131 Qu n lý undo t ng.............................................................................................. 131

11.4. THÔNG TIN V CÁC ROLLBACK SEGMENT ............................................................... 132 11.4.1. Xem thông tin chung v các rollback segment ............................................................ 132 11.4.2. Xem thông tin th ng kê v rollback segment .............................................................. 133 11.4.3. Thông tin v rollback segment ang active ................................................................ 134 11.5. CÁC V N LIÊN QUAN T I ROLLBACK SEGMENT ................................................ 135 11.5.1. Thi u không gian cho các transactions ...................................................................... 135 11.5.2. L i c d li u không ng nh t............................................................................... 135 11.5.3. Ch n session .......................................................................................................... 136

CHƯƠNG 12. QU N LÝ TEMPORARY SEGMENTS ...................................... 138
12.1. TEMPORARY SEGMENTS .......................................................................................... 138 12.1.1. Phân lo i temporary segments.................................................................................. 139 12.1.2. S d ng các Sort Segments ..................................................................................... 140 12.1.3. Sort Extent Pool ...................................................................................................... 140 12.2. C P PHÁT KHÔNG GIAN CHO TEMPORARY SEGMENT............................................. 140 12.3. THÔNG TIN V CÁC TEMPORARY SEGMENT ............................................................ 141

CHƯƠNG 13. CLUSTERS VÀ INDEX-ORGANIZED TABLES......................... 143
13.1. T NG QUAN V CLUSTERS VÀ INDEX-ORGANIZED TABLES ................................... 143 13.1.1. Cluster ................................................................................................................... 144 13.1.2. Xem xét và ch n l a Cluster ..................................................................................... 145 13.1.3. Các ki u cluster ...................................................................................................... 145 13.1.4. Ch n l a ki u cluster ............................................................................................... 146 13.2. QU N LÝ CLUSTER ................................................................................................... 147 13.2.1. T o cluster ............................................................................................................. 147 13.2.2. T o Hash Cluster .................................................................................................... 149 13.2.3. Xác nh giá tr SIZE cho cluster ............................................................................... 150 13.2.4. Các tham s ch nh cho hash cluster ....................................................................... 150 13.2.5. S a i các Cluster ................................................................................................. 151 13.2.6. Xoá Cluster............................................................................................................. 152 13.3. THÔNG TIN V CÁC CLUSTERS ................................................................................ 154 13.3.1. Xác nh Cluster và các c t khoá Cluster .................................................................... 154 13.3.2. L y thông tin c t khoá c a cluster và các c t trong b ng ............................................. 155 13.3.3. L y thông tin cho hash cluster .................................................................................. 155 13.4. INDEX-ORGANIZED TABLE ...................................................................................... 156 13.4.1. Tính ch t chung ...................................................................................................... 156 13.4.2. T o m t index-organized table ................................................................................. 157 13.4.3. Hi n tư ng ROW OVERFLOW (tràn dòng d li u) ....................................................... 159 13.4.4. L y thông tin IOT (Index Orrganized Table) .............................................................. 160

CHƯƠNG 14. QU N LÝ CÁC TABLES.......................................................... 161
14.1. T NG QUAN V TABLES ........................................................................................... 161 14.1.1. Phân lo i các tables................................................................................................. 161 14.1.2. C u trúc các dòng d li u (row data) ........................................................................ 161 14.2. CÁC KI U D LI U TRONG TABLE ........................................................................... 162 14.2.1. Ki u d li u vô hư ng ............................................................................................. 162 14.2.2. T p h p (collection) ................................................................................................ 166 14.2.3. Ki u quan h (REF) ................................................................................................. 167 14.2.4. Ki u d li u TIMESTAMP.......................................................................................... 167

ORACLE 9i – Ki n trúc và Qu n tr

Trang 6

www.updatesofts.com 14.3. QU N LÝ CÁC TABLES .............................................................................................. 167 14.3.1. T o table ............................................................................................................... 167 14.3.2. Thi t l p giá tr PCTFREE và PCTUSED....................................................................... 169 14.3.3. Migration (di trú) và Chaining các dòng d li u........................................................... 170 14.3.4. Sao chép m t tables................................................................................................ 170 14.3.5. Qu n tr columns trong table .................................................................................... 171 14.3.6. Chuy n m t Table t i Segment hay Tablespace m i.................................................... 173 14.3.7. nh nghĩa l i m t table ang online ......................................................................... 173 14.3.8. B ng ngoài – External table...................................................................................... 175 14.4. CÁC RÀNG BU C (CONSTRAINTS) I V I TABLES............................................... 176 14.4.1. Ràng bu c i v i tables.......................................................................................... 176 14.4.2. Null / Not Null......................................................................................................... 176 14.4.3. Unique................................................................................................................... 177 14.4.4. Primary Key............................................................................................................ 177 14.4.5. Foreign Key ( Referential Key) .................................................................................. 177 14.4.6. Check .................................................................................................................... 178 14.5. QU N LÝ KHÔNG GIAN LƯU TR TRONG TABLE ..................................................... 178 14.5.1. Thay i thông tin lưu tr và tham s s d ng Block .................................................. 178 14.5.2. C p phát các extents b ng tay (manually) ................................................................. 179 14.5.3. High Water Mark..................................................................................................... 180 14.5.4. Thu h i không gian không s d ng ........................................................................... 181 14.5.5. Truncate m t table.................................................................................................. 182 14.5.6. Xoá table ............................................................................................................... 182 14.5.7. Ki m tra c u trúc b ng ............................................................................................ 183 14.5.8. Phát hi n các rows b migration ................................................................................ 183 14.6. THÔNG TIN V TABLES ............................................................................................ 184 14.6.1. Thông tin chung v các tables .................................................................................. 184 14.6.2. Thông tin v s d ng block và thông tin chaining ....................................................... 185

CHƯƠNG 15. QU N LÝ CÁC INDEXES ....................................................... 186
15.1. PHÂN LO I INDEXES ............................................................................................... 186 15.1.1. Index trên m t column và Index trên nhi u columns................................................... 186 15.1.2. Unique index và Non-unique index ............................................................................ 186 15.1.3. Partitioned index và non-partitioned index ................................................................. 186 15.2. T 15.2.1. 15.2.2. 15.2.3. 15.2.4. CH C INDEX ....................................................................................................... 186 B-TREE index.......................................................................................................... 186 Reverse Key Index .................................................................................................. 188 Bitmap Index.......................................................................................................... 189 So sánh gi a B-TREE index và Bitmap index............................................................... 190

15.3. QU N LÝ INDEX ....................................................................................................... 190 15.3.1. T o các index ......................................................................................................... 190 15.3.2. M t s cách s d ng index....................................................................................... 193 15.3.3. T o Index khoá ngư c (reverse key index) ................................................................ 194 15.3.4. T o Bitmap index .................................................................................................... 194 15.3.5. Thay i tham s lưu tr cho index........................................................................... 195 15.3.6. C p phát và thu h i không gian s d ng c a index ..................................................... 195 15.3.7. Xây d ng l i (Rebuild) các index ............................................................................... 196 15.3.8. Ki m tra tính h p l c a index .................................................................................. 197 15.3.9. Xoá các index ......................................................................................................... 198 15.4. THÔNG TIN V CÁC INDEX ...................................................................................... 198 15.4.1. Xem thông tin v các index ...................................................................................... 198 15.4.2. Tìm các c t trong m t index..................................................................................... 199

CHƯƠNG 16. N P VÀ T

CH C LƯU TR

D

LI U ................................... 200

16.1. GI I THI U CHUNG ................................................................................................. 200 16.1.1. T ng quan vi c n p d li u ...................................................................................... 200 16.1.2. N p d li u tr c ti p ............................................................................................... 201

ORACLE 9i – Ki n trúc và Qu n tr

Trang 7

www.updatesofts.com 16.2. N P D LI U............................................................................................................ 201 16.2.1. N p d li u b ng SQL* Loader ................................................................................. 201 16.2.2. Phương pháp n p d li u ......................................................................................... 203 16.2.3. So sánh hai phương pháp n p d li u ....................................................................... 204 16.2.4. N p d li u ng th i (Parallel direct load) ................................................................ 205 16.3. N P D LI U B NG SQL*LOADER ........................................................................... 207 16.3.1. S d ng SLQ*LOADER............................................................................................. 207 16.3.2. Parameter file (t p tham s )..................................................................................... 208 16.3.3. Control file (t p i u khi n)...................................................................................... 209 16.3.4. Data file ................................................................................................................. 211 16.3.5. Các thành ph n c a log file ...................................................................................... 211 16.3.6. Các file u ra khác................................................................................................. 211 16.3.7. Các hư ng d n khi s d ng load.............................................................................. 212 16.4. T CH C L I D LI U B NG CÔNG C EXPORT VÀ IMPORT .................................. 213 16.4.1. Công c d ch chuy n d li u..................................................................................... 213 16.4.2. Các ch Export ................................................................................................... 214 16.4.3. Export d li u tr c ti p và Export d li u thông thư ng............................................... 215 16.5. CÔNG C EXPORT .................................................................................................... 216 16.5.1. S d ng công c Export.......................................................................................... 216 16.5.2. Gi i thi u m t s ch export ................................................................................ 218 16.5.3. Các tablespaces trao i .......................................................................................... 220 16.5.4. M t s thông báo khi export: Warning, Error, và Completion Messages ......................... 220 16.6. CÔNG C IMPORT .................................................................................................... 221 16.6.1. S d ng công c Import .......................................................................................... 221 16.6.2. Chuy n i character set ......................................................................................... 225

CHƯƠNG 17. QU N LÝ USER..................................................................... 226
17.1. USER TRONG DATABASE.......................................................................................... 226 17.1.1. User và nh ng thành ph n liên quan......................................................................... 226 17.1.2. Database schema.................................................................................................... 227 17.2. QU N LÝ USER ......................................................................................................... 227 17.2.1. Các bư c th c hi n khi t o m i user ......................................................................... 227 17.2.2. T o m i user v i cơ ch xác nh n b i database.......................................................... 228 17.2.3. Thay i thu c tính c a user .................................................................................... 229 17.2.4. Thay i h n m c (quota) s d ng tablespace ........................................................... 229 17.2.5. Hu User................................................................................................................ 230 17.3. THÔNG TIN V USER................................................................................................ 230

CHƯƠNG 18. QU N LÝ THÔNG TIN PROFILES ......................................... 232
18.1. GI I THI U PROFILE............................................................................................... 232 18.2. QU N LÝ PROFILE.................................................................................................... 233 18.2.1. T o Profile.............................................................................................................. 233 18.2.2. Thi t l p các gi i h n v tài nguyên .......................................................................... 234 18.2.3. Gán Profile cho User ................................................................................................ 234 18.2.4. t gi i h n tài nguyên ........................................................................................... 235 18.2.5. Thay i thông tin trong profile ................................................................................ 235 18.2.6. Hu profile ............................................................................................................. 236 18.2.7. Thông tin v các gi i h n tài nguyên ......................................................................... 236 18.3. QU N LÝ M T KH U ................................................................................................ 237 18.3.1. T o profile qu n lý m t kh u.................................................................................... 238 18.3.2. Các tham s i u ch nh m t kh u ............................................................................. 239 18.3.3. M t s c i m chính trong qu n lý m t kh u .......................................................... 239 18.3.4. Hàm cung c p m t kh u cho ngư i s d ng............................................................... 240 18.3.5. Thông tin v m t kh u ............................................................................................ 240

CHƯƠNG 19. CÁC QUY N H TH NG........................................................ 242
19.1. PHÂN LO I QUY N .................................................................................................. 242 ORACLE 9i – Ki n trúc và Qu n tr Trang 8

www.updatesofts.com 19.1.1. 19.1.2. 19.1.3. 19.1.4. Các quy n h th ng ................................................................................................ 242 Gán các quy n h th ng .......................................................................................... 242 Xác nh n user b ng password file ............................................................................ 243 Thông tin v các quy n............................................................................................ 244

19.2. QU N LÝ QUY N ...................................................................................................... 245 19.2.1. Thu h i các quy n h th ng ..................................................................................... 245 19.2.2. Quy n trên các i tư ng ........................................................................................ 246 19.2.3. Gán các quy n trên i tư ng .................................................................................. 247 19.2.4. Thông tin v các quy n............................................................................................ 247 19.2.5. Thu h i các quy n trên i tư ng ............................................................................. 248

CHƯƠNG 20. QU N LÝ CH C DANH (ROLE) ............................................. 250
20.1. CH C DANH (ROLE) TRONG DATABASE ................................................................. 250 20.1.1. Các tính ch t c a ch c danh .................................................................................... 250 20.1.2. L i ích c a vi c s d ng ch c danh........................................................................... 250 20.2. QU N LÝ CH C DANH .............................................................................................. 251 20.2.1. T o và s a ch a các Ch c danh ............................................................................... 251 20.2.2. Các ch c danh ư c nh nghĩa s n .......................................................................... 251 20.2.3. S a ch a các ch c danh .......................................................................................... 252 20.2.4. Gán các ch c danh.................................................................................................. 253 20.2.5. Thi t l p ch c danh m c nh................................................................................... 253 20.2.6. Enable và Disable các ch c danh .............................................................................. 254 20.2.7. Thu h i các ch c danh t các user ............................................................................ 255 20.2.8. Xoá các ch c danh .................................................................................................. 255 20.3. THÔNG TIN V CÁC CH C DANH ............................................................................. 255

CHƯƠNG 21. TÍNH NĂNG H
21.1. NGÔN NG QU 21.1.1. Các c i m 21.1.2. Ch n t p kí t 21.1.3. T p kí t và t

TR

NGÔN NG

QU C GIA ....................... 257

C GIA ............................................................................................. 257 chính ................................................................................................. 257 cho database..................................................................................... 257 p kí t qu c gia c a database .............................................................. 258

21.2. CÁC THAM S NLS ................................................................................................... 259 21.2.1. L a ch n tham s ................................................................................................... 259 21.2.2. Ngôn ng ph thu c và giá tr territory m c nh........................................................ 260 21.2.3. Xác nh các bi n môi trư ng ................................................................................... 260 21.2.4. Ch nh c trưng ngôn ng (Language-Dependent) cho t ng session ......................... 261 21.2.5. Tham s NLS và các hàm SQL .................................................................................. 262 21.3. THÔNG TIN V CÁC GIÁ TR NLS Ư C KH I T O................................................. 264 21.3.1. Thông tin v t p ký t s d ng................................................................................. 264 21.3.2. Thông tin v các thi t l p thông s NLS..................................................................... 264

ORACLE 9i – Ki n trúc và Qu n tr

Trang 9

www.updatesofts.com

Chương 1. CÁC I M M I TRONG ORACLE 9i
Phiên b n Oracle9i Release 1 (9.0.1) ư c ưa ra th trư ng vào u năm 2001 và ư c c i ti n, b sung thêm m t s ch c năng, c i m m i. Các c i m này ã làm cho vi c qu n lý database tr nên m m d o, linh ho t và hi u qu hơn. Dư i ây, ta s xem xét m t s c i m m i này: Cho phép nh nghĩa l i c u trúc c a tables ang online

Ch c năng này ư c cung c p trong gói package DBMS_REDEFINITION do Oracle cung c p, cho phép ngư i dùng có th nh nghĩa l i c u trúc c a m t table thông quan câu l nh DML ngay khi nó ang online. V i các phiên b n trư c, Oracle 8i, ta cũng có th nh nghĩa l i c u trúc c a table nhưng trư c ó c n ph i t ch offline cho nó. i u này không thu n ti n cho vi c qu n tr . Cho phép th c hi n l nh ANALYZE VALIDATE STRUCTURE t c th i Có th th c hi n l nh ANALYZE table. i u khi n lưu tr sau Oracle cung c p cơ ch i u khi n switching i v i các online redo log group d a theo th i gian (time-based). Trong c u hình primary/standby, t t c các noncurrent logs t i primary site s ư c lưu tr r i v n chuy n t i standby database. Vi c này s hi u qu khi h n ch s lư ng các redo records. T m treo database Oracle9i cung c p ch c năng suspend/resume. Qu n tr viên s d ng l nh ALTER SYSTEM SUSPEND t m treo database, d ng m i thao tác truy xu t vào ra i v i các datafiles và control files. Khi database tr ng thái t m treo, các thao tác vào ra (I/O operations) ang th c hi n s ư c k t thúc và nh ng truy c p vào database m i phát sinh s ư c y vào queue. Th c hi n l nh ALTER SYSTEM RESUME khôi ph c l i tình tr ng bình thư ng c a database. t ch ho t ng tĩnh cho database Theo ó ch có Tr ng thái này d ng câu l nh ng tĩnh. t i ưu table ngay c khi ang có l nh DML th c hi n trên

ho t ng tĩnh(quiesced state). Oracle9i cho phép ưa database vào ch các DBA transactions, queries, và các l nh PL/SQL là ư c phép th c hi n. cho phép ngư i dùng th c hi n các thao tác qu n tr m t cách an toàn. S ALTER SYSTEM QUIESCE RESTRICTED ưa database v ch ho t Kh năng khôi ph c và c p phát l i không gian

Oracle s t ng th c hi n t m treo (suspending) và sau ó khôi ph c (resuming) l i vi c th c hi n các thao tác database t n kém (large database operations) trong trư ng h p có l i c p phát không gian. Nh v y mà Oracle database server s có th t th c hi n các thao tác h p lý thay vì vi c tr v thông báo l i như các phiên b n trư c. Sau khi các l i này ư c kh c ph c database l i ư c t ng khôi ph c bình thư ng.
ORACLE 9i – Ki n trúc và Qu n tr Trang 10

www.updatesofts.com

Cho phép lưu tr

trên nhi u ích lưu tr lưu tr các online redo log ư c tăng

S lư ng ích lưu tr t i a mà ta có th s d ng lên t 5 t i 10. T ng qu n lý vùng không gian

ng vi c gi i phóng và s d ng các vùng không gian có trong Oracle9i cho phép qu n lý t các segments ư c lưu tr trong các locally managed tablespaces thông qua vi c s d ng m nh SEGMENT SPACE MANAGEMENT có trong câu l nh CREATE TABLESPACE. Qu n tr viên có th s d ng ch AUTO ho c MANUAL ch rõ ki u qu n lý không gian mà Oracle s s d ng. C p nh t l i các global indexes m i khi th c hi n thao tác b o trì partition Theo m c nh, có th có m t vài ph n c a m t b ng ư c phân khu (partitioned tables) tr ng thái không s d ng ( ánh d u UNUSABLE) s ư c n p vào trong global indexes. Và ng công ta c n xây d ng l i (rebuild) toàn b global index. Oracle9i cho phép th c hi n t vi c rebuild này thông qua m nh UPDATE GLOBAL INDEX có trong câu l nh ALTER TABLE khi th c hi n b o trì. Cho phép s d ng ng th i nhi u kích c block

Oracle cho phép s d ng ng th i nhi u kích c blocks (multiple block sizes). Kích thư c chu n (standard block size) ư c quy nh trong tham s kh i t o DB_BLOCK_SIZE nhưng cũng có th m r ng thêm 4 giá tr kích thư c block phi chu n n a (nonstandard block sizes). Các kích thư c blocks phi chu n ư c ch rõ m i khi t o tablespaces. Kích thư c block chu n ư c s d ng cho SYSTEM tablespace và h u h t các tablespaces khác. Vi c h tr s d ng nhi u kích c block s cho phép th c hi n trao i các tablespaces c a các database mà không có cùng m t kích thư c block. Qu n lý ng buffer cache

Kích thư c c a buffer cache có trong vùng nh System Global Area ư c qu n lý ng. i u này có nghĩa là giá tr c a tham s DB_BLOCK_BUFFERS (trong file tham s kh i t o) có th ư c thay th b i giá tr có trong tham s khác, tham s DB_CACHE_SIZE. Trong Oracle 9i, buffer cache l i ư c phân chia thành nhi u b m con (subcaches) n u có s d ng ch multiple block sizes. B n giá tr kích c block ư c ch ra trong 4 tham s DB_ nK_CACHE_SIZE tương ng . Qu n lý ng vùng nh SGA i

Các tham s kh i t o có th tác ng t i kích c c a vùng nh SGA. Và ta có th thay kích c c a SGA d dàng thông qua câu l nh ALTER SYSTEM SET. Qu n lý vi c khôi ph c (undo) t ng

Oracle s d ng rollback segments lưu tr các thông tin cho khôi ph c. Vi c ph c h i (undo) bao g m roll back, undo, và thay i (changes) i v i database m i khi c n. Oracle 9i cho phép ta t o riêng m t undo tablespace lưu tr các thông tin ph c h i này. Vi c s

ORACLE 9i – Ki n trúc và Qu n tr

Trang 11

www.updatesofts.com

d ng undo tablespace s làm gi m b t tính ph c t p c a vi c qu n tr vùng không gian rollback segment, và cho phép ph c h i l i các thông tin dài mà không s b trùng lên nhau. Qu n lý files trong Oracle M t i m m i trong Oracle 9i là qu n lý files. Thông qua các tham s kh i t o DB_CREATE_FILE_DEST và DB_CREATE_ONLINE_LOG_DEST_ n ta có th ch ra cho h th ng các ư ng d n c th lưu tr các file thu c tablespace, online redo log file hay control file. Oracle luôn m b o qu n lý file duy nh t trong h th ng. T ng xoá các datafiles

ng xoá b (remove) các datafiles m i khi Oracle9i cung c p m t l a ch n cho phép t tablespace tương ng b hu thông qua câu l nh DROP TABLESPACE. Tuỳ ch n tương t trong câu l nh ALTER DATABASE TEMPFILE cũng ư c s d ng xoá các temporary file tương ng. Metadata API M t PL/SQL package m i, DBMS_METADATA.GET_DDL, ư c ưa vào Oracle 9i cho phép ta l y ư c các siêu d li u (metadata) – Các thông tin t ng h p v các schema object. Các b ng ngoài - External tables c các d li u trong các b ng ngoài (external Oracle9i cho phép ta truy c p theo ki u ch tables). External tables là các tables mà không n m trong database, và có th các khuôn d ng (format) nào ó. Câu l nh CREATE TABLE ... ORGANIZATION EXTERNAL ư c s d ng ch ra metadata mô t cho external table tương ng. Oracle cung c p i u khi n truy c p ORACLE_LOADER, qua ó cung c p kh năng ánh x d li u tương ng v i cú pháp l nh trong control file. Tăng cư ng cho constraint Ta s d ng m nh USING INDEX trong câu l nh CREATE TABLE hay ALTER TABLE cho phép ta ch rõ index m i khi s d ng ràng bu c unique key hay primary key. Thêm vào ó, ta cũng có th ngăn c n vi c hu (dropping). File tham s trên server Oracle lưu tr các tham s kh i t o cho session trong file tham s dư i khuôn d ng văn b n và ư c t t i các client machine. Các tham s kh i t o c a server n m trong file tham s trên server thư ng nh phân và có th ư c lưu trong database. Temporary tablespace m c nh khuôn d ng

Có th thêm vào m nh m i DEFAULT TEMPORARY TABLESPACE vào câu l nh CREATE DATABASE cho phép t o temporary tablespace ngay trong th i gian t o database. Tablespace này s ư c s d ng như temporary tablespace m c nh.

ORACLE 9i – Ki n trúc và Qu n tr

Trang 12

www.updatesofts.com

t tên cho transaction Oracle cho phép ta gán tên cho m i m t transaction. Tên c a transaction r t có ích cho vi c phân bi t gi m thi u vi c nh m l n gi a các transactions. M t s thay i trong Oracle Database Configuration Assistant

Oracle Database Configuration Assistant có m t s thay i trong thi t k . Theo ó, nó cung c p các m u (templates) giúp cho vi c ti t ki m, gi m b t vi c nh nghĩa các object trong database. Ngư i dùng cũng có th t o ra các m u này thông qua vi c s a i các m u có s n. Khi t o database b ng công c Database Configuration Assistant ta cũng có th thêm vào ngay ho c sau ó các khuôn m u g i là các Oracle’s new Sample Schemas. Nh ng schemas này là nh ng ví d tài li u cơ b n trong Oracle. Qu n lý vi c s d ng index Ta thêm m nh MONITORING USAGE vào trong câu l nh ALTER INDEX nh và qu n lý index khi nó ư c th c hi n. Li t kê các phân vùng Oracle 9i gi i thi u s d ng li t kê các phân vùng, nó cho phép ta ch ra m t danh sách các giá tr r i r c tương ng v i các partitioning column c a m i phân vùng. Phương th c li t kê phân vùng (list partitioning method) ư c ưa ra nh m m c ích mô hình hoá d li u phân tán i v i các giá tr r i r c. Vi c này khó th c hi n ư c b ng các phương pháp range partitioning (phân khu theo kho ng giá tr ) hay hash partitioning (phân khu theo hàm băm). Phân khu theo hàm băm cho các index-organized tables Oracle 9i cho phép s d ng phương pháp băm khi phân khu các index-organized tables. các phiên b n trư c, vi c phân khu cho index-organized tables v n th c hi n ư c nhưng ch b ng phương pháp range method. X lý các job queue process linh ho t có th xác

Các job queue process ư c t o m t cách linh ho t và nó ch c n t i s hi u c a processes ư ct o th c hi n các jobs c a process ó ang s n sàng cho vi c th c hi n. Ti n trình n n (background process) có tên là CJQ s m nhiêm công vi c này. i m m i trong Database Resource Manager Có m t s ch c năng m i ư c thêm vào Database Resource Manager: Có kh năng t o m t active session pool, là nơi lưu ch a ư c m t s lư ng l n nh t các user sessions ng th i ang ư c th c hi n. N u có nhi u hơn s lư ng l n nh t các sessions cùng ư c th c hi n thì các sessions m i này s ư c ưa vào hàng i ch th c hi n sau. Tuy nhiên ta cũng có th ưa ra m t kho ng th i gian tr (timeout) cho phép th c hi n hay hu vi c th c hi n các sessions m i b sung này. T ng chuy n users t m t nhóm này sang m t nhóm khác tuỳ theo s i u ch nh c a qu n tr viên (administrator). N u m t session ư c t o b i member thu c m t nhóm users nào ó th c hi n trong kho ng th i gian dài hơn th i gian cho phép thì
ORACLE 9i – Ki n trúc và Qu n tr Trang 13

www.updatesofts.com

session ó có th ư c t ng chuy n sang m t nhóm khác v i nh ng yêu c u tài nguyên khác. Có kh năng ngăn ch n th c hi n các thao tác mà ư c d ki n là s ph i ch y trong m t th i gian dài hơn là kho ng th i gian cho phép. Có kh năng t o m t undo pool, là nơi ch a m t s lư ng nh t nh vùng không gian dành cho vi c khôi ph c thông tin (undo). Cơ ch xác th c và nh xác th c (Proxy authentication and authorization) Oracle9i cho phép m t server n m l p gi a (middle-tier) xác nh n h m t client. Ta có th th c hi n vi c này b ng cách ưa vào m nh GRANT CONNECT THROUGH trong câu l nh ALTER USER. Ta cũng có th ch rõ vai trò c a l p gi a (middle tier) trong vi c k t n i t i client. Application roles Oracle cho phép gán roles cho các application users mà ư c kích ho t b ng cách s d ng PL/SQL package. S d ng m nh IDENTIFIED USING package trong câu l nh CREATE ROLE th c hi n vi c này.

ORACLE 9i – Ki n trúc và Qu n tr

Trang 14

www.updatesofts.com

Chương 2. CÁC THÀNH PH N KI N TRÚC
2.1. KI N TRÚC ORACLE SERVER
Oracle server là m t h th ng qu n tr cơ s d li u i tư ng-quan h cho phép qu n lý thông tin m t cách toàn di n. Oracle server bao g m hai thành ph n chính là Oracle instance và Oracle database.

2.1.1. Oracle Instance
nh System Global Area (SGA) và các background processes (ti n trình n n) ư c s d ng qu n tr cơ s d li u. Oracle instance ư c xác nh qua tham s môi trư ng ORACLE_SID c a h i u hành. Oracle instance bao g m m t c u trúc b

Background process

Hình v 1. Ki n trúc Oracle Server

System Global Area - SGA SGA là vùng b nh chia s ư c s d ng lưu tr d li u và các thông tin i u khi n c a Oracle server. SGA ư c c p phát (allocated) trong b nh c a máy tính mà Oracle server ang ho t ng trên ó. Các User k t n i t i Oracle s chia s các d li u có trong SGA, vi c m r ng không gian b nh cho SGA s làm nâng cao hi u su t c a h th ng, lưu tr ư c nhi u d li u trong h th ng hơn ng th i gi m thi u các thao tác truy xu t ĩa (disk I/O). SGA bao g m m t vài c u trúc b nh chính: Shared pool: Là m t ph n c a SGA lưu các c u trúc b nh chia s . Database buffer cache: Lưu tr các d li u ư c s d ng g n nh t. Redo log buffer: ư c s d ng cho vi c dò tìm l i các thay i trong cơ s d li u và ư c th c hi n b i các background process. chi ti t hơn, ta s xem xét c th t ng thành ph n.

Share Pool
Shared pool là m t ph n trong SGA và ư c s d ng khi th c hi n phân tích câu l nh (parse phase). Kích thư c c a Shared pool ư c xác nh b i tham s SHARED_POOL_SIZE có trong parameter file (file tham s ). Các thành ph n c a Shared pool g m có: Library cache và Data dictionary cache.

ORACLE 9i – Ki n trúc và Qu n tr

Trang 15

www.updatesofts.com

Hình v 2. C u trúc Share Pool

Library Cache
Library cache lưu tr thông tin v các câu l nh SQL ư c s d ng g n nh t bao g m: N i dung c a câu l nh d ng text (văn b n). Parse tree (cây phân tích) ư c xây d ng tuỳ thu c vào câu l nh. Execution plan (sơ th c hi n l nh) g m các bư c th c hi n và t i ưu l nh. Do các thông tin trên ã ư c lưu tr trong Library cache nên khi th c hi n l i m t câu l nh truy v n, trư c khi th c hi n câu l nh, Server process s l y l i các thông tin ã ư c phân tích mà không ph i phân tích l i câu l nh. Do v y, Library cache có th giúp nâng cao hi u su t th c hi n l nh.

Data Dictionary Cache
Data dictionary cache là m t thành ph n c a Shared pool lưu tr thông tin c a dictionary cache ư c s d ng g n nh t như các nh nghĩa các b ng, nh nghĩa các c t, usernames, passwords, và các privileges (quy n). Trong giai o n phân tích l nh (parse phase), Server process s tìm các thông tin trong dictionary cache xác nh các i tư ng trong câu l nh SQL và xác nh các m c quy n tương ng. Trong trư ng h p c n thi t, Server process có th kh i t o và n p các thông tin t các file d li u.

Data buffer cache
Khi th c hi n m t truy v n, Server process s tìm các blocks c n thi t trong database buffer cache. N u không tìm th y block trong database buffer cache, Server process m i c các block t data file và t o luôn m t b n sao c a block ó vào trong vùng nh m (buffer cache). Như v y, v i các l n truy xu t t i block ó sau này s không c n thi t ph i truy xu t vào datafile n a.

Hình v 3. Database buffer cache ORACLE 9i – Ki n trúc và Qu n tr Trang 16

www.updatesofts.com

Database buffer cache là vùng nh trong SGA s d ng lưu tr các block d li u ư c s d ng g n nh t. Tương t như kích thư c c a blocks d li u ư c xác nh b i tham s DB_BLOCK_SIZE, kích thư c c a vùng m trong buffer cache cũng ư c xác nh b i tham s DB_BLOCK_BUFFERS. Oracle server s d ng gi i thu t least recently used (LRU) algorithm làm tươi l i vùng nh . Theo ó, khi n p m i m t block vào b m, trong trư ng h p b m ã y, Oracle server s lo i b t block ít ư c s d ng nh t ra kh i b m n p block m i vào b m.

Redo log buffer
Server process ghi l i các thay ph n b nh SGA. i c a m t instance vào redo log buffer, ây cũng là m t

Hình v 4. Redo log buffer

Có m t s

c i m c n quan tâm c a Redo log buffer:

Kích thư c ư c xác nh b i tham s LOG_BUFFER. Lưu tr các redo records (b n ghi h i ph c) m i khi có thay i d li u. Redo log buffer ư c s d ng m t cách thư ng xuyên và các thay i b i m t transaction có th n m an xen v i các thay i c a các transactions khác. B m ư c t ch c theo ki u circular buffer (b m n i vòng) t c là d li u thay i s ti p t c ư c n p lên u sau khi vùng m ã ư c s d ng h t.

Background process Background process (các ti n trình n n) th c hi n các ch c năng thay cho l i g i ti n trình x lý tương ng. Nó i u khi n vào ra, cung c p các cơ ch x lý song song nâng cao hi u qu và tin c y. Tùy theo t ng c u hình mà Oracle instance có các Background process như: Database Writer (DBW0): Ghi l i các thay i trong data buffer cache ra các file d li u. Log Writer (LGWR): Ghi l i các thay i ư c ăng ký trong redo log buffer vào các redo log files. System Monitor (SMON): Ki m tra s nh t quán trong database. Process Monitor (PMON): D n d p l i tài nguyên khi các ti n trình c a Oracle g p l i. Checkpoint Process (CKPT): C p nh t l i tr ng thái c a thông tin trong file i u khi n và file d li u m i khi có thay i trong buffer cache.

ORACLE 9i – Ki n trúc và Qu n tr

Trang 17

www.updatesofts.com

Database Writer (DBW0) Server process ghi l i các d li u thay i rollback và d li u c a các block trong buffer

cache. Database writer (DBWR) ghi các thông tin ư c ánh d u thay i t database buffer cache lên các data files nh m m b o luôn có kho ng tr ng b m c n thi t cho vi c s d ng.

Hình v 5. Database Writer (DBWR)

V i vi c s d ng này, hi u su t s d ng database s ư c c i thi n do Server processes ch t o các thay i trên buffer cache, DBWR ghi d li u vào các data file cho t i khi: S lư ng buffers ánh b d u t t i giá tr ngư ng. Ti n trình duy t t t c buffer mà v n không tìm th y d li u tương ng. Quá th i gian quy nh. Log Writer Log Writer (LGWR) là m t trong các background process có trách nhi m qu n lý redo log buffer ghi l i các thông tin trong Redo log buffer vào Redo log file. Redo log buffer là b m d li u ư c t ch c theo ki u n i vòng.

ORACLE 9i – Ki n trúc và Qu n tr

Trang 18

www.updatesofts.com

Hình v 6. Log Writer (LGWT)

LGWR ghi l i d li u m t cách tu n t vào redo log file theo các tình hu ng sau: Khi redo log buffer y Khi x y ra timeout (thông thư ng là 3 giây) Trư c khi DBWR ghi l i các blocks b thay files. Khi commit m t transaction. System Monitor (SMON) Ti n trìnhsystem monitor (SMON) th c hi n ph c h i các s c (crash recovery) ngay t i th i i m instance ư c kh i ng (startup), n u c n thi t. SMON cũng có trách nhi m d n d p các temporary segments không còn ư c s d ng n a trong dictionary-managed tablespaces. SMON khôi ph c l i các transactions b ch t m i khi x y ra s c . SMON u n th c hi n ki m tra và kh c ph c các s c khi c n. Trong môi trư ng Oracle Parallel Server, SMON process c a m t instance có th th c hi n khôi ph c instance trong trư ng h p instance hay CPU c a máy tính ó g p s c . Process Monitor (PMON) Ti n trình process monitor (PMON) th c hi n ti n trình ph c h i m i khi có m t user process g p l i. PMON có trách nhi m d n d p database buffer cache và gi i phóng tài nguyên mà user process ó s d ng. Ví d , nó thi t l p l i (reset) tr ng thái c a các b ng ang th c hi n trong transaction, gi i phóng các locks trên b ng này, và hu b process ID c a nó ra kh i danh sách các active processes. PMON ki m tra tr ng thái c a nơi g i (dispatcher ) và các server processes, kh i ng l i (restarts) m i khi x y ra s c . PMON cũng còn th c hi n vi c ăng ký các thông tin v instance và dispatcher processes v i network listener. Tương t như SMON, PMON ư c g i n m i khi x y ra s c trong h th ng.

i trong data buffer cache vào các data

ORACLE 9i – Ki n trúc và Qu n tr

Trang 19

www.updatesofts.com

Checkpoint Process (CKPT) C p nh t l i tr ng thái c a thông tin trong file i u khi n và file d li u m i khi có thay trong buffer cache. X y ra checkpoints khi: i

T t c các d li u trong database buffers ã b thay i tính cho n th i i m checkpointed s ư c background process DBWRn ghi lên data files. Background process CKPT c p nh t ph n headers c a các data files và các control files. Checkpoints có th x y ra i v i t t c các data files trong database ho c cũng có th x y ra v i m t data files c th . Checkpoint x y ra theo các tình hu ng sau: M i khi có log switch Khi m t shut down m t database v i các ch tr ch abort X y ra theo như th i gian quy nh trong các tham LOG_CHECKPOINT_INTERVAL và LOG_CHECKPOINT_TIMEOUT Khi có yêu c u tr c ti p c a qu n tr viên

s

kh i

t o

Thông tin v checkpoint ư c lưu tr trong Alert file trong trư ng h p các tham s kh i t o LOG_CHECKPOINTS_TO_ALERT ư c t là TRUE. Và ngư c l i v i giá tr FALSE.

2.1.2. Oracle database
Oracle database là t p h p các d li u ư c xem như m t ơn v thành ph n (Unit). Database có nhi m v lưu tr và tr v các thông tin liên quan. Database ư c xem xét dư i hai góc c u trúc logic và c u trúc v t lý . Tuy v y, hai c u trúc d li u này v n t n t i tách bi t nhau, vi c qu n lý d li u theo c u trúc lưu tr v t lý không gây nh hư ng t i c u trúc logic Oracle database ư c xác nh b i tên m t tên duy nh t và ư c quy DB_NAME c a parameter file. nh trong tham s

Hình v 7. C u trúc database

ORACLE 9i – Ki n trúc và Qu n tr

Trang 20

www.updatesofts.com

C u trúc v t lý database C u trúc v t lý bao g m t p h p các control file, online redo log file và các datafile: Datafiles M i m t Oracle database u có th có m t hay nhi u datafiles. Các database datafiles ch a toàn b d li u trong database. Các d li u thu c c u trúc logic c a database như tables hay indexes u ư c lưu tr dư i d ng v t lý trong các datafiles c a database. M t s tính ch t c a datafiles: M i datafile ch có th ư c s d ng trong m t database. Bên c nh ó, datafiles cũng còn có m t s tính ch t cho phép t ng m r ng kích thư c m i khi database h t ch lưu tr d li u. M t hay nhi u datafiles t o nên m t ơn v lưu tr logic c a database g i là tablespace. M t datafile ch thu c v m t tablespace. D li u trong m t datafile có th c ra và lưu vào vùng nh b m c a Oracle. Ví d : khi m t user mu n truy c p d li u trong m t table thu c database. Trong trư ng h p thông tin yêu c u không có trong cache memory hi n th i, nó s ư c c tr c ti p t các datafiles ra và lưu tr vào trong b nh . Tuy nhiên, vi c b sung hay thêm m i d li u vào database không nh t thi t ph i ghi ngay vào các datafile. Các d li u có th t m th i ghi vào b nh gi m thi u vi c truy xu t t i b nh ngoài ( ĩa) làm tăng hi u năng s d ng h th ng. Công vi c ghi d li u này ư c th c hi n b i DBWn background process. Redo Log Files M i Oracle database u có m t t p h p t 02 redo log files tr lên. Các redo log files trong database thư ng ư c g i là database's redo log. M t redo log ư c t o thành t nhi u redo entries (g i là các redo records). Ch c năng chính c a redo log là ghi l i t t c các thay i i v i d li u trong database. Redo log files ư c s d ng b o v database kh i nh ng h ng hóc do s c . Oracle cho cùng lưu tr các phép s d ng cùng m t lúc nhi u redo log g i là multiplexed redo log b n sao c a redo log trên các ĩa khác nhau. Các thông tin trong redo log file ch ư c s d ng khôi ph c l i database trong trư ng h p h th ng g p s c và không cho phép vi t tr c ti p d li u trong database lên các datafiles trong database. Ví d : khi có s c x y ra như m t i n b t ch t ch ng h n, các d li u trong b nh không th ghi tr c ti p lên các datafiles và gây ra hi n tư ng m t d li u. Tuy nhiên, t t c các d li u b m t này u có th khôi ph c l i ngay khi database ư c m tr l i. Vi c này có th th c hi n ư c thông qua vi c s d ng ngay chính các thông tin m i nh t có trong các redo log files thu c datafiles. Oracle s khôi ph c l i các database cho n th i i m trư c khi x y ra s c . Công vi c khôi ph c d li u t các redo log ư c g i là rolling forward. Control Files M i Oracle database u có ít nh t m t control file. Control file ch a các m c thông tin quy nh c u trúc v t lý c a database như: Tên c a database. Tên và nơi lưu tr các datafiles hay redo log files.
ORACLE 9i – Ki n trúc và Qu n tr Trang 21

www.updatesofts.com

Time stamp (m c th i gian) t o l p database, ... M i khi nào m t instance c a Oracle database ư c m , control file c a nó s ư c s d ng xác nh data files và các redo log files i kèm. Khi các thành ph n v t lý c database b thay i (ví d như, t o m i datafile hay redo log file), Control file s ư c t ng thay i tương ng b i Oracle. Control file cũng ư c s d ng n khi th c hi n khôi ph c l i d li u.

C u trúc logic databse C u trúc logic c a Oracle database bao g m các data blocks, extents, và segments. Tablespaces M t database có th ư c phân chia v m t logic thành các ơn v g i là các tablespaces, Tablespaces thư ng bao g m m t nhóm các thành ph n có quan h logic v i nhau. i tư ng tablespaces, schema objects,

Databases, Tablespaces, và Datafiles
M i quan h gi a các databases, tablespaces, và datafiles có th sau: ư c minh ho b i hình v

Hình v 8. Quan h gi a database, tablespace và datafile

Có m t s

i m ta c n quan tâm:

M i database có th phân chia v m t logic thành m t hay nhi u tablespace. M i tablespace có th ư c t o nên, v m t v t lý, b i m t ho c nhi u datafiles. Kích thư c c a m t tablespace b ng t ng kích thư c c a các datafiles c a nó. Ví d : trong hình v trên SYSTEM tablespace có kích thư c là 2 MB còn USERS tablespace có kích thư c là 4 MB. Kích thư c c a database cũng có th xác nh ư c b ng t ng kích thư c c a các tablespaces c a nó. Ví d : trong hình v trên thì kích thư c c a database là 6 MB. Schema và Schema Objects Schema là t p h p các i tư ng (objects) có trong database. Schema objects là các c u trúc logic cho phép tham chi u tr c ti p t i d li u trong database. Schema objects bao g m các c u trúc như tables, views, sequences, stored procedures, synonyms, indexes, clusters, và database links.
ORACLE 9i – Ki n trúc và Qu n tr Trang 22

www.updatesofts.com

Data Blocks, Extents, and Segments Oracle i u khi n không gian lưu tr trên ĩa c ng theo các c u trúc logic bao g m các data blocks, extents, và segments.

Oracle Data Blocks
Là m c phân c p logic th p nh t, các d li u c a Oracle database ư c lưu tr trong các ng v i m t s lư ng nh t nh các bytes v t lý c a database trong không gian ĩa c ng. Kích thư c c a m t data block ư c ch ra cho m i Oracle database ngay khi database ư c t o l p. Database s d ng, c p phát và gi i phóng vùng không gian lưu tr thông qua các Oracle data blocks.

data blocks. M t data block tương

Extents
Là m c phân chia cao hơn v m t logic các vùng không gian trong database. M t extent bao g m m t s data blocks liên ti p nhau, cùng ư c lưu tr t i m t thi t b lưu gi . Extent ư c s d ng lưu tr các thông tin có cùng ki u.

Segments
Là m c phân chia cao hơn n a v m t logic các vùng không gian trong database. M t

segment là m t t p h p các extents ư c c p phát cho m t c u trúc logic . Segment có th
ư c phân chia theo nhi u lo i khác nhau: M i m t non-clustered table có m t data segment. Các d li u trong m t table ư c lưu tr trong các extents thu c data segment ó. V i m t partitioned table thì m i each partition l i tương ng v i m t data segment. M i Cluster tương ng v i m t data segment. D li u c a t t c các table trong cluster ó u ư c lưu tr trong data segment thu c Cluster ó. M i m t index u có m t index segment lưu tr các d li u c a nó. Trong partitioned index thì m i partition cũng l i tương ng v i m t index segment. M t ho c nhi u rollback segments c a database ư c t o l p b i ngư i qu n tr database lưu tr các d li u trung gian ph c v cho vi c khôi ph c d li u. Các thông tin trong Rollback segment ư c s d ng : T os ng nh t các thông tin c ư c t database S d ng trong quá trình khôi ph c d li u Ph c h i l i các giao d ch chưa commit i v i m i user Temporary segments ư c t ng t o b i Oracle m i khi m t câu l nh SQL statement c n n m t vùng nh trung gian th c hi n các công vi c c a mình như s p x p d li u. Khi k t thúc câu l nh ó, các extent thu c temporary segment s l i ư c hoàn tr cho h th ng.

Data segment

index segment

rollback segment

temporary segment

Oracle th c hi n c p phát vùng không gian lưu tr m t cách linh ho t m i khi các extents c p phát ã s d ng h t.

ORACLE 9i – Ki n trúc và Qu n tr

Trang 23

www.updatesofts.com

Các c u trúc v t lý khác Ngoài ra, Oracle Server còn s d ng các file khác lưu tr thông tin. Các file ó bao g m:

Parameter file: Parameter file ch ra các tham s ư c s d ng trong database. Ngư i qu n tr database có th s a i m t vài thông tin có trong file này. Các tham s trong parameter file ư c vi t d ng văn b n. Password file: Xác nh quy n c a t ng user trong database. Cho phép ngư i s d ng kh i ng và t t m t Oracle instance. Archived redo log files: Là b n off line c a các redo log files ch a các thông tin c n thi t ph c h i d li u.

2.1.3. Qu n tr cơ s d li u Oracle
Qu n tr cơ s d li u là công vi c b o trì và v n hành Oracle server nó có th ti p nh n và x lý ư c t t c các yêu c u (requests) t phía Client. làm ư c i u này, ngư i qu n tr viên cơ s d li u c n ph i hi u ư c ki n trúc c a Oracle database.

2.1.4. Thi t l p các tham s kh i t o nh hư ng t i kích c b nh SGA
Tham s kh i t o nh hư ng t i kích thư c b nh c p phát cho vùng System Global Area. Ngo i tr tham s SGA_MAX_SIZE, còn l i các tham s khác u là tham s ng t c là có th thay i giá tr c a chúng ngay trong lúc database ang ch y thông qua câu l nh ALTER i ư c trong quá trình ch y database. SYSTEM. Kích thư c c a SGA cũng có th thay Thi t l p tham s cho Buffer Cache Tham s kh i t o buffer cache quy Ta s d ng các cho phép s các giá tr m c ư c gán m c nh kích thư c c a buffer cache là m t ph n c a SGA. .

tham s DB_CACHE_SIZE và m t trong nh ng tham s DB_nK_CACHE_SIZE d ng ch multiple block sizes i v i database. Oracle s t ng gán nh cho tham s the DB_CACHE_SIZE, còn tham s DB_nK_CACHE_SIZE s nh b ng 0.

Kích thư c c a buffer cache s có nh hư ng nhi u t i hi u su t th c hi n c a h th ng. Kích thư c càng l n thì càng gi m b t vi c c và ghi ĩa. Tuy nhiên, kích thư c c a cache l n s t n nhi u b nh và s có nhi u t n kém trong vi c th c hi n paging (phân trang) hay swapping (trao i) b nh . Tham s DB_CACHE_SIZE Tham s kh i t o DB_CACHE_SIZE ư c s d ng thay th cho tham s DB_BLOCK_BUFFERS c a các phiên b n Oracle trư c kia. Tham s DB_CACHE_SIZE quy nh kích thư c c a block buffers chu n. Kích thư c c a m t block chu n l i ư c quy nh trong tham s DB_BLOCK_SIZE. tương thích v i các phiên b n Tuy v y, tham s DB_BLOCK_BUFFERS v n ư c s d ng trư c, tuy nhiên giá tr c a nó không ư c s d ng cho các tham s ng. Tham s DB_nK_CACHE_SIZE Ch ra kích c là b i s nguyên l n kích thư c c a block buffers. Nó ư c ch ra b i các tham s : DB_2K_CACHE_SIZE
ORACLE 9i – Ki n trúc và Qu n tr Trang 24

www.updatesofts.com

DB_4K_CACHE_SIZE DB_8K_CACHE_SIZE DB_16K_CACHE_SIZE DB_32K_CACHE_SIZE.

M i tham s ch ra kích c c a buffer cache tương ng v i kích c c a block. Ví d :
DB_BLOCK_SIZE=4096 DB_CACHE_SIZE=12M DB_2K_CACHE_SIZE=8M DB_8K_CACHE_SIZE=4M

ví d này, các tham s ch ra kích thư c block chu n c a database là 4K. Kích thư c cache tương ng v i kích thư c block chu n là 12M. Các kích thư c m r ng c a cache là 2K và 8K s ư c t l i v i giá tr tương ng là 8M và 4M. i u ch nh kích c c a Shared Pool ng, t c là có th thay Tham s SHARED_POOL_SIZE trong phiên b n Oracle 9i là tham s i ư c giá tr c a nó ( i u này không th th c hi n ư c trong các phiên b n trư c). Nó cho phép ta thay i kích thư c c a shared pool là m t trong các thành ph n c a SGA. Theo m c nh Oracle cũng ch n m t giá tr m c nh phù h p cho tham s này. i u ch nh kích c c a Large Pool Tương t như SHARED_POOL_SIZE, tham s LARGE_POOL_SIZE cũng là m t tham s ng, nó cho phép ta i u ch nh kích c c a large pool, ây cũng là m t thành ph n trong SGA. . Gi i h n kích c c a SGA Tham s SGA_MAX_SIZE quy nh kích c l n nh t c a System Global Area . Ta cũng có th thay i kích c c a buffer caches, shared pool và large pool, tuy nhiên vi c thay i này nên là m r ng giá tr kích thư c cho các thành ph n c a SGA. Giá tr m r ng thêm này cũng không nên t t i ngư ng c a SGA_MAX_SIZE. Trong trư ng h p ta không ch rõ giá tr c a SGA_MAX_SIZE thì Oracle s t này b ng t ng s kích c c a các thành ph n c a SGA lúc ban u. ng gán giá tr

2.2.K T N I T I ORACLE SERVER
2.2.1. Mô hình k t n i
Các Client có th k t n i t i Oracle Server thông qua 03 cách sau: K t n i tr c ti p: k t n i mà Client n m trên cùng m t máy ch Oracle server. K t n i hai l p (two-tiered) client-server: Client n m trên m t máy tính khác và k t n i tr c ti p t i máy ch Oracle Server. K t n i ba l p (three-tiered): Client n m trên máy tính khác v i máy ch Oracle Server, nó giao ti p v i m t ng d ng hay m t máy ch m ng (network server) và i u khi n ng d ng hay máy ch này k t n i t i Oracle server.

ORACLE 9i – Ki n trúc và Qu n tr

Trang 25

www.updatesofts.com

Hình v 9. K t n i t i Oracle server

2.2.2. M t s khái ni m cơ b n liên quan
Connection (liên k t)

nk tn i

Liên k t là ư ng liên l c gi a m t user process và m t Oracle server. Trong trư ng h p user s d ng các tool ho c các ng d ng ngay trên cùng m t máy v i Oracle server, ư ng liên l c s ư c t o l p ngay trên máy ó. Trong trư ng h p user n m trên m t máy khác thì liên k t s s d ng ư ng m ng k t n i t i Oracle server.

Session (phiên) M t phiên tương ng v i m t liên k t c th c a m t user t i m t Oracle server. Phiên b t u khi user k t n i t i Oracle Server ã ư c ki m tra h p l và k t thúc khi user th c hi n log out kh i Oracle Server ho c user k t thúc m t cách b t thư ng. M t user cùng m t lúc có th có nhi u phiên làm vi c k t n i t i Oracle Server thông qua các ng d ng hay các tool khác nhau. Ví du: User có th ng th i có các phiên làm vi c gi a SQL*Plus, Developer/2000 Form,... t i Oracle Server. Lưu ý: Phiên ch t o l p ư c khi Oracle Server ã s n sàng cho vi c k t n i c a các client.

2.2.3. K t n i t i database
Các bư c th c hi n k t n i k t n i t i database trư c tiên, c n ph i t o liên k t t i Oracle Server. Liên k t t i Oracle Server ư c t o theo các bư c sau: User s d ng công c SQL*Plus hay s d ng các công c khác c a Oracle như Developer/2000 Forms kh i t o ti n trình. Trong mô hình Client-Server, các công c hay ng d ng này ư c ch y trên máy Client. User th c hi n log in vào Oracle server v i vi c khai báo username, password và tên liên k t t i database. Các ng d ng tools s t o m t ti n trình k t n i t i Oracle server qua các tham s này. Ti n trình này ư c g i là ti n trình ph c v . Ti n trình ph c v s giao ti p v i Oracle server thay cho ti n trình c a user ch y trên máy Client.

ORACLE 9i – Ki n trúc và Qu n tr

Trang 26

www.updatesofts.com

Ví d th c hi n k t n i t i database hi u rõ hơn v các bư c th c hi n k t n i, ta hãy xem xét m t ví d mô t vi c k t n i t i Oracle database th c hi n b i m t user t i m t máy tính khác có k t n i t i máy tính mà Oracle server ang ch y trên ó. Vi c k t n i ư c th c hi n thông qua ư ng m ng b ng cách s d ng d ch v Oracle Net8. 1. T i máy ch , c n m b o Oracle server ang ch y và s n sàng ón nh n các tín hi u t phía Client. Máy ch này ư c g i là host hay database server. 2. T i m t máy tr m có ch y các ng d ng (g i là local machine hay client workstation) s th c hi n các user process k t n i t i database. Client application th c hi n thi t l p m t k t n i t i server thông qua Net8 driver. 3. Máy ch server trên ó có các Net8 driver. Server s th c hi n vi c nghe và dò tìm t t c các yêu c u g i n t phía client và sau ó s t o m t server process tương ng v i user process. 4. Khi user th c hi n m t câu l nh SQL hay commit m t transaction. Ví d như user d li u trên m t dòng trong m t table. 5. Server process s nh n v câu l nh g i t i t Client, ki m tra và phân tích câu l nh, vi c này ư c th c hi n trong shared pool. Ti p theo ó, Server process s ki m tra quy n truy nh p d li u c a user. 6. Server process tr v các giá tr d li u yêu c u t các d li u có trong datafile hay trong system global area. 7. Server process thay i các d li u có trong system global area. DBWn process ghi l i các blocks ã thay i ra ĩa. LGWR process s ghi l i ngay l p t c các b n ghi thay i vào online redo log file ngay khi transaction ư c commit. 8. Trong trư ng h p transaction th c hi n thành công, server process s g i thông báo hoàn t t qua ư ng m ng t i Client. Ngư c l i, s có m t error message g i t i Client.

ORACLE 9i – Ki n trúc và Qu n tr

Trang 27

www.updatesofts.com

Chương 3. CÁC CÔNG C

QU N TR ORACLE
D LI U ORACLE

3.1.CÁC CÔNG C QU N TR C S

Oracle hi n t i ã cung c p r t nhi u công c cho phép qu n tr cơ s d li u. Có th k ra sau ây m t s công c cơ b n sau: Công c Di n gi i dòng l nh như

Server Manager Line Công c qu n tr cơ s d li u Oracle theo ch Mode start (kh i ng), shutdown (d ng) database,... SQL*Plus Line Mode Oracle Manager

ây là m t ti n ích s d ng cho vi c công qu n tr như starting up, shutting down, ho c ph c h i database.

Enterprise Là công c có giao di n h a th c hi n vi c qu n tr , i u khi n và thay i m t ho c nhi u database. Ti n ích s d ng c a Oracle . n p các file bên ngoài vào trong các b ng exporting ho c importing d li u theo khuôn t o file m t kh u trong database. qu n tr cơ s d li u

SQL*Loader Công c Import

Export và Ti n ích s d ng d ng c a Oracle. Ti n ích s d ng

Password File là:

thu n ti n, tài li u s trình bày hai công c thư ng dùng nh t Server Manager Line Mode Oracle Enterprise Manager

3.2.SERVER MANAGER LINE MODE
3.2.1. Truy nh p Server Manager Line Mode
User (ngư i s d ng) có th vào Server Manager Line Mode theo hai cách: C:\svrmgrl Cách này ch vào Server Manager Line Mode mà chưa th c hi n k t n i c th t i database Lưu ý: trong các phiên b n cũ, ta gõ svrmgrl30 thay vì svrmgrl Ho c: C:\svgrmrl command=”connect internal/admin” C:\svgrmrl command=@c:\example.sql Vào Server Manager Line Mode Kí t s ng th i th c hi n l nh luôn.

d ng trong Server Manager Line Mode

V i Server Manager Line Mode, ta có th th c hi n câu l nh SQL ho c o n l nh PL/SQL. Các câu l nh ư c k t thúc b i ký t ch m ph y ‘ ; ’ S d ng ký t ‘ /’ k t thúc câu l nh trong trư ng h p ã b m phím Enter xu ng dòng.

Ngoài ra, ta có th ch y file script ch a các câu l nh SQL và PL/SQL. B ng cách s d ng ký t ‘ @ ‘ trư c tên file script.

ORACLE 9i – Ki n trúc và Qu n tr

Trang 28

www.updatesofts.com

3.2.2. Phân nhóm các l nh trong Server manager
Lo i l nh EXIT REMARK L nh không c n k t SET n i t i database SHOW SPOOL CONNECT/DISCONNECT DESCRIBE Các l nh c n n EXECUTE m c quy n truy SHOW ERRORS nh p SHOW PARAMETER SHOW SGA CONNECT… AS SYSDBA Các l nh c n n CONNECT… AS SYSOPER m c quy n truy ARCHIVE LOG nh p c bi t RECOVER DATABASE STARTUP/SHUTDOWN Tên l nh

3.2.3. Di n gi i các l nh trong Server manager
Tên l nh EXIT REMARK SET SHOW SPOOL CONNECT/ DISCONNECT DESCRIBE EXECUTE SHOW ERRORS SHOW PARAMETER SHOW SGA CONNECT/AS SYSDBA ARCHIVE LOG RECOVER DATABASE Di n gi i óng SQL Worksheet, thoát kh i Server Manager Thêm vào l i chú d n, thư ng hay s d ng trong file SQL script Thi t l p ho c thay th i. Hi n th các thi t i các tính ch t có trong phiên làm vi c hi n t hi n th i

Cho phép ho c thôi cho phép chuy n hư ng k t xu t d li u ra file K t n i ho c hu k t n i t i database Xem c u trúc c a m t function, package, package body, procedure, table, object, view Th c hi n m t dòng l nh PL/SQL Hi n th các l i phát sinh c a th t c, hàm hay package Hi n th gái tr hi n th i c a m t hay nhi u tham s Hi n th thông tin v SGA c a Instance hi n th i K t n i t i database v i c quy n qu n tr ng i v i các file online redo ã kh i t o

Kh i ng và d ng vi c lưu tr t log files, redo log file

Ph c h i l i m t hay nhi u tablespaces

ORACLE 9i – Ki n trúc và Qu n tr

Trang 29

www.updatesofts.com

STARTUP/ SHUTDOWN

Kh i

ng ho c t t Oracle instance

3.3.ORACLE ENTERPRISE MANAGER
Oracle Enterprise Manager (OME) là phương ti n cho phép có ư c cái nhìn t ng th v toàn b h th ng. Trong ó có cây phân c p và các hình nh h a v các i tư ng và quan h gi a chúng trong h th ng. OME có các ti n trình Intelligent Agent processes cho phép qu n lý t xa các d ch v chung - common services như jobs, events,… m t cách d dàng. OME cũng bao g m c nh ng Advanced Management Packs. ng d ng qu n lý chuyên bi t: DBA Management Pack,

Bên c nh ó, OME còn cung c p m t lư ng l n các hàm API cho phép tích h p v i các h th ng qu n lý ng d ng khác. Bao g m c các h th ng qu n lý c a Oracle và không ph i c a Oracle. OEM Console có trong c Windows NT và Windows 95.

Hình v 10. Oracle Enterprise Manager

3.3.1. Ki n trúc OME
Ki n trúc OME là m r ng c a ki n trúc Client/Server, nó có ki n trúc ba l p. L p th nh t ch a các Java-based console và các ng d ng tích h p cho phép cài t và ch y b i các Web browser. L p th hai là Oracle Management Server - OMS. Ch c năng chính c a OMS là x lý và qu n tr t t c các tác v c a h th ng, t p trung qu n lý và phân ph i i u khi n gi a các clients và các nút i u khi n - managed nodes. OEM s d ng Oracle Enterprise Manager repository duy trì d li u h th ng, d li u ng d ng và các tr ng thái c a các th c th i u khi n phân tán trong h th ng, cho phép ngư i dùng có th truy c p và chia s các vùng d li u lưu tr . L p th ba bao g m các ích như databases, nodes và các d ch v qu n lý khác.

ORACLE 9i – Ki n trúc và Qu n tr

Trang 30

www.updatesofts.com

3.3.2. Các d ch v chung
OEM có các d ch v cho phép qu n lý các nodes trên m ng (network) D ch v phát hi n - Discovery service: OEM t ng phát hi n ( nh v ) t t c các database và các d ch v ch y trên các nodes, m t khi các nodes ư c xác nh. Các d ch v này bao g m Web servers, listeners, machines, parallel servers, video servers, và các services khác. Job Scheduling System: cho phép th c hi n t ng l p l i các tác v . H th ng cho phép t o và qu n lý các jobs, lên k ho ch th c hi n chúng và cho phép xem, chia s thông tin xác nh Jobs. Event Management System: cho phép qu n lý môi trư ng m ng (network environment) x lý các trư ng h p m t d ch v , thi u ho c h t vùng lưu tr , và các v n khác như s d ng tài nguyên CPU. M i khi các events ư c phát hi n, ngư i qu n tr có th thông báo ho c s a nó. B o m t - Security: các tham s b o m t xác nh cho t ng d ch v (services), i tư ng (objects), và t ng user qu n tr (administrators). D ch v kho lưu tr chia s (Shared Repository) OEM là m t h th ng a ngư i dùng - multiuser system. M i qu n tr viên có m t account riêng ăng nh p vào h th ng. Tùy theo vi c thi t t quy n h n, mà qu n tr viên có th truy c p vào các d li u lưu trong kho trung tâm, kho ư c chia s cho t t c các qu n tr viên c a OEM th c hi n công vi c qu n lý.

3.3.3. Oracle Configuration Assistant
Configuration Assistant là công c cho phép t o các shared repositories, t l i c u hình cho database và thi t t c u hình cho các local console ( ơn v i u khi n c c b ). Configuration Assistant ư c t ng kh i ng ngay sau khi hoàn t t quá trình cài t c a Universal Installer. Ta cũng có th kh i ng ng d ng này b ng tay (ch y l nh %emrepmgr t d u nh c h th ng).

3.3.4. Oracle Enterprise Manager Console
Bao g m c cây phân c p và hình nh h a bi u di n các i tư ng trong h th ng. 1. Các nút có bi u tư ng: cho phép g i các ng d ng khác cùng th c hi n vi c qu n tr các tác v (task). Vi c này cũng có th th c hi n thông qua m c ch n tương ng trên menu. 2. Navigator hay object explorer: ư c t ch c dư i d ng cây phân c p. Nó cho phép xem các Oracle services trong m ng làm vi c. Navigator cho phép qu n tr viên có th browse các Oracle services, như databases, listeners, nodes, và name servers, qua ó có th s a i các tính ch t c a các i tư ng; ví d : ngư i dùng có th thay i n i dung c a b ng. 3. Job system: cho phép th c hi n các tác v t xa liên quan t i listeners, databases. Job system d a trên các th t c trong Tool Control Language (TCL) engine.

ORACLE 9i – Ki n trúc và Qu n tr

Trang 31

www.updatesofts.com

Hình v 11. Oracle Enterprise Manager

4. Menu cho phép kh i t o các ng d ng qu n tr khác và th c hi n nhi u tác v khác nhau. 5. Map hay topographical view cho phép các Oracle services có th ư c g p l i tùy theo quan h v không gian, ch c năng, hay c hai. Map view cho phép ngư i s d ng t p trung vào các i tư ng c n qu n lý. 6. Event system i u khi n và thông báo các tr ng thái c a h th ng.

3.4.CÁC CÔNG C QU N TR KHÁC
Ngoài hai công c chính như ã k trên, Oracle còn h tr b các công c chu n khác như: Instance Manager: dùng i u khi n database nh nghĩa và kh i t o các tham s liên quan t i các tính ch t c a instance. Schema Manager: dùng t o l p và qu n lý các i tư ng như tables, indexes, và views. Security Manager: dùng qu n lý các users và phân quy n cho các users này Storage Manager: dùng t ch c các database files và qu n lý các rollback segments. SQL Worksheet: giao ti p theo ki u dòng lênh, nó cho phép th c hi n các câu l nh SQL và PL/SQL cũng như là các câu l nh c a Server Manager Backup Manager: dùng sao lưu, ph c h i và b o trì databases, qu n lý các redo log files. Data Manager: dùng n p và t ch c l i d li u trong databases.

Ngoài các các công c k trên, Oracle còn h tr các công c làm tăng cư ng hi u su t làm vi c c a DATABASE. Performance Manager: bi u di n hi u su t làm vi c c a database dư i d ng bi u ho . Top-Session Manager: hi n th thông tin chi ti t v các session c a 10 session có s d ng tài nguyên h th ng, s p x p theo th t gi m d n. Công c này còn cho phép kill session. Loock Manager: cho bi t các thông tin liên quan n vi c khoá (lock) các i tư ng trong database. Các thông tin ư c bi u di n dư i d ng ho . Tablespaces Manager: công c giúp cho d dàng qu n lý các tablespace có trong database.

ORACLE 9i – Ki n trúc và Qu n tr

Trang 32

www.updatesofts.com

Chương 4. T O DATABASE
4.1.CÁC B C T O DATABASE
Oracle hi n ã h tr m t công c cho phép t o database trên h i u hành Windows m t cách tr c quan. ó là công c Oracle Database Assistant. Tuy nhiên, trong m t s trư ng h p công c này t ra không ư c thu n ti n l m. Bên c nh vi c s d ng công c cung c p s n c a Oracle t o database, Oracle còn cho phép user có th t o database mà không s d ng các công c c a Oracle. Phương pháp này g i là t o database b ng tay – manually. Vi c t o database ư c ti n hành theo các bư c: 1. Quy t nh ch n l a tên instance và tên database duy nh t. Ch n character set – t p ký t s d ng trong database. 2. Thi t l p các bi n h th ng. 3. Chu n b file tham s , t o file m t kh u (nên có thao tác này). 4. Chu n b instance ph c v qu n tr 5. T o database. 6. Ch y scripts t o các dictionary cho database.

4.2.CHU N B MÔI TR NG
4.2.1. Chu n b h
i u hành i u hành v i y t o database, qu n tr viên trư c tiên ph i có th truy nh p vào h quy n.

Trư c khi t o database, c n tính toán dung lư ng b nh cho database căn c vào c u hình c a Server và m b o có b nh th c hi n các ti n trình c a Oracle m t cách hi u qu . Tính toán lư ng ĩa tr ng c n thi t cho vi c lưu tr các data files, các control files, các redo log file và các files khác...

4.2.2. Lên k ho ch b trí các file thông tin
b o v an toàn cho database, ta c n có k ho ch b trí các file thông tin. Control files m b o an toàn, m t database c n ít nh t 02 control files và ư c t t i hai ch khác nhau. Các control files nên ư c t tên khác nhau sao cho d dàng có th phân bi t. Tên c a Control files nên ư c V i: n database_name là s th t c a control file tên c a database t kèm v i tên c a database cho d nh , như sau: CTL<n><database_name>.ORA

Trong parameter file, tên c a các control files ư c

t phân cách nhau b i các d u ph y.

ORACLE 9i – Ki n trúc và Qu n tr

Trang 33

www.updatesofts.com

Ví d : control_files = (“C:\ORANT\DATABASE\CTL1KTKB.ORA”, ”C:\ORANT\DATABASE\CTL2KTKB.ORA”)

Online redo log files Online redo log files thông thư ng bao g m nhi u nhóm các online redo log files khác nhau. V i m i nhóm ch a các b n sao c a các redo log file. Tương t như control file. Các online redo log file cũng nên ư c t các n i khác nhau. Cũng gi ng như Control files, vi c t tên cho các Online redo log files nên ư c tên c a database cho d nh , như sau: LOG<n><database_name>.ORA V i: n database_name là s th t c a control file tên c a database t kèm v i

Tên c a các control files ư c Ví d : logfile =

t phân cách nhau b i các d u ph y.

‘C:\ORANT\DATABASE\LOG1KTKB.ORA’ SIZE 1024K, ‘C:\ORANT\DATABASE\LOG2KTKB.ORA’ SIZE 1024K

Datafiles Tên c a datafiles nên ư c t theo như n i dung c a nó.

i v i các data files, ta c n quan tâm t i m t s tính ch t sau: Gi m thi u vi c phân o n trong các data files. Tách riêng các i tư ng trong database như tách các application data, temporary data trên các tablespaces khác nhau. Các datafile ư c phân chia theo các segment khác nhau. Tên c a chúng thư ng ư c v i uôi là .DBF còn ph n u s ư c phân theo t ng lo i segment tương 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 t

4.2.3. Optimal Flexible Architecture – OFA
i u quan tr ng khi t o database là t ch c các file h th ng sao cho d dàng cho vi c qu n tr , thêm m i và b sung các d li u vào database t n d ng hi u qu các thao tác vào ra c a h th ng. OFA v i các ti n ích giúp cho vi c b o trì database ư c ơn gi n. Cáu trúc c a OFA:
ORACLE 9i – Ki n trúc và Qu n tr Trang 34

www.updatesofts.com

t tên các thi t b nó có th ch a ng các d li u Oracle server gi ng như m t t p h p. 2. Phân bi t các file s n ph m, bao g m các ph n m m và các công c Oracle server, các file qu n tr , file script kh i t o,... 3. Lưu l i các phiên b n c a các s n ph m Oracle server 4. T o các thư m c lưu tr d li u Oracle server.

1.

4.2.4. C u trúc thư m c ph n m m Oracle
Thư m c Bin Dbs Lib Orainst Rdbms Plsql Sqlplus Network Svrmgrl C u trúc thư m c con Thư m c Admin Demo Doc Install Lib Log File scripts qu n tr File d li u và các scripts minh ho README file Các file ph c v cho vi c cài Các thư vi n s n ph m Các file log t Di n gi i Ch a các file s n ph m Ch a các file d li u Ch a các file thư vi n s n ph m c a Oracle Ch a chương trình và các file ph c v cho vi c cài t Di n gi i d ng nh phân

Các file server, các file thư vi n và các file khác c n thi t cho database PL/SQL và các s n ph m liên quan SQL*Plus Các s n ph m Oracle Net8 Server manager

4.2.5. Bi n môi trư ng
Trên h i u hành Windows, ta thi t l p các bi n môi trư ng. Các bi n này tương các tham s trong registry như: ORACLE_HOME, ORACLE_SID, NLS_LANG. t o m i database, c n t o m i bi n môi trư ng ORACLE_SID: C:\set ORACLE_SID = U16 ng v i

ORACLE 9i – Ki n trúc và Qu n tr

Trang 35

www.updatesofts.com

4.3.CHU N B CÁC THAM S

TRONG PARAMETER FILE

Khi t o m i m t database, ta c n quan tâm t i vi c t o parameter file. Parameter file ch a các thông tin c n thi t trong database, trong ó quan tâm nh t là các tham s sau: Tham s DB_NAME CONTROL_FILES Di n gi i Tên nh danh c a database, t i a 8 ký t . Tên database ph i trùng v i giá tr c a bi n môi trư ng ORACLE_SID. Li t kê danh sách các control file s d ng trong database. T i thi u có 01 control file trong database. Tuy nhiên, ta nên t o 02 control files tr lên phòng h ng file. Các control files không c n thi t ph i t n t i. Khi t o database, Oracle s t o các control files này Xác nh kích thư c c a m t block s d ng trong database. Kích thư c này s không thay i ư c sau khi database ã ư c t o l p. Kích thư c c a các block ư c tính theo ơn v K (Kilobytes). Kích thư c c a block thư ng ư c t b ng s nguyên l n lu th a c a 2. tương ng v i s nguyên l n các block v t lý c a h i u hành. Do ó, có th t i ưu ư c s l n truy xu t ĩa c ng. Ví d : 2K, 4K, 8K, 16K, 32K, tuỳ theo phiên b n c a Oracle và h i u hành.

DB_BLOCK_SIZE

Thông thư ng, khi chu n b parameter file c a m t database s p ư c t o, ta có th sao chép l i n i dung c a parameter file m u r i ch nh s a l i m t vài thông s trong ó như db_name, control_files,... Parameter file m u c a oracle thư ng ư c t thư m c: <%ORACLE_HOME%>\ADMIN\SAMPLES\PFILE

Ví d v n i dung c a 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

ORACLE 9i – Ki n trúc và Qu n tr

Trang 36

www.updatesofts.com

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.CHU N B INSTANCE PH C V QU N TR
S d ng công c ORADIM t o instance ph c v cho vi c t o database. ORADIM s t o m t service dành riêng cho database. ây là m t công c th c hi n ch dòng l nh. Công c này ch c n thi t khi user t o m i, s a i hay hu instance c a database b ng tay. Trong trư ng h p s d ng công c Oracle Database Configuration Assistant can thi p vào database thì không c n thi t ph i bi t t i công c này. ORADIM Oracle Database Configuration Assistant

Có th t o m i, start, stop, s a i hay Ch có th t o m i hay hu b databse. xoá b instances. Không can thi p t i Không th start hay stop database database files Có th s d ng s a i instance Không th s a i instance

Dùng t o password file và service liên Dùng t o password file và service liên quan. Không t o database ư c quan, instance và c database Lưu ý: các phiên b n trư c c a Oracle, công c ORADIM có tên là ORADIM80

4.4.1. T o m t instance
Cú pháp: C:\>ORADIM -NEW -SID SID | -SRVC SERVICE_NAME [-INTPWD INTERNAL_PWD] - SHUTTYPE SRVC | INST | SRVC, INST [MAXUSERS NUMBER][-STARTMODE AUTO | MANUAL][-PFILE FILENAME] V i: -NEW -SID SID T o m i instance ph c v cho database. Tên c a instance ư c t o (tên này thư ng ư c l y chính là tên c a database). -SRVC SERVICE_NAME Tên c a service ph c v database. -INTPWD INTERNAL_PWD M t kh u c a Internal account s d ng qu n tr database -MAXUSERS NUMBER S lư ng user t i a nh nghĩa trong password file -STARTMODE AUTO, MANUAL t ch kh i ng instance ph c v (kh i ng service trên máy ch server) -PFILE FILENAME
Trang 37

ORACLE 9i – Ki n trúc và Qu n tr

www.updatesofts.com

Ch rõ parameter file INIT<Database_name>.ORA -SHUTTYPE SRVC, INST D ng instance ph c 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. Kh i
Cú pháp:

ng instance

C:\ORADIM -STARTUP -SID SID [-USRPWD USER_PWD] [-STARTTYPE SRVC | INST | SRVC, INST] [-PFILE FILENAME] V i: Kh i ng instance ph c v s n sàng cho vi c t o database. -SID SID Tên c a instance ư c t o (tên này thư ng ư c l y chính là tên c a database). -USERPWD USER_PWD M t kh u. -STARTTYPE SRVC, INST Ch kh i 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. D ng instance
Cú pháp: C:\>ORADIM -SHUTDOWN -SID SID [-USRPWD USER_PWD] [-SHUTTYPE SRVC | INST | SRVC, INST] [-SHUTMODE A | I | N] V i: D ng (stop) instance ph c v . Tên c a instance ư c t o (tên này thư ng l y chính là tên c a database). -USERPWD USER_PWD M t kh u. -SHUTMODE Xác nh ch d ng: A – abort mode, I – Immediate mode, N – Normal mode Ví d : C:\> ORADIM -SHUTDOWN -SID PUMA -SHUTTYPE SRVC INST -SHUTDOWN -SID SID ư c

I

ORACLE 9i – Ki n trúc và Qu n tr

Trang 38

www.updatesofts.com

4.4.4. Hu instance
Cú pháp: C:\>ORADIM -DELETE -SID sid Ví d :
C:\> ORADIM -DELETE -SID PUMA

4.5.T O DATABASE
4.5.1. Kh i
Kh i ng Instance t o Instance. S d ng user v i m c quy n DBA. Dùng công c ORADIM ng Instance ch

NOMOUNT và ch rõ file tham s s d ng trong chương trình:

SVRMGR> STARTUP NOMOUNT \ > PFILE=initU16.ora

4.5.2. L nh t o database
S d ng câu l nh CREATE DATABASE Cú pháp: 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]}] } ] V i: Database Tên c a CSDL c n t o (tên này gi ng v i tên c a tham s DB_NAME trong parameter file)
Trang 39

t o database

ORACLE 9i – Ki n trúc và Qu n tr

www.updatesofts.com

CONTROLFILE REUSE Tên file tham s ã t n t i ư c tái s d ng LOGFILE GROUP Tên c a log file ư c s d ng MAXLOGFILES S lư ng t i a các log file group cho CSDL MAXLOGMEMBERS S lư ng t i a các log file member i v i m t log file group MAXLOGHISTORY S lư ng t i a các redo log trong m t group DATAFILE filespec Tên file d li u ư c s d ng AUTOEXTEND Cho phép ho c không cho phép m r ng t ng các file d li u MAXDATAFILES S lư ng t i a các datafiles trong database MAXINSTANCES S lư ng l n nh t các instance có th ng th i mount và open database ARCHIVELOG Xác nh ràng redo log c n ch archive trư c khi ư c dùng l i NOARCHIVELOG Xác nh ràng redo log c n ư c dùng l i mà không c n t ch archive CHARACTER SET, NATIONAL CHARACTER SET Chu n ký t mà CSDL s d ng lưu tr các d li u

Ví d : t o 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;

ORACLE 9i – Ki n trúc và Qu n tr

Trang 40

www.updatesofts.com

4.5.3. Oracle Database Assistant
t o database, Oracle h tr công c r t ti n l i giúp ngư i qu n tr d dàng t o database hơn thông qua giao di n ho , ó là công c Oracle Database Assistant.

Hình v 12. Công c t o h tr database – Oracle Database Assistant

V i công c này, ngư i qu n tr ch vi c khai báo các tham s c n thi t cho database. Oracle Database Assistant s t ng k t sinh ra câu l nh SQL tương ng v i các tham s ã ư c khai báo. Các câu l nh SQL có th ư c ch y luôn ho c cũng có th ư c lưu l i thành các script files s d ng sau này.

4.5.4. File script ví d t o m t 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
ORACLE 9i – Ki n trúc và Qu n tr Trang 41

www.updatesofts.com

MAXDATAFILES 100 MAXINSTANCES 1 CHARACTER SET WE8ISO8859P1 NATIONAL CHARACTER SET WE8ISO8859P1; spool off File initU16.ora db_name = U16 db_files = 1020 control_files = ("C:\ORANT\database\ctl1U16.ora", "C:\ORANT\database\ctl2U16.ora") db_file_multiblock_read_count = 16 db_block_buffers = 2000 shared_pool_size = 30000000 log_checkpoint_interval = 8000 processes = 100 dml_locks = 200 log_buffer = 65536 sequence_cache_entries = 30 sequence_cache_hash_buckets = 23 #audit_trail = true #timed_statistics = true background_dump_dest = C:\ORANT\rdbms80\trace user_dump_dest = C:\ORANT\rdbms80\trace db_block_size =8192 compatible = 8.0.4.0.0 sort_area_size = 65536 log_checkpoint_timeout = 0 remote_login_passwordfile = shared max_dump_file_size = 10240

4.5.5. L i x y ra khi t o database
L i x y ra khi t o database ph n l n do các nguyên nhân sau: L i cú pháp l nh t o database Các file d li u c n t o l p ã t n t i L i do h i u hành, không có quy n, không

ch tr ng,...

4.5.6. K t qu sau khi t o database
K t thúc các bư c trên ta thu ư c m t database v i: 02 data files ư c t trong SYSTEM tablespace. Các control files và các redo log files ph c v cho database Hai user qu n tr database và m t kh u tương ng là: SYS/change_on_install và SYSTEM/manager 01 Rollback segment SYSTEM Các b ng d li u internal v i d li u tr ng
ORACLE 9i – Ki n trúc và Qu n tr Trang 42

www.updatesofts.com

4.6.T O DATA DICTIONARY CHO DATABASE
Trong trư ng h p t o database b ng tay, sau khi t o xong database, Oracle server s t o cho ta m t database hoàn toàn tr ng. Các b ng trong database này u ư c lưu tr dư i d ng mã và ta không th nào quan sát các thông tin trong nó ư c. có th quan sát ư c các thông tin trong database. Ta c n t o data dictionary cho database này. Data dictionary hay còn g i là t i n d li u c a database là t p h p các views ư c thi t l p trong database cung c p các thông tin v database. Các file t o data dictionary cho database ư c Oracle cung c p s n và thư ng trong thư m c <%ORACLE_HOME%>\RDBMS\ADMIN Các dictionary views ư c phân lo i và M t s file SQL hay dùng: Tên file SQL CATALOG.SQL CATPROC.SQL CATREP.SQL Di n gi i T o các dictionary views cơ b n, trigger và store procedure cơ s T o các package cơ s T o các ch c năng Replication cho database t trong các file SQL khác nhau. ư c t

Ngoài ra còn có r t nhi u file script khác.

ORACLE 9i – Ki n trúc và Qu n tr

Trang 43

www.updatesofts.com

Chương 5. QU N TR ORACLE DATABASE
5.1.PHÂN LO I USERS
Oracle là m t h qu n tr cơ s d li u l n, ch y trên môi trư ng m ng. v n hành h th ng ư c t t, có th có nhi u ngư i s cùng tham gia vào h th ng v i nh ng vai trò khác nhau g i là các user. Có th phân ra làm m t s lo i user chính sau: Database Administrators Security Officers Application Developers Application Administrators Database Users Network Administrators

5.1.1. Database Administrators
Do h th ng Oracle database có th là r t l n và có nhi u users cùng tham gia vào h th ng, và khi ó s có m t hay m t s ngư i ch u trách nhi m qu n lý h th ng. Nh ng ngư i có vai trò như v y ư c g i là database administrator (DBA). M i m t database c n ít nh t 01 ngư i th c hi n công vi c qu n tr . M t database administrator có trách nhi m th c hi n m t s công vi c sau: Cài t và nâng c p Oracle server và các công c ng d ng khác. Phân ph i h th ng lưu tr và lên k ho ch lưu tr cho h th ng cơ s d li u trong tương lai. T o nh ng c u trúc lưu tr cơ b n như tablespaces ph c v cho vi c phát tri n và ho t ng c a các ng d ng. T o các i tư ng trong database như tables, views, indexes s d ng cho các ng d ng ư c thi t k . Thay i c u trúc database khi c n thi t tuỳ theo các thông tin c a các application. Qu n lý các users và m b o b o m t h th ng. m b o tương thích v b n quy n, phiên b n v i h th ng Oracle i u khi n và qu n tr các user access truy xu t t i database. QU n lý và t i ưu các truy xu t t i database. Lên k ho ch backup (sao lưu) và recovery (ph c h i) các thông tin có trong database. Lưu tr các archive data. Sao lưu và khôi ph c database. C p nh t các công ngh m i ưa ra các câu h i b ích.

5.1.2. Security Officers
Trong m t s trư ng h p, h th ng òi h i ch b o m t cao. Khi ó c n n m t hay m t nhóm ngư i chuyên th c hi n công tác b o v database g i là security officers. Security officer có th k t n i t i database, i u khi n và qu n lý vi c truy c p database c a các users và b o m t h th ng.

ORACLE 9i – Ki n trúc và Qu n tr

Trang 44

www.updatesofts.com

5.1.3. Application Developers
Application developer là ngư i thi t k và vi t các ng d ng database. Application developer
có trách nhi m th c hi n m t s yêu c u sau: Thi t k và phát tri n ng d ng database. Thi t k c u trúc database cho t ng ng d ng. ánh giá yêu c u lưu tr cho ng d ng. Quy nh các hình th c thay i c u trúc database c a ng d ng. Thi t l p bi n pháp b o m t cho ng d ng ư c phát tri n.

5.1.4. Database Users
Database users tương tác v i database thông qua các i n hình có th th c hi n ư c m t s công vi c sau: ng d ng và các ti n ích. M t user

Truy nh p, s a i, và xoá hu các d li u ư c phép T o các báo cáo i v i d li u

5.1.5. Network Administrators
i v i database Oracle ho t ông trên môi trư ng m ng, khi ó c n có m t user th c hi n công vi c qu n tr m ng. User này có trách nhi m m b o các ng d ng Oracle ho t ng trên môi trư ng m ng ư c t t.

5.2.PHNG TH C XÁC NH N

C QUY N TRUY NH P

Vi c phân quy n s d ng là c n thi t trong công vi c qu n tr . Có hai user account ư c t ng t o ra ngay t khi t o database và ư c gán quy n DBA là: SYS và SYSTEM. SYS: ư c t o t ng và gán quy n DBA. M t kh u m c nh là change_on_install. Có quy n s h u các b ng và các t i n d li u trong database. SYSTEM: ư c t ng t o ra v i m t kh u ban u là manager và cũng ư c gán quy n DBA. Tuy nhiên, SYSTEM còn ư c s h u c m t s table, view m r ng ch a các thông tin s d ng cho các tools c a Oracle. Quy n DBA: Ngay khi t o database, Oracle ã t o s n m t quy n g i là "DBA". Quy n này cho phép th c hi n các thao tác qu n tr i v i database. Lưu ý: V i quy n DBA, các users này s có th can thi p ư c t i các quy n c a các user khác s d ng trong h th ng. Vì th , nh ng qu n tr viên database c n thay i m t kh u c a mình tránh s d ng m t kh u m c nh do Oracle cung c p vì user khác có th bi t và s d ng truy nh p vào h th ng m t cách trái phép, gây xáo tr n h th ng.

5.2.1. Phương th c xác nh n quy n
Trong m t s trư ng h p qu n tr viên database c n n phương th c xác nh n quy n truy nh p c bi t do có th lúc ó database chưa ư c m , ví d như v i các trư ng h p shutdown ho c startup database. Tuỳ thu c vào vi c qu n tr database trên cùng m t máy hay máy khác mà ta có th s d ng cơ ch xác nh n quy n truy nh p database b i h i u hành hay hay password files.

ORACLE 9i – Ki n trúc và Qu n tr

Trang 45

www.updatesofts.com

Hình v 13. Phương th c xác nh n quy n

5.2.2. Xác nh n quy n b i h
Vi c xác nh n quy n b i h

i u hành

i u hành ư c ti n hành theo các bư c:

1. Trong h i u hành Windows NT t o m t user’s group v i tên ORA_<SID>_DBA và m t nhóm khác ORA_<SID>_OPER v i <SID> tương ng v i tên c a instance, ho c ORA_DBA và ORA_OPER (khi này ta không quan tâm t i instance). 2. Thêm m t user vào group ư c xác nh quy n DBA. 3. khi truy c p vào h i u hành, user có th t ng

t tham s REMOTE_LOGIN_PASSWORDFILE trong parameter file là NONE.

4. K t n i t i database v i m c quy n SYSDBA hay SYSOPER: CONNECT / AS { SYSDBA|SYSOPER } Ghi chú: NET8 ư c cài t trên các h i u hành Windows 95, Windows NT giúp cho vi c xác nh n quy n. Các phiên b n trư c c a Oracle s d ng l nh: CONNECT INTERNAL v i cú pháp: CONNECT INTERNAL/pw AS SYSDBA. L nh: CONNECT INTERNAL hi n t i v n ư c s d ng. V i vi c xác nh n quy n truy nh p b i h i u hành, ta không c n quan tâm t i các m c quy n (privilege) thay vào ó, ta c n quan tâm t i hai quy n ư c cung c p b i h i u hành là OSDBA và OSOPER OSOPER: là quy n cho phép user có th STARTUP, SHUTDOWN, ALTER DATABASE OPEN/MOUNT, ALTER DATABASE BACKUP, ARCHIVE LOG, và RECOVER, ngoài ra còn có thêm c quy n RESTRICTED SESSION. OSDBA: là quy n cho phép user có th có ư c t t c các quy n c a OSOPER, ngoài ra còn có thêm m t s m c quy n ph c v qu n tr database là ADMIN OPTION, và CREATE DATABASE

ORACLE 9i – Ki n trúc và Qu n tr

Trang 46

www.updatesofts.com

5.2.3. Xác nh n quy n b ng file m t kh u
Oracle h tr các ti n ích password cho phép k t n i t i Oracle Server s d ng username và password. Vi c truy c p vào database s d ng password file ư c h tr b i l nh GRANT. S d ng file m t kh u: 1. T o file m t kh u b ng l nh: orapwd file=<fname> password=<password> entries=<entries> V i: fname là tên file m t kh u password là m t kh u c a SYS hay INTERNAL entries là s lư ng t i a các qu n tr viên phép 2. t tham s REMOTE_LOGIN_PASSWORDFILE là EXCLUSIVE ho c SHARED. V i: EXCLUSIVE SHARED 3. Gán quy n cho user GRANT SYSDBA TO admin; GRANT SYSOPER TO admin 4. K t n i t i database theo cú pháp: SVRMGRL>CONNECT internal/admin AS SYSDBA Xem thông tin v các member trong file m t kh u Thông tin v các member trong file m t kh u ư c lưu trong view: V$PWFILE_USER. Nó cho bi t có nh ng user nào ư c gán quy n SYSDBA hay SYSOPER. Di n gi i m t s c t trong V$PWFILE_USER: USERNAME SYSDBA SYSOPER Tên C t gán C t gán user này nh n giá tr quy n SYSDBA này nh n giá tr quy n SYSOPER TRUE thì User này TRUE thì User này ư c ư c ch m t instance có th s d ng file m t kh u nhi u instance có th dùng file m t kh u

ư c

Khi k t n i v i database theo m c quy n SYSDBA hay SYSOPER, user ó s ư c k t n i t i các schema m c nh, v i SYSDBA thì shema m c nh là SYS, v i SYSOPER thì shema m c nh là PUBLIC.

5.2.4. Thay

i m t kh u internal t o l i file m t kh u.

S d ng ti n ích ORADIM

C:\>ORADIM -NEW -SID sid [-INTPWD internal_pwd][SRVC svrcname][MAXUSERS n][STARTMODE auto, manual][-PFILE filename] V i:
ORACLE 9i – Ki n trúc và Qu n tr Trang 47

www.updatesofts.com

sid internal_pwd svrcname n auto or manual filename

tên instance m t kh u internal account tên service s lư ng t i a file m t kh u ch kh i ng service là: manual hay automatic cho phép s d ng file m t kh u không ph i là m c nh

thay

i m t kh u INTERNAL ta th c hi n theo các bư c sau: C:\> ORADIM -DELETE -SID sid

1. Xoá m t kh u cũ 2. T o m t kh u m i C:\> ORADIM -NEW -SID sid -INTPWD internal_pwd - MAXUSERS N

5.3.T O PARAMETER FILE

Hình v 14. Kh i t o tham s

File tham s thông thư ng có tên init<SID>.ora. Theo m c nh, file tham s ư c t trong thư m c %ORACLE_HOME%\DATABASE.

File tham s ch ư c c m t l n khi kh i ng instance. Khi thay i n i dung c a file tham s , s d ng ư c các giá tr m i c n shut down r i sau ó restart l i instance.

5.3.1. S d ng các tham s
Các tham s có th s bao g m: nh hư ng t i hi u qu s d ng database. Các thông s trong file tham t i ưu hi u su t.

Kích thư c c a vùng System Global Area (SGA) t m c nh cho database và instance. t các h n ch i v i user hay process. t các h n ch i v i tài nguyên database.
ORACLE 9i – Ki n trúc và Qu n tr

Trang 48

www.updatesofts.com

Xác nh các thu c tính v t lý c a database, như kích thư c c a block. Ch ra các control files, archived log files, Alert file, và trace file locations.

5.3.2. M t s quy t c

i v i các tham s

Các giá tr ư c ch ra theo khuôn d ng: <Keyword> = <Giá tr >. M t s tham s u là tuỳ ch n và m t s khác là b t bu c ví d như DB_NAME. Server u có giá tr m c nh i v i m i tham s . Các giá tr này là tuỳ theo h i u hành và tuỳ theo tham s . Các tham s có th ư c ch ra không c n ph i tuân theo m t th t nào c ( t trư c, sau không quan tr ng). Ph n chú d n ư c b t u b ng ký hi u #. Các tham s là ký t ư c t trong d u nháy kép. Cũng có th included các file b i t khoá IFILE. Các giá tr là t p h p ư c t trong d u ngo c ơn ‘(,)’và ư c ngăn cách nhau b i d u ph y (,).

5.3.3. 5.3.4. Các tham s cơ b n
Tham s CONTROL_FILES DB_BLOCK_BUFFERS DB_BLOCK_SIZE Di n gi i Tên c a các control files. S lư ng các data blocks ư c cach trong SGA. Kích thư c c a m t data block. Kích thư c này nên ư c ch n b ng s s nguyên l n mũ 2, có th là 2K, 4K, 8K, 16K và 32K tuỳ theo phiên b n c a Oracle và c a H i u hành. nh danh database t 8 ký t tr xu ng. Tham s này ch c n thi t khi t o m i m t database. Tên c a file tham s th i. Cho phép có th ư c include vào file tham s hi n ư c l ng t i a là ba c p.

DB_NAME IFILE LOG_BUFFER MAX_DUMP_FILE_SIZE OPEN_CURSOR ROLLBACK_SEGMENTS PROCESSES SHARED_POOL_SIZE

S byte ư c c p phát cho redo log buffer trong SGA. Kích thư c t i a c a trace files, lư ng block c a h i u hành. S lư ng cursor t i a ư c S lư ng rollback segments instance S lư ng t i a các ti n trình h v i instance. Kích thư c c a Shared Pool ư c xác nh b ng s

ng th i m . ư c s d ng cho m i

i u hành có th k t n i

ORACLE 9i – Ki n trúc và Qu n tr

Trang 49

www.updatesofts.com

Ví d m t parametersfile:

Hình v 15. File tham s ví d

5.4.START VÀ SHUT DOWN DATABASE
5.4.1. Các bư c Start và Shut down database
Start Instance ch Nomount Ta có th kh i ng m t Instance mà không c n thi t ph i g n v i m t database c th . Khi kh i ng Instance, các công vi c sau ây s ư c th c hi n: c file tham s : init<SID>.ora Thu x p vùng b nh SGA Kh i ng các background process M các trace file và các Alert file Lưu ý: Tên database n m trong tham s DB_NAME c a file tham s . Câu l nh: STARTUP NOMOUNT; Start Instance ch mount ng m t

th c hi n m t vài thao tác c bi t khi v n hành database, ta có th kh i instance và mount database nhưng chưa m database. Ví d như: i tên datafiles Enable ho c Disable các redo log files Th c hi n ph c h i d li u (recovery). Các công vi c khi mount database:

G n database v i m t instance ã kh i ng nh v và m các control files theo như thông s có trong file tham s c n i dung c a control file và xác nh tr ng thái cho các data files và các redo log files.
ORACLE 9i – Ki n trúc và Qu n tr Trang 50

www.updatesofts.com

Câu l nh: STARTUP MOUNT; Start Instance ch open

Sau khi databsae ã ư c m , nh ng ngư i s d ng h p l có th k t n i t i database và th c hi n các thao tác truy nh p vào database. Vi c m database di n ra theo hai bư c: M các online data files M các online redo log files. Câu l nh: STARTUP OPEN;

Hình v 16. Các bư c kh i

ng và d ng Instance

Khôi ph c Instance Trong m t s trư ng h p Instance có th g p l i và không th làm vi c ư c. Ví d như: có l i h th ng x y ra. Vi c khôi ph c Instance s ư c th c hi n theo các bư c sau: Khôi ph c l i t t c các d li u có th khôi ph c ư c (d li u chưa ư c lưu vào data files nhưng ã lưu vào trong online redo log files) M database. Khôi ph c l i t t c các transaction chưa ư c commit. Close database ây là bư c u tiên khi t t h n m t database. Sau khi óng database, t t c các d li u còn trong b m (redo log buffer cache) s ư c ghi ra file (online redo log file). Các control file v n ư c m . Dismount database Dissmount database s Shoutdown Instance ây là bư c cu i cùng, intance s ư c t t h n. Các trace file và Alert file c a instance b óng. Các background process b d ng và vùng nh SGA c p cho instance b thu h i.
ORACLE 9i – Ki n trúc và Qu n tr Trang 51

óng n t các control file thu c database ang m .

www.updatesofts.com

5.4.2. Start database
Cú pháp: STARTUP [FORCE] [RESTRICT] [PFILE=filename] [EXCLUSIVE | PARALLEL | SHARED] [OPEN [RECOVER][database]|MOUNT |NOMOUNT] V i: OPEN MOUNT NOMOUNT EXCLUSIVE PARALLEL SHARED PFILE=parfile FORCE RESTRICT SESSION RECOVER cho phép các users truy c p vào database. mounts database s n sàng cho các thao tác DBA, ngư i s d ng chưa truy c p ư c database. B trí SGA và kh i ng các background process, chưa s n sàng cho DBA. ch cho phép instance hi n th i truy c p vào database. cho phép nhi u instances cùng ư c g n v i database (s d ng Oracle Parallel Server) tương t như PARALLEL. cho phép s d ng file tham s không ph i là m c nh xác nh c u hình cho instance. hu b các instance ang ch y trư c ó, kh i ng instance bình thư ng. ch cho phép các users truy c p v i ch RESTRICTED. quy n truy nh p vào database. b t u khôi ph c d li u khi database.

5.4.3. Thay
Kh i Th c hi n s a

i tính s n dùng c a database hi n th i ch NOMOUNT

ng database

i database theo l nh:

ALTER database { MOUNT | OPEN | OPEN READ ONLY | OPEN READ WRITTE} V i: G n database v i instance. Lúc này ta ch có th th c hi n các thao tác qu n tr trên database mà chưa th s d ng database ư c. OPEN READ WRITE M database, s n sàng cho vi c s d ng database, c c l n ghi. OPEN READ ONLY M database nhưng ch cho c database như s d ng các câu l nh truy v n ch ng h n. Các thao tác ghi không th th c hi n ư c. Tuỳ ch n này ư c s d ng khi ta c n sao chép các redo log files c a database. OPEN Tương t như OPEN READ ONLY, ây là bi u di n m c nh c a OPEN READ WRITE. MOUNT

ORACLE 9i – Ki n trúc và Qu n tr

Trang 52

www.updatesofts.com

5.4.4. Shut down database
Có m t s ch t t database tương ng v i các kh năng khác nhau.

Hình v 17. So sánh các ch

t t database

Cú pháp: SHUTDOWN [NORMAL | TRANSACTIONAL | IMMEDIATE | ABORT ] V i: NORMAL Không cho t o thêm các connection t i database, ch cho connection hi n th i k t thúc thì shutdown database. Không cho phát sinh thêm các transaction, ch cho transaction hi n th i k t thúc thì shutdown database. K t thúc luôn transaction hi n th i nhưng v n ch h th ng commit hay rollback r i m i shutdown database. Shutdown database t c th i không òi h i b t c i u ki n gì. v th i gian như sau:

TRANSACTION

IMMEDIATE

ABORT

Tương ng v i các cách t t database trên, ta có bi u

ORACLE 9i – Ki n trúc và Qu n tr

Trang 53

www.updatesofts.com

Hình v 18. So sánh th i gian gi a các cách t t database

Hình v trên so sánh tiêu t n v th i gian khi th c hi n m t thao tác chuy n 1. Th c hi n truy v n l y d li u c p nh t và chuy n i d li u

i d li u:

2. Th c hi n l nh INSERT và DELETE 3. Phát l nh COMMIT

c p nh t d li u vào database

4. Hu b liên k t t i database.

5.4.5. Thay
Cú pháp:

i tr ng thái c a database

ALTER system { SUSPEND | RESUME } SUSPEND ưa database vào tr ng thái treo. T m th i không cho phép th c hi n các thao tác vào ra i v i datafiles và control files. Thao tác này ư c th c hi n khi ta chu n b backup database. RESUME Ngư c l i v i SUSPEND, thao tác này s ưa database tr l i tr ng thái bình thư ng 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;

ORACLE 9i – Ki n trúc và Qu n tr

Trang 54

www.updatesofts.com

DATABASE_STATUS --------ACTIVE

5.4.6. T m treo và ph c h i Database
Oracle9i cung c p ch c năng suspend/resume. Qu n tr viên s d ng l nh ALTER SYSTEM SUSPEND t m treo database, d ng m i thao tác truy xu t vào ra i v i các datafiles và control files. Khi database tr ng thái t m treo, các thao tác vào ra (I/O operations) ang th c hi n s ư c k t thúc và nh ng truy c p vào database m i phát sinh s ư c y vào queue. Th c hi n l nh ALTER SYSTEM RESUME khôi ph c l i tình tr ng bình thư ng c a database. Ta s d ng l nh ALTER SYSTEM SUSPEND t m treo m t database, ngăn th c hi n các thao tác vào ra (I/O) i v i các datafiles và control files. Do ó, cho phép database có th d dàng th c hi n các thao tác back up. Khi th c hi n vi c treo database t t c các thao tác vào ra ang có s ư c ti p t c cho phép th c hi n cho n khi hoàn t t, các phép thao tác vào ra m i phát sinh sau này s ư c t m th i ưa vào queue ch x lý sau. L nh suspend (t m treo) database ư c th c hi n i v i database ch không ph i ch i v i instance. Do v y, trong môi trư ng Oracle Real Application Clusters, m t khi l nh suspend ư c phát ra thì sau ó m t cơ ch khoá s ư c thi t l p và ch n t t c các yêu c u g i t i instance. S d ng l nh ALTER SYSTEM RESUME ph c h i (resume) l i các ho t ng thông thư ng c a database. Ta cũng có th ch rõ SUSPEND và RESUME t các instances khác nhau. Ví d , n u các instances 1, 2, và 3 ang ch y, và ta phát l nh ALTER SYSTEM SUSPEND t instance 1, sau ó ta cũng có th phát l nh RESUME t các instances 1, 2, hay 3 u như nhau. Kh năng suspend/resume là r t h u ích cho h th ng nó cho phép ta th c hi n mirror m t ĩa hay m t file r i sau ó s d ng vào vi c sao lưu, ph c h i d li u cho toàn b h th ng. . Tuy v y, c i m suspend/resume không thay th cho các thao tác normal shutdown database vì khi ó vi c sao chép database ư c suspend có th ch a c các d li u c p nh t chưa ư c commit. Cau l nh sau minh ho vi c s d ng l nh ALTER SYSTEM SUSPEND/RESUME. S thông tin cung c p trong V$INSTANCE bi t ư c tr ng thái c a 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

d ng

ORACLE 9i – Ki n trúc và Qu n tr

Trang 55

www.updatesofts.com

5.4.7.

t ch

ho t

ng tĩnh cho database

Oracle9i cho phép ưa database vào ch ho t ng tĩnh (quiesced state), Theo ó ch cáo các DBA transactions, queries, và các l nh PL/SQL là ư c phép th c hi n. Tr ng thái này cho phép ngư i dùng th c hi n các thao tác qu n tr m t cách an toàn. S d ng câu l nh ALTER SYSTEM QUIESCE RESTRICTED ưa database v ch ho t ng tĩnh.

5.5.

T TR NG THÁI TĨNH CHO DATABASE

Có nhi u khi ta c n ph i ưa database vào tr ng thái mà ch có các DBA transactions, queries (truy v n), fetches (tìm ki m d li u), hay các câu l nh PL/SQL là ư c phép th c hi n. Ch này ư c g i là quiesced state - t m d ch là ch tĩnh. Ch này cho phép qu n tr viên có th th c hi n m t s thao tác không an toàn l m trên database bao g m các thao tác sau ây: Các thao tác có th g p l i n u ng th i có m t user transactions truy c p vào cùng m t i tư ng. Ví d như khi thay i table, thêm m i c t d li u vào m t table ang có và không yêu c u khoá (no-wait lock is required). Các thao tác không mong mu n gây nh hư ng t c thì gi a các user transactions x y ra ng th i. Ví d khi có m t th t c ch a nhi u bư c thao tác trên m t table ch ng h n như table ban u ư c export d li u, r i b xoá i và cu i cùng l i ư c import d li u tr l i. Cùng lúc ó có user khác mu n truy c p vào table và ngay t i th i i m table v a b hu . Khi này s phát sinh l i h th ng. N u không áp d ng tr ng thái tĩnh cho database, thì ta c n ph i shutdown database r i open l i nó ch restrict. Và vi c này s tr nên nghiêm tr ng hơn khi h th ng yêu c u ph i ch y liên t c 24 x 7. Áp d ng ch tĩnh cho database s gi m b t i các h n ch vì restriction vì nó lo i b t i ư c các x u x y ra v i database.

5.5.1.

ưa Database vào tr ng thái tĩnh
ALTER SYSTEM QUIESCE RESTRICTED

ưa database vào tr ng thái tĩnh, ơn gi n ta ch c n s d ng l nh:

T t c các non-DBA active sessions s ư c ti p t c x lý cho t i khi chúng chuy n sang tr ng thái inactive. M t session ư c xem là active n u lúc ó nó ang có các phép th c như transaction, query, fetch, hay ang x lý m t câu l nh PL/SQL; ho c cũng có th là session ó ang n m gi ph n tài nguyên chia s (shared resources). Khi t t c các non-DBA sessions chuy n sang tr ng thái inactive, câu l nh ALTER SYSTEM QUIESCE RESTRICTED k t thúc và database ư c xem như là chuy n sang tr ng thái tĩnh quiesce state. Trong môi trư ng Oracle Real Application Clusters, câu l nh này có nh hư ng t i t t c các instances, ch không ch là i v i instance nơi phát ra câu l nh. L nh ALTER SYSTEM QUIESCE RESTRICTED có th ph i ch trong m t th i gian khá dài cho active sessions chuy n sang tr ng thái inactive. N u ta hu b yêu c u, ho c n u session b k t thúc m t cách t ng t vì nhi u lý do khác nhau thì Oracle s t ng ph c h i l i (undo) tr ng thái trư c khi th c hi n l nh. N u m t truy v n ư c ưa ra b i các Oracle Call Interface (OCI), thì câu l nh ALTER SYSTEM QUIESCE RESTRICTED s không ch fetch h t t t c các d li u mà ch ch fetch xong dòng d li u hi n th i mà thôi.

ORACLE 9i – Ki n trúc và Qu n tr

Trang 56

www.updatesofts.com

Khi tr ng thái quiesce state, ta không s d ng h i u hành sao chép các file trong h th ng gi ng như khi th c hi n backup l nh i v i database, cho dù ta có các checkpoint t i m i m t instance. Lý do là vì khi tr ng thái quiesce state thì các file headers c a online datafiles v n luôn ư c liên t c truy c p.

5.5.2. Ph c h i h th ng tr l i ho t
Th c hi n câu l nh sau:
ALTER SYSTEM UNQUIESCE

ng như bình thư ng

Khi này t t c các non-DBA activity s ư c ti Application Clusters, ta có th phát l nh này t không nh t thi t ph i là instance phát l nh phát l nh ALTER SYSTEM UNQUIESCE g p l i, th c hi n unquiesce s k t thúc.

p t c th c hi n. Trong môi trư ng Oracle Real b t kỳ m t instance nào có k t n i t i server t tr ng thái tĩnh. Trong trư ng h p session Oracle database server s luôn m b o vi c

5.5.3. Xem tr ng thái c a database
Ta có th xem tr ng thái c a database qua các thông tin có trong V$INSTANCE . Các thông tin này ư c lưu trong c t ACTIVE_STATE v i các n i dung như sau: ACTIVE_STATE NORMAL QUIESCING QUIESCED Di n gi i Tr ng thái thông thư ng ang tr ng thái tĩnh – quiesce state, nhưng các active non-DBA sessions v n ư c th c hi n tr ng thái quiesce state, và không có b t kỳ m t active non-DBA sessions nào ư c phép th c hi n

5.6.L Y CÁC THÔNG TIN V H TH NG
Các thông s h th ng ư c t trong các tables h th ng. Ta có th quan sát và truy xu t t i chúng thông qua các view g i là Dynamic performance views. Các view này thư ng có tên vi t u là V_$. Oracle thư ng t o ra các Sysnonym tương ng v i các view này v i tên có u là V$. Khi kh i ng database ch NOMOUNT, user qu n tr có th c ư c các d trong các view này. Thông tin trong view này là c n thi t cho vi c mount database. View V$FIXED_TABLE ch a tên c a t t c các view V$ có trong h th ng. Bi u dư i ây di n t các m c truy c p các view c a h th ng li u có

ORACLE 9i – Ki n trúc và Qu n tr

Trang 57

www.updatesofts.com

Hình v 19. Các m c

truy c p view h th ng

5.6.1. M t s views c n quan tâm
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 Di n gi i Thông tin v các tham s kh i t o Thông tin t ng h p v SGA Các tuỳ ch n cho Oracle server ã ư c cài Thông tin v các ho t Thông tin v session Thông tin v phiên b n c a các thành ph n Oracle Thông tin v tr ng thái c a Instance hi n th i Thông tin v các thread trong h th ng Li t kê tên c a các control files Thông tin v database Thông tin v các data file ư c s d ng Thông tin header c a các data file ư c s d ng Thông tin v các online redo log files t

ng c a process hiên th i

5.6.2. Hi n th giá tr c a các thông s h th ng
Ta có th xem thông tin h th ng b ng hai cách: S d ng l nh xem tham s c a Server manager. SVRMGRL> SHOW PARAMETER control Truy xu t tr c ti p vào view h th ng SELECT name, type from v$control WHERE name like ‘%control%’; V i hai cách trên ta u thu ư c m t k t qu :
Trang 58

ORACLE 9i – Ki n trúc và Qu n tr

www.updatesofts.com

SVRMGR> SHOW PARAMETER control NAME ------------------------------control_file_record_keep_time control_files TYPE ------integer string i) ng và ta có th thay i ư c các VALUE -------------------7 /DISK1/control01.con

5.6.3. Tham s h th ng

ng (có th thay

Trong các tham s h th ng, có m t vài tham s là tham s này. Thông qua các l nh:

ALTER SESSION: ch thay i giá tr c a các tham s trong session hi n th i ALTER SYSTEM: thay i giá tr trong toàn b h th ng nói chung. ALTER SYSTEM DEFERRED: ch thay i tham s h th ng c a các session s k t n i vào database sau này, k t sau th i i m thay i. Cú pháp: 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 l i thông tin mà ta v a 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. Qu n lý session
Restrict session Restrict session c n thi t khi b o trì cơ s d database. Ta có th V i: ENABLE RESTRICTED ch cho phép các users có quy n RESTRICTED SESSION truy nh p DISABLE RESTRICTED SESSION cho phép t t c các users truy nh p vào database
ORACLE 9i – Ki n trúc và Qu n tr Trang 59

li u, import, export và s a

i c u trúc c a

t ch

cho restrict session cho database thông qua l nh:

ALTER SYSTEM {ENABLE|DISABLE}RESTRICTED SESSION

www.updatesofts.com

K t thúc session Ta có th k t thúc (Terminate) các session c a m t Instance trư c khi th c hi n các thao tác qu n tr . Cú pháp: ALTER SYSTEM KILL SESSION ’integer1,integer2’ V i: KILL SESSION integer1 integer2 tên session c n k t thúc giá tr c a c t SID trong view v$session giá tr c a c t SERIAL# trong view v$session xác nh session ã trong ch restrict,

Chú ý: hai giá tr integer1 và integer2 dùng

V i l nh KILL SESSION background process PMON s th c hi n các công vi c sau: Rollback transaction hi n th i c a user Gi i phóng t t c các lock trên các table th c hi n b i user ó Gi i phóng các tài nguyên s d ng b i user

5.6.5. Trace file và ALERT file
Trace file lưu tr các thao tác b i background process. Các thông tin v l i trong h th ng s ư c lưu vào ây. i u này là r t h u ích khi th c hi n dò tìm và kh c ph c l i x y ra trong h th ng. Trong khi ch y Oracle Instance, t t c các message phát ra i v i h th ng u ư c lưu vào Alert file. Trong quá trình kh i ng database, Oracle s t t o ra Alert file n u nó chưa t n t i. Trong trư ng h p có l i x y ra, các background process s th c hi n ghi l i các thông tin dump vào trace file. Ta có th t l i ch ghi l i ra trace file thông qua l nh: ư c ch ra b i các tham s : t c a các trace file và ALERT. SQL>ALTER SESSION SET sql_trace=TRUE; ư ng d n t i các trace file và Alert có th BACKGROUND_DUMP_DEST Xác USER_DUMP_DEST Xác MAX_DUMP_FILE_SIZE S lư thư c

nh nơi

nh nơi t o các trace files. ng block c a h i u hành quy c a trace files. nh kích

ORACLE 9i – Ki n trúc và Qu n tr

Trang 60

www.updatesofts.com

Chương 6. DATA DICTIONARY, VIEWS VÀ PACKAGES
6.1.DATA DICTIONARY VÀ VIEWS
6.1.1. Data Dictionary
Data dictionary hay t i n d li u h th ng là ph n r t quan tr ng trong Oracle database. ó là m t t p h p các table và các view s d ng cho vi c tham chi u n các thông tin liên quan t i database. Data dictionary ư c t o b i file script sql.bsq trong quá trình t o database. Data dictionary bao g m các thông tin trung tâm c a Oracle server. Data dictionary ư c Oracle server t li u (Data Definition Language – DDL). Data dictionary hai lo i sau: ng c p nh t m i khi th c hi n l nh nh nghĩa d

t trong tablespace SYSTEM do User SYS qu n lý. Data dictionary bao g m

Base tabes Data dictionary Views

Hình v 20. Dictionarytrong database

Base tables Thông tin trong data dictionary ư c xác nh t các thông tin có trong các base tables (b ng cơ s ). N i dung c a các b ng này do Oracle server c p nh t. User thu c database h u như không th c p nh t các thông tin này do chúng là các thông tin ã ư c chu n hoá và ư c mã hoá. Ví d : ta ch có th truy xu t t i các thông tin có trong b ng IND$ bi t ư c các thông tin v các indexes ã ư c nh nghĩa trong database, ho c l y các thông tin trong b ng OBJ$ bi t ư c các objects ã ư c nh nghĩa trong database. Ta không th s d ng các câu l nh thao tác d li u như INSERT, UPDATE, hay DELETE thay i n i dung thông tin trong các b ng cơ s m t cách tr c ti p ngo i tr b ng AUD$ (Xem thêm ph n ki m tra - Auditing).

ORACLE 9i – Ki n trúc và Qu n tr

Trang 61

www.updatesofts.com

Data Dictionary Views Data dictionary views ư c t o ra b i các câu l nh có trong file script catalog.sql. Các views này gi i mã và t ng h p các thông tin có trong các base tables. d dàng truy xu t các thông tin này, các data dictionary thư ng ư c t o các synonyms tương ng. Ph n l n các thông tin h th ng ư c User l y v t các data dictionary views hơn là l y tr c ti p t các base tables.

6.1.2. Data Dictionary views

Hình v 21. Dictionary views

Data dictionary views ư c phân ra làm ba lo i ch a các thông tin tương t nhau nhưng các m c khác nhau. Các lo i data dictionary views này ư c phân bi t b i các ti p u ng khác nhau. Ti p u ng USER

Các views có ti p u ng USER ch a thông tin v các objects do User hi n th i s h u. Ví d : USER_TABLES s ch a thông tin v các b ng d li u c a User hi n th i. Ti p u ng ALL

Các views có ti p u ng ALL ch a thông tin v các objects có th truy c p b i User hi n th i, bao g m c các i tư ng do User ó s h u và c các i tư ng khác mà User ư c gán quy n truy nh p. Ví d : ALL_TABLES s ch a thông tin v các b ng d li u mà User hi n th i có th truy nh p. Ti p u ng DBA

Các views có ti p u ng DBA ch a thông tin v các objects có trong database. Các views này là c n thi t cho qu n tr viên database. M t User b t kỳ cũng có th xem ư c thông tin trong các views DBA n u user ó ư c c p quy n SELECT ANY TABLE.

ORACLE 9i – Ki n trúc và Qu n tr

Trang 62

www.updatesofts.com

Phân lo i m t s lo i views Tên View DICTIONARY DICT_COLUMNS DBA_TABLES DBA_OBJECTS DBA_LOBS DBA_TAB_COLUMNS DBA_CONSTRAINTS DBA_USERS DBA_SYS_PRIVS DBA_ROLES Thông tin chung Thông tin liên quan t i các Column, Constraint,... i tư ng c a User như: table, Di n gi i

Thông tin v m c quy n c a User

Tên View DBA_EXTENTS DBA_FREE_SPACE DBA_SEGMENTS DBA_ROLLBACK_SEGS DBA_DATA_FILES DBA_TABLESPACES DBA_AUDIT_TRAIL DBA_AUDIT_OBJECTS DBA_AUDIT_OBJ_OPTS

Di n gi i Tình hình c p phát không gian cho các database. Thông tin v c u trúc database i tư ng trong

Các thông tin ki m tra

Ví d : l y các thông tin chung trong t DICTIONARY ho c DICT_COLUMNS.

i n d li u, ta có th truy v n trong Các views

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

ORACLE 9i – Ki n trúc và Qu n tr

Trang 63

www.updatesofts.com

DBA_NESTED_TABLES DBA_OBJECT_TABLES ... Xây d ng dictionary views

Description of nested tables contained in all tables Description of all object tables in the database

catalog.sql và catprog.sql

Sau khi t o database, ta truy c p vào database theo user: SYS và ch y các scripts: t o các dictionary views. Thông thư ng, các scripts này n m trong thư m c: %ORACLE_HOME%\RDBMS80\ADMIN Catalog.sql CATALOG.SQL script dùng t o các view d a trên các base tables (b ng cơ s ) c a database. Các view này s ư c t o synonym (m t tên khác v i tên c a objects ư c dùng truy c p objects) tương ng d dàng truy v n các d li u t ó hơn. Scripts này còn g i t i các scripts khác t o các views và các i tư ng khác ph c v cho các ti n ích Server Manager, cho vi c ki m tra, cho các ti n ích Export và Import d li u,... Scripts STANDARD.SQL ư c g i n trong ó t o các môi trư ng PL/SQL tuân theo chu n.

Ví d : Scripts t o m u giao ti p cho 01 hàm built-in có tên BITAND: function BITAND (LEFT binary_integer, RIGHT binary_integer) return binary_integer; Catproc.sql CATPROC.SQL script dùng t o các hàm PL/SQL, các packages PL/SQL s RDBMS. Ngoài ra, CATPROC.SQL script còn t o Các views m r ng khác. d ng trong

6.1.3. Sripts qu n tr
Các scripts qu n tr ư c t trong thư m c: %ORACLE_HOME%\RDBMS80\ADMIN t trong t ng file riêng bi t. Các scripts này ư c phân nhóm và Các quy

nh v tên có trong Script qu n tr Quy ư c Di n gi i Các thông tin Catalog và t i n d li u

Cat*.sql Dbms*.sql Prvt*.plb Utl*.sql

Ph n khai báo (specification) c a các packages trong database Ph n thân cua packages ã ư c mã hoá và óng gói Các views và table ti n ích trong database

ORACLE 9i – Ki n trúc và Qu n tr

Trang 64

www.updatesofts.com

6.2.STORED PROCEDURES VÀ CÁC PACKAGES CHU N
6.2.1. Gi i thi u chung
Stored procedures và các packages là các i tư ng trong database, ó là t p h p các o n mã l nh PL/SQL th c hi n m t ch c năng nào ó. Stored procedures bao g m c các procedures (th t c), functions (hàm) và các packages ư c vi t g p thành m t program unit ( ơn v chương trình). Stored procedures có th ư c t o và hu b i các l nh CREATE và DROP

Hình v 22. Stored procedures và các Packages chu n

L i ích c a Stored procedures Các Stored procedures ư c n p vào shared pool, do ó có th gi m b t vi c truy xu t ĩa khi th c hi n th t c. m b o an toàn cho d li u, ngăn không cho các users truy c p tr c ti p vào d li u mà ph i thông qua các th t c và hàm giao ti p ã ư c cung c p. Cho phép nhi u users có th cùng s d ng các b n sao c a Stored procedures th c hi n.

6.2.2. Stored procedures
Stored procedures là các functions hay procedures ư c t o l p và lưu ngay trong dictionary gi ng như m t schema object. ây là t p h p các câu l nh SQL và PL/SQL. Sau khi Stored procedures ư c biên d ch, nó s ư c gán tên và có th th c hi n tr c ti p mà không c n ph i biên d ch l i thêm b t c m t l n nào n a. S d ng Stored procedures, ta có th n p tr c ti p vào ngay bi u th c thu c câu l nh SQL gi ng như là các hàm built-in có s n c a Oracle như UPPER hay SUBSTR. Các functions và procedures cho phép s d ng tham s dư i d ng tham s vào (IN) và tham s ra (OUT) ho c cũng có th s d ng tham s v a vào v a ra (IN OUT). Theo m c inh, các tham s ư c xác nh ch vào IN.

ORACLE 9i – Ki n trúc và Qu n tr

Trang 65

www.updatesofts.com

6.2.3. Packages chu n
M t packages thông thư ng g m hai ph n: specification (ph n c t hay còn g i là ph n khai báo) và body (ph n thân). Chúng ư c lưu riêng bi t trong cùng m t database. Ph n specification là ph n giao ti p v i các ng d ng. Ph n này ch a các l i khai báo, các ki u, bi n, h ng, exceptions, cursors, và các khai báo hàm s d ng. Ph n body là ph n cài t c th (implementation) c a các khai báo trong ph n specification. Ch c năng c a packages cũng tương t như Stored procedures. M t khi packages ư c biên d ch, packages ó có th ư c s d ng b i nhi u ng d ng khác nhau. Tuy nhiên, có m t l i ích l n nh t khi s d ng packages là ngay l n u tiên g i n packages, toàn b packages s ư c n p vào trong b nh .

Hình v 23. Packages trong cơ s d li u

6.2.4. Gi i thi u m t s packages chu n do Oracle cung c p
Oracle cung c p m t s packages chu n, ngay sau khi t o database: DBMS_LOB: cung c p các th t c cho phép làm vi c trên ki u d li u BLOB và CLOB, ư c nh nghĩa trong file script catprog.sql. DBMS_SESION: cung c p các câu l nh SQL liên quan n session như ALTER SESSION, SET ROLE, ... packages này ư c nh nghĩa trong file dbmsutil.sql và

prvtutil.sql
DBMS_UTILITY: ch a các th t c ti n ích, ư c t trong file dbmsutil.sql và

prvtutil.sql
DBMS_SPACE: cung c p các thông tin v kho ng tr ng c a segment. DBMS_ROWID: cung c p các thông tin v ROWID DBMS_SHARE_POOL: lưu tr và hu b các thông tin có trong share pool. Packages DBMS_SESSION Th t c trong packages SET_ROLE Di n gi i Kích ho t vi c th c hi n Roles c a user

ORACLE 9i – Ki n trúc và Qu n tr

Trang 66

www.updatesofts.com

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

Thi t l p ch l nh

dò tìm th c hi n

Ch n chu n h tr ngôn ng óng database link. Tr v mã duy nh t c các session hiên ang connect t i database. Xác inh xem role có ư c kích ho t trong session không. Xác nh xem session có còn hay không. B t ho c t t close_cached_open_cursors Gi i phóng vùng b còn s d ng nh không

Phân tích các objects trong schema như: functions, procedures, packages, triggers,.. Biên d ch schema Xác các objects trong

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

nh phiên b n c a database

Thông tin v dòng d li u Vùng không gian không s d ng Các blocks r i Lưu tr pool các object trong shared

Thôi lưu gi các object Kích thư c b pool nh trong shared

Tr v s hi u cursor (ID number) Phân tích câu l nh Binds m t giá tr bi n. Binds m t giá tr bi n m ng. Executes a given cursor. Th c hi n l nh và l y v các dòng d li u. L y v các dòng d cursor. li u c a m t

L y v d li u c a c t Xác nh Cursor ã m hay chưa.

ORACLE 9i – Ki n trúc và Qu n tr

Trang 67

www.updatesofts.com

CLOSE_CURSOR LAST_ERROR_POSITION LAST_ROW_COUNT LAST_ROW_ID LAST_SQL_FUNCTION_CODE

óng cursor và gi i phóng b nh . Tr v l i th c hi n câu l nh SQL Tr v s v lư ng dòng d li u l y lý

Tr v mã dòng d ROWID Tr v mã hàm SQL

li u x

6.2.5. Package DBMS_METADATA
M t PL/SQL package m i, DBMS_METADATA, ư c ưa vào Oracle 9i cho phép ta l y ư c các siêu d li u (metadata) – Các thông tin t ng h p v các schema object. DBMS_METADATA là package m i b sung, nó cho phép th c hi n các thao tác DDL trên objects trong database. Package này làm vi c ư c v i các tables, indexes, views, packages, functions, procedures, triggers, synonyms, và types. DBMS_METADATA có các hàm cơ b n: 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"

ORACLE 9i – Ki n trúc và Qu n tr

Trang 68

www.updatesofts.com

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 này cung c p 05 th t c cho phép ch nh s a các objects online . CAN_REDEF_TABLE START_REDEF_TABLE FINISH_REDEF_TABLE ABORT_REDEF_TABLE SYNC_INTERIM_TABLE

6.3.THÔNG TIN V CÁC STORED PROCEDURES
Khi lưu tr các Stored procedures hay packages, Oracle s t là VALID hay INVALID. ng lưu l i tr ng thái c a nó

VALID: Stored procedures hay packages có tr ng thái là VALID n u nó ã ư c biên d ch và không có l i x y ra. Khi này, nó s n sàng cho vi c s d ng. INVALID: là tr ng thái ngư c l i v i tr ng thái VALID. Stored procedures hay Packages v n còn l i khi biên d ch. Khi này, ta chưa th s d ng ư c ngay.

Cú pháp l nh yêu c u biên d ch l i Stored procedures: ALTER PROCEDURE [schema_name].<procedure_name> COMPILE [DEBUG]; V i: schema_name tên schema ch a procedure c n biên d ch l i

ORACLE 9i – Ki n trúc và Qu n tr

Trang 69

www.updatesofts.com

procedure_name COMPILE DEBUG

tên c a procedure biên d ch l i. ch nh yêu c u biên d ch l i procedure ch nh chương trình biên d ch mã l nh PL/SQl c a procedure s sinh mã l nh phù h p chương trình PL/SQL debugger có th c. User có th s d ng chương trình này dò tìm và g l i cho procedure. COMPILE;

Ví d : ALTER PROCEDURE henry.close_acct

Tương t như Ví d :

i v i procedure, cú pháp l nh yêu c u biên d ch l i Stored function có d ng:

ALTER FUNCTION [schema_name].<function_name> COMPILE [DEBUG]; ALTER FUNCTION merriweather.get_bal COMPILE;

i v i package, l nh yêu c u biên d ch l i cũng tương t nhưng có thêm m t b sung là user ph i khai báo rõ t ng ph n c a package s ư c biên d ch l i. Cú pháp: ALTER PACKAGE [schema_name].<package_name> COMPILE [DEBUG] <PACKAGE | SPECIFICATION | BODY>; Các khai báo b sung cho phép user yêu c u biên d ch l i ph n SPECIFICATION hay ph n BODY ho c là biên d ch l i c hai ph n trên. Ví d : ALTER PACKAGE blair.accounting COMPILE PACKAGE; Ho c: ALTER PACKAGE blair.accounting COMPILE BODY; xác nh ư c tr ng thái c a các Stored procedures, ta có th th c hi n truy v n d a trên 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 ...

Ho c ta cũng có th s d ng l nh DESCRIBE

l y thông tin

SVRMGR> DESCRIBE dbms_session.set_role procedure SET_ROLE (ROLE_CMD VARCHAR2);
ORACLE 9i – Ki n trúc và Qu n tr Trang 70

www.updatesofts.com

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 nh n tr ng thái INVALID khi các câu l nh trong Stored procedures hay Packages b l i.

ORACLE 9i – Ki n trúc và Qu n tr

Trang 71

www.updatesofts.com

Chương 7. QU N TR CONTROL FILES
7.1.CONTROL FILES
7.1.1. Gi i thi u control file
Control file là file thông tin d ng nh phân database m t cách hi u qu . ư c s d ng cho vi c kh i t o và v n hành

M i khi instance ư c MOUNT (g n) v i m t Oracle database, các thông tin trong control file s ư c c ra, t ó xác nh các data files và các online redo log files. Control file ư c c p nh t liên t c vào database trong su t quá trình s d ng và nó luôn tr ng thái s n sàng (available) m i khi database ư c OPEN (m ) hay ư c MOUNT (g n) v i instance. Control file cung c p các thông tin m t cách quá trình khôi ph c (recovery). ng nh t trong database ư c s d ng trong

M i control file t i m t th i i m ch ph c v cho m t database. Khi ã có m t database s d ng control file thì các database khác s không th truy c p t i control file ó n a.

7.1.2. Cách th c
Tên control file các control files control file và l quá trình ho t

t tên control file

ư c xác nh trong tham s CONTROL_FILES c a parameter file. Tên c a ư c t phân cách b i d u ph y (,). Instance ph c v database s m các y các thông tin t ó có th i u khi n ho t ng c a database. Trong ng, Instance cũng s ghi l i các tình tr ng c a database.

m b o an toàn, m t database c n ít nh t 02 control files và ư c t t i hai ch khác nhau. Các control files nên ư c t tên khác nhau sao cho có th phân bi t d dàng. Tên c a Control files nên ư c V i: n database_name là s th t c a control file t phân cách nhau b i các d u ph y. tên c a database t kèm v i tên c a database cho d nh , như sau: CTL<n><database_name>.ORA

Trong parameter file, các tên c a control files ư c Ví d :

control_files = (“C:\ORANT\DATABASE\CTL1KTKB.ORA”, ”C:\ORANT\DATABASE\CTL2KTKB.ORA”)

7.1.3. K t h p nhi u control files
Khi t o database, ta có th s d ng cùng lúc nhi u control files thông qua vi c ch rõ tên các control files trong tham s kh i t o CONTROL_FILES. Oracle server t o và c p nh t t t c danh sách các file liên quan m i khi t o database. Oracle khuy n cáo s d ng ít nh t 02 control files. Các control files nên ư c t riêng bi t trên các ĩa khác nhau phòng s c . N u m t control file b h ng, ta có th sao chép l i file này r i kh i ng l i instance.

ORACLE 9i – Ki n trúc và Qu n tr

Trang 72

www.updatesofts.com

Hình v 24. K t h p s d ng nhi u control file

thêm m i m t control file ho c thay th c hi n theo các bư c sau:

i s lư ng cũng như nơi

t các control file, ta

1. Shutdown database. 2. S d ng l nh c a h i u hành sao chép thêm m t b n sao c a control file và nên lưu tr trên m t thi t b khác. 3. S a i ho c thêm m i tham s CONTROL_FILES và tên (có ư ng d n) tương ng v i các control files. 4. Kh i ng l i database.

7.1.4. N i dung c a control file
Các thông tin ch a trong control file bao g m: Tên database và các nh danh (identifications) Tên và nơi ch a các data files, các redo log files Tên các tablespaces trong database Nhãn th i gian tương ng lúc t o database Giá tr s hi u c a log sequence hi n th i Thông tin v checkpoint Các thông tin l ch s (log history) Các thông tin sao lưu c a ti n ích Recovery Manager

ORACLE 9i – Ki n trúc và Qu n tr

Trang 73

www.updatesofts.com

Hình v 25. N i dung control file

Control file có th

ư c chia làm hai lo i chính:

Có th tái s d ng (reused) Không th tái s d ng (unreused)

7.1.5. Các tham s

nh hư ng t i kích thư c c a control file

Có m t s tham s h th ng liên quan t i kích thư c c a control file MAXLOGFILES MAXLOGMEMBERS MAXLOGHISTORY MAXDATAFILES MAXINSTANCES Các control files ư c xác database: nh t ng d a theo các tham s kh i t o t i th i i m t o l p

CONTROL_FILES = (“C:\ORANT\DATABASE\CTL1KTKB.ORA”, ”C:\ORANT\DATABASE\CTL2KTKB.ORA”) Tên file kèm theo ư ng d n ư c t luôn trong tham s t o database.

Các tham s ư c ch ra trong database có nh hư ng t i control file. Qu n tr viên database có th t o l i các control file hay thay i các tham s trong database có th tăng, gi m kích thư c c a control file. Vi c t o m i control file òi h i ph i thay i kích thư c c a control file. Control file lưu tr các thông tin c n thi t cho Recovery Manager. Vì th , khi s d ng Recovery Manager nh ng ph n không tái s d ng ư c trong control file có th ư c m r ng d a theo s lư ng các thành ph n.

7.2.QU N TR CONTROL FILE
7.2.1. T o m i control file
Vi c t o m i control files i v i database ôi khi là c n thi t. Ta hãy xét các tình hu ng: u b l i và ta không có b n backup T t c các control files c a database hi n th i c a chúng.

ORACLE 9i – Ki n trúc và Qu n tr

Trang 74

www.updatesofts.com

Ta mu n thay i m t hay nhi u tham s ư c thi t l p i v i database mà các tham s này ư c ch ra ngay t câu l nh CREATE DATABASE như tên database, MAXLOGFILES, MAXLOGMEMBERS, MAXLOGHISTORY, MAXDATAFILES, và MAXINSTANCES. Ví d , ta mu n i tên database th ng nhưng trùng tên. kh i x y ra xung t v i m t database ang có trong h

Ta có th t o m i control file cho m t database thông qua câu l nh SQL. Cú pháp: 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] V i: REUSE Cho bi t CONTROL_FILES có th ư c tái s d ng, ta không c n quan tâm t i các tham s thu c lo i tuỳ ch n. Thay i tên c a database. Lưu ý: <Tên> Tên c a database. danh sách tên c a các redo log file groups S lư ng t i a các redo log file groups S lư ng t i a các members trong m t redo S lư ng t i a các archived redo log file groups S lư ng t i a các datafiles S lư ng t i a các instances có th k t n i t i database. Thi t l p ch archiving lưu tr các 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

ORACLE 9i – Ki n trúc và Qu n tr

Trang 75

www.updatesofts.com

MAXDATAFILES 200 MAXINSTANCES 6 ARCHIVELOG;

7.2.2. T o m i control file cho m t database ã có s n
Vi c t o m i control file ư c th c hi n theo các bư c sau: 1. Thi t l p danh sách các datafiles và online redo log files s d ng trong database. Trong trư ng h p backup database, ta có th d dàng xác nh ư c danh sách các file này d a vào thông tin trong dictionary view: V$CONTROLFILE, V$DATAFILE, V$LOGFILE. Trong trư ng h p database b l i, qu n tr viên database c n c g ng xác nh y các datafiles và online redo log files. N u thi u b t kỳ m t trong s các file trên thì tablespace SYSTEM s không th khôi ph c l i ư c và do ó ta không th khôi ph c l i ư c database. 2. Shut down (t t) database n u nó ang ư c m . Th c hi n shut down ch normal. Trong trư ng h p không th t t normal ư c thì hãy t t database theo ch IMMEDIATE ho c ABORT. 3. Sao lưu (Backup) t t c các datafiles và online redo log files c a database. 4. Startup instance tr l i ch nomount. 5. T o m i control file thông qua l nh t o CONTROL FILES. Khi t o m i control file, s d ng tuỳ ch n RESETLOGS n u database b m t b t kỳ m t nào online redo log groups. Trong trư ng h p này ta c n khôi ph c l i các redo logs b m t. Ngư c l i, ta s d ng tuỳ ch n NORESETLOGS. 6. Sao lưu control file m i t o. 7. S a i các tham s trong parameter file mà có s d ng bao g m tham s CONTROL_FILES và DB_NAME. n trong các control files

8. Th c hi n khôi ph c database n u c n. Ta s b qua bư c này trong trư ng h p không c n ph i khôi ph c database. N u control file m i t o có s d ng tuỳ ch n NORESETLOGS, thì ta có th khôi ph c l i toàn b database. Trong trư ng h p tuỳ ch n s d ng là RESETLOGS, ta c n ch ra thêm m t tuỳ ch n n a là USING BACKUP CONTROL FILE. Th t c này s th c hi n khôi ph c l i các online ho c archived redo logs ho c datafiles. 9. Open database v i control file v a t o. N u không th c hi n recovery thì có th open database ch normally. 10. N u có s d ng RESETLOGS trong lúc t o control file, thì c n s d ng thêm câu l nh ALTER DATABASE , v i tuỳ ch n RESETLOGS.

7.2.3. M t s l i

i v i các Control Files

Sau khi th c hi n l nh CREATE CONTROLFILE, ta có th ta g p m t s l i cơ b n sau: Thi u file Sau khi t o m t control file và s d ng nó m database, ki m tra alert log bi t li u Oracle có xác nh ư c có thông tin gì không ng nh t gi a data dictionary và control file hay không? Ví d như datafile có kèm theo c data dictionary nhưng không có danh sách các data dictionary i kèm. N u m t datafile ã t n t i trong data dictionary nhưng chưa có trong control file m i t o, Oracle s t o m t placeholder entry trong control file v i tên là MISSINGnnnn (trong ó nnnn là m t con s vi t dư i d ng th p phân).
ORACLE 9i – Ki n trúc và Qu n tr Trang 76

www.updatesofts.com

Ta xét hai trư ng h p có th x y ra như sau: S d ng tuỳ ch n RESETLOGS trong câu l nh CREATE CONTROLFILE s cho phép m database mà không c n t i tuỳ ch n RESETLOGS. i u này ch có th x y ra n u t t c các online redo logs ang trong tình tr ng s n sàng. S d ng tuỳ ch n RESETLOGS trong câu l nh CREATE CONTROLFILE b t bu c ph i m database cùng v i tuỳ ch n RESETLOGS, datafile tương ng v i MISSINGnnnn ch ch c hay OFFLINE.

Khi m database có s d ng tuỳ ch n RESETLOGS, và MISSINGnnnn tương ng v i datafile không ch ch c hay offline, ta s không th truy xu t vào datafile ó. Trong trư ng h p này, tablespace ch a datafile c n ư c hu b (DROP).

X lý l i x y ra

i v i l nh CREATE CONTROLFILE

Oracle g i tr v mã l i(các mã l i hay x y ra là ORA-01173, ORA-01176, ORA-01177, ORA-01215 ho c ORA-01216) khi ta c g ng th c hi n mount và open database sau khi t o m i m t control file. Tình hu ng hay x y ra nh t là trong câu l nh CREATE CONTROLFILE mà ta quên m t file ho c có ưa vào tên file nhưng nó v n chưa có trong danh sách. Trong trư ng h p này, ta c n ph i khôi ph c (RESTORE) l i các files ã ư c backup bư c 3 (phía trên) và l p l i các th t c bư c 4 (phía trên) lưu ý s d ng úng tên các files.

7.2.4. Hu b Control Files
Ta có th hu b các control files kh i database. Ví d , ta th c hi n vi c này khi ư ng d n t i các control file không còn phù h p n a. Có m t i u lưu ý là t i b t kỳ th i i m nào database cũng c n ph i có ít nh t là 2 control files. Các bư c th c hi n 1. Shut down (t t) database. 2. S a l i tham s CONTROL_FILES trong parameter file, xoá tên control file cũ và thay vào ó tên control file m i. 3. Restart (kh i ng l i) database.

ORACLE 9i – Ki n trúc và Qu n tr

Trang 77

www.updatesofts.com

7.3.THÔNG TIN TR NG THÁI C A CONTROL FILES
Ta có th xem ư c các thông tin v control file d a trên 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 ch a các thông tin v các 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. C t d li u RECORDS_TO ch ra s lư ng các b n ghi ư c c p phát cho m t section.

ORACLE 9i – Ki n trúc và Qu n tr

Trang 78

www.updatesofts.com

Chương 8. QU N LÝ REDO LOG FILES
8.1.S D NG CÁC REDO LOG FILES
8.1.1. Redo log file
Oracle server s d ng các online redo log files gi m thi u vi c m t mát d li u trong database. Redo log files ghi l i t t c các thay i trong database buffer cache tr m t vài ngo i l ghi d li u tr c ti p. Redo log files ư c s d ng n khi instance g p s c và ta mu n khôi ph c l i các d li u ã commit nhưng chưa k p ghi lên data files. Redo log files ch ư c s d ng trong trư ng h p khôi ph c d li u. Qu n tr viên c n thi t l p các b n sao các online redo log files c a database m t mát thông tin trong database do vi c s d ng m t file duy nh t. tránh vi c

Hình v 26. Nhóm các redo log

8.1.2. Online Redo Log Groups
Là nhóm các b n sao riêng bi t c a các online redo log files ư c g i là online redo log group. Background process LGWR th c hi n vi c ghi ng th i các thông tin tương t nhau vào các member thu c cùng m t group. Khi m t group y s ti p t c chuy n sang ghi d li u trên group ti p theo. Oracle server, thông thư ng, c n ít nh t 02 online redo log file groups có th v n hành m t database.

8.1.3. Online Redo Log Members
M i m t online redo log file trong m t group ư c g i là m t member (thành viên). M i member trong m t nhóm có m t s th t (log sequence numbers) phân bi t và các member này có cùng m t kích thư c. S th t ư c gán m i khi Oracle server b t u ghi d li u vào log group có th phân bi t ư c các redo log file duy nh t. S log sequence number ư c lưu tr trong control file và trong ph n header c a t t c các data files.

ORACLE 9i – Ki n trúc và Qu n tr

Trang 79

www.updatesofts.com

8.1.4. N i dung c a Online Redo Log Files (Members)
Online redo log files lưu tr các redo records hay còn ư c g i là các redo entries. M i redo record là m t nhóm các change vectors (vector thay i d li u), trong ó m i vector c trưng cho m t s thay i trên m t block d li u thu c database. Ví d , khi ta thay i giá tr lương trong b ng employee, Oracle s t o ra m t redo record lưu tr l i vi c thay i d li u c a data segment block, rollback segment block và transaction table tương ng v i thay i d li u nói trên. Các redo entries lưu tr l i các d li u t ó ta có th tái t o l i các thay i d li u trong database, bao g m c rollback segments. Khi th c hi n ph c h i (recover) database s d ng redo data, Oracle s c các change vectors có trong các redo records r i áp các thay i này vào các blocks tương ng. Các redo records ư c lưu tr trong b nh m SGA. M i khi th c hi n commit m t transaction, LGWR s ghi l i các redo records c a transaction ó t các redo log buffer thu c SGA vào m t online redo log file, và gán m t s hi u system change number (SCN) cho transaction ã ư c commit ó. Chi khi các redo records thu c transaction ã ư c lưu tr an toàn trên ĩa thì user process m i ư c nh n thông báo: transaction has been committed. Các redo records có th ư c ghi vào online redo log file trư c khi transaction tương ng ư c commit. Khi redo log buffer y, ho c khi transaction commit, LGWR s y t t c các redo log entries trong redo log buffer ra online redo log file, ngay c khi redo records có th chưa ư c commit khi c n, Oracle có th khôi ph c (roll back) l i các thay i này.

8.1.5. Active và Inactive Online Redo Log Files
T i m i m t th i i m, Oracle ch s d ng m t trong s các online redo log files lưu tr các redo records có trong redo log buffer. Online redo log file ó tr ng thái s n sàng cho vi c ghi d li u, nó ư c g i là current online redo log file. Các online redo log files c n thi t cho vi c khôi ph c instance ư c g i là active online redo log files. Trái l i, các online redo log files không c n thi t cho vi c khôi ph c instance ư c g i là inactive. Khi ghi trư s qu n tr viên database t ch enable archiving, Oracle s không th tái s d ng hay è lên các active online log file cho t i khi ARCn lưu tr h t các n i dung c a nó. Trong ng h p disable archiving, khi online redo log file cu i cùng ư c i n y, vi c lưu ra file ư c ti p t c th c hi n i v i active file u tiên.

8.1.6. Thi t l p các Redo Log Files kh i t o
Vi c kh i t o ban u t p h p các online redo log file bao g m các groups và các members ư c th c hi n trong quá trình t o database. Các tham s dư i ây xác nh các gi i h n và s lư ng c a online redo log files:

Tham s MAXLOGFILES trong l nh CREATE DATABASE xác nh s lư ng t i a các online redo log groups. S lư ng t i a cho MAXLOGFILES là 255. Tham s MAXLOGMEMBERS trong l nh CREATE DATABASE quy nh s lư ng t i a các members có trong m i group. Tham s kh i t o LOG_FILES xác nh s lư ng t i a các log groups có th ư c m trong database t i th i i m hi n th i. Giá tr này không ư c vư t quá giá tr MAXLOGFILES*MAXLOGMEMBERS.

ORACLE 9i – Ki n trúc và Qu n tr

Trang 80

www.updatesofts.com

8.2.LGWR, LOG SWITCHES VÀ CHECKPOINTS

Hình v 27. T ch c các redo log files

8.2.1. Redo Log Buffer và Background process LGWR
Oracle Server s tu n t ghi l i các thay i i v i database có trong redo log buffer. Redo log buffer ư c s d ng theo ki u xoay vòng. Theo ó, các redo entries s ư c tiên trình n n LGWR ghi vào m t trong các online redo log groups g i là online redo log group hi n th i (current) theo các tình hu ng sau: Khi commit m t transaction Khi redo log buffer ã y Khi LGWR vư t quá th i gian timeout (3 giây) Trư c khi DBWR ghi các blocks b thay i trong database buffers cache vào trong các data files Các members trong m t redo log group ư c ti n trình LGWR ghi lên ó v i cùng m t n i dung d li u. Cho nên không có khác bi t gi a các members trong m t log group mà ch có s khác nhau gi a các members các log group khác nhau.

8.2.2. Log Switches
LGWR ghi d li u lên các online redo log files m t cách tu n t , t c là m i khi online redo log group ư c ghi y, LGWR s l i chuy n sang ghi lên group ti p theo. Khi online redo log file cu i cùng ư c ghi y, LGWR s l i quay tr v online redo log group u tiên và l i b t u quá trình ghi.

Log switch là s

ki n x y ra khi LGWR d ng vi c ghi trên m t online redo log group và chuy n sang ghi trên online redo log group khác. Qu n tr viên database cũng có th th c hi n các log switches b ng tay. M i khi x y ra log switch, LGWT s ghi d li u lên log group m i và nó gán m t s hi u duy nh t xác nh ư c các redo entries v a lưu gi . M i khi x y ra s ki n log switch ng th i m t s ki n checkpoint cũng s ư c kh i t o.

ORACLE 9i – Ki n trúc và Qu n tr

Trang 81

www.updatesofts.com

8.2.3. Checkpoints
Khi có checkpoints thì: T t c các d li u trong database buffers ã b thay i, tính cho n th i i m x y ra checkpoint, s ư c Background process DBWR ghi lên datafiles. Background process CKPT c p nh t ph n headers c a các data files và các control files. Checkpoints có th x y ra i v i t t c các data files trong database ho c cũng có th x y ra v i m t data files c th . Checkpoint x y ra theo các tình hu ng sau: M i khi có log switch Khi m t shut down m t instance v i các ch tr ch abort X y ra theo như th i gian quy nh trong các tham LOG_CHECKPOINT_INTERVAL và LOG_CHECKPOINT_TIMEOUT Khi có yêu c u tr c ti p c a qu n tr viên

s

kh i

t o

Thông tin v checkpoint ư c lưu tr trong Alert file trong trư ng h p các tham s kh i t o LOG_CHECKPOINTS_TO_ALERT ư c t là TRUE. Và ngư c l i v i giá tr FALSE.

8.3.LÊN K HO CH S
8.3.1. Xác

D NG REDO LOG FILES

nh s lư ng Online redo log files

xác nh s lư ng các online redo log files s d ng cho phù h p v i database ta c n ph i ki m tra v i nhi u c u hình khác nhau. Trong m t s trư ng h p, m t database instance ch c n t i 02 groups. Tuy nhiên, trong m t s trư ng h p khác, m t database instance l i có th c n t i nhi u groups hơn có th luôn m b o có các groups s n dùng cho LGWR. Ví d , khi các thông i p ghi trong trace file hay Alert file cho bi t LGWR thư ng xuyên ph i ch m t group do v n chưa k t thúc ư c checkpoint, ho c do group v n chưa ư c lưu tr (archived) thì lúc này là lúc ta c n thêm m i các groups. M c dù Oracle server cho phép s d ng nhi u groups v i s lư ng members trong nó là khác nhau, ta v n nên c g ng xây d ng m t c u hình cân i (s lư ng các members trong các group nên là b ng nhau).

8.3.2. Nơi

t các Online Redo Log Files

Khi s d ng ng th i nhi u online redo log files, ta nên t các members c a m t group trên các ph n ĩa khác nhau. M t i u lưu ý là khi m t member nào ó không s n dùng (available) mà các members khác là s n dùng thì instance cũng không th shut down ư c. Vi c tách bi t các archive log files và online redo log files trên các ph n ĩa khác nhau, có th làm gi m b t xung t gi a các background process ARCH và LGWR. Các data files và online redo log files nên t trên các ph n ĩa khác nhau gi m b t xung t gi a LGWR và DBWR h n ch vi c m t d li u c data files và online redo log files trong trư ng h p h ng ĩa.

ORACLE 9i – Ki n trúc và Qu n tr

Trang 82

www.updatesofts.com

8.3.3. Xác

nh kích thư c cho các Online Redo Log Files

Kích thư c t i thi u c a m t online redo log file là 50 K còn kích thư c t i a thì tuỳ thu c vào h i u hành. Các members thu c các groups khác nhau có th có các kích thư c khác nhau; Tuy nhiên ta nên t kích thư c gi ng nhau gi a các members này. Vi c s d ng các groups có kích thư c khác nhau ch nên th c hi n m t cách t m th i khi ta mu n thay i kích thư c c a các members. Trong trư ng h p này, ta c n t o các online redo log groups m i v i kích thư c khác, r i sau ó lo i b (remove) các groups cũ i. M t s tình hu ng nh hư ng t i c u hình c a các online redo log files: S lư ng các log switches và checkpoints S lư ng và l n c a các redo entries l n c a vùng không gian lưu tr th c p

8.3.4. Lưu tr các redo log files
Qu n tr viên database c n ph i quy t NOARCHIVELOG cho database. nh t ch ARCHIVELOG hay ch

Ch

NOARCHIVELOG

V i ch NOARCHIVELOG, các online redo log files s b ghi è m i khi online redo log file ã ghi y và x y ra log switches. LGWR s không ghi è lên redo log group cho t i khi k t thúc checkpoint c a group ó

Hình v 28. Lưu tr d li u

ch

NOARCHIVING

Ch

ARCHIVELOG

Trong trư ng h p database ư c thi t l p ch ARCHIVELOG, các groups ã y, m c dù tr ng thái inactive s v n ư c lưu gi . Do t t c các thay i trong database u ư c ghi l i trong các online redo log files, qu n tr viên database có th s d ng phương pháp sao chép v t lý (physical backup) và có th khôi ph c l i các d li u ã commit trong database mà không s b m t d li u.

ORACLE 9i – Ki n trúc và Qu n tr

Trang 83

www.updatesofts.com

Hình v 29. Lưu tr d li u

ch

ARCHIVING

Có hai hình th c lưu tr các online redo log files: Th c hi n lưu tr b ng tay (manually). Lưu tr các redo log file ã y theo l nh c a qu n tr viên database. Lưu tr t ng (automatically). Lưu tr các redo log file ã y m i khi x y ra log switch. Tham s LOG_ARCHIVE_START trong parameter file xác LOG_ARCHIVE_START = TRUE, th c hi n lưu tr LOG_ARCHIVE_START = FALSE, th c hi n lưu tr nh các ch ch ch t lưu tr này. ng manually

8.4. I U KHI N LU TR

SAU

I V I PRIMARY/STANDBY

Oracle cung c p cơ ch i u khi n switch các online redo log group d a theo th i gian (time-based). Trong c u hình primary/standby, t t c các noncurrent logs t i primary site s ư c lưu tr r i v n chuy n t i standby database. Vi c này s hi u qu khi h n ch s lư ng các redo records. Vi c th c hi n lưu tr sau là vì standby database cho t t c các thay i trên online redo log t i primary database ư c lưu tr sau. i u khi n vi c lưu tr sau này, ta c n s d ng tham s ARCHIVE_LAG_TARGET. Vi c thi t l p tham s này cho phép ta h n ch , cũng như xác nh ư c kho ng th i gian ư c s d ng cho lưu tr sau.

8.4.1. Thi t l p tham s ARCHIVE_LAG_TARGET
Khi thi t l p tham s kh i t o ARCHIVE_LAG_TARGET, Oracle s ki m tra theo nh kỳ th i gian các online redo log c a instance hi n th i và phát sinh các log switch theo các i u ki n sau: Gi s ban u, current log ư c t o sau n giây và sau ó l i m t m giây lưu current log ra ĩa. Khi này kho ng th i gian n + m s tương ng v i giá tr c a tham s ARCHIVE_LAG_TARGET. Current log ch a các redo records.

ORACLE 9i – Ki n trúc và Qu n tr

Trang 84

www.updatesofts.com

Tham s ARCHIVE_LAG_TARGET cho bi t gi i h n trên v th i gian (tính theo ơn v giây) mà current log c n s d ng. Do th i gian lưu tr không chính xác b ng kho ng th i gian log switch. Tham s kh i taon này nên ư c thi t l p v i giá tr kho ng 30 giây. ARCHIVE_LAG_TARGET = 1800

Giá tr 0 tương ng v i vi c không th c hi n ch c năng log switching. m c nh.

ây là giá tr thi t l p

Ta có th t giá tr cho tham s ARCHIVE_LAG_TARGET ngay c khi database không trong ch sao lưu (standby database). Ví d , tham s ARCHIVE_LAG_TARGET có th ư c thi t l p b t bu c các logs ph i th c hi n thao tác switch và lưu tr lên ĩa.
ARCHIVE_LAG_TARGET là m t tham s ng và ta có th thay thông qua câu l nh ALTER SYSTEM SET.

i giá tr c a tham s này

8.4.2. Các y u t

nh hư ng t i tham s ARCHIVE_LAG_TARGET ư c xem xét khi ta thi t l p giá tr cho tham s

Có m t s y u t c n ARCHIVE_LAG_TARGET.

T ng th i gian switch (xem như là th i gian lưu tr ) các logs T n su t th c hi n switch các log khi nó y Lư ng d li u có th redo b m t khi database làm vi c ch

standby

Tham s ARCHIVE_LAG_TARGET s tr nên không h u d ng khi log ư c switch trong m t kho ng th i gian quá ng n. Tuy nhiên, trong trư ng h p các redo ư c t o ra v i t c không u như nhau, thì kho ng th i gian ng t quãng (interval) s ưa ra gi i h n trên i v i current log. Khi database trong tr ng thái ngh (idle) và redo records không ư c t o ra thì, sau kho ng th i gian interval, log switch s x y ra và y và ghi t t c các redo records lên standby database. Trong trư ng h p ARCHIVE_LAG_TARGET ư c thi t l p v i giá tr quá th p thì cũng không t t cho h th ng v m t hi u su t. Là vì h th ng liên t c ph i th c hi n các log switches. Do v y ta nên ch n giá tr h p lý nâng cao hi u su t h th ng.

8.5.XÁC

NH CH

LU TR

bi t ư c các thông tin v vi c lưu tr , ta có th s d ng m t s cách sau:

8.5.1. S d ng l nh Server Manager
Câu l nh này cho bi t ch 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 log c a database.

ORACLE 9i – Ki n trúc và Qu n tr

Trang 85

www.updatesofts.com

8.5.2. S d ng thông tin trong data dictionary
Ta cũng có th 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. s d ng thông tin trong các data dictionary views: V$DATABASE và

Ta cũng có th xem các thông tin liên quan views data dictionary V$THREAD, V$LOG. Các thông tin c n quan tâm:

n các groups và các members thông qua

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 câu lênh

trên, giá tr c a c t STATUS ư c bi u hi n như sau:

UNUSED ch ra online redo log group v n chưa ư c s d ng. Tr ng thái này tương ng v i vi c online redo log file m i ư c thêm vào. CURRENT ch ra r ng online redo log group ang ư c s d ng. Nó cũng ng m inh luôn tr ng thái active i v i các online redo log group này. ACTIVE: tr ng thái này ng v i the online redo log group v n ang ư c s d ng nhưng không ph i là online redo log group hi n th i. INACTIVE ch ra online redo log group không còn c n thi t cho vi c khôi ph c instance.

ORACLE 9i – Ki n trúc và Qu n tr

Trang 86

www.updatesofts.com

xác nh tên c a t t c các member trong m t group, ta có th tra c u thông 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. I U KHI N CÁC LOG SWITCHS VÀ CHECKPOINTS
8.6.1. Th c hi n log switches
Log switches và checkpoint là các s ki n x y ra m t cách t ng m i khi online redo log group y. Tuy nhiên, ta v n có th phát sinh các Log switchs thông qua l nh c a Server Manager. SVRMGR>ALTER SYSTEM SWITCH LOGFILE;

Trong Oracle Enterprise Manager – OEM, ta làm theo các bư c sau: 1. S d ng Backup Manager 2. Ch n Subsystem 3. Ch n Logfile --> Switch logfile

8.6.2. Th c hi n checkpoint
Ta cũng có th phát sinh các Checkpoints thông qua l nh: SVRMGR>ALTER SYSTEM CHECKPOINT;

Trong Oracle Enterprise Manager – OEM, ta làm theo các bư c sau: 1. S d ng Backup Manager 2. Ch n Subsystem 3. Ch n Logfile --> Force checkpoint

8.6.3.

i u ch nh các ng t quãng checkpoints i u ch nh l i các

Trong trư ng h p database s d ng các online redo log files l n, ta có th ng t quãng i v i online redo log file ó thông qua các tham s :

LOG_CHECKPOINT_INTERVAL: S lư ng blocks (tính theo s block c a h i u hành) l n nh t th c hi n m t checkpoint LOG_CHECKPOINT_TIMEOUT: Kho ng th i gian l n nh t (tính theo ơn v giây) th c hi n m t checkpoint.

ORACLE 9i – Ki n trúc và Qu n tr

Trang 87

www.updatesofts.com

8.7.QU N TR CÁC REDO LOG FILES
8.7.1. B sung các online redo log groups
Trong m t vài trư ng h p, ta có th members. Cú pháp: ALTER DATABASE [database] ADD LOGFILE [GROUP integer] filespec [, [GROUP integer] filespec]...] c n t i vi c n p thêm các log groups hay các log

Hình v 30. B sung online redo log groups

V i câu l nh trên, ta c n ch ra tên và ư ng d n c a các members trong t ng group c th . Giá tr c a tham s GROUP ư c ch n tương ng v i m i redo log file group. Trong trư ng h p b qua tham s này, Oracle server s t ng sinh ra các giá tr thích h p. Trong Oracle Enterprise Manager – OEM, ta làm theo các bư c sau: 1. S d ng Backup Manager 2. Ch n Subsystem 3. Ch n Logfile --> Add Logfile Group

ORACLE 9i – Ki n trúc và Qu n tr

Trang 88

www.updatesofts.com

8.7.2. B sung các online redo log members

Hình v 31. B sung online redo log members

Tương t như các group, ta cũng có th thêm m i các member cho t ng group b ng câu l nh SQL ALTER DATABASE [database] ADD LOGFILE MEMBER [ 'filename' [REUSE] [,'filename' [REUSE]]... TO {GROUP integer |('filename'[, 'filename']...) } ]...

Lưu ý: tên file ư c ch ra c n kèm theo ư ng d n y . Trong trư ng h p không có ư ng d n, file s ư c xem như ư c t trong thư m c m c nh. N u file thêm m i ã t n t i, ta c n thêm vào tuỳ ch n REUSE. Trong Oracle Enterprise Manager – OEM, ta làm theo các bư c sau: 1. S d ng Backup Manager 2. Ch n Subsystem 3. Ch n Logfile --> Add Logfile Member

8.7.3.

nh l i ch cho các redo log file

Trong m t vài trư ng h p, ta c n ph i d ch chuy n các file redo log t i m t v trí khác, m b o an toàn ch ng h n. Khi này, ta c n th c hi n theo các bư c sau: T t database. Sao chép các online redo log files t i m t a i m m i. Restart database ch mount. Th c hi n l nh ALTER DATABASE RENAME FILE thay file, tr t i m t ư ng d n file m i. 5. M l i database (L nh: ALTER DATABASE OPEN). 1. 2. 3. 4.

i con tr trong control

ORACLE 9i – Ki n trúc và Qu n tr

Trang 89

www.updatesofts.com

Câu l nh

i tên file:

ALTER DATABASE [database] RENAME FILE 'filename'[, 'filename']... TO 'filename'[, 'filename']...

Lưu ý: Ph i t n t i file

ư ng d n m i ch ra.

Trong Oracle Enterprise Manager – OEM, ta làm theo các bư c sau: 1. 2. 3. 4. S d ng Backup Manager Chuy n t i nút Logfile Group Ch n log file group tương ng Thay i tên file trong trư ng thu c tính.

8.7.4. Ng ng s d ng các Online redo log groups
có th thay i kích thư c các online redo log groups, ta có th thêm m i các online redo log group và xoá b các online redo log group ã có. S d ng l nh c a Server Manager ngưng s d ng online redo log group: ALTER DATABASE [database] DROP LOGFILE {GROUP integer|('filename'[, 'filename']...)} [,{GROUP integer|('filename'[, 'filename']...)}]...

Hình v 32. Ng ng s d ng Online redo log groups

Trong Oracle Enterprise Manager – OEM, ta làm theo các bư c sau: 1. 2. 3. 4. 5. S d ng Backup Manager Chuy n t i nút Logfile Group Ch n log file group tương ng Ch n Logfile --> Drop Logfile Group B m nút OK.

ORACLE 9i – Ki n trúc và Qu n tr

Trang 90

www.updatesofts.com

M ts

i m c n lưu ý khi xoá log groups M t instance c n ít nh t hai nhóm (group) các online redo log files. Không th hu (drop) group ang tr ng thái active. Khi hu m t online redo log group, th c ch t ta ch hu v m t logic mà thôi. Oracle s không ti p t c qu n lý nó n a. Tuy nhiên, các file s v n còn và không b xoá b i h i u hành.

8.7.5. Ng ng s d ng các Online redo log members
Tương t như các log group, i v i các log members ta cũng có th ngưng s d ng. ngưng s d ng online redo log member: S d ng l nh c a Server Manager

ALTER DATABASE [database] DROP LOGFILE MEMBER 'filename'[, 'filename']...

Hình v 33. Ng ng s d ng Online redo log members

Trong Oracle Enterprise Manager – OEM, ta làm theo các bư c sau: 1. 2. 3. 4. 5. M ts S d ng Backup Manager Chuy n t i nút Logfile Group Ch n log file group tương ng Ch n Logfile --> Drop Logfile Member B m nút OK. i m c n lưu ý khi xoá log members Không th ng ng s d ng member c a group mà có tr ng thái là VALID. N u group ang trong tr ng thái active, ta c n ph i th c hi n log switch chuy n s d ng sang m t log group khác trư c khi ngưng s d ng các member c a group hi n th i. Khi hu m t online redo log member, th c ch t ta ch hu v m t logic các file v n không b xoá b i h i u hành.

ORACLE 9i – Ki n trúc và Qu n tr

Trang 91

www.updatesofts.com

8.7.6. Xoá r ng Online redo log file
Trong m t vài trư ng h p các members b l i, qu n tr viên database có th x lý b ng cách kh i t o l i các log file thông qua l nh SQL kh i t o l i: ALTER DATABASE CLEAR LOGFILE Cú pháp: ALTER DATABASE [database] CLEAR [UNARCHIVED] LOGFILE {GROUP integer|('filename'[, 'filename']...)} [,{GROUP integer|('filename'[, 'filename']...)}]... S d ng l nh này cũng tương ương v i vi c thêm m i các online redo log file và xoá b các redo log file hi n th i. Lưu ý: Khi xoá r ng logfile mà nó không dùng lưu tr , ta c n b sung t khoá UNARCHIVED.

ORACLE 9i – Ki n trúc và Qu n tr

Trang 92

www.updatesofts.com

Chương 9. QU N TR TABLESPACES VÀ DATA FILES
9.1.C U TRÚC C A DATABASE
C u trúc database bao g m c u trúc logic và c u trúc v t lý. C u trúc v t lý bao g m t p h p các control files, online redo log files và các data files. C u trúc logic bao g m các schema objects tablespaces, segments, extents và data blocks.

Hình v 34. C u trúc database

9.1.1. Quan h gi a database v i các tablespaces và data files
V m t logic, m t database có th phân nh thành nhi u ph n g i là các tablespaces. Tablespace M t tablespace ch thu c m t database. M i tablespace có th ch a m t hay nhi u data file thu c h i u hành. Tablespaces có th t tr ng thái online hay offline trong lúc database ang ch y. Ngo i tr tablespace SYSTEM hay tablespace ch a rollback segments ang có tr ng thái ACTIVE, các tablespaces u có th chuy n v tr ng thái offline trong lúc database ang ch y. Các tablespaces cũng có th chuy n i tr ng thái read-write hay read-only. S d ng tablespace i u khi n vùng không gian c p phát và gán cho m i users V i vi c t ch online hay offline cho các tablespace, ta có th thay i tính s n dùng (availability) c a các d li u trong các tablespace Ta cũng có th phân bi t các d li u lưu tr gi a các thi t b tăng hi u su t s d ng database. Th c hi n sao lưu và ph c h i d li u t ng ph n, nâng cao hi u su t h th ng

ORACLE 9i – Ki n trúc và Qu n tr

Trang 93

www.updatesofts.com

Hình v 35. Quan h gi a tablespace và datafile

Data files M i m t tablespace có th bao g m m t hay nhi u data files, là các file thu c h i u hành dùng lưu tr d li u trong tablespace. Các data files có m t s tính ch t chính sau: M t data file ch thu c v m t tablespace. Qu n tr viên database có th thay i kích thư c c a data file ngay c khi nó ã ư c t o l p, làm tăng tính năng ng cho các i tư ng có trong tablespace.

9.1.2. Quan h gi a segment v i các extent và các blocks
Oracle cho phép i u ch nh không gian ĩa thông qua vi c thay trúc lưu tr logic như: tablespaces, segments, extents và blocks. Setgments M t segment là vùng không gian c p phát tương ng v i m t ki u c u trúc logic có trong m t tablespace. Ta có th phân ra làm m t s lo i segment chính sau: Data segments Index segments Temporary segments Rollback segments M t segment c th là m t data segment có th m t tablespace. Extents Extent là m t c p phân chia v m t logic ti p theo c a databse. M t extent là t p h p liên ti p các blocks d li u. M i ki u segment ư c quy inh bao g m m t hay nhi u extents. Khác v i segments, m t extent ch ư c n m duy nh t trên m t data file.
ORACLE 9i – Ki n trúc và Qu n tr Trang 94

i kích thư c c a các c u

ư c tr i r ng trên nhi u datafiles thu c

www.updatesofts.com

Data Blocks ây là ơn v lưu tr (lưu ý không ph i là ơn v qu n lý) d li u nh nh t trong database Oracle. M t block d li u s tương ng v i m t hay nhi u blocks c a h i u hành. (Ví d : h i u hành Windows 32, 1 block h i u hành = 32 kbytes = 32*1024 bytes). Kích thư c c a block d li u ư c xác nh b i tham s kh i t o DB_BLOCK_SIZE ngay khi database ư c t o. Block trong database cũng là ơn v vào ra nh nh t.

9.2.PHÂN LO I CÁC TABLESPACES
9.2.1. Tablespace SYSTEM và non-SYSTEM
M t database g m có ít nh t m t tablespace là tablespace SYSTEM, là nơi lưu tr các thông tin c a h th ng. Ngoài ra, database còn có th thêm vào các tablespace khác, ó là các non-SYSTEM tablespaces, ch a d li u c a các user. Tablespace SYSTEM Có trong t t c các database Ch a thông tin v các data dictionary views, các nh nghĩa c a stored procedures, packages, và các database triggers dư i d ng PL/SQL program units. Ch a SYSTEM rollback segment Không nên ch a d li u ngư i dùng trong tablespace này m c dù có th .

Hình v 36. D li u ngư i dùng nên

t trong tablespace riêng

Non-SYSTEM Tablespace Ch Ch Ch Ch a a a a các các các các rollback segments temporary segments data segments index segments

ORACLE 9i – Ki n trúc và Qu n tr

Trang 95

www.updatesofts.com

9.2.2. Tablespaces read-only / read-write
Tablespaces read-only M c ích chính c a vi c s d ng các tablespaces read-only (ch c) là h n ch các th t c c n thi t khi th c hi n sao lưu và ph c h i m t ph n l n d li u không b thay i (static) c a database. Oracle không th c hi n c p nh t các files n m trong tablespace read-only, vì th các files có th ư c t trong thi t b ch c như CD ROMs hay ĩa WORM drives (Write Once-Read Many). M i khi t o m i m t tablespace, h th ng s t o cho ta m t tablespace có c quy n c và quy n ghi. Ta có th thay i l i thu c tính tablespace thành read-only thông qua m nh READ ONLY trong câu l nh ALTER TABLESPACE. Vi c này s d n t i t t c các datafiles thu c tablespace ó s ư c t l i thu c tính là read-only. Câu l nh ALTER TABLESPACE ... READ ONLY s t tablespace vào ch chuy n ti p (transitional read-only) và ch cho t t c các transactions trên ó k t thúc (commit ho c roll back). Ch chuy n ti p này s không cho phép b t kỳ m t thao tác ghi m i nào ư c th c hi n trên tablespace ngo i tr vi c rollback các transactions hi n th i và thay i d li u trong các blocks trong tablespace. Do ó, ch chuy n ti p c a tablespace cũng h t như tablespace read-only i v i các câu l nh m i c a ngư i dùng ngo i tr l nh ROLLBACK. Sau khi t t c các transactions hi n th i ã k t thúc thì câu l nh ALTER TABLESPACE ... READ ONLY m i ư c xem là k t thúc và tablespace ư c t ch read-only. t ch read-only cho tablespace không làm nh hư ng t i tr ng thái offline hay online c a tablespace ó. Các Offline datafiles v n không th truy xu t ư c. Vi c ưa m t datafile trong tablespace read-only vào ch online s cho phép user có th c d li u trong file ó. File này v n không th vi t d li u vào tr phi tablespace tương ng ư c t l i ch cho phép c và ghi. Read-only tablespaces không th b s a i. c p nh t d li u trong m t read-only tablespace, trư c tiên ta c n t l i ch cho tablespace là read-write. Sau ó, th c hi n c p nh t d li u trong tablespace r i t l i ch read-only cho tablespace ó. Do các read-only tablespaces không b s a i nên ta cũng không c n thi t ph i th c hi n vi c backup d li u trên nó nhi u l n. Và ta cũng không c n thi t ph i ph c h i l i các readonly tablespaces, do d li u trong ó không b thay i. Ta không th b sung các datafiles vào tablespace read-only, ngay c khi ã t ch cho tablespace là offline. B i vì, khi b sung m t datafile, Oracle s ph i c p nh t ph n thông tin header trong khi ó thao tác ghi lên tablespace này là không ư c phép. Tablespace read-write Trái v i tablespace read-only, v i các tablespace read-wirte, ta có th th c hi n các thao tác c và ghi trên ó. Ta cũng có th s d ng m nh READ WRITE trong câu l nh ALTER TABLESPACE thay i tr ng thái tablespace read-only thành tr ng thái read-write.

9.2.3. Temporary tablespace / permanent tablespace
Temporary tablespaces ư c s d ng
dành riêng cho các thao tác s p x p d li u. Trong temporary tablespace không có b t c segments d li u nào n m trong ó.

ORACLE 9i – Ki n trúc và Qu n tr

Trang 96

www.updatesofts.com

Sort segments có th cùng ư c chia s s d ng khi nhi u thao tác s p x p cùng ư c th c hi n. M t sort segment ư c s d ng cho t t c các instance có th c hi n thao tác s p x p trên m t tablespace. Vi c s d ng các temporary tablespaces cho phép nâng cao hi u su t th c hi n m i khi có nhi u thao tác s p x p ư c th c hi n trên m t vùng nh l n và không phù h p v i kích thư c c a b nh trong c a máy tính. Sort segment thu c temporary tablespace ư c t o ra vào ngay th i i m u c a thao tác s p x p. Sort segment s ư c c p thêm vùng nh và m r ng d n cho t i khi kích thư c c a segment ngang b ng ho c l n hơn t ng s kích thư c lưu tr c n thi t cho vi c th c hi n t t c các thao tác s p x p c a instance. Các tablespaces không ph i là temporary tablespaces ư c g i là các permanent tablespaces. Các permanent tablespace ư c s d ng lưu tr d li u trong database.

9.3.QU N LÝ KHÔNG GIAN TRONG TABLESPACES
Tablespaces c p phát vùng không gian theo các extents. Tablespaces s pháp khác nhau c p phát và gi i phóng vùng không gian lưu gi : d ng hai phương

Qu n lý các extents qua data dictionary (dictionary-managed tablespaces) Qu n lý các extents qua tablespace (locally-managed tablespaces) Ngay khi t o tablespace, ta c n l a ch n luôn phương pháp qu n lý vùng không gian s ư c áp d ng cho tablespace ó. Khi ã ch n r i, ta không th thay i phương pháp qu n lý không gian n a.

9.3.1. Dictionary-Managed Tablespaces
Trong phương pháp này tablespace s d ng data dictionary qu n lý các extents c a nó. Oracle c p nh t t ng tables trong data dictionary m i khi c p phát, gi i phóng hay s d ng l i m t extent. Oracle cũng lưu l i các thông tin rollback c a vi c c p nh t các dictionary tables. Theo m c nh, phương pháp qu n lý này s ư c áp d ng cho các tablespaces có trong database. Trong các phiên b n Oracle 8.0 ho c s m hơn, ch có m t phương pháp ó chính là phương pháp này.

9.3.2. Locally-Managed Tablespaces
Bên c nh ó, tablespace cũng có th qu n lý các extents c a nó thông qua m t bitmap (ánh x bit) trong t ng datafile t ó xác nh ư c tr ng thái c a các blocks trong datafile là ang s d ng hay ã ư c gi i phóng. M i m t bit trong bitmap s tương ng v i m t block hay m t nhóm các blocks. M i khi có m t extent ư c c p phát, gi i phóng hay tái s d ng, Oracle s thay i giá tr c a bitmap theo úng như tr ng thái m i c a các blocks. Vi c thay i này s không làm phát sinh các thông tin trong rollback do không có thao tác c p nh t d li u nào trong các tables c a data dictionary (Ngo i tr trư ng h p c bi t liên quan n các thông tin h n m c (quota) c a tablespace). Locally-managed tablespaces có m t s ưu i m hơn so v i dictionary-managed tablespaces là: Qu n lý c c b các extents tránh các thao tác qu n lý không gian theo ki u quy. Vi c này có th x y ra khi s d ng phương pháp dictionary-managed tablespaces n u vi c s d ng hay gi i phóng không gian là k t qu c a các thao tác s d ng hay gi i phóng không gian trong rollback segment hay data dictionary table.

ORACLE 9i – Ki n trúc và Qu n tr

Trang 97

www.updatesofts.com

Qu n lý c c b các extents m t cách t ng các vùng không gian gi i phóng li n k v i nhau. i u này là c n thi t khi th c hi n công vi c h p nh t các extents r i. Kích thư c c a các extents ư c qu n lý c c b có th ư c xác nh t ng b i h th ng. M t khác, t t c các extents có th có cùng m t kích c như nhau trong phương pháp locally-managed tablespace. M nh LOCAL trong ph n EXTENT MANAGEMENT c a câu l nh CREATE TABLESPACE s ch rõ phương th c qu n lý không gian: V i các permanent tablespaces và temporary tablespaces, ta có th s d ng m nh EXTENT MANAGEMENT LOCAL. Trong phiên b n 8i, phương pháp qu n lý này v n chưa ư c áp d ng cho tablespace SYSTEM. N u áp d ng, h th ng s phát sinh l i 809225.

9.4.THI T L P TR NG THÁI CHO TABLESPACES
Qu n tr viên database có th thi t l p tr ng thái cho các tablespaces là online (có th s d ng) hay offline (không th s d ng) ngo i tr tablespace SYSTEM m i khi m database. Tablespace SYSTEM luôn tr ng thái online m i khi database ư c m b i vì Oracle luôn ph i s d ng các d li u trong dictionary. M t tablespace thông thư ng ch online khi ó, các d li u trong nó là s n sàng i v i các database users. Tuy nhiên, qu n tr viên database có th t ch offline cho tablespace: Khi này m t ph n c a database s không th truy xu t ư c, trong khi ph n còn l i v n có th truy xu t bình thư ng. Th c hi n offline tablespace khi backup d li u (m c dù ta v n có th backup d li u ngay khi database ang ch y và các tablespace tr ng thái online). Lưu ý: ta không th ang ư c s d ng. t ch offline cho tablespace n u nó có ch a các rollback segments

t Offline cho tablespace Khi m t tablespace ư c ưa ra offline, Oracle s không cho phép th c hi n các câu l nh SQL có tham chi u t i các objects lưu tr trong tablespace này. Oracle lưu l i các d li u rollback tương ng khi th c hi n câu l nh SQL trong m t rollback segment khác có trong tablespace SYSTEM thay vì là rollback segment có trong tablespace ư c offline n u có. Tablespace ư c ưa v online tr l i, Oracle s áp l i các d li u rollback ang có trong tablespace SYSTEM vào tablespace ó. Ta ch có th ưa m t tablespace thành online trong chính database mà nó ư c t o, không th t online cho tabalespace trong m t database khác ư c. Vi c này ư c giám sát b i các thông tin có trong dictionary. Oracle t ng th c hi n chuy n ch t online thành offline x y ra s c h th ng. Ví d như: ti n trình DBWn g p l i. i v i tablespaces m i khi

9.5.TRAO

I CÁC TABLESPACES GI A DATABASES

Ta có th s d ng ch c năng transportable tablespaces d ch chuy n m t ph n c a m t database sang m t database Oracle khác. Vi c trao i các tablespaces gi a các database là r t h u ích cho:

ORACLE 9i – Ki n trúc và Qu n tr

Trang 98

www.updatesofts.com

Vi c d ch chuy d li u t h th ng x lý tr c tuy n (OLTP – online transaction processing systems) sang thành d li u c a h th ng kho d li u (data warehouse staging systems). C p nh t kho d li u (data warehouses) và các d li u thu c h th ng. N p các d li u t các kho cơ s d li u trung tâm (central data warehouses). Lưu tr các d li u c a h th ng OLTP and data warehouse systems efficiently. Cung c p d li u cho các khách hàng ho c ngư i s d ng n i b . D ch chuy n d li u thông qua vi c trao i các tablespaces cho phép di chuy n d li u nhanh chóng và hi u qu hơn các cách d ch chuy n d li u khác như export/import hay unload/load i v i cùng m t d li u, Do vi c trao i các tablespace ch òi h i ph i sao chép các datafiles r i tích h p thông tin v c u trúc c a tablespace vào database m i. Có th s d ng phương pháp trao i các tablespaces d ch chuy n các index data, do ó, tránh vi c tái t o l i (rebuilds) các index, ta có th th c hi n công vi c này n p d li u trong các b ng.

9.5.1. M t s h n ch trong vi c trao

i các tablespace: Database ngu n và ích ph i ư c ch y trên cùng m t n n ph n c ng (hardware platform). Ví d , có th trao i các tablespaces gi a database Oracle ch y trên h i u hành Sun Solari, ho c trao i các tablespaces gi a các databases Oracle ch y trên h i u hành NT. Tuy v y, ta không th trao i các tablespace gi a database Oracle chay trên SUN Solaris v i các database Oracle ch y trên NT. Database ngu n và ích ph i có cùng m t kích thư c c a data block. Database ngu n và ích ph i s d ng cùng m t t p ký t s d ng trong database (national character set). Không th chuy n i tablespace sang database ích khi database này ã có m t tablespace có cùng tên. Vi c chuy n i tablespaces không ư c h tr : o Snapshot/replication o Function-based indexes o Scoped REFs o Domain indexes (M t ki u index m i, cho phép m r ng vi c ánh ch s )

9.5.2. Các bư c th c hi n chuy n
1. Ch có th th c hi n trao tablespace khác.

i m t tablespace gi a các database

i các tablespaces mà nó không ch a các tham chi u t i

2. T o m t transportable tablespace set.

Transportable tablespace set ch a các datafiles ng v i t p các tablespaces ư c s
d ng chuy n chuy n. i các file có ch a thông tin c u trúc c a các tablespaces d ch phia dư i).

(Xem minh ho vi c t o m t transportable tablespace set 3. Chuy n i tablespace.

Sao chép các datafiles và export file sang database ích. Có th s d ng các công c sao chép file thông thư ng c a h i u hành th c hi n công vi c này
ORACLE 9i – Ki n trúc và Qu n tr Trang 99

www.updatesofts.com

4.

ưa tablespace vào s d ng (plug-in). Th c hi n công vi c Import ưa các tablespaces vào database ích.

Minh ho vi c trao

i tablespace

1. bi t tablespace SALES_1 và SALES_2 có ch a các tham chi u trong nó không, ta th c hi n câu l nh: EXECUTE dbms_tts.transport_set_check('sales_1,sales_2', TRUE); Câu l nh này sinh ra k t qu và lưu trong view có tên là: TRANSPORT_SET_VIOLATIONS. S d ng câu l nh truy v n xem k t qu : SELECT * FROM transport_set_violations; L nh truy v n k t xu t k t qu r ng cho bi t tablespace không ch a các tham chi u t i tablespace bên ngoài.

2. T o transportable tablespace set Phát l nh thay i tr ng thái c a tablespace v tr ng thái read-only không cho phép c p nh t d li u vào tablespace này, chu n b cho vi c trao i tablespace. ALTER TABLESPACE sales_1 READ ONLY; S d ng công c ti n ích Export c a Oracle k t xu t các tablespace này: EXP TRANSPORT_TABLESPACE=y TABLESPACES=(sales_1,sales_2) TRIGGERS=y/n CONSTRAINTS=y/n GRANTS=y/n FILE=expdat.dmp TRIGGERS=Y – cho phép k t xu t; N – không cho phép k t xu t. GRANTS=Y – k t xu t c các quy n trên m i b ng thu c tablespace ó; N – không k t xu t. CONSTRANTS=Y – các ràng bu c tham chi u s bu c tham chi u. ư c k t xu t; N – không k t xu t các ràng

3. Th c hi n sao chép các datafile c a tablespace v a ư c k t xu t ra m t v trí khác. 4. 5. t l i tr ng thái bình thư ng cho tablespace v a ư c xem xét. ALTER TABLESPACE sales_1 READ WRITE; ưa b n sao c a các datafile v a ư c sao chép vào v trí tương ng v i database ích.

6. Connect vào database m i v i m c quy n SYSDBA. 7. ưa các tablespaces ã ư c k t xu t vào database m i
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.T O TABLESPACE
9.6.1. L nh t o tablespace
Ta có th s d ng câu lênh SQL Cú pháp: CREATE TABLESPACE tablespace
ORACLE 9i – Ki n trúc và Qu n tr Trang 100

t o m t tablespace.

www.updatesofts.com

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] ) V i: tablespace DATAFILE DEFAULT STORAGE tham s lưu tr m c nh cho t t c tư ng ư c t o l p trong tablespace MINIMUM EXTENT kích thư c t i thi u c a extent value ONLINE OFFLINE PERMANENT TEMPORARY t ch s d ng ngay t khi t o l p (Online) cho tablespace cho i ư c s d ng các i tên c a tablespace ư c t o ư c t o tên data files c a tablespace

t ch chưa s d ng tablespace ngay t khi t o l p tablespace có th tư ng thư ng trú s d ng

(Offline) lưu tr các

tablespace ch s d ng lưu tr các i tư ng trung gian (temporary objects). Ví d : s d ng lưu tr d li u khi s p x p theo câu l nh 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);

Cũng tương t , ta có th th c hi n trong Oracle Enterprise Manager – OEM: 1. 2. 3. 4. 5. Ch y Oracle Storage Manager. Ch n Tablespace—>Create. Trong General page c a b ng thu c tính, nh p vào tên tablespace r i ch n ADD. Trong b ng thu c tính Create Datafile, ch ra các data file. Trong ph n Extents page, nh p vào các thông tin lưu gi
Trang 101

ORACLE 9i – Ki n trúc và Qu n tr

www.updatesofts.com 6. Ch n m c Create.

H n ch S lư ng t i a các tablespaces trên m i database là 64. S lư ng t i a các data files trong m i tablespace là 1023.

9.6.2. Ch

qu n lý các tablespaces

V i câu l nh t o tablespace thông thư ng như trên, Oracle server s t o tablespace v i ch qu n lý là Dictionary-Managed Tablespaces th c hi n qu n lý tablespace theo phương pháp Locally-Managed Tablespaces ta c n ưa thêm vào câu l nh m nh : MANAGEMENT LOCAL AUTOLOCATE. Ví d : CREATE TABLESPACE lmtbsb DATAFILE 'c:\data\lmtbsb01.dbf' SIZE 50M EXTENT MANAGEMENT LOCAL AUTOALLOCATE;

9.6.3. T o temporary tablespace
Qu n tr viên database có th t o m t temporary tablespace s d ng cho vi c s p x p các d li u không dùng lưu tr thư ng trú các d li u. t o temporary tablespace, ta có th s d ng l nh SQL gi ng như l nh t o tablespace thông thư ng, nhưng có thêm t khoá TEMPORARY cu i. 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; V i Oracle Enterprise Manager, ta làm theo các bư c sau: 1. Ch y Oracle Storage Manager. 2. Ch n Tablespace—>Create. 3. Trong General page, nh p vào tên tương ng r i ch n ADD Datafile. 4. Trong Create Datafile ch ra t ng data file c th . 5. Ch n TEMPORARY trong nhóm ch n radio button. 6. B m nút Create.

hi n th m c Create

9.6.4. Các tham s lưu tr
Lư ng không gian dùng cho m t tablespace ư c xác nh trong m nh lưu tr (storage clause). Các tham s này ư c xác nh ngay t i th i i m t o tablespace. Trong trư ng h p không ch rõ các tham s này trong l nh t o l p (CREATE), các tham s s ư c s d ng các giá tr theo m c nh. Có m t s tham s lưu tr c n quan tâm sau:

ORACLE 9i – Ki n trúc và Qu n tr

Trang 102

www.updatesofts.com

INITIAL quy nh kích thư c c a extent u tiên. Kích thư c nh nh t c a extent u tiên là 02 block = (2*DB_BLOCK_SIZE). M c nh, kích thư c này là 5 blocks = (5* DB_BLOCK_SIZE). NEXT ng v i kích thư c c a extent th hai. Kích thư c t i thi u là 01 block. M c nh, kích thư c này là 5 blocks = (5* DB_BLOCK_SIZE). MINEXTENTS s lư ng extent ư c t o l p m i khi segment ư c t o l p. M c nh giá tr này là 1. PCTINCREASE ph n trăm tăng kích thư c extent. Kích thư c c a m t extent ư c xác nh theo kích thư c:

V i:

Sizen

kích thư c c a extent th n

Ví d : NEXT = 200K, PCTINCREASE = 50. Ta tính ư c extent th hai = 200K, extent thư ba = 300K, extent th tư = 450K MAXEXTENTS xác nh s lư ng t i a các extents có trong m t segment. Giá tr nh nh t là 1. Giá tr l n nh t theo m c nh ph thu c vào kích thư c c a block d li u. Giá tr này cũng có th ư c xác nh thông qua giá tr UNLIMITED, tương ương v i giá tr là 2147483645.

9.7.CÁC THAY
9.7.1. Chuy n
Ta có th thay Ví d :

I

I V I TABLESPACE
bi n nó thành m t temporary tablespace.

i m t tablespace thành m t temporary tablespace i các tablespaces ang t n t i

ALTER TABLESPACE tbsa TEMPORARY;

9.7.2. Thêm m i các tablespace
m r ng không gian c a tablespace ta có th th c hi n theo hai cách sau: Thêm m i các data file vào tablespace Thay i dung lư ng các data files Ho c ta cũng có th s d ng câu l nh SQL can thi p như sau: ALTER TABLESPACE tablespace ADD DATAFILE filespec [autoextend_clause] [, filespec [autoextend_clause]]...

V i Oracle Enterprise Manager, ta làm theo các bư c sau: 1. Ch y Oracle Storage Manager. 2. Ch n Tablespace—>Create. 3. Trong General page, nh p vào tên tương ng r i ch n ADD Datafile. 4. Trong Create Datafile ch ra t ng data file c th .

hi n th m c Create

ORACLE 9i – Ki n trúc và Qu n tr

Trang 103

www.updatesofts.com

9.7.3. M r ng data files
Ta có th th c hi n m r ng (thay i) kích thư c data file theo hai cách: M r ng theo ch t ng. S d ng t khoá: AUTOEXTENTED M r ng theo ch can thi p tr c ti p (manually). S d ng l nh ALTER TABLESPACE, ALTER DATABASE Thi t l p ch Cú pháp: 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 th c hi n các bư c sau: 1. 2. 3. 4. 5. 6. Ch y Oracle Storage Manager. Chuy n t i nút Tablespace. Ch nTablespace—>Add Datafile. Trong General page nh p vào các thông tin c a file. Trong Autoextend page nh p vào các thông tin tương ng. B m nút Create. AUTOEXTENT trong khi t o file

Thi t l p ch Cú pháp:

AUTOEXTENT khi data file ã t n t i

ALTER DATABASE [database] DATAFILE 'filename'[, 'filename']... autoextend_clause Trong OEM ta th c hi n các bư c sau: 1. 2. 3. 4. 5. Ch y Oracle Storage Manager. Chuy n t i nút Tablespace node. Ch n data file. Trong ph n Autoextend page, b m vào nút Enable Auto Extend. B m nút Apply.

9.7.4. Thay

i kích thư c data file

Thay vì m r ng kích thư c c a database b ng cách thêm vào các data file, qu n tr viên cũng có th m r ng b ng cách i u ch nh tăng kích thư c c a data file. S d ng câu l nh SQL sau thay i kích thư c c a data file ALTER DATABASE [database]
ORACLE 9i – Ki n trúc và Qu n tr Trang 104

www.updatesofts.com

DATAFILE 'filename'[, 'filename']... RESIZE integer[K|M] V i: integer Kích thư c tuy t i c a file data file

S d ng câu l nh SQL sau

thay

i nơi lưu tr m c

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

i ch

ONLINE và OFFLINE

User ch có th truy xu t vào tablespace n u nó ang tr ng thái online. Trong m t vài trư ng h p, qu n tr viên database có th thay i tr ng thái database thành offline v i m c ích: Di chuy n các data files t i v trí khác Ch cho phép user truy xu t ph n d li u còn l i trong database. chuy n i ch ONLINE và OFFLINE, ta có th th c hi n câu l nh SQL sau:

ALTER TABLESPACE tablespace {ONLINE |OFFLINE [NORMAL|TEMPORARY|IMMEDIATE] } Ch OFFLINE i v i các i tư ng có trong

Oracle server không cho phép th c hi n câu l nh SQL tablespace ã ư c OFFLINE. Oracle server th c hi n checkpoint chuy n sang ch OFFLINE.

i v i t t c các data files thu c tablespace trư c khi

M i khi database ư c m , qu n tr viên database có th chuy n ch offline cho t t c các tablespace ngo i tr SYSTEM và các tablespace tương ng v i các active rollback segments hay temporary segments.

Trong OEM ta có th th c hi n theo các bư c sau: 1. Ch y Oracle Storage Manager. 2. Chuy n t i nút Tablespace. 3. Ch n tablespace tương ng.
ORACLE 9i – Ki n trúc và Qu n tr Trang 105

www.updatesofts.com

4. Trong General page, 5. B m nút Apply

t ch

trong Offline radio button.

9.7.6. Di chuy n các data file
Tuỳ thu c ki u tablespace, ta có th di chuy n các data files theo các phương th c khác nhau. L nh ALTER TABLESPACE L nh này ch áp d ng cho các tablespace không ph i là SYSTEM tablespace, và không ch a rollback segments hay temporary segments. Câu l nh: 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 th c hi n theo các bư c sau: 1. Chuy n ch offline cho tablespace. 2. Di chuy n các data files tương ng b ng l nh c a h i u hành.

3. Th c hi n l nh ALTER TABLESPACE RENAME DATAFILE. 4. Chuy n l i ch online cho tablespace ó. 5. S d ng l nh c a h i u hành xoá data file cũ n u c n thi t. L nh ALTER DATABASE L nh này ch áp d ng cho các tablespace không là SYSTEM và không ch a rollback segments hay temporary segments. Câu l nh: ALTER DATABASE [database] RENAME FILE 'filename'[, 'filename']... TO 'filename'[, 'filename']... Ví d : ALTER DATABASE RENAME FILE ‘/DISK1/system01.dbf’ TO ‘/DISK2/system01.dbf’; Ta th c hi n theo các bư c sau: 1. 2. 3. 4. Shutdown database. Di chuy n data files b ng l nh c a h i u hành. Mount l i database. Th c hi n l nh ALTER DATABASE RENAME FILE.

5. M l i database.

ORACLE 9i – Ki n trúc và Qu n tr

Trang 106

www.updatesofts.com

Trong OEM ta làm như sau 1. Ch y Oracle Storage Manager. 2. Chuy n t i nút Tablespace r i ch n data file tương ng. 3. Trong ph n General page, thay i l i các thông tin thích h p. 4. B m nút Apply.

9.7.7. Tablespace ch
S d ng l nh SQL Cú pháp:

c này.

thi t l p các ch

ALTER TABLESPACE tablespace READ{ONLY|WRITE} Ví d : ALTER TABLESPACE app_data READ ONLY; Trong OEM ta th c hi n theo các bư c sau: Ch y Oracle Storage Manager. Chuy n t i nút Tablespace. Ch n tablespace. Ch n Tablespace—>Make Read Only. 5. B m nút OK. Thi t l p ch ch c cho tablespace ch c cho tablespace khi nó mb om ts i u ki n sau: Ta có th thi t l p ch 1. 2. 3. 4.

Tablespace ph i ang online Không có transaction nào x y ra i v i tablespace ó Tablespace không ch a các rollback segments Hi n th i không có online backup trên tablespace

9.7.8. Hu tablespace
Trong m t vài trư ng h p ta có th hu tablespace kh i database. Vi c này có th th c hi n b i câu l nh SQL sau: DROP TABLESPACE tablespace [INCLUDING CONTENTS [CASCADE CONSTRAINTS]] V i tablespace tên c a tablespace hu CASCADE CONSTRAINTS Hu luôn c các ràng bu c liên quan t i các b ng bên ngoài có tham chi u duy nh t t i các b ng thu c tablespace b hu Ví d :
ORACLE 9i – Ki n trúc và Qu n tr Trang 107

ư c hu

INCLUDING CONTENTS luôn các segment có trong tablespace

www.updatesofts.com

DROP TABLESPACE app_data INCLUDING CONTENTS; Trong OEM ta th c hi n theo các bư c sau 1. Ch y Oracle Storage Manager. 2. Chuy n t i nút Tablespace ch n tablespace tương ng. 3. Ch n Tablespace—>Remove. 4. B m nút OK.

9.8.THÔNG TIN V CÁC TABLESPACES
M t s views thông tin chung Tên tham s Di n gi i

DBA_TABLESPACES, USER Di n gi i c a các 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 Thông tin v segment có trong các tablespaces. Thông tin v data extents có trong các tablespaces. Thông tin v free extents có trong các tablespaces. Thông tin v t t c các datafiles, bao g m c tablespace và user s h u tablespace. s hi u

Thông tin v các tempfiles, bao g m c s hi u tablespace và user s h u tablespace. Hi n th các datafiles thu c các tablespaces. Hi n th các tempfiles thu c các temporary tablespaces. Thông tin c a các extents trong các locally managed temporary tablespaces. Thông tin c a các locally managed temporary tablespaces bao g m: tr ng thái c a temporary space cached (vùng không gian m trung gian) ư c s d ng b i m i instance. Hi n th vùng không gian used/free c a m i tempfile. Các tablespaces m c các users. nh và temporary tablespaces c a

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

H n m c s d ng tablespace c a các users. Thông tin v sort segment i v i m i instance. d ng b i

Vùng không gian s p x p trung gian ư c s user và temporary/permanent tablespace.

ORACLE 9i – Ki n trúc và Qu n tr

Trang 108

www.updatesofts.com

9.8.1. Xem thông tin tablespace
xem thông tin v tablespace, ta có th DBA_TABLESPACES lưu tr các thông tin này. M t s thông tin quan tâm: Tên 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 Tên tablespace Kích thư c c a các extent m r ng tính theo bytes S lư ng t i a các extents trong m t segment Ph n trăm tăng trư ng kích thư c c a các extents S lư ng t i thi u các extents trong m t segment Tr ng thái c a tablespace là Online hay Offline Phân lo i tablespace là permanent hay temporary Di n gi i l y trong data dictionary views. View

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 thông tin data files
xem thông tin v data files, ta có th l y trong dictionary views. View DBA_DATA_FILES lưu tr các thông tin này. M t s thông tin quan tâm: Tên tham s FILE_NAME TABLESPACE_NAME Di n gi i Tên file (có kèm ư ng d n) tương ng v i datafile Tên c a tablespace ng v i datafile ó

ORACLE 9i – Ki n trúc và Qu n tr

Trang 109

www.updatesofts.com

BYTES AUTOEXTENSIBLE MAXBYTES INCREMENT_BY

Dung lư ng tính theo bytes c a tablespace hi n th i Ch t ng m r ng dung lư ng c a datafile

Dung lư ng t i a
Ch s tăng t ng trong h th ng

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

ORACLE 9i – Ki n trúc và Qu n tr

Trang 110

www.updatesofts.com

Chương 10. C U TRÚC LƯU TR
10.1.CÁC LO I SEGMENTS
Segments là các vùng không gian c a các objects ( s xem xét m t s lo i segments c th . i tư ng) trong database. Dư i ây, ta

10.1.1. Table
Table (b ng), là nơi lưu gi d li u trong database. D li u trong m t table ư c lưu gi không theo m t th t b t bu c. Các d li u trong m t table thu c lo i nonpartitioned (không phân khu) s ph i lưu gi trong cùng m t tablespace.

Hình v 37. Các lo i segments

10.1.2. Table partition
Có th có m t s table trong database có s lư ng truy c p l n và ng th i. Khi ó, d li u trong table ó s ư c lưu thành nhi u partition (phân khu), m i partition có th n m trên các tablespace khác nhau. Oracle server h tr vi c phân chia này b ng các giá tr khoá. Khi m t table ư c phân khu, m i partition ó ư c xem như m t segment.

10.1.3. Cluster
Các dòng d li u trong m t cluster ư c lưu tr theo các giá tr c a trư ng khoá (key column). M t cluster có th ch a m t hay nhi u tables và nó ư c xem là m t ki u o n d li u (type of data segment). Các tables trong m t cluster thu c v cùng m t o n và có chung các tính ch t lưu tr .

10.1.4. Index
T t c các u m c (entries) ng v i m t index c th ư c lưu tr trong m t index segment. M t table có t i bao nhiêu indexes, thì s có b y nhiêu index segments ư c s d ng. M c ích c a segment này là tìm ki m và nh v các dòng d li u trong m t table d a trên m t khoá ư c ch ra.
ORACLE 9i – Ki n trúc và Qu n tr Trang 111

www.updatesofts.com

10.1.5. Index-Organized Table
Trong m t index-organized table, các d li u trong m t index ư c lưu tr d a vào giá tr khoá. M t index-organized table không c n thi t n m t table dùng tìm ki m (lookup), các d li u có th ư c tr v ngay tr c ti p t cây index (index tree).

Hình v 38. Các lo i segments (ti p theo)

10.1.6. Index Partition
M t index có th ư c partitioned (phân khu) và tr i r ng trên nhi u tablespaces khác nhau. Khi ó, m i partition c a m t index s tương ng v i segment ( o n) và không ư c phép n m dài trên nhi u tablespaces. M c ích chính c a vi c s d ng index partition là gi m thi u nh ng tranh ch p vào ra I/O.

10.1.7. Rollback Segment
Rollback segment ư c s d ng trong transaction (giao d ch) t o các thay i trong database. Trư c khi thay i các d li u hay các index blocks, các giá tr cũ s ư c lưu gi vào rollback segment. Vi c làm này cho phép user có th ph c h i l i các thay i.

10.1.8. Temporary Segment
Khi m t user th c hi n các lênh như CREATE INDEX, SELECT DISTINCT, và SELECT GROUP BY, Oracle s c g ng th c hi n công vi c s p x p ngay trong b nh . Khi công vi c s p x p c n n nhi u không gian hơn, các k t qu này s ư c ghi tr c ti p lên ĩa. Temporary segments s ư c dùng n trong trư ng h p này.

10.1.9. LOB Segment
Khi m t hay nhi u c t trong table lưu gi các i tư văn b n tài li u, hình nh, hay videos. Các c t ch a lưu gi trong các segments riêng ư c bi t n như các giá tr dùng nh v , xác nh nơi lưu gi các d ng l n (large objects - LOBs) như các d li u l n này s ư c Oracle server là LOB segments. Table s ch lưu gi li u LOB tương ng.

ORACLE 9i – Ki n trúc và Qu n tr

Trang 112

www.updatesofts.com

10.1.10. LOB Index
M t LOB index segment ư c t o ng m nh m i khi LOB segment ư c t o l p. Các tính ch t lưu gi c a LOB index có th ư c quy nh b i qu n tr viên database. M c ích c a vi c s d ng LOB index segment là cho phép tìm ki m các giá tr c th trong c t d li u lo i LOB.

Hình v 39. Các lo i segments (ti p theo)

10.1.11. Nested Table
C t d li u trong table có th ư c t o l p t m t user-defined table (b ng do ngư i dùng nh nghĩa). Trong trư ng h p này, b ng d li u tương ng v i ph n t thu c c t d li u (inner table), ư c bi t n như m t nested table và ư c lưu gi trong m t segment riêng bi t.

10.1.12. Bootstrap Segment
Bootstrap segment, ư c sau m i khi database ư khi database ư c m b hay s a ch a, c p nh t segment này. bi t n như m t cache segment, ư c t o b i file script sql.bsq c t o. Segment giúp cho vi c kh i t o data dictionary cache m i i m t instance. D li u trong bootstrap segment không th xem ư c. Qu n tr database cũng không c n thi t ph i quan tâm t i

10.2.QU N LÝ EXTENTS
10.2.1. C p phát và thu h i các extents
Vi c c p phát các extent x y ra m i khi segment ư c t o m i, ư c m r ng hay b thay i (altered). Và nó s b thu h i khi segment b hu , b thay i, b c t b t (truncated). Riêng rollback segments, các extent có th b t ng thu h i. i v i các

ORACLE 9i – Ki n trúc và Qu n tr

Trang 113

www.updatesofts.com

10.2.2. S d ng và gi i phóng các extent
Khi m t tablespace sau: ư c t o, các data files thu c tablespace s ch a các ph n thông tin

Header block, tương ng v i block u tiên c a file Ph n còn l i c a data file là các ph n còn tr ng

Hình v 40. S d ng và gi i phóng các extents

M i khi segments ư c t o l p, nó s ư c c p phát m t vùng không thích h p t nh ng extents còn tr ng trong tablespace. Segment s c g ng s d ng nhi u nh t các vùng không gian liên ti p nhau. Sau khi c p phát, extent ó s ư c xem là used extent (extent ã ư c s d ng). Khi các segments gi i phóng vùng không gian, các extents tương ng v i nó s ư c gi i phóng và ưa vào vùng free extents (extents r i) c a tablespace. V i vi c c p phát và gi i phóng các extents có th gây nên hi n tư ng phân o n vùng d li u trong các data files c a tablespace.

10.2.3. K t h p các vùng không gian tr ng
Ta có th th c hi n vi c k t h p các vùng không gian tr ng liên ti p nhau m i khi các extents trong cùng m t tablespace ư c gi i phóng. i u này r t d x y ra, ví d : khi có hai table b hu (dropped). Các extents tr ng này có th ư c k t h p l i thành m t extent trong các i u ki n: Khi ti n trình SMON kh i t o m t space transaction k t h p các extents tr ng. Khi Oracle server c n ph i c p phát vùng tr ng mà nó c n t i lư ng không gian tr ng l n hơn không gian c a m t extent. K t h p theo yêu c u c a qu n tr viên database.

ORACLE 9i – Ki n trúc và Qu n tr

Trang 114

www.updatesofts.com

Hình v 41. K t h p các vùng không gian tr ng

Lưu ý Ti n trình SMON s ch k t h p các extent trong cùng tablespaces khi mà PCTINCREASE l n hơn 0. Trong storage clause m c nh c a tablespaces, t PCTINCREASE=1 khi ó các user objects có th ư c t ng k t h p các vùng tr ng m i khi nó ư c gi i phóng. Yêu c u k t h p vùng tr ng View DBA_FREE_SPACE_COALESCED ư c dùng xem tablespace nào có các extents r ng có th k t h p ư c v i nhau. S d ng câu lênh truy v n sau ây l y các thông 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. Th c hi n k t h p các vùng không gian tr ng trong tablespace b ng l nh dư i ây: ALTER TABLESPACE tablespace COALESCE; Trong OEM, ta th c hi n theo các bư c sau 1. S d 2. Chuy 3. Ch n 4. Ch n ng công c Oracle Tablespace Manager. n t i nút Expand Tablespaces. tablespace tương ng. m c Tools—>Coalesce Free Extents.

ORACLE 9i – Ki n trúc và Qu n tr

Trang 115

www.updatesofts.com

10.3.BLOCK D

LI U

10.3.1. C u trúc c a block d li u

Hình v 42. C u trúc c a Block d li u

Các Blocks d li u c a Oracle ư c c u thành t các ph n sau: Block header (vùng u): Header ch a a ch c a block d li u, thông tin v table directory, row directory, và các transaction slots. Thông tin trong Block headers s tăng d n theo hư ng t trên xu ng dư i. Data space (vùng d li u): Các dòng d li u ư c n p vào block theo hư ng t dư i lên. Free space (vùng tr ng): Vùng tr ng trong block là vùng n m gi a vùng header và vùng không gian lưu tr dòng d li u. Ban u, vùng không gian tr ng là liên ti p v i nhau.Tuy nhiên sau m t th i gian s d ng, vùng không gian tr ng trong m t block có th b phân o n do vi c xoá và c p nh t, thay i các dòng d li u. gi i quy t v n này, Oracle server cho phép th c hi n k t h p các phân o n d li u.

ORACLE 9i – Ki n trúc và Qu n tr

Trang 116

www.updatesofts.com

10.3.2. Các tham s s d ng không gian trong block
Các tham s s d ng không gian trong block ư c dùng không gian d li u và index trong các segments. Các tham s i u khi n song song i u khi n vi c s d ng vùng

Hình v 43. Các tham s s d ng không gian trong block

Các tham s INITRANS và MAXTRANS ch ra s lư ng kh i t o, s lư ng l n nh t các transaction slots, ư c t o trong m i index block hay data block. Các transaction slots ư c s d ng lưu gi các thông tin v các transactions làm thay i các block t i cùng m t th i i m. M i transaction ch s d ng m t transaction slot. INITRANS ư c gán giá tr m c nh b ng 1 cho data segment, và 2 cho index segment.

MAXTRANS ư c gán giá tr m c nh là 255, dùng t o ngư ng i v i các transactions ng th i có làm thay i các block d li u hay index block. Khi thi t l p giá tr này, vùng không gian cho các transaction slots s ư c mb o có th th c hi n các transaction m t cách hi u qu . Tham s i u khi n vùng lưu tr d li u

PCTFREE trong m t data segment ch lư ng ph n trăm vùng tr ng trong m i data block dành cho vi c tăng lên c a d li u do vi c c p nh t các dòng d li u trong block. Theo m c inh, PCTFREE là 10 ph n trăm. PCTUSED trong m t data segment ch lư ng ph n trăm t i thi u c a vùng không gian s d ng, theo ó Oracle Server lưu gi các block d li u c a table. M t block s ư c n p l i vào free list (danh sách tr ng) m i khi PCTUSED gi m xu ng. Free list c a m t segment là danh sách các blocks s n dùng cho vi c c p phát m i khi có dòng d li u ư c insert. Theo m c nh m i free list s ư c t o tương ng v i m i segment. Tham s FREELISTS xác nh s lư ng free list. M c nh, PCTUSED b ng 40 ph n trăm. PCTFREE và PCTUSED ư c tính toán theo ph n trăm vùng không gian c a d li u, t c là vùng không gian c a Block còn l i tr i vùng không gian header.

ORACLE 9i – Ki n trúc và Qu n tr

Trang 117

www.updatesofts.com

10.3.3. S d ng không gian trong block
c th , ta theo dõi các bư c vi c s d ng các vùng không gian trong block table có PCTFREE=20 và PCTUSED=40: Phase 1: Các dòng d li u ư c n p vào block cho t i khi Lúc này, ta không th insert thêm d li u vào Block. iv im t

80% (100-PCTFREE).

Hình v 44. S d ng vùng không gian trong block

Phase 2: 20% không gian còn l i s d ng cho vi c tăng kích thư c c a các dòng d li u do vi c c p nh t l i các dòng d li u này. Phase 3: Khi xoá dòng d li u trong block, vùng không gian tr ng trong block s tăng lên. Tuy nhiên, lúc này ta v n chưa th insert d li u vào block ư c. Phase 4: Khi vùng tr ng trong block t t i m c PCTUSED, ta l i có th insert d li u vào Block. Ta l i b t u t bư c 01.

10.3.4. Phân lo i m c
Tablespace SYSTEM TOOLS DATAn INDEXn RBSn TEMPn
Ký hi u * có nghĩa là ch

phân o n

i v i t ng lo i segment d ng M c phân o n

Phân lo i s Data dictionary Applications Data segments Index segments Rollback segments

Không x y ra R t ít Ít Ít Nhi u R t nhi u*

Temporary segments

úng v i các tablespaces thu c lo i PERMANENT

Hi n tư ng phân o n d li u x y ra v i m c khác nhau i v i các lo i segments khác nhau. Oracle khuy n cáo nên lưu tr d li u trên nhi u tablespaces khác nhau gi m thi u vi c s d ng lãng phí các vùng không gian.

ORACLE 9i – Ki n trúc và Qu n tr

Trang 118

www.updatesofts.com

Phân lo i các Objects và phân o n Các lo i objects khác nhau ư c li t kê dư i ây theo m c tăng d n v phân o n:

Các data dictionary objects, ngo i tr các audit table (b ng ki m tra), u không bao gi b dropped hay truncated. Vì th chúng không b phân o n trong tablespace. Vùng không gian s d ng cho vi c lưu tr các ng d ng luôn ư c c p phát và thu h i trong quá trình tái c u trúc l i b nh . Vì th , các tables lưu tr này có m c phân o n là th p. Data segment và index segements ư c s d ng cho vi c lưu tr d li u ngư i dùng thu c các ng d ng. Các i tư ng này thư ng có m c phân o n cao. Do các rollback segments ư c phân b l i extents m t cách t ng, chúng d gây ra hi n tư ng phân o n d li u trong h th ng. Temporary segments trong các permanent tablespaces thư ng xuyên ư c b x y ra hi n tư ng phân o n.

10.4.THÔNG TIN V C U TRÚC LU TR
10.4.1. Các view lưu tr thông tin
Thông tin v các tablespaces, data files, segments, và extents (thông tin v c ph n s d ng l n ph n còn tr ng) u có th l y t các t i n d li u. Thông tin v tablespace có th ư c lưu trong DBA_TABLESPACES. Thông tin v các file d li u c a database ư c lưu trong DBA_DATA_FILES. Thông tin v các vùng tr ng trong các data file, vùng tr ng c a extent ư c lưu trong DBA_FREE_SPACE. View DBA_SEGMENTS lưu gi thông tin v các segment. Tương t như v y, DBA_EXTENTS lưu gi thông tin v các extent.

Hình v 45. Các views ch a thông tin v c u trúc lưu tr

ORACLE 9i – Ki n trúc và Qu n tr

Trang 119

www.updatesofts.com

10.4.2. Xem thông tin v các segments
Thông tin ư c lưu trong DBA_SEGMENTS.

Hình v 46. Phân lo i các thông tin chính có trong DBA_SEGMENTS

Ta có th l y thông tin v các segments theo các lo i sau: Thông tin t ng h p: User s h u, tên segment, lo i segment, tên tablespace. Thông tin v kích c : extents, blocks. Thông tin lưu tr : INITIAL_EXTENT, NEXT_EXTENT, MIN_EXTENT, MAX_EXTENT, PCT_INCREASE Ví d : Xem s lư ng các extents và blocks ư c c p phát cho t ng segment do user SCOTT s h u. 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

ORACLE 9i – Ki n trúc và Qu n tr

Trang 120

www.updatesofts.com

10.4.3. Thông tin v các extents
Thông tin ư c lưu trong DBA_EXTENTS.

Hình v 47. Phân lo i các thông tin chính có trong DBA_EXTENTS

Ta có th l y thông tin v các extents theo các lo i sau: Thông tin nh n d ng: User s h u, tên segment, mã hi u extent Thông tin v kích c và nơi t: TABLESPACE_NAME, RELATIVE_FNO, FILE_ID, BLOCK_ID, BLOCKS

Ví d : Xem thông tin chi ti t v các extents có trong m t segment cho trư c 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

ORACLE 9i – Ki n trúc và Qu n tr

Trang 121

www.updatesofts.com

10.4.4. Thông tin v các vùng tr ng
Thông tin v các vùng tr ng ư c lưu trong DBA_FREE_SPACE.

Hình v 48. Phân lo i các thông tin chính có trong DBA_FREE_SPACE

View này ch a các thông 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.

ORACLE 9i – Ki n trúc và Qu n tr

Trang 122

www.updatesofts.com

Chương 11. QU N LÝ ROLLBACK SEGMENTS
11.1.GI I THI U ROLLBACK SEGMENTS
11.1.1. Khái ni m
M i khi có s thay i d li u trong database, các d li u cũ u ư c lưu l i có th khôi ph c l i tr ng thái c a d li u trư c khi thay i. Rollback segment ư c dùng lưu tr các giá tr cũ ó. Rollback segment lưu gi các thông tin v block như block ID, và các d li u ã s a i c a block.

Hình v 49. Rollback segment

Ph n u (header) c a m t rollback segment ch a m t transaction table là nơi lưu gi thông tin v các giao d ch hi n th i có s d ng t i rollback segment ang xem xét. M i transaction ch có th s d ng duy nh t m t rollback segment lưu gi các d li u dùng khôi ph c. Nhi u transactions có th ng th i ghi d li u lên rollback segment.

11.1.2. M c ích s d ng segment
Transaction rollback Khi m t transaction th c hi n các thay i i v i các dòng d li u trong table, các giá tr ban u (old image) s ư c lưu gi vào rollback segment. Khi transaction ó ư c rolled back (l y l i), các d li u cũ lưu trong rollback segment s ư c l y ra và è lên d li u hi n t i trong block, ph c h i l i các giá tr nguyên thu .

ORACLE 9i – Ki n trúc và Qu n tr

Trang 123

www.updatesofts.com

Hình v 50. M c ích c a rollback segment

Ph c h i các Transaction Trong trư ng h p m t instance g p l i khi các transactions ang th c hi n, Oracle server c n ph i khôi ph c l i các d li u chưa commit. Rollback trong trư ng h p này ư c g i là ph c h i d li u. Vi c này ch th c hi n ư c khi các thay i i v i các rollback segments ã ư c k t h p b o v b i các redo log files. Nh t quán trong vi c cd li u

Khi m t th c hi n các transactions, các users trong database s không th th y ư c các d li u ã b thay i mà chưa ư c commit b i transactions. Các d li u cũ lưu trong rollback segments s v n ư c s d ng cung c p cho các users khác nh m m b o nh t quán d li u cho các user ó.

11.1.3. Phân lo i rollback segment
SYSTEM Rollback Segment SYSTEM rollback segment ư c t o ngay trong SYSTEM tablespace m i khi m t database ư c t o l p. Rollback segment này ch ư c s d ng i v i các thay i d li u c a các i tư ng n m trong SYSTEM tablespace. Non-SYSTEM Rollback Segments M t database có th có nhi u tablespaces và nên có ít nh t m t non-SYSTEM rollback segment. Các non-SYSTEM rollback segment do qu n tr viên database t o l p có th ư c s d ng lưu gi các thay i trên các i tư ng có trong các non-SYSTEM tablespace khác. Có hai lo i non-SYSTEM rollback segments. Private: Private rollback segments là các segments ư c s d ng riêng cho m i instance. Public: Public rollback segments là m t ph n c a rollback segments có trong database. Public rollback segments có th ư c s d ng b i Oracle Parallel Server.

ORACLE 9i – Ki n trúc và Qu n tr

Trang 124

www.updatesofts.com

11.2.S

D NG ROLLBACK SEGMENT

11.2.1. S d ng rollback segment trong các transaction
C p phát các Rollback Segment i v i các transaction ph i x lý m t kh i lư ng l n các d li u, ta c n gán transaction này v i m t rollback segment riêng chuyên làm nhi m v lưu gi các tr ng thái ban u c a d li u. Chú ý gán rollback segments cho m t transaction: Lư ng trư c kh i lư ng thông tin trong transaction c n rollback phù h p (fit) v i kích thư c c a vùng tr ng (extents) hi n th i c a rollback segment. C p phát v a các vùng tr ng và không c n c p phát b các vùng tr ng (extents) cho rollback segments ã ư c gán cho transaction vì i u này có th d n n vi c gi m hi u su t th c hi n c a h th ng. gán m t transaction cho m t rollback segment m t cách tư ng minh thì rollback segment ó c n ph i ang tr ng thái online. C n th c l nh l nh SET TRANSACTION USE ROLLBACK SEGMENT trư c khi th c hi n các l nh trong transaction ó. N u tr ng thái c a rollback segment là offline ho c câu l nh SET TRANSACTION USE ROLLBACK SEGMENT không ư c t v trí u tiên c a transaction thì h th ng s phát sinh m t l i. Ví d : s d ng l nh gán rollback segment cho transaction t i th i i m b t
SET TRANSACTION USE ROLLBACK SEGMENT large_rs1;

u transaction:

Sau khi transaction ư c commit, rollback segment này l i ư c Oracle ưa v tr ng thái s n sàng s d ng. Oracle s t ng gán transaction ti p theo cho m t rollback segment b t kỳ nào ang còn r i (available) tr phi transaction này l i ư c ti p t c gán cho rollback segment b ng tay b i user. S d ng các extents Các transactions s d ng extents trong rollback segment theo m t trình t xoay vòng. Theo ó, transaction s ghi d li u thay i vào extent hi n th i, r i ti p t c chuy n t i các extent k ti p. Khi extent cu i cùng ư c s d ng y, nó l i quay tr v extent 1. rõ hơn, ta xem xét m t ví d sau: Có hai transaction cùng s d ng m t rollback segments có 04 extents.

Hình v 51. S d ng d li u trong rollback segment ORACLE 9i – Ki n trúc và Qu n tr Trang 125

www.updatesofts.com

1. T i th i i m b t u, giao d ch b t u ghi d li u vào Extent 3 2. Trong khi th c hi n, các transaction s ghi d li u vào Extent 3 cho t i khi y r i ti p t c chuy n sang ghi d li u lên Extent 4. 3. Khi Extent 4 cũng y, nó ti p t c l i quay tr l i ghi d li u vào extent 1 n u extent này tr ng thái r i ho c inactive. M t extent là r i ho c inactive n u hi n th i nó không b s d ng b i b t kỳ m t transaction nào.

11.2.2. Tăng trư ng

i v i các rollback segments

Rollback segment có con tr xác nh extent ang làm vi c. Khi extent làm vi c y, con tr s chuy n sang extent k ti p th c hi n vi c ghi d li u. C như v y cho n extent cu i cùng r i l i quay tr v extent u tiên n u extent này ang r i. Tuy nhiên, có nhi u kh năng extent u tiên này cũng ang không r i. Khi ó, con tr không th nh y cách mà b qua extent 1 chuy n sang extent 2 ư c. ti p t c duy trì ho t ng cho transaction, c n ph i b sung thêm m t extent n a vào sau extent cu i cùng. Vi c này t o nên s tăng trư ng i v i các rolback segments. Vi c tăng trư ng i v i các rolback segments s ti p t c x y ra cho t i khi s lư ng các extents tăng k ch khung quy nh trong tham s MAXEXTENTS.

Hình v 52. Tăng kích thư c Rollback Segment

Sau khi rollback segments ã ư c t o l p, qu n tr viên database v n có th thay i tham s lưu tr c a rollback segments. thay i, qu n tr viên ch c n i u ch nh các tham s OPTIMAL hay MAXEXTENTS cho phù h p. Ví d : Câu l nh sau thay RBS_01. i s lư ng t i a các extents c p phát cho rollback segments

ALTER ROLLBACK SEGMENT rbs_01 STORAGE (MAXEXTENTS 120);

V i câu l nh thay i này, ta cũng có th c tham s OPTIMAL.

i u ch nh v i rollback segment SYSTEM , bao g m

ORACLE 9i – Ki n trúc và Qu n tr

Trang 126

www.updatesofts.com

11.2.3. T i ưu các rollback segments
Khi k t thúc ho c commit các transaction, nó s gi i phóng vùng không gian ã s d ng lưu các d li u dùng ph c h i. Các extent trong rollback ư c ưa tr l i tr ng thái inactive. ti t ki m không gian lưu tr trong rollback segment, ta có th t i ưu l i rollback segment ó thông qua tham s OPTIMAL.

Hình v 53. Gi m kích thư c c a Rollback segment

Oracle server s thu h i l i các extent ã c p phát khi: Kích thư c c a rollback segment hi n t i ư c i u ch nh t i giá tr c a tham s OPTIMAL. Khi có nhi u hơn 02 extent r i liên ti p c nh nhau. M t i u lưu ý là khi thu h i l i các extent, Oracle server s thu h i extent ch a d li u lâu nh t trư c ó. Ta có th th c hi n gi m b t kích thư c c a rollback segments thông qua vi c s d ng câu l nh ALTER ROLLBACK SEGMENT. Lưu ý, khi này rollback segment ư c thu nh nh t thi t ph i ang tr ng thái online. Ví d : Thu nh kích thư c rollback segment RBS1 b ng 100K:
ALTER ROLLBACK SEGMENT rbs1 SHRINK TO 100K;

Câu l nh phía trên th c hi n rút b t kích thư c c a rollback segment t i kích thư c như ã ư c ch ra. Tuy nhiên, vi c rút g n s d ng l i khi có m t extent không th b thu h i do b t kỳ nguyên nhân nào.

11.3.QU N LÝ ROLLBACK SEGMENTS
11.3.1. S d ng rollback segment
Kích thư c c a rollback segment Kích thư c c a rollback ư c xác nh tuỳ thu c vào hai y u t sau:

Lo i transaction ư c th c hi n (insert, update, delete, ...) Lư ng d li u ư c x lý

ORACLE 9i – Ki n trúc và Qu n tr

Trang 127

www.updatesofts.com

Thông thư ng, vi c thêm m i b n ghi vào b ng c n ít không gian lưu gi thông tin ph c h i hơn là vi c xoá d li u kh i b ng. V i thao tác thêm m i, ch c n lưu gi ROWID vào rollback, trong khi thao tác delete l i c n ph i lưu gi toàn b dòng d li u. ánh giá kích thư c c a rollback segment căn c rollback segment. S lư ng các Extents V i các rollback segment có quá nhi u các extents s gây ra lãng phí không gian lưu tr d li u, gi m b t lãng phí, ta có th i u ch nh tham s MINEXTENTS cho phù h p. Oracle khuy n ngh , thông thư ng, MINEXTENTS nên t giá tr là 20. theo transaction dài nh t có s d ng

11.3.2. T o rollback segment
Ta có th t o rollback segment thông qua câu l nh SQL: Cú pháp: 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}] ) ]

Lưu ý: M t rollback segment có th là PUBLIC ho c PRIVATE (m c nh) vi c gán này ư c th c hi n ngay lúc t o và không th thay i sau này. MINEXTENTS>=2 i v i các rollback segment. PCTINCREASE ư c b qua i v i các rollback segment và ư c gán b ng 0. OPTIMAL, n u có ch ra thì không ư c nh hơn giá tr kích thư c kh i t o c a rollback segment ư c xác nh trong tham s MINEXTENTS. INITIAL=NEXT m b o các extent trong rollback segment có cùng m t kích thư c. Không nên gán giá tr cho MAXEXTENTS là UNLIMITIED vì như v y s d n n vi c m r ng các extent m t cách không c n thi t. Nên t rollback segment trong m t tablespace riêng bi t gi m b t hi n tư ng phân o n d li u trong database.

Ví d : CREATE ROLLBACK SEGMENT rbs01 TABLESPACE rbs STORAGE ( INITIAL 100K NEXT 100K OPTIMAL 4M MINEXTENTS 20 MAXEXTENTS 100);

ORACLE 9i – Ki n trúc và Qu n tr

Trang 128

www.updatesofts.com

Trong Oracle Enterprise ta th c hi n theo các bư c sau: 1. Ch y Oracle Storage Manager. 2. Ch n Rollback—>Create. 3. Trong ph n General page, nh p vào tên, tablespace, và ki u tương Online trong radio button. 4. Trong ph n Extents, nh p vào các thông tin v rollback segments. 5. B m nút Create.

ng. Ch n m c

11.3.3. Thay

i tr ng thái c a Rollback segments

Rollback segments có th nh n m t trong hai tr ng thái ONLINE/OFFLINE Khi rollback segment có tr ng thái online thì nó s n sàng s d ng cho các transactions, ngư c l i, tr ng thái offline cho bi t nó không s n sàng cho các transactions. Thông thư ng, rollback segments là online và s n dùng cho các transactions. Trong m t s tình hu ng nh t rollback segments: nh, ta c n t tr ng thái online hay ofline i v i các

Khi tr ng thái c a tablespace là online, n u tablespace có ch a các rollback segments, ta s không th t tr ng thái tablespace thành offline n u có b t kỳ m t transaction nào v n còn ang s d ng các rollback segments thu c tablespace ó. x lý ư c tình hu ng này, ta c n thay i tr ng thái c a rollback segments thành offline ngăn không cho s d ng các rollback segments trư c khi thay i tr ng thái c a tablespace là offline. Khi ta mu n drop (hu ) các rollback segments, nhưng không th th c hi n ư c do v n còn transactions ang s d ng nó. x lý ư c tình hu ng này, ta c n ngăn không cho s d ng rollback segment thông qua vi c t l i tr ng thái rollback segments là offline. Sau khi t o m i m t rollback segment, nó s có tr ng thái offline và chưa th s d ng ngay ư c. có th s n dùng cho các transaction, rollback segment c n ư c chuy n tr ng thái thành online thông qua câu l nh ALTER ROLLBACK SEGMENT Cú pháp: ALTER ROLLBACK SEGMENT rollback_segment ONLINE | OFFLINE Rollback segment s có tr ng thái online cho t i khi instance b t t (shutdown). t tr ng thái online cho rollback segments ngay khi startup database m b o cho các rollback segments luôn nh n tr ng thái online ngay khi kh i ng (startup) database, ta c n ch rõ tên c a rollback segments trong tham s ROLLBACK_SEGMENTS c a parameter file. Ví d : ROLLBACK_SEGMENTS=(rbs01, rbs02, rbs03) Lưu ý: S lư ng t i a các rollback segment online tham s MAX_ROLLBACK_SEGMENT. i v i m t instance ư c xác nh b i

Trong OEM ta có th th c hi n theo các bư c sau: 1. Ch y Oracle Storage Manager.
ORACLE 9i – Ki n trúc và Qu n tr Trang 129

www.updatesofts.com

2. 3. 4. 5.

Chuy n t i nút Rollback Segments. Ch n rollback segment tương ng. Ch n Rollback—>Place Online/ Take Offline. Trong h p tho i xác nh n, b m nút Yes.

11.3.4. Instance s d ng rollback segment
c th , ta xem xét các bư c th c hi n khi m t instance s d ng rollback segment 1. Instance s d ng t t c ROLLBACK_SEGMENTS. các rollback segments có tên trong ph n tham s ư c s

2. Tham s TRANSACTIONS và TRANSACTIONS_PER_ROLLBACK_SEGMENT d ng tính toán s lư ng rollback segments c n thi t cho m t instance:

V i: N T TRP S lư ng rollback segment c n thi t tham s TRANSACTIONS Giá tr

Giá tr tham s TRANSACTIONS_PER_ROLLBACK_SEGMENT

3. Trong trư ng h p N nh hơn hay b ng s lư ng non-SYSTEM rollback segments có ư c, instance cũng s không c n t i nhi u rollback segments hơn. 4. Khi giá tr c a N l n hơn hay b ng s các non-SYSTEM rollback segments dành cho instance, khi ó òi h i ph i s d ng thêm c các public rollback segments.

11.3.5.

i u ch nh kh năng lưu tr c a rollback segment

Ta có th i u ch nh các tính ch t lưu tr c a t ng rollback segment thông qua l nh ALTER ROLLBACK SEGMENT Cú pháp: ALTER ROLLBACK SEGMENT rollback_segment [STORAGE ( [NEXT integer[K|M]] [MINEXTENTS integer] [MAXEXTENTS {integer|UNLIMITED}] [OPTIMAL {integer[K|M]|NULL}] ) ] Trong OEM ta th c hi n theo các bư c sau: 1. 2. 3. 4. 5. Ch y Oracle Storage Manager. Chuy n t i nút Rollback Segments. Ch n rollback segment tương ng. Trong ph n Extents page, t l i các tham s tương ng. B m nút Apply.

11.3.6. Gi m b t

r ng c a rollback segment

ORACLE 9i – Ki n trúc và Qu n tr

Trang 130

www.updatesofts.com

Trong trư ng h p tham s OPTIMAL ư c ch rõ, Oracle server s có g ng th c hi n c p phát và gi i phóng vùng không gian d a theo giá tr c a tham s OPTIMAL. Ngư c l i, ta có th th c hi n c p phát không gian thông qua l nh tr c ti p: ALTER ROLLBACK SEGMENT rollback_segment SHRINK [ TO integer [ K|M ]]; Trong trư ng h p tham s integer không rollback segment v t i giá tr OPTIMAL ư c ch rõ, Oracle s gi m lư ng không gian

Trong OEM ta có th th c hi n theo các bư c sau: 1. 2. 3. 4. 5. Ch y Oracle Storage Manager. Chuy n t i nút Rollback Segments. Ch n rollback segment tương ng. Ch n Rollback—>Shrink. Trong h p tho i Shrink Rollback Segment, ch n Optimal Size rút g n kích thư c rollback segment theo kích thư c ã ư c t i ưu. Ho c ch n Size r i nh p vào giá tr kích thư c cho vùng không gian tương ng. 6. B m nút OK.

11.3.7. H y b rollback segment
Trong m t s trư ng h p không c n s d ng các rollback segment, ta có th rollback segment thông qua câu l nh SQL: DROP ROLLBACK SEGMENT rollback_segment; Trong OEM, ta làm theo các bư c sau: 1. 2. 3. 4. Ch n Oracle Storage Manager. Chuy n t i nút Rollback Segments. Ch n rollback segment tương ng. Ch n Rollback—>Remove. Ta ch có th h y các rollback segment offline. 5. B m nút Yes trong h p tho i xác nh n. h y các

ã

tr ng thái

11.3.8. Qu n lý undo t

ng

Kh năng qu n lý undo t ng (Automatic Undo Management - AUM) là m t c i m khá m i c a Oracle 9i. Cung c p cơ ch tin c y hơn cho DBA khi t o, thay i kích thư c và i u ch nh rollback segments trong database. Theo ó, Rollback segments có th ư c t o, xoá hay i u ch nh kích thư c m t cách t ng b i instance. D li u rollback data ư c qu n lý nh vào undo tablespace. Ví d : t o undo tablespace CREATE UNDO TABLESPACE “UNDO_TBS” DATAFILE ‘/u01/oradata/freeney9/undo_tbs01.ora’ SIZE 100M AUTOEXTEND ON NEXT 10M MAXSIZE 700M
ORACLE 9i – Ki n trúc và Qu n tr Trang 131

www.updatesofts.com

M t s tham s kh i t o chính: UNDO_MANAGEMENT (MANUAL / AUTO): Cho bi t database có s d ng cơ ch AUM hay không. Default = MANUAL UNDO_TABLESPACE (valid tablespace): Ch rõ tên undo tablespace s d ng. UNDO_RETENTION (in seconds default=30): Cho bi t th i gian tr th c hi n committed undo. UNDO_SUPPRESS_ERRORS (TRUE / FALSE): Cho bi t h th ng có tr v exception hay không khi “SET TRANSACTION USE ROLLBACK SEGMENT” phát l i. Default = TRUE

11.4.THÔNG TIN V CÁC ROLLBACK SEGMENT
Thông tin v các rollback segment ư c lưu gi trong t i n d li u.

11.4.1. Xem thông tin chung v các rollback segment
Thông tin chung v rollback segment ư c lưu trong view DBA_ROLLBACK_SEGS.

Hình v 54. Các thông tin chính v rollback segments

Các thông tin bao g m: SEGMENT_ID: Mã hi u c a segment SEGMENT_NAME: Tên segment TABLESPACE_NAME: Tên tablespace ch a segment OWNER (PUBLIC/SYS): Tên user s h u segment STATUS (ONLINE/OFFLINE): Tr ng thái c a segment

Ví d : Xem thông tin chung v segment SVRMGR> SELECT segment_name, tablespace_name, owner, status 2> FROM dba_rollback_segs; SEGMENT_NAME TABLESPACE_NAME OWNER STATUS

ORACLE 9i – Ki n trúc và Qu n tr

Trang 132

www.updatesofts.com

--------------------SYSTEM SYSTEM RBS1 RBS RBS2 RBS RBS3 RBS 4 rows selected.

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

--------

D li u trong c t OWNER nh n các giá tr : SYS: Rollback ó thu c lo i private PUBLIC: Rollback ó thu c lo i public

11.4.2. Xem thông tin th ng kê v rollback segment
Ta l y ư c các thông tin này t các view V$ROLLSTAT và V$ROLLNAME.

Hình v 55. Các thông tin th ng kê v segments

Ví d : Xem các thông tin thông 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.

ORACLE 9i – Ki n trúc và Qu n tr

Trang 133

www.updatesofts.com

Di n gi i m t s c t d li u trong view V$ROLLSTAT Tên c t USN EXTENTS RSSIZE XACTS OTPSIZE HWMSIZE AVEACTIVE STATUS Di n gi i Là s hi u c a rollback segment (Rollback segment number) S lư ng các extents có trong rollback segment Kích thư c c a segment hi n th i tính theo ơn v bytes S lư ng các transaction s d ng rollback segment Giá tr OPTIMAL c a rollback segment Hight warter mark; kích thư c t i a tính theo bytes, khi rollback segment tăng Kích thư c c a extent hi n th i, Tr ng thái c a rollback segment

11.4.3. Thông tin v rollback segment ang active
Ta có th k t h p thông tin trong hai b ng V$TRANSACTION và V$SESSION.

Hình v 56. Thông tin v các thao tác trên các 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 134

ORACLE 9i – Ki n trúc và Qu n tr

www.updatesofts.com

2 rows selected. Di n gi i m t s c t d li u Tên c t SES_ADDR XIDUSN UBAFIL, UBABLK, UBASQN,UBAREC USED_UBLK START_UEXT, START_UBAFIL, START_UBABLK Di n gi i a ch c a session, l y ư c t V$SESION.SADDR S hi u c a Rollback segment ư c s d ng b i transaction V trí hi n th i c a rollback segment mà transaction s ghi vào

S hi u block undo ư c t o ra b i transaction S hi u c a extent (file, block) thu c rollback segment mà transaction b t u ghi d li u

11.5.CÁC V N
Nguyên nhân

LIÊN QUAN T I ROLLBACK SEGMENT

11.5.1. Thi u không gian cho các transactions
Do m t transaction không ư c s d ng nhi u rollback segments nên có th x y ra tình tr ng thi u vùng không gian cho các rollback segment và gây ra l i (ORA-01562). Nguyên nhân có th là m t trong các trư ng h p sau: Không có không gian trong tablespace (ORA-01560) S lương các extents trong rollback segment ã t t i giá tr MAXEXTENTS và không th b sung thêm các extent vào rollback segment (ORA-01628) Gi i pháp V i l i ORA-01560: M r ng thêm các data files trong tablespace t ch cho các data files là AUTOEXTEND B sung m i data file vào tablespace V i l i ORA-01628: Tăng tham s MAXEXTENTS c a rollback segment Hu và t o l i rollback segment v i kích thư c c a extent l n hơn

11.5.2. L i
Nguyên nhân

c d li u không

ng nh t

Oracle server c g ng m b o các câu l nh s ch x lý trên các d li u ã ư c commit. Vì th , các d li u chưa commit s không ư c s d ng. Trong trư ng h p Oracle server không t o ư c các b n lưu giá tr cũ các d li u (read-consistent image of data), user s nh n ư c l i ORA-01555 snapshot too old. L i này x y ra khi transaction thay i các d li u ã ư c commit và: Transaction slot có trong ph n rollback header ang ư c s d ng

ORACLE 9i – Ki n trúc và Qu n tr

Trang 135

www.updatesofts.com

Giá tr ban u (before-image) trong rollback segment transaction khác Gi i pháp Tăng ch s MINEXTENTS M r ng kích thư c extent Tăng giá tr OPTIMAL

ư c ghi

è lên b i m t

11.5.3. Ch n session

Hình v 57. Ch n session

V n Khi m t extent trong rollback segment ư c ghi y, Oracle server s ti p t c s d ng extent k ti p theo cơ ch xoay vòng. Trong trư ng h p extent k ti p v n ang trong tình tr ng active, transaction s không s d ng ư c nó. M t khác, nó cũng không th b qua extent k ti p chuy n t i extent sau n a n u nó r i. Khi ó, rollback segment s ư c b sung thêm các extent. Vi c làm này làm cho rollback segment ngày m t m r ng và qu n tr viên c n ph i can thi p h n ch vi c m r ng này. Gi i pháp Qu n tr viên database c n th c hi n ki m tra thông tin c a các transaction ang ư c th c hi n thông qua vi c l y thông tin t các view V$ROLLSTAT, V$TRANSACTION, V$SESSION phát hi n các transaction ang b c n tr , t ó th c hi n vi c i u ch nh cho phù h p. Công vi c ki m tra và giám sát này ư c th c hi n b ng tay b i ngư i qu n tr database.

Ví d : Xem thông tin v các transactions ang ư c th c hi n 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
ORACLE 9i – Ki n trúc và Qu n tr Trang 136

www.updatesofts.com

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

ORACLE 9i – Ki n trúc và Qu n tr

Trang 137

www.updatesofts.com

Chương 12. QU N LÝ TEMPORARY SEGMENTS
12.1.TEMPORARY SEGMENTS
Temporary segments ư c s d ng khi Oracle server th c các hi n câu l nh s p x p mà không th s d ng vùng không gian trong b nh do không , ví d như: SELECT. . . ORDER BY CREATE INDEX SELECT DISTINCT SELECT. . . GROUP BY SELECT. . . UNION Dung lư ng b nh c n thi t cho ti n trình s p x p ư c xác nh d a trên tham s kh i t o SORT_AREA_SIZE. Trong m t s trư ng h p, nhi u thao tác s p x p cùng ư c s d ng và c n nhi u b nh hơn. Khi này b nh trong c a máy là không th áp ng ư c và k t qu c a vi c s p x p ó c n ph i ư c t m th i lưu lên ĩa. Vùng ĩa lưu tr các d li u trung gian này chính là temporary segments. Temporary segments trong tablespace ư c Oracle server t o l p v i m c ích s d ng làm vùng nh trung gian h tr thao tác s p x p.

Hình v 58. Temporary segment

ORACLE 9i – Ki n trúc và Qu n tr

Trang 138

www.updatesofts.com

12.1.1. Phân lo i temporary segments
Các temporary segments có th ư c t o trên m t permanent tablespace ho c trên m t temporary tablespace. User có th s d ng m t trong các ki u tablespaces này s p x p.

Hình v 59. Phân lo i temporary segment

Temporary Tablespace M t temporary tablespace ư c s cho các temporary segments tương ng và không ch a b t kỳ segment nào có ki u khác. Ta có th t o các temporary tablespace theo câu l nh SQL sau: CREATE TABLESPACE tablespace_name TEMPORARY DATAFILE filespec [autoextend_clause] [ , filespec [autoextend_clause]] ...

M t permanent tablespace có th chuy n s d ng câu l nh:

i thành d ng temporary tablespace b ng cách

ALTER TABLESPACE tablespace_name TEMPORARY

Lưu ý: v i câu lênh trên, tablespace không ư c phép ch a b t kỳ m t i tư ng thư ng trú nào (như: table, store procedure, ...). M t temporary tablespace có th chuy n i l i thành permanent tablespace thông qua câu l nh SQL dư i ây: ALTER TABLESPACE tablespace_name PERMANENT

Oracle server có th t o m t temporary segment trong m t permanent tablespace v i s i u ki n sau: User th c hi n câu l nh s p x p c n n vùng không gian trên ĩa. User ch y câu l nh mà nó ã ư c gán cho m t permanent tablespace s p x p. th c hi n

Khi m t permanent tablespace ư c s d ng cho vi c s p x p, m t instance có th có m t ho c nhi u temporary segment trong tablespace. M t temporary segment s ư c h y b i ti n trình n n SMON khi k t thúc câu l nh s p x p và vùng không gian ã c p phát s ư c gi i phóng cho các i tư ng khác c a database
ORACLE 9i – Ki n trúc và Qu n tr Trang 139

www.updatesofts.com

s d ng. Permanent tablespaces ư c s d ng cho vi c s p x p, có ba vùng không gian trong tablespace có th ư c phân vùng khác nhau. Thông thư ng, m i tablespace nên ư c s d ng cho t ng ti n trình s p x p khác nhau. Khi m t temporary tablespaces ư c s d ng cho các temporary segments, Instance ch t o m t segment dùng s p x p cho tablespace. M t vài transactions c n n s p x p trên ĩa có th s d ng cùng segment. Tuy nhiên, m t extent thì không th cùng chia s ng th i cho nhi u transactions khác nhau.

12.1.2. S d ng các Sort Segments
Sort segment ư c t o b i câu l nh s p x p u tiên s d ng t i temporary tablespace cho vi c s p x p. Và sort segment ch b h y khi t t (shutdown) database. Vi c này làm gi m b t s l n c p phát và thu h i các sort segments ph c v cho công vi c s p x p, làm tăng năng su t h th ng. Oracle không h n ch s lư ng các extents c p phát cho m i sort segment thu c m t temporary tablespace.

12.1.3. Sort Extent Pool
Oracle server lưu l i chi ti t sort segment trong vùng Sort Extent Pool c a vùng nh SGA, m i câu l nh c n t i các vùng tr ng th c hi n s p x p có th tìm các extent r i trong vùng nh này.

12.2.C P PHÁT KHÔNG GIAN CHO TEMPORARY SEGMENT
Temporary tablespaces ư c s d ng tăng hi u qu s p x p d li u. Kích thư c c a các extents trong temporary segment ư c xác nh b i DEFAULT STORAGE clause c a tablespace tương ng. Do lư ng d li u ghi lên temporary segment b ng ph n nguyên l n giá tr SORT_AREA_SIZE. Do v y, ta nên t INITIAL = NEXT = (n*SORT_AREA_SIZE)+ DB_BLOCK_SIZE Giá tr PCTINCREASE=0, m b o các extents có cùng kích thư c.

ORACLE 9i – Ki n trúc và Qu n tr

Trang 140

www.updatesofts.com

12.3.THÔNG TIN V CÁC TEMPORARY SEGMENT

Hình v 60. Thu nh n thông tin v database instance

Ta có th l y ư c các thông tin v temporary segment trong m t s b ng t DBA_SEGMENTS: ch a thông tin v t t c các lo i segments trong database.

i n d li u:

V$SORT_SEGMENT: cho bi t tr ng thái c a các sort extent pool (vùng không gian s p x p). V i t i n d li u này, ta có th bi t ư c nh ng thông tin sau: Tên c t TABLESPACE_NAME EXTENT_SIZE TOTAL_EXTENTS TOTAL_BLOCKS USED_EXTENTS USED_BLOCKS FREE_EXTENTS FREE_BLOCKS MAX_SORT_SIZE MAX_SORT_BLOCKS Ví d : SVRMGR> SELECT tablespace_name, extent_size, 2> total_extents, max_sort_blocks 3> FROM v$sort_segment; TABLESPACE_NAME EXTENT_SIZ --------------- ---------TEMP 128 1 row selected.
ORACLE 9i – Ki n trúc và Qu n tr

Di n gi i Tên temporary tablespace Kích thư c c a extent T ng s các extents T ng s các blocks S lư ng extents ã s d ng S lư ng blocks ã s d ng S lư ng extents còn tr ng S lư ng blocks còn tr ng Kích thư c t i a c a vùng d li u s p x p S lư ng blocks t i a dùng s p x p d li u

TOTAL_EXTE ---------1

MAX_SORT_B ---------128

Trang 141

www.updatesofts.com

MAX_SORT_SIZE và MAX_SORT_BLOCKS là s lư ng các extents và các blocks s d ng b i phép s p x p l n nh t. Thông tin này là h u ích trong vi c i u ch nh kích thư c c a temporary tablespace

V$SORT_USAGE: cho bi t thông tin v các s p x p hi n có c a instance, ta k t h p v i V$SESSION bi t thêm các thông 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.

ORACLE 9i – Ki n trúc và Qu n tr

Trang 142


								
To top