Computer >> Máy Tính >  >> Lập trình >> Cơ sở dữ liệu

Quản lý vùng bảng SYSAUX

Oracle® 10g đã giới thiệu một vùng bảng bắt buộc mới được gọi là SYSAUX với các thuộc tính bắt buộc như PERMANENT , ĐỌC VIẾT , VỊ TRÍ QUẢN LÝ BÊN NGOÀI TỰ ĐỘNG QUẢN LÝ KHÔNG GIAN PHÂN ĐOẠN . Bài đăng này khám phá cách quản lý không gian bảng này khi nó phát triển.

Giới thiệu

Bạn có thể sử dụng vùng bảng SYSAUX để thực hiện các tác vụ sau:

  • Tránh phân mảnh không gian bảng HỆ THỐNG do các tùy chọn cài đặt và gỡ cài đặt gây ra.
  • Tránh rủi ro bị hỏng không gian bảng SYSTEM và các trường hợp hết dung lượng.
  • Giảm bớt việc bảo trì cho người quản trị cơ sở dữ liệu.
  • Lưu trữ và giảm không gian bảng cho tất cả siêu dữ liệu cơ sở dữ liệu phụ trợ liên quan đến các tùy chọn và tính năng Phép màu, chẳng hạn như các mục sau:
Quản lý vùng bảng SYSAUX

SYSAUX cư trú

Có 26 đối tượng sử dụng SYSAUX mà bạn có thể truy vấn, như được hiển thị trong ví dụ sau:

SQL> select OCCUPANT_NAME,OCCUPANT_DESC
     from V$SYSAUX_OCCUPANTS
     order by SPACE_USAGE_KBYTES desc
Quản lý vùng bảng SYSAUX

Các phiên bản sau của Cơ sở dữ liệu Oracle đã thêm nhiều phiên bản hơn nữa, như được hiển thị trong hình ảnh sau:

Quản lý vùng bảng SYSAUX

Hình ảnh sau đây cho thấy các thành phần được thêm vào hoặc không được dùng nữa trong mỗi phiên bản OracleDatabase:

Quản lý vùng bảng SYSAUX Quản lý vùng bảng SYSAUX

Quản lý vùng bảng SYSAUX chủ động

Để chủ động theo dõi và quản lý vùng bảng SYSAUX một cách chủ động, hãy thực hiện các hành động sau:

  1. Đặt vùng bảng SYSAUX thành Tắt AUTOEXTEND .

  2. Xác nhận STATISTICS_LEVEL giá trị.

    - The **ALL** value is sometimes resource-intensive.
    - The **Basic** and **Typical** values tend to consume fewer resources.
    
  3. Kiểm tra cách bạn sử dụng cố vấn, đường cơ sở và bộ điều chỉnh SQL. Các nhà cố vấn cần nắm chắc thông tin trong ảnh chụp nhanh ngay cả khi bạn định giảm phạm vi ảnh chụp nhanh.

  4. Chạy truy vấn để xác định sysaux_occupant nào chiếm nhiều dung lượng nhất trong vùng bảngSYSAUX.

Khắc phục sự cố quản lý vùng bảng SYSAUX

Không gian bảng SYSAUX phát triển vì những lý do sau:

  • Bạn đặt khoảng thời gian lưu giữ quá nhiều.
  • cố vấn phân khúc phát triển quá lớn.
  • Lịch sử phiên hoạt động (ASH) quá lớn.

Các phần sau đây đưa ra một số hành động khắc phục hậu quả:

Kiểm tra khoảng thời gian lưu giữ AWR

Để quản lý điều này, hãy kiểm tra khoảng thời gian lưu giữ của ảnh chụp nhanh Kho lưu trữ khối lượng công việc tự động (AWR). AWR thu thập thống kê hiệu suất để phát hiện sự cố và điều chỉnh hiệu suất và lưu trữ chi tiết trong bộ nhớ và bảng cơ sở dữ liệu. Hệ thống xóa dữ liệu được lưu trữ dựa trên khoảng thời gian lưu giữ. Nếu khoảng thời gian lưu giữ quá cao, dữ liệu này sẽ chiếm nhiều dung lượng hơn trong vùng bảng SYSAUX. Vì vậy, bạn nên đặt một khoảng thời gian lưu giữ thích hợp. Kiểm tra thời gian lưu giữ bằng cách sử dụng truy vấn sau:

SQL> SELECT retention FROM dba_hist_wr_control;

Bạn có thể thay đổi lưu giữ theo cách thủ công bằng cách sử dụng DBMS_WORKLOAD_REPOSITORY.MODIFY_SNAPSHOT_SETTINGS thủ tục. Ví dụ sau đặt khoảng thời gian lưu giữ thành 5760 phút (hoặc bốn ngày:4 ngày * 24 giờ mỗi ngày * 60 phút mỗi giờ =5760 phút):

SQL> execute DBMS_WORKLOAD_REPOSITORY.MODIFY_SNAPSHOT(RETENTION=>5760);

Kiểm tra đối tượng lớn nhất trong vùng bảng SYSAUX

Chạy truy vấn sau để xác định người chiếm dụng lớn nhất trong vùng bảng:

SQL> select OCCUPANT_NAME, SCHEMA_NAME, MOVE_PROCEDURE, SPACE_USAGE_KBYTES
     from v$sysaux_occupants;
Quản lý vùng bảng SYSAUX

Bạn sử dụng di chuyển lệnh thủ tục để di chuyển người dùng sang một vùng bảng khác mà không cần di chuyển thủ tục là null.

Ví dụ sau di chuyển người chiếm WKSYS trong vùng bảng XYZ:

SQL> execute WKSYS.MOVE_WK(‘XYZ’);

Kiểm tra Lịch sử phiên hoạt động (ASH)

Xem liệu ASH có chiếm nhiều dung lượng hơn trong dữ liệu AWR hay không bằng cách sử dụng tập lệnh sau:

SQL> @$ORACLE_HOME/rdbms/admin/awrinfo.sql
Quản lý vùng bảng SYSAUX

Mức sử dụng ASH có thể chấp nhận được ở mức 1,1 phần trăm. Nếu nó cao, hãy xóa các hàng ASH mồ côi. Kiểm tra các hàng mồ côi bằng cách sử dụng truy vấn sau:

SQL> SELECT COUNT(1) Orphaned_ASH_Rows FROM wrh$_active_session_history a
     WHERE NOT EXISTS (SELECT 1 FROM wrm$_snapshot WHERE snap_id  = a.snap_id
     AND dbid= a.dbid AND instance_number = a.instance_number);
Quản lý vùng bảng SYSAUX

Vì giá trị lớn hơn 0, hãy xóa. Chúng ta là những đứa trẻ mồ côi bằng cách sử dụng truy vấn sau:

SQL> DELETE FROM wrh$_active_session_history a WHERE NOT EXISTS
     (SELECT 1 FROM wrm$_snapshot WHERE snap_id = a.snap_id
     AND dbid = a.dbid AND instance_number = a.instance_number);

Sau đó, chạy truy vấn sau để thu nhỏ WRH $ _ACTIVE_SESSION_HISTORY bảng để lấy lại không gian đã giải phóng:

 SQL> alter table WRH$_ACTIVE_SESSION_HISTORY shrink space;

Kết luận

Bài đăng này giới thiệu không gian bảng SYSAUX. Nó cũng cung cấp các đề xuất về cách phối hợp và quản lý sự tăng trưởng không gian trong những người chiếm giữ mặc định không gian bảng SYSAUX và xác định bất kỳ đối tượng không phải mặc định nào được lưu trữ sai trong không gian bảng.

Tìm hiểu thêm về các dịch vụ Cơ sở dữ liệu của chúng tôi.

Sử dụng tab Phản hồi để đưa ra bất kỳ nhận xét hoặc đặt câu hỏi nào. Bạn cũng có thể bắt đầu cuộc trò chuyện với chúng tôi.