intTypePromotion=1
zunia.vn Tuyển sinh 2024 dành cho Gen-Z zunia.vn zunia.vn
ADSENSE

Giáo trình Kiến trúc và Quản trị Oracle 9i_6

Chia sẻ: Thao Thao | Ngày: | Loại File: PDF | Số trang:19

69
lượt xem
6
download
 
  Download Vui lòng tải xuống để xem tài liệu đầy đủ

Tham khảo tài liệu 'giáo trình kiến trúc và quản trị oracle 9i_6', công nghệ thông tin, hệ điều hành phục vụ nhu cầu học tập, nghiên cứu và làm việc hiệu quả

Chủ đề:
Lưu

Nội dung Text: Giáo trình Kiến trúc và Quản trị Oracle 9i_6

  1. 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
  2. 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
  3. 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
  4. 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
  5. 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
  6. 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 TABLESPACE_NAME EXTENTS BLOCKS ------------ --------------- --------- -------- EMP DATA01 5 55 DEPT DATA01 1 5 BONUS DATA01 1 5 SALGRADE DATA01 1 5 DUMMY DATA01 1 5 5 rows selected. ORACLE 9i – Ki n trúc và Qu n tr Trang 120
  7. 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 BLOCK_ID BLOCKS --------- ------- -------- ------ 0 4 2 5 1 4 27 5 2 4 32 10 3 4 42 15 4 4 57 20 5 rows selected. ORACLE 9i – Ki n trúc và Qu n tr Trang 121
  8. 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
  9. 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
  10. 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
  11. 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 u transaction: SET TRANSACTION USE ROLLBACK SEGMENT large_rs1; 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
  12. 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 yr 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 i s lư ng t i a các extents c p phát cho rollback segments RBS_01. ALTER ROLLBACK SEGMENT rbs_01 STORAGE (MAXEXTENTS 120); V i câu l nh thay i này, ta cũng có th i u ch nh v i rollback segment SYSTEM , bao g m c tham s OPTIMAL. ORACLE 9i – Ki n trúc và Qu n tr Trang 126
  13. 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
  14. 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 theo transaction dài nh t có s d ng 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. 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. m b o các extent trong rollback segment có cùng m t kích INITIAL=NEXT 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
  15. 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 ng. Ch n m c 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. 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 nh, ta c n t tr ng thái online hay ofline i v i các rollback segments: 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 i v i m t instance ư c xác nh b i tham s MAX_ROLLBACK_SEGMENT. 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
  16. www.updatesofts.com 2. Chuy n t i nút Rollback Segments. 3. Ch n rollback segment tương ng. 4. Ch n Rollback—>Place Online/ Take Offline. 5. 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 các rollback segments có tên trong ph n tham s ROLLBACK_SEGMENTS. 2. Tham s TRANSACTIONS và TRANSACTIONS_PER_ROLLBACK_SEGMENT ưcs d ng tính toán s lư ng rollback segments c n thi t cho m t instance: V i: N S lư ng rollback segment c n thi t T Giá tr tham s TRANSACTIONS TRP 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. Ch y Oracle Storage Manager. 2. Chuy n t i nút Rollback Segments. 3. Ch n rollback segment tương ng. 4. Trong ph n Extents page, t l i các tham s tương ng. 5. 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
  17. 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 ư c ch rõ, Oracle s gi m lư ng không gian rollback segment v t i giá tr OPTIMAL 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 Rollback Segments. 3. Ch n rollback segment tương ng. 4. Ch n Rollback—>Shrink. 5. 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 h y các 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. Ch n Oracle Storage Manager. 2. Chuy n t i nút Rollback Segments. 3. Ch n rollback segment tương ng. 4. Ch n Rollback—>Remove. Ta ch có th h y các rollback segment ã tr ng thái offline. 5. B m nút Yes trong h p tho i xác nh n. 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
  18. 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
  19. www.updatesofts.com --------------- --------------- ------ -------- ------- SYSTEM SYSTEM SYS ONLINE RBS1 RBS SYS ONLINE RBS2 RBS SYS ONLINE RBS3 RBS SYS OFFLINE 4 rows selected. 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 EXTENTS RSSIZE OPTSIZE HWMSIZE XACTS STATUS ----- ------- -------- -------- -------- ------ --------- SYSTEM 43 2199552 2199552 0 ONLINE RBS1 20 202752 204800 417792 0 ONLINE RBS2 4 38912 38912 0 PENDING OFFLINE 3 rows selected. ORACLE 9i – Ki n trúc và Qu n tr Trang 133
ADSENSE

CÓ THỂ BẠN MUỐN DOWNLOAD

 

Đồng bộ tài khoản
4=>1