Chặn session

Một phần của tài liệu kiến trúc và quản trị oracle (Trang 136 - 139)

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

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.

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.

Một phần của tài liệu kiến trúc và quản trị oracle (Trang 136 - 139)