程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> Oracle數據庫 >> Oracle教程 >> ORA-27102:outofmemory報錯的處理

ORA-27102:outofmemory報錯的處理

編輯:Oracle教程

ORA-27102:outofmemory報錯的處理


問題描述:

原先SGA 4G,PGA 2G。

alter system set sga_max_size=30G scope=spfile;

alter system set sga_target=30G scope=spfile;

之後,

SQL> shutdown immediate
Database closed.
Database dismounted.
ORACLE instance shut down.
再次啟動

SQL> startup
ORA-27102: out of memory
Linux-ia64 Error: 28: No space left on device

解決方法:

(1)linux下 getconf PAGE_SIZE
16384=8K

表示虛擬內存的一個頁面大小為8K

(2)查看cat /proc/sys/kernel/shmall

524288

表示允許共享的內存頁最大可以是 524288個頁面。

(3)算出可以共享的頁面為:

524288*(16384/1024)/1024/1024=8G

之前設置SGA+PGA=6G < 8G 所以沒有報錯。修改sga=30G之後,啟動實例才報ORA-27102: out of memory
Linux-ia64 Error: 28: No space left on device

(4)修改可共享內存為128G

128*1024*1024/8K=8388608

在linux下:echo "8388608" > /proc/sys/kernel/shmall

(5)再次startup,實例可以啟動了

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved