Thứ Năm, 9 tháng 11, 2023

Quản lý bộ nhớ trong Oracle

Cấu trúc bản của memory trong Oracle Database bao gồm: 

  • System global area (SGA): SGA một nhóm chia sẽ cấu trúc memory, chứa thông tin dữ liệu thông tin điều khiển cho một Oracle Database instance. SGA được chia sẽ bởi tất cả server process background process. dụ dữ liệu được chứa trong SGA bao gồm data block được cached shared SQL areas. 

  • Program global area (PGA) một vùng bộ nhớ chưa dữ liệu thông tin điều khiển được sử dụng cho Oracle process. PGA được tạo bởi Oracle database khi tiến trình Oracle được bắt đầu. PGA tồn tại cho mỗi server process background process. Tập hợp các PGAs riêng lẻ instance PGA.Thông số database khởi tạo thiết lập kích thước cho instance PGA, không phải từng PGA riêng lẻ. 

  • User Global Area: memory liên kết với phiên làm việc của user. 

Description of Figure 14-1 follows 

Database Oracle quản bộ nhớ dựa trên các thiết lập của các tham số khởi tạo liên quan đến memory. Các tùy chọn bản để quản bộ như sau: 

  • Quản bộ nhớ tự động(AMM): Chỉ định target size cho instance memory. Database instance tự động điều chỉnh phân phối lại bộ nhớ khi cần giữa SGA PGA trong từng tình huống sao cho phù hợp. 

  • Quản bộ nhớ chia sẽ tự động(ASMM): Chế độ quản này được tự động hoá một phần. Người quản trị đặt kích thước cho SGA sau đó thiết lập kích aggragate target size cho PGA hoặc quản vùng làm việc PGA riêng lẻ. Lúc này database sẽ tự động tối ưu các thành phần bên trong SGA SGA dựa trên giá trị sga đã thiết lập. Lúc này  

  • Quản bộ nhớ thủ công: Thay thiết lập tổng dung lượng bộ nhớ, người quản trị đặt nhiều tham số khởi tạo để quản các thành phần của SGA thể PGA riêng lẻ. 

2. Thay đổi bộ nhớ memory target 

Từ phiên bản 11g trở đi, hệ thống cho phép cấp pháp memory target tổng dung lượng sử dụng của PGA SGA. 

Kiểm tra dung lượng memory target 

SQL> show parameter memory; 

NAME                                 TYPE        VALUE 

------------------------------------ ----------- ------------------------------ 

hi_shared_memory_address             integer     0 

inmemory_clause_default              string 

inmemory_force                       string      DEFAULT 

inmemory_max_populate_servers        integer     0 

inmemory_query                       string      ENABLE 

inmemory_size                        big integer 0 

inmemory_trickle_repopulate_servers_ integer     1 

percent 

memory_max_target                    big integer 692M 

memory_target                        big integer 692M 

optimizer_inmemory_aware             boolean     TRUE 

 

Thay đổi thông số memory_target 

SQL> alter system set memory_target=600M; 

System altered. 

SQL> show parameter memory_target; 

 

NAME                                 TYPE        VALUE 

------------------------------------ ----------- ------------------------------ 

memory_target                        big integer 600M 

3.Thay đổi thông tin memory_max_target 

SQL> show parameter memory_max_target; 

 

NAME                                 TYPE        VALUE 

------------------------------------ ----------- ------------------------------ 

memory_max_target                    big integer 692M 

SQL> alter system set memory_max_target=700M; 

alter system set memory_max_target=700M 

                 * 

ERROR at line 1: 

ORA-02095: specified initialization parameter cannot be modified 

 

 

SQL> show parameter memory_max_target; 

 

NAME                                 TYPE        VALUE 

------------------------------------ ----------- ------------------------------ 

memory_max_target                    big integer 692M 

SQL> alter system set memory_max_target=700M scope=spfile; 

 

System altered. 

 

SQL> show parameter memory_max_target; 

 

NAME                                 TYPE        VALUE 

------------------------------------ ----------- ------------------------------ 

memory_max_target                    big integer 692M 

SQL> shutdown immediate; 

Database closed. 

Database dismounted. 

ORACLE instance shut down. 

SQL> startup; 

ORACLE instance started. 

 

Total System Global Area  734003200 bytes 

Fixed Size                  2928728 bytes 

Variable Size             528486312 bytes 

Database Buffers          197132288 bytes 

Redo Buffers                5455872 bytes 

Database mounted. 

Database opened. 

SQL> show parameter memory_max_target; 

 

NAME                                 TYPE        VALUE 

------------------------------------ ----------- ------------------------------ 

memory_max_target                    big integer 700M 

SQL> 

 

 

Không có nhận xét nào:

Đăng nhận xét