YOMEDIA
ADSENSE
Oracle9i Kiến thức và quản trị- P11
88
lượt xem 11
download
lượt xem 11
download
Download
Vui lòng tải xuống để xem tài liệu đầy đủ
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
AMBIENT/
Chủ đề:
Bình luận(0) Đăng nhập để gửi bình luận!
Nội dung Text: Oracle9i Kiến thức và quản trị- P11
- www.updatesofts.com 9.8.1. Xem thông tin tablespace xem thông tin v tablespace, ta có th l y trong data dictionary views. View 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 Di n gi i TABLESPACE_NAME Tên tablespace NEXT_EXTENT Kích thư c c a các extent m r ng tính theo bytes MAX_EXTENTS S lư ng t i a các extents trong m t segment PCT_INCREASE Ph n trăm tăng trư ng kích thư c c a các extents MIN_EXTENTS S lư ng t i thi u các extents trong m t segment STATUS Tr ng thái c a tablespace là Online hay Offline CONTENTS Phân lo i tablespace là permanent hay temporary 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 NEXT_EXT MIN_EXTENT MAX_EXTENT PCT_I MIN_EXTLEN --------------- ---------- -------- ---------- ---------- ----- --------- SYSTEM 1240 10240 1 121 50 0 RBS 10240 10240 1 121 50 0 TEMP 262144 262144 1 999 50 131072 DATA01 204800 204800 1 999 50 51200 4 rows selected. SVRMGR> SELECT tablespace_name, contents,status 2> FROM dba_tablespaces; TABLESPACE_NAME CONTENTS STATUS --------------- --------- ------ SYSTEM PERMANENT ONLINE RBS PERMANENT ONLINE TEMP TEMPORARY ONLINE DATA01 PERMANENT ONLINE 4 rows selected. 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 Di n gi i Tên file (có kèm ư ng d n) tương ng v i datafile FILE_NAME Tên c a tablespace ng v i datafile ó TABLESPACE_NAME ORACLE 9i – Ki n trúc và Qu n tr Trang 109
- www.updatesofts.com Dung lư ng tính theo bytes c a tablespace hi n th i BYTES Ch t ng m r ng dung lư ng c a datafile AUTOEXTENSIBLE Dung lư ng t i a MAXBYTES Ch s tăng t ng trong h th ng INCREMENT_BY Ví d : SVRMGR> SELECT file_name, tablespace_name, bytes, 2> autoextensible, maxbytes, increment_by 3> FROM dba_data_files; FILE_NAME TABLESPACE_NAME BYTES AUT MAXBYTES INCREMENT_BY --------- --------------- -------- ---- -------- ---------- /DISK1/system01.dbf SYSTEM 31457280 NO 0 0 /DISK2/rbs01.dbf RBS 5242880 NO 0 0 /DISK3/temp01.dbf TEMP 5242880 NO 0 0 /DISK4/data01.dbf DATA01 5242880 NO 0 0 /DISK5/data02.dbf DATA01 512000 YES 15728640 512 5 rows selected. 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 ( i tư ng) trong database. Dư i ây, ta s xem xét m t s lo i segments c th . 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 spxpcn 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ư ng l n (large objects - LOBs) như các văn b n tài li u, hình nh, hay videos. Các c t ch a d li u l n này s ư c Oracle server lưu gi trong các segments riêng ư c bi t n như là LOB segments. Table s ch lưu gi các giá tr dùng nh v , xác nh nơi lưu gi các d 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 bi t n như m t cache segment, ư c t o b i file script sql.bsq Bootstrap segment, ư c sau m i khi database ư c t o. Segment giúp cho vi c kh i t o data dictionary cache m i khi database ư c m b i m t instance. D li u trong bootstrap segment không th xem hay s a ch a, c p nh t ư c. Qu n tr database cũng không c n thi t ph i quan tâm t i segment này. 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 i v i các rollback segments, các extent có th b t ng thu h i. 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 ư c t o, các data files thu c tablespace s ch a các ph n thông tin sau: 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 ng công c Oracle Tablespace Manager. 2. Chuy n t i nút Expand Tablespaces. 3. Ch n tablespace tương ng. 4. Ch n 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 vn 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 i u khi n vi c s d ng vùng không gian d li u và index trong các segments. Các tham s i u khi n song song 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 iv im t 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 80% (100-PCTFREE). Lúc này, ta không th insert thêm d li u vào Block. 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 phân o n i v i t ng lo i segment Tablespace Phân lo i s d ng Mc phân o n SYSTEM Data dictionary Không x y ra TOOLS Applications R t ít DATAn Data segments Ít INDEXn Index segments Ít RBSn Rollback segments Nhi u TEMPn Temporary segments R t nhi u* Ký hi u * có nghĩa là ch ú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
ADSENSE
CÓ THỂ BẠN MUỐN DOWNLOAD
Thêm tài liệu vào bộ sưu tập có sẵn:
Báo xấu
LAVA
AANETWORK
TRỢ GIÚP
HỖ TRỢ KHÁCH HÀNG
Chịu trách nhiệm nội dung:
Nguyễn Công Hà - Giám đốc Công ty TNHH TÀI LIỆU TRỰC TUYẾN VI NA
LIÊN HỆ
Địa chỉ: P402, 54A Nơ Trang Long, Phường 14, Q.Bình Thạnh, TP.HCM
Hotline: 093 303 0098
Email: support@tailieu.vn