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ả
www.updatesofts.com Hình vẽ 41 Kết hợp vùng khơng gian trống Lưu ý Tiến trình SMON kết hợp extent tablespaces mà PCTINCREASE lớn Trong storage clause mặc định tablespaces, đặt PCTINCREASE=1 user objects tự động kết hợp vùng trống giải phóng Yêu cầu kết hợp vùng trống View DBA_FREE_SPACE_COALESCED dùng để xem tablespace có extents rỗng kết hợp với Sử dụng câu lênh truy vấn sau để lấy 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 33 DATA01 22 rows selected Thực kết hợp vùng không gian trống tablespace lệnh đây: ALTER TABLESPACE tablespace COALESCE; Trong OEM, ta thực theo bước sau Sử dụng công cụ Oracle Tablespace Manager Chuyển tới nút Expand Tablespaces Chọn tablespace tương ứng Chọn mục Tools—>Coalesce Free Extents ORACLE 9i – Kiến trúc Quản trị Trang 115 www.updatesofts.com 10.3.BLOCK D LI U 10.3.1 Cấu trúc block liệu Hình vẽ 42 Cấu trúc Block liệu Các Blocks liệu Oracle cấu thành từ phần sau: Block header (vùng đầu): Header chứa địa block liệu, thông tin table directory, row directory, transaction slots Thông tin Block headers tăng dần theo hướng từ xuống Data space (vùng liệu): Các dòng liệu nạp vào block theo hướng từ lên Free space (vùng trống): Vùng trống block vùng nằm vùng header vùng khơng gian lưu trữ dịng liệu Ban đầu, vùng không gian trống liên tiếp với nhau.Tuy nhiên sau thời gian sử dụng, vùng không gian trống block bị phân đoạn việc xố cập nhật, thay đổi dịng liệu Để giải vấn đề này, Oracle server cho phép thực kết hợp phân đoạn liệu ORACLE 9i – Kiến trúc Quản trị Trang 116 www.updatesofts.com 10.3.2 Các tham số sử dụng không gian block Các tham số sử dụng không gian block dùng để điều khiển việc sử dụng vùng không gian liệu index 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 block Các tham số INITRANS MAXTRANS số lượng khởi tạo, số lượng lớn transaction slots, tạo index block hay data block Các transaction slots sử dụng để lưu giữ thông tin transactions làm thay đổi block thời điểm Mỗi transaction sử dụng transaction slot INITRANS gán giá trị mặc định cho data segment, cho index segment MAXTRANS gán giá trị mặc định 255, dùng để tạo ngưỡng transactions đồng thời có làm thay đổi block liệu hay index block Khi thiết lập giá trị này, vùng không gian cho transaction slots đảm bảo để thực transaction cách hiệu Tham số điều khiển vùng lưu trữ liệu PCTFREE data segment lượng phần trăm vùng trống data block để dành cho việc tăng lên liệu việc cập nhật dòng liệu block Theo mặc đinh, PCTFREE 10 phần trăm PCTUSED data segment lượng phần trăm tối thiểu vùng không gian sử dụng, theo Oracle Server lưu giữ block liệu table Một block nạp lại vào free list (danh sách trống) PCTUSED giảm xuống Free list segment danh sách blocks sẵn dùng cho việc cấp phát có dịng liệu insert Theo mặc định free list tạo tương ứng với segment Tham số FREELISTS xác định số lượng free list Mặc định, PCTUSED 40 phần trăm PCTFREE PCTUSED tính tốn theo phần trăm vùng không gian liệu, tức vùng khơng gian Block cịn lại trừ vùng không gian header ORACLE 9i – Kiến trúc Quản trị Trang 117 www.updatesofts.com 10.3.3 Sử dụng không gian block Để cụ thể, ta theo dõi bước việc sử dụng vùng không gian block table có PCTFREE=20 PCTUSED=40: Phase 1: Các dịng liệu nạp vào block đủ 80% (100-PCTFREE) Lúc này, ta insert thêm liệu vào Block Hình vẽ 44 Sử dụng vùng khơng gian block Phase 2: 20% khơng gian cịn lại sử dụng cho việc tăng kích thước dịng liệu việc cập nhật lại dòng liệu Phase 3: Khi xố dịng liệu block, vùng không gian trống block tăng lên Tuy nhiên, lúc ta chưa thể insert liệu vào block Phase 4: Khi vùng trống block đạt tới mức PCTUSED, ta lại insert liệu vào Block Ta lại bước 01 10.3.4 Phân loại mức độ phân đoạn loại segment Tablespace Phân loại sử dụng Mức độ phân đoạn SYSTEM Data dictionary Không xảy TOOLS Applications Rấ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 với tablespaces thuộc loại PERMANENT Hiện tượng phân đoạn liệu xảy với mức độ khác loại segments khác Oracle khuyến cáo nên lưu trữ liệu nhiều tablespaces khác để giảm thiểu việc sử dụng lãng phí vùng khơng gian ORACLE 9i – Kiến trúc Quản trị Trang 118 www.updatesofts.com Phân loại Objects phân đoạn Các loại objects khác liệt kê theo mức độ tăng dần phân đoạn: Các data dictionary objects, ngoại trừ audit table (bảng kiểm tra), không bị dropped hay truncated Vì chúng khơng bị phân đoạn tablespace Vùng không gian sử dụng cho việc lưu trữ ứng dụng cấp phát thu hồi trình tái cấu trúc lại nhớ Vì thế, tables lưu trữ có mức độ phân đoạn thấp Data segment index segements sử dụng cho việc lưu trữ liệu người dùng thuộc ứng dụng Các đối tượng thường có mức độ phân đoạn cao Do rollback segments phân bổ lại extents cách tự động, chúng dễ gây tượng phân đoạn liệu hệ thống Temporary segments permanent tablespaces thường xuyên bị xảy 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 tablespaces, data files, segments, extents (thông tin phần sử dụng lần phần cịn trống) lấy từ từ điển liệu Thơng tin tablespace lưu DBA_TABLESPACES Thông tin file liệu database lưu DBA_DATA_FILES Thông tin vùng trống data file, vùng trống extent lưu DBA_FREE_SPACE View DBA_SEGMENTS lưu giữ thông tin segment Tương tự vậy, DBA_EXTENTS lưu giữ thơng tin extent Hình vẽ 45 Các views chứa thông tin cấu trúc lưu trữ ORACLE 9i – Kiến trúc Quản trị Trang 119 www.updatesofts.com 10.4.2 Xem thông tin segments Thông tin lưu DBA_SEGMENTS Hình vẽ 46 Phân loại thơng tin có DBA_SEGMENTS Ta lấy thơng tin segments theo 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 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 extents blocks cấp phát cho segment 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 rows selected ORACLE 9i – Kiến trúc Quản trị TABLESPACE_NAME DATA01 DATA01 DATA01 DATA01 DATA01 EXTENTS 1 1 BLOCKS -55 5 5 Trang 120 www.updatesofts.com 10.4.3 Thông tin extents Thông tin lưu DBA_EXTENTS Hình vẽ 47 Phân loại thơng tin có DBA_EXTENTS Ta lấy thông tin extents theo loại sau: Thông tin nhận dạng: User sở hữu, tên segment, mã hiệu extent Thơng tin kích cỡ nơi đặt: TABLESPACE_NAME, RELATIVE_FNO, FILE_ID, BLOCK_ID, BLOCKS Ví dụ: Xem thơng tin chi tiết extents có 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 4 4 4 rows selected ORACLE 9i – Kiến trúc Quản trị BLOCK_ID -2 27 32 42 57 BLOCKS -5 10 15 20 Trang 121 www.updatesofts.com 10.4.4 Thông tin vùng trống Thông tin vùng trống lưu DBA_FREE_SPACE Hình vẽ 48 Phân loại thơng tin có DBA_FREE_SPACE View chứa thơng tin 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 1284 1533 RBS 2329 2419 SORT 1023 1023 SYSTEM 5626 5626 TEMP 2431 2431 rows selected ORACLE 9i – Kiến trúc 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 có thay đổi liệu database, liệu cũ lưu lại để khơi phục lại trạng thái liệu trước thay đổi Rollback segment dùng để lưu trữ giá trị cũ Rollback segment lưu giữ thông tin block block ID, liệu sửa đổi block Hình vẽ 49 Rollback segment Phần đầu (header) rollback segment chứa transaction table nơi lưu giữ thông tin giao dịch thời có sử dụng tới rollback segment xem xét Mỗi transaction sử dụng rollback segment để lưu giữ liệu dùng để khơi phục Nhiều transactions đồng thời ghi liệu lên rollback segment 11.1.2 Mục đích sử dụng segment Transaction rollback Khi transaction thực thay đổi dòng liệu table, giá trị ban đầu (old image) lưu giữ vào rollback segment Khi transaction rolled back (lấy lại), liệu cũ lưu rollback segment lấy đè lên liệu block, phục hồi lại giá trị nguyên thuỷ ORACLE 9i – Kiến trúc Quản trị Trang 123 www.updatesofts.com Hình vẽ 50 Mục đích rollback segment Phục hồi Transaction Trong trường hợp instance gặp lỗi transactions thực hiện, Oracle server cần phải khôi phục lại liệu chưa commit Rollback trường hợp gọi phục hồi liệu Việc thực thay đổi rollback segments kết hợp bảo vệ redo log files Nhất quán việc đọc liệu Khi thực transactions, users database thấy liệu bị thay đổi mà chưa commit transactions Các liệu cũ lưu rollback segments sử dụng để cung cấp cho users khác nhằm đảm bảo quán liệu cho user 11.1.3 Phân loại rollback segment SYSTEM Rollback Segment SYSTEM rollback segment tạo SYSTEM tablespace database tạo lập Rollback segment sử dụng thay đổi liệu đối tượng nằm SYSTEM tablespace Non-SYSTEM Rollback Segments Một database có nhiều tablespaces nên có non-SYSTEM rollback segment Các non-SYSTEM rollback segment quản trị viên database tạo lập sử dụng để lưu giữ thay đổi đối tượng có non-SYSTEM tablespace khác Có hai loại non-SYSTEM rollback segments Private: Private rollback segments segments sử dụng riêng cho instance Public: Public rollback segments phần rollback segments có database Public rollback segments sử dụng Oracle Parallel Server ORACLE 9i – Kiến trúc Quản trị Trang 124 www.updatesofts.com 11.2.S D NG ROLLBACK SEGMENT 11.2.1 Sử dụng rollback segment transaction Cấp phát Rollback Segment Đối với transaction phải xử lý khối lượng lớn liệu, ta cần gán transaction với rollback segment riêng chuyên làm nhiệm vụ lưu giữ trạng thái ban đầu liệu Chú ý gán rollback segments cho transaction: Lường trước khối lượng thông tin transaction cần rollback phù hợp (fit) với kích thước vùng trống (extents) thời rollback segment Cấp phát vừa đủ vùng trống không cần cấp phát bổ vùng trống (extents) cho rollback segments gán cho transaction điều dẫn đến việc giảm hiệu suất thực hệ thống Để gán transaction cho rollback segment cách tường minh rollback segment cần phải trạng thái online Cần thực lệnh lệnh SET TRANSACTION USE ROLLBACK SEGMENT trước thực lệnh transaction Nếu trạng thái rollback segment offline câu lệnh SET TRANSACTION USE ROLLBACK SEGMENT không đặt vị trí transaction hệ thống phát sinh lỗi Ví dụ: sử dụng lệnh gán rollback segment cho transaction thời điểm bắt đầu transaction: SET TRANSACTION USE ROLLBACK SEGMENT large_rs1; Sau transaction commit, rollback segment lại Oracle đưa trạng thái sẵn sàng sử dụng Oracle tự động gán transaction cho rollback segment rỗi (available) transaction lại tiếp tục gán cho rollback segment tay user Sử dụng extents Các transactions sử dụng extents rollback segment theo trình tự xoay vịng Theo đó, transaction ghi liệu thay đổi vào extent thời, tiếp tục chuyển tới extent Khi extent cuối sử dụng đầy, lại quay trở extent Để rõ hơn, ta xem xét ví dụ sau: Có hai transaction sử dụng rollback segments có 04 extents Hình vẽ 51 Sử dụng liệu rollback segment ORACLE 9i – Kiến trúc Quản trị Trang 125 www.updatesofts.com Tại thời điểm bắt đầu, giao dịch bắt đầu ghi liệu vào Extent Trong thực hiện, transaction ghi liệu vào Extent đầy tiếp tục chuyển sang ghi liệu lên Extent Khi Extent đầy, tiếp tục lại quay trở lại ghi liệu vào extent extent trạng thái rỗi inactive Một extent rỗi inactive thời không bị sử dụng transaction 11.2.2 Tăng trưởng rollback segments Rollback segment có trỏ để xác định extent làm việc Khi extent làm việc đầy, trỏ chuyển sang extent để thực việc ghi liệu Cứ extent cuối lại quay trở extent extent rỗi Tuy nhiên, có nhiều khả extent khơng rỗi Khi đó, trỏ khơng thể nhảy cách mà bỏ qua extent để chuyển sang extent Để tiếp tục trì hoạt động cho transaction, cần phải bổ sung thêm extent vào sau extent cuối Việc tạo nên tăng trưởng rolback segments Việc tăng trưởng rolback segments tiếp tục xảy số lượng extents tăng kịch khung quy định tham số MAXEXTENTS Hình vẽ 52 Tăng kích thước Rollback Segment Sau rollback segments tạo lập, quản trị viên database thay đổi tham số lưu trữ rollback segments Để thay đổi, quản trị viên cần điều chỉnh tham số OPTIMAL hay MAXEXTENTS cho phù hợp Ví dụ: Câu lệnh sau thay đổi số lượng tối đa 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 điều chỉnh với rollback segment SYSTEM , bao gổm tham số OPTIMAL ORACLE 9i – Kiến trúc Quản trị Trang 126 www.updatesofts.com 11.2.3 Tối ưu rollback segments Khi kết thúc commit transaction, giải phóng vùng khơng gian sử dụng để lưu liệu dùng để phục hồi Các extent rollback đưa trở lại trạng thái inactive Để tiết kiệm không gian lưu trữ rollback segment, ta tối ưu lại rollback segment thơng qua tham số OPTIMAL Hình vẽ 53 Giảm kích thước Rollback segment Oracle server thu hồi lại extent cấp phát khi: Kích thước rollback segment điều chỉnh tới giá trị tham số OPTIMAL Khi có nhiều 02 extent rỗi liên tiếp cạnh Một điều lưu ý thu hồi lại extent, Oracle server thu hồi extent chứa liệu lâu trước Ta thực giảm bớt kích thước rollback segments thông qua việc sử dụng câu lệnh ALTER ROLLBACK SEGMENT Lưu ý, rollback segment thu nhỏ thiết phải trạng thái online Ví dụ: Thu nhỏ kích thước rollback segment RBS1 100K: ALTER ROLLBACK SEGMENT rbs1 SHRINK TO 100K; Câu lệnh phía thực rút bớt kích thước rollback segment tới kích thước Tuy nhiên, việc rút gọn dừng lại có extent khơng thể bị thu hồi nguyên nhân 11.3.QU N LÝ ROLLBACK SEGMENTS 11.3.1 Sử dụng rollback segment Kích thước rollback segment Kích thước rollback xác định tuỳ thuộc vào hai yếu tố sau: Loại transaction thực (insert, update, delete, ) Lượng liệu xử lý ORACLE 9i – Kiến trúc Quản trị Trang 127 www.updatesofts.com Thông thường, việc thêm ghi vào bảng cần khơng gian lưu giữ thơng tin phục hồi việc xoá liệu khỏi bảng Với thao tác thêm mới, cần lưu giữ ROWID vào rollback, thao tác delete lại cần phải lưu giữ tồn dịng liệu Đánh giá kích thước rollback segment theo transaction dài có sử dụng rollback segment Số lượng Extents Với rollback segment có nhiều extents gây lãng phí khơng gian lưu trữ liệu, để giảm bớt lãng phí, ta đ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ị 20 11.3.2 Tạo rollback segment Ta 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 PUBLIC PRIVATE (mặc định) việc gán thực lúc tạo thay đổi sau MINEXTENTS>=2 rollback segment PCTINCREASE bỏ qua rollback segment gán OPTIMAL, có khơng nhỏ giá trị kích thước khởi tạo rollback segment xác định tham số MINEXTENTS INITIAL=NEXT để đảm bảo extent rollback segment có kích thước Khơng nên gán giá trị cho MAXEXTENTS UNLIMITIED dẫn đến việc mở rộng extent cách không cần thiết Nên đặt rollback segment tablespace riêng biệt để giảm bớt tượng phân đoạn liệu 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 Quản trị Trang 128 www.updatesofts.com Trong Oracle Enterprise ta thực theo bước sau: Chạy Oracle Storage Manager Chọn Rollback—>Create Trong phần General page, nhập vào tên, tablespace, kiểu tương ứng Chọn mục Online radio button Trong phần Extents, nhập vào thông tin rollback segments Bấm nút Create 11.3.3 Thay đổi trạng thái Rollback segments Rollback segments nhận hai trạng thái ONLINE/OFFLINE Khi rollback segment có trạng thái online sẵn sàng sử dụng cho transactions, ngược lại, trạng thái offline cho biết khơng sẵn sàng cho transactions Thông thường, rollback segments online sẵn dùng cho transactions Trong số tình định, ta cần đặt trạng thái online hay ofline rollback segments: Khi trạng thái tablespace online, tablespace có chứa rollback segments, ta khơng thể đặt trạng thái tablespace thành offline có transaction sử dụng rollback segments thuộc tablespace Để xử lý tình này, ta cần thay đổi trạng thái rollback segments thành offline để ngăn không cho sử dụng rollback segments trước thay đổi trạng thái tablespace offline Khi ta muốn drop (huỷ) rollback segments, khơng thể thực cịn transactions sử dụng Để xử lý tình 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 offline Sau tạo rollback segment, có trạng thái offline chưa thể sử dụng Để sẵn dùng cho transaction, rollback segment cần 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 có trạng thái online instance bị tắt (shutdown) Đặt trạng thái online cho rollback segments startup database Để đảm bảo cho rollback segments nhận trạng thái online khởi động (startup) database, ta cần rõ tên rollback segments tham số ROLLBACK_SEGMENTS parameter file Ví dụ: ROLLBACK_SEGMENTS=(rbs01, rbs02, rbs03) Lưu ý: Số lượng tối đa rollback segment online instance xác định tham số MAX_ROLLBACK_SEGMENT Trong OEM ta thực theo bước sau: Chạy Oracle Storage Manager ORACLE 9i – Kiến trúc Quản trị Trang 129 www.updatesofts.com 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 bước thực instance sử dụng rollback segment Instance sử dụng tất rollback segments có tên phần tham số ROLLBACK_SEGMENTS Tham số TRANSACTIONS TRANSACTIONS_PER_ROLLBACK_SEGMENT sử dụng để tính tốn số lượng rollback segments cần thiết cho 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 Trong trường hợp N nhỏ hay số lượng non-SYSTEM rollback segments có được, instance không cần tới nhiều rollback segments Khi giá trị N lớn hay số non-SYSTEM rollback segments dành cho instance, địi hỏi phải sử dụng thêm public rollback segments 11.3.5 Điều chỉnh khả lưu trữ rollback segment Ta điều chỉnh tính chất lưu trữ 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 theo bước sau: 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 tham số tương ứng Bấm nút Apply 11.3.6 Giảm bớt độ rộng rollback segment ORACLE 9i – Kiến trúc Quản trị Trang 130 www.updatesofts.com Trong trường hợp tham số OPTIMAL rõ, Oracle server có gắng thực cấp phát giải phóng vùng không gian dựa theo giá trị tham số OPTIMAL Ngược lại, ta thực 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 rõ, Oracle giảm lượng không gian rollback segment tới giá trị OPTIMAL Trong OEM ta thực theo bước sau: 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 tối ưu Hoặc chọn Size nhập vào giá trị kích thước cho vùng khơng gian tương ứng Bấm nút OK 11.3.7 Hủy bỏ rollback segment Trong số trường hợp không cần sử dụng rollback segment, ta hủy rollback segment thơng qua câu lệnh SQL: DROP ROLLBACK SEGMENT rollback_segment; Trong OEM, ta làm theo bước sau: 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 hủy rollback segment trạng thái offline Bấm nút Yes hộp thoại xác nhận 11.3.8 Quản lý undo tự động Khả quản lý undo tự động (Automatic Undo Management - AUM) đặc điểm Oracle 9i Cung cấp chế tin cậy cho DBA tạo, thay đổi kích thước điều chỉnh rollback segments database Theo đó, Rollback segments tạo, xố hay điều chỉnh kích thước cách tự động instance Dữ liệu rollback data 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 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 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 committed undo UNDO_SUPPRESS_ERRORS (TRUE / FALSE): Cho biết hệ thống có trả exception hay không “SET TRANSACTION USE ROLLBACK SEGMENT” phát lỗi Default = TRUE 11.4.THƠNG TIN V CÁC ROLLBACK SEGMENT Thơng tin rollback segment lưu giữ từ điển liệu 11.4.1 Xem thông tin chung rollback segment Thông tin chung rollback segment lưu view DBA_ROLLBACK_SEGS Hình vẽ 54 Các thơng tin rollback segments Các thông tin bao gồm: SEGMENT_ID: Mã hiệu 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 segment Ví dụ: Xem thơng tin chung 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 Quản trị Trang 132 www.updatesofts.com SYSTEM SYSTEM RBS1 RBS RBS2 RBS RBS3 RBS rows selected - -SYS SYS SYS SYS ONLINE ONLINE ONLINE OFFLINE Dữ liệu cột OWNER nhận 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ê rollback segment Ta lấy thông tin từ view V$ROLLSTAT V$ROLLNAME Hình vẽ 55 Các thơng tin thống kê segments Ví dụ: Xem thơng tin thơng kê 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 RSSIZE OPTSIZE -2199552 202752 204800 38912 HWMSIZE -2199552 417792 38912 XACTS STATUS ONLINE ONLINE PENDING OFFLINE rows selected ORACLE 9i – Kiến trúc Quản trị Trang 133 ... 100); ORACLE 9i – Kiến trúc Quản trị Trang 128 www.updatesofts.com Trong Oracle Enterprise ta thực theo bước sau: Chạy Oracle Storage Manager Chọn Rollback—>Create Trong phần General page, nhập vào... tuỳ thuộc vào hai yếu tố sau: Loại transaction thực (insert, update, delete, ) Lượng liệu xử lý ORACLE 9i – Kiến trúc Quản trị Trang 127 www.updatesofts.com Thông thường, việc thêm ghi vào bảng... rollback segment ORACLE 9i – Kiến trúc Quản trị Trang 125 www.updatesofts.com Tại thời điểm bắt đầu, giao dịch bắt đầu ghi liệu vào Extent Trong thực hiện, transaction ghi liệu vào Extent đầy tiếp