参数MEMORY_MAX_TARGET 和MEMORY_TARGET 的修改
生活随笔
收集整理的這篇文章主要介紹了
参数MEMORY_MAX_TARGET 和MEMORY_TARGET 的修改
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
環境: ORACLE11G,
查看TOP 中看到,內存總是用到一半,感覺很莫名,直接 修改 參數MEMORY_MAX_TARGET 和MEMORY_TARGET ,出以下錯誤:
ORA-00845 MEMORY_TARGET not supported on this system
查詢相關錯誤得到以下內容:
/dev/shm理論
/dev/shm/是linux下一個非常有用的目錄,因為這個目錄不在硬盤上,而是在內存里。因此在linux下,就不需要大費周折去建ramdisk,直接使用/dev/shm/就可達到很好的優化效果。 /dev /shm/需要注意的一個是容量問題,在linux下,它默認最大為內存的一半大小,使用df -h命令可以看到。但它并不會真正的占用這塊內存,如果/dev/shm/下沒有任何文件,它占用的內存實際上就是0字節;如果它最大為1G,里頭放有 100M文件,那剩余的900M仍然可為其它應用程序所使用,但它所占用的100M內存,是絕不會被系統回收重新劃分的,否則誰還敢往里頭存文件呢?
默認系統就會加載/dev/shm ,它就是所謂的tmpfs,有人說跟ramdisk(虛擬磁盤),但不一樣。象虛擬磁盤一樣,tmpfs 可以使用您的 RAM,但它也可以使用您的交換分區來存儲。而且傳統的虛擬磁盤是個塊設備,并需要一個 mkfs 之類的命令才能真正地使用它,tmpfs 是一個文件系統,而不是塊設備;您只是安裝它,它就可以使用了。
tmpfs有以下優勢:
1,動態文件系統的大小。
2,tmpfs 的另一個主要的好處是它閃電般的速度。因為典型的 tmpfs 文件系統會完全駐留在 RAM 中,讀寫幾乎可以是瞬間的。
3,tmpfs 數據在重新啟動之后不會保留,因為虛擬內存本質上就是易失的。所以有必要做一些腳本做諸如加載,綁定的操作。
二、修改/dev/shm大小
[root@dg1 ~]# vi /etc/fstab
LABEL=/???????????????? /?????????????????????? ext3??? defaults??????? 1 1
LABEL=/opt????????????? /opt??????????????????? ext3??? defaults??????? 1 2
LABEL=/boot???????????? /boot?????????????????? ext3??? defaults??????? 1 2
tmpfs?????????????????? /dev/shm??????????????? tmpfs?? defaults??????? 0 0
devpts????????????????? /dev/pts??????????????? devpts? gid=5,mode=620? 0 0
sysfs?????????????????? /sys??????????????????? sysfs?? defaults??????? 0 0
proc??????????????????? /proc?????????????????? proc??? defaults??????? 0 0
LABEL=SWAP-sda3???????? swap??????????????????? swap??? defaults??????? 0 0
修改為:
tmpfs?????????????????? /dev/shm??????????????? tmpfs?? defaults,size=52g??????? 0 0
把內存只能 使用到系統的的一半32G,擴展到,size=52g 。
執行以下命令,使期生效
mount -o remount /dev/shm
再修改ORACLE 參數
SQL> alter system set memory_max_target=52000M scope=spfile;
System altered.
SQL> alter system set memory_target=50000M scope=spfile;
System altered.
SQL> show parameter target;
總結
以上是生活随笔為你收集整理的参数MEMORY_MAX_TARGET 和MEMORY_TARGET 的修改的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: DATAGUARD 三种保护模式
- 下一篇: 【性能优化】 之 HINTS 相关作业