Docstoc

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

Document Sample
Kien truc va quan tri co so du lieu Olacle 9i Powered By Docstoc
					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


				
DOCUMENT INFO
Shared By:
Categories:
Tags:
Stats:
views:277
posted:6/17/2008
language:French
pages:142