Câu trả lời ở trên là một chút cũ.
alter system flush shared_pool;
Có thể làm giảm bớt vấn đề ngay lập tức nhưng không giải quyết được nguyên nhân gốc rễ. tham số con trỏ hiện có 2 giá trị:
LỰC LƯỢNG hoặc CHÍNH XÁC. Với EXACT, truy vấn của bạn sẽ phải khớp chính xác để con trỏ (sql với kế hoạch thực hiện) được sử dụng lại, với "FORCE", tất cả các giá trị trong truy vấn của bạn được thay đổi thành các biến liên kết. Điều này thực sự tiện dụng khi ứng dụng của bạn không sử dụng các biến liên kết. Cơ sở dữ liệu sẽ làm điều đó cho bạn.
Nếu bạn đã sử dụng con trỏ_shared = FORCE. Sau đó, bạn cần bắt đầu xem xét điều chỉnh cấp phát bộ nhớ của mình tùy thuộc vào các tham số bộ nhớ mà hệ thống của bạn sử dụng, bạn có thể có được ý tưởng về nơi bạn nên đặt giá trị đó với các truy vấn sau:
Khi SGA_TARGET và SGA_MAX__SIZE / PGA_TARGET và PGA_MAX_SIZE được sử dụng (chúng phải khớp): select * từ v $ sga_target_advice; chọn * từ v $ pga_target_advice;
Nó sẽ trông như thế này: Trong trường hợp của tôi đây là một hệ thống tiền sản xuất, nó sẽ không có vẻ tốt cho điều này lâu dài:
Đây là SGA_TARGET_ADVICE:
Hàng có SGA_SIZE_FACTOR là 1, là cài đặt hiện tại. Trong một hệ thống mà bộ nhớ không được khai thác quá mức, sự gia tăng SGA_SIZE và SGA_SIZE_FACTOR sẽ cho thấy sự sụt giảm đáng kể về ESTD_DB_TIME và ESTD_DB_TIME_FACTOR. Tăng bộ nhớ đến điểm tăng trở lại sẽ không tạo ra sự thay đổi lớn như vậy đối với estd_db_time nữa.
Trong trường hợp của tôi ở đây, với tải hiện tại của tôi, tôi có thể dễ dàng giảm kích thước của SGA_TARGET xuống 80G mà không bị ảnh hưởng lớn. Tuy nhiên, việc giảm xuống còn 57G và ít hơn sẽ tạo ra các vấn đề hiệu suất ngày càng lớn.
SGA_SIZE SGA_SIZE_FACTOR ESTD_DB_TIME ESTD_DB_TIME_FACTOR ESTD_PHYSICAL_READS ESTD_BUFFER_CACHE_SIZE ESTD_SHARED_POOL_SIZE CON_ID
---------- --------------- ------------ ------------------- ------------------- ---------------------- --------------------- ----------
5760 .0625 482104 .5257 50950730 76032 18176 0
11520 .125 482104 .5257 50950730 76032 18176 0
17280 .1875 482104 .5257 50950730 76032 18176 0
23040 .25 482104 .5257 50950730 76032 18176 0
28800 .3125 1560028 1.7011 174592866 6912 19456 0
34560 .375 1374046 1.4983 138703172 13824 18176 0
40320 .4375 1105895 1.2059 87207269 20736 18176 0
46080 .5 1028769 1.1218 72319466 27648 17664 0
51840 .5625 1000157 1.0906 66607889 34560 16896 0
57600 .625 980623 1.0693 62628637 41472 16128 0
63360 .6875 976129 1.0644 62628637 41472 21248 0
69120 .75 961456 1.0484 59805967 48384 21248 0
74880 .8125 945683 1.0312 56626641 55296 19456 0
80640 .875 933852 1.0183 54359334 62208 19456 0
86400 .9375 923765 1.0073 51867843 71424 16640 0
92160 1 917070 1 50950730 76032 18176 0
97920 1.0625 910467 .9928 49534300 82944 17408 0
103680 1.125 903131 .9848 47914066 89856 16640 0
109440 1.1875 896528 .9776 46385545 96768 15872 0
115200 1.25 891575 .9722 46385545 96768 21248 0
120960 1.3125 886990 .9672 45361435 103680 19456 0
126720 1.375 884331 .9643 44851928 110592 19456 0
132480 1.4375 880937 .9606 44194663 117504 19456 0
138240 1.5 875252 .9544 42915800 124416 18176 0
144000 1.5625 870116 .9488 41901880 131328 17920 0
149760 1.625 867915 .9464 41901880 131328 23040 0
155520 1.6875 867181 .9456 41769408 138240 23040 0
161280 1.75 866723 .9451 41769408 138240 28416 0
167040 1.8125 866631 .945 41769408 138240 32000 0
172800 1.875 866631 .945 41769408 138240 32000 0
178560 1.9375 866631 .945 41769408 138240 32000 0
184320 2 866631 .945 41769408 145152 32000 0
32 rows selected.
Khi MEMORY_TARGET được sử dụng:
select * from v$memory_target_advice;