日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

oracle自动内存管理要不要开,Oracle 11g的自动内存管理

發(fā)布時間:2023/12/2 编程问答 31 豆豆
生活随笔 收集整理的這篇文章主要介紹了 oracle自动内存管理要不要开,Oracle 11g的自动内存管理 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

Oracle 的 9i/10g 中已經對內存管理逐步做了很大的簡化,11g 則更進一步,引入了一個新的概念自動化內存管理(Automatic Memory Management,AMM) . 如果 DBA 真的想偷懶的話,只需要設定兩個參數就可以把煩心的事情都交給 Oracle 折騰了(只要 DBA 足夠心寬)。PGA 與 SGA 一起搞定。這兩個參數分別是:

MEMORY_TARGET--操作系統的角度上 Oracle 所能使用的最大內存值。動態(tài)參數

MEMORY_MAX_TARGET--MEMORY_TARGET所能設定的最大值。非動態(tài)可調。

Tip: 如果使用的是 pfile,設定了 MEMORY_TARGET 而沒有指定 MEMORY_MAX_TARGET 的值,則實例啟動后 MEMORY_MAX_TARGET 的值與 MEMORY_TARGET 相等。如果 pfile 中指定了 MEMORY_MAX_TARGET 而沒有指定 MEMORY_TARGET ,實例啟動后 MEMORY_TARGET 為 0 。

AMM 在后臺會啟動一個內存管理(Memory Manager, mman)進程。

因為 AMM 的引入,Oracle 內存管理更加靈活多樣。 組合出來有 5 種內存管理形式.

自動內存管理

自動共享內存管理

手工共享內存管理

自動 PGA 管理

手動 PGA 管理

1) 自動內存管理

默認安裝的實例即是 AMM 方式。如下

SQL> show parameters target

NAME TYPE VALUE

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

archive_lag_target integer 0

db_flashback_retention_target integer 1440

fast_start_io_target integer 0

fast_start_mttr_target integer 0

memory_max_target big integer 1216M

memory_target big integer 1216M

pga_aggregate_target big integer 0

sga_target big integer 0

要注意到 SGA_TARGET 和 都為 0 。

2.自動共享內存管理(Automatic Shared Memory Management, ASMM)

這是 10g 引入的管理方式,要使用這種方式,需要設置初始化參數 MEMORY_TARGET=0 ,然后顯式的指定 SGA_TARGET 的值。

SQL> alter system set sga_target=1024m scope=both;

alter system set sga_target=1024m scope=both

*

ERROR at line 1:

ORA-02097: parameter cannot be modified because specified value is invalid

ORA-00839: SGA_TARGET cannot be modified to the specified value

SQL> alter system set memory_target=0 scope=both;

System altered.

SQL> alter system set sga_target=1024m scope=both;

System altered.

SQL>

這兩個參數的修改是有嚴格順序的,如果不遵守倒也沒問題--Oracle 會報告錯誤。

3.手工共享內存管理

這個又更加原始了一些。因為原始,所以新的初始化參數 SGA_TARGET 與 MEMORY_TARGET 都要設置為 0. 然后手工設定 share_pool_size 、db_cache_size 等 sga 參數。要注意 RESULT_CACHE_SIZE 參數是 11g 新引入的,用來緩存 SQL 結果。

4.自動 PGA 內存管理

如果使用 AMM , 則對 PGA 不用操心。如果要做到精細控制而切換到自動 PGA 內存管理模式,需要設定WORKAREA_SIZE_POLICY = AUTO(默認即為 AUTO),然后需要指定 PGA_AGGREGATE_TARGET 的值。如需要精確控制PGA,則 WORKAREA_SIZE_POLICY = MANUAL .(Thanks vongates)

5.手動 PGA 管理

前提是 WORKAREA_SIZE_POLICY = manual ,然后分別指定 SORT_AREA_SIZE 等 PGA 相關的參數。估計現在沒有人干這個吃力不討好的事情了。這個模式大可以忽略。

AMM 的限制

如果初始化參數 LOCK_SGA = true ,則 AMM 是不可用的。

相關動態(tài)視圖

V$MEMORY_DYNAMIC_COMPONENTS

V$MEMORY_RESIZE_OPS

11g 在簡化 DBA 基本工作上還是下了很大功夫??墒沁@樣也掩蓋了一些技術細節(jié),Oracle 正在逐步把內存的管理變成一個黑盒子,當然這也也是相關算法更加穩(wěn)定作為基礎的??傮w來說,利大于弊。11g DBA, 準備好了沒有?

創(chuàng)作挑戰(zhàn)賽新人創(chuàng)作獎勵來咯,堅持創(chuàng)作打卡瓜分現金大獎

總結

以上是生活随笔為你收集整理的oracle自动内存管理要不要开,Oracle 11g的自动内存管理的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。