Oracle9i Kiến thức và quản trị- P13
lượt xem 8
download
Trong một bảng thông thường người sử dụng có rất nhiều giới hạn về điều khiển phân tán các hàng trong bảng. Khi một bảng được tạo ra lần đầu tiên nói chung các hàng được chèn vào trong đoạn bắt đầu của block đầu tiên trong extent đầu tiên. Nhưng một khi các câu lệnh DML đã đưa ra một vài yếu tố như trật tự của các block trong danh sách các block tự do, các hàng bị migration sẽ làm cho các câu lệnh này rất khó trong việc săp xếp các hàng trong bảng....
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ị- P13
- 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
- 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
- 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
- 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 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
- www.updatesofts.com Di n gi i m t s c t d li u trong view V$ROLLSTAT Tên c t Di n gi i Là s hi u c a rollback segment (Rollback segment number) USN S lư ng các extents có trong rollback segment EXTENTS Kích thư c c a segment hi n th i tính theo ơn v bytes RSSIZE S lư ng các transaction s d ng rollback segment XACTS Giá tr OPTIMAL c a rollback segment OTPSIZE Hight warter mark; kích thư c t i a tính theo bytes, khi rollback HWMSIZE segment tăng Kích thư c c a extent hi n th i, AVEACTIVE Tr ng thái c a rollback segment STATUS 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 XIDUSN UBAFIL UBABLK USED_UBLK ----------- ---------- --------- ---------- ---------- SYSTEM 2 2 7 1 SCOTT 1 2 163 1 ORACLE 9i – Ki n trúc và Qu n tr Trang 134
- www.updatesofts.com 2 rows selected. Di n gi i m t s c t d li u Tên c t Di n gi i a ch c a session, l y ư c t V$SESION.SADDR SES_ADDR S hi u c a Rollback segment ư c s d ng b i transaction XIDUSN V trí hi n th i c a rollback segment mà transaction s ghi vào UBAFIL, UBABLK, UBASQN,UBAREC S hi u block undo ư c t o ra b i transaction USED_UBLK S hi u c a extent (file, block) thu c rollback segment mà START_UEXT, transaction b t u ghi d li u START_UBAFIL, START_UBABLK 11.5.CÁC V N LIÊN QUAN T I ROLLBACK SEGMENT 11.5.1. Thi u không gian cho các transactions Nguyên nhân 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 c d li u không ng nh t Nguyên nhân 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 ư c ghi è lên b i m t 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 11.5.3. Ch n session Hình v 57. Ch n session Vn 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 XIDUSN USERNAME --- ------- ------------- ------ -------- 9 27 10/30/97 21:10:41 2 SYSTEM 1 row selected. 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
CÓ THỂ BẠN MUỐN DOWNLOAD
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