Quản lý bộ nhớ Memory trong Oracle Database

Quản trị bộ nhớ trong Oracle Database là một khía cạnh quan trọng để đảm bảo hiệu suất và độ tin cậy của hệ thống. Oracle cung cấp nhiều công cụ và kỹ thuật để cấu hình và quản lý bộ nhớ một cách hiệu quả. Dưới đây là một hướng dẫn chi tiết về cách cấu hình và quản trị bộ nhớ trong Oracle Database:

1. Các Thành Phần Bộ Nhớ Chính trong Oracle Database

Oracle Database sử dụng ba vùng bộ nhớ chính:

  1. System Global Area (SGA): Vùng bộ nhớ chia sẻ, chứa dữ liệu và thông tin điều khiển của Oracle.
  2. Program Global Area (PGA): Vùng bộ nhớ không chia sẻ, được sử dụng bởi mỗi phiên làm việc của Oracle.
  3. In-Memory Column Store: Một tính năng tùy chọn lưu trữ dữ liệu theo cột trong bộ nhớ.

Memory total = SGA + PGA

Memory total = 70-80% tổng memory của RAM thực

Tham số memory có 2 tham số là: memory_max_target, memory_target

alter system set memory_max_target=2000m scope=spfile

alter system set memory_target=2000m scope=spfile

Có 2 cách để đặt memory cho oracle database:

  1. Đặt memory_target và để SGA, PGA tự động được phân bổ do hệ thống tính toán cho phù hợp.
  2. Set memory_target, memory_max_target về 0, và set SGAPGA riêng lẻ do người dùng định nghĩa, các thành phần bộ nhớ bên trong SGA và PGA sẽ được tự động phân bổ.

2. Cấu Hình Bộ Nhớ Tự Động (Automatic Memory Management – AMM)

Oracle cung cấp hai cách để quản lý bộ nhớ tự động:

  • Automatic Shared Memory Management (ASMM): Quản lý tự động SGA.
  • Automatic Memory Management (AMM): Quản lý tự động cả SGA và PGA.

Thiết lập các thông số SGA, PGA thủ công (tắt MEMORY_TARGET):

ALTER SYSTEM SET MEMORY_TARGET=0 SCOPE=SPFILE;

ALTER SYSTEM SET MEMORY_MAX_TARGET=0 SCOPE=SPFILE;

ALTER SYSTEM SET SGA_TARGET = 2000m SCOPE = SPFILE;

ALTER SYSTEM SET SGA_MAX_SIZE = 2000m SCOPE = SPFILE;

ALTER SYSTEM SET PGA_AGGREGATE_TARGET = 1000m SCOPE = SPFILE;

Thiết lập MEMORY_TARGET tự động (AMM): hệ thống tự động quả lý phân bổ PGA, SGA

ALTER SYSTEM SET SGA_TARGET = 0 SCOPE = SPFILE;

ALTER SYSTEM SET SGA_MAX_SIZE = 0 SCOPE = SPFILE;

ALTER SYSTEM SET PGA_AGGREGATE_TARGET = 0 SCOPE = SPFILE;

ALTER SYSTEM SET MEMORY_TARGET=2500m SCOPE=SPFILE;

ALTER SYSTEM SET MEMORY_MAX_TARGET=2500m SCOPE=SPFILE;

Oracle cung cấp nhiều công cụ và chế độ xem động (dynamic views) để giám sát và điều chỉnh bộ nhớ:

  • V$SGA_DYNAMIC_COMPONENTS: Cung cấp thông tin về các thành phần động của SGA.
  • V$MEMORY_TARGET_ADVICE: Cung cấp gợi ý về việc điều chỉnh MEMORY_TARGET.
  • V$PGA_TARGET_ADVICE: Cung cấp gợi ý về việc điều chỉnh PGA_AGGREGATE_TARGET.
  • V$SGA_TARGET_ADVICE: Cung cấp gợi ý về việc điều chỉnh SGA_TARGET.

Kích hoạt tính năng In-Memory:

ALTER SYSTEM SET INMEMORY_SIZE = <size> SCOPE = SPFILE;

Thiết lập các thông số liên quan:

ALTER SYSTEM SET INMEMORY_QUERY = ENABLE SCOPE = BOTH;

 

Datalinks.vn

Hello các bạn, tôi là Dương Nguyễn (DuoDBA - https://www.youtube.com/@DuoDBA) tác giả của blog này. Mong muốn được chia sẻ kiến thức và kinh nghiệm về cơ sở dữ liệu với những người đam mê và quan tâm đến lĩnh vực này. Tôi có tổ chức các khoá Coaching về #OracleDatabase và luyện thi #OCP thường xuyên, các bạn muốn có người đồng hành thì alo tôi nhé. Call/Zalo: 0765 871 888. Thanks you !.....
0 0 đánh giá
Đánh giá bài viết
Theo dõi
Thông báo của
guest

0 Góp ý
Phản hồi nội tuyến
Xem tất cả bình luận