ORA-27102: out of memory Linux-X86_64

1、描述
目前生產環境用X86服務器的是愈來愈多了,非核心繫統基本不會用小型機了。
客戶服務器擴內存,想修改SGA大小,可是提示報告內存溢出。原有物理內存8G,擴容到32G,SGA和PGA都須要進行調整才能起到優化的效果。數據庫

2、報錯信息以下
SQL> startup nomount
ORA-27102: out of memory
Linux-x86_64 Error: 28: No space left on device
第一感受好像是物理內存不夠用了,咱們設置SGA+PGA=物理內存的60%左右,結果就是報錯,這裏提醒你們,修改參數以前,必定要備份參數文件。服務器

3、分析
咱們要知道安裝數據庫的時候其實修改了一個文件/etc/sysctl.conf,這個文件裏的內容你們要知道是什麼意思才行,切勿複製粘貼。緣由在這裏:
SHMALL is the total amount of shared memory, in pages, that the system can use at one time.ide

4、解決方法
Set SHMALL equal to the sum of all the SGAs on the system, divided by the page size. 優化

The page size can be determined using the following command: spa

$ getconf PAGE_SIZE
4096
For example, if the sum of all the SGAs on the system is 16Gb and the result of '$ getconf PAGE_SIZE' is 4096 (4Kb) then set shmall to 4194304 pages內存

As the root user set the SHMALL to 4194304 in the /etc/sysctl.conf file:get

kernel.shmall = 4194304it

then run the following command:class

$ sysctl -p
$ cat /proc/sys/kernel/shmall
4194304file

5、總結對於/etc/sysctl.conf這個文件不瞭解的同窗,須要補課了。喜歡的朋友能夠轉發,歡迎技術交流。

相關文章
相關標籤/搜索