通過桌面安裝Oracle在分配SGA的時候報如下錯誤:
[INS-35172] Target database memory (XXMB) exceeds the systems available shared memory ({0}MB)
一開始一直以爲是系統參數分配不足導致的,檢查/etc/sysctl.conf中的如下參數
kernel.shmall = 2097152 # 共享內存頁數 shmmax/4096
kernel.shmmax = 8589934592 # 最大的共享內存段
kernel.shmmni = 4096 # 內核共享段的最大數值
發現沒有作用,查看了一下free 也是足夠大的,那麼systems available shared memory到底是指什麼,查看了一下分區df -h發現tmpfs的值恰好是與上述值相同,說明tmfs指的就是可用的共享內存。
在/etc/fstab下找到該內容,增加size定義共享內存大小
tmpfs /dev/shm tmpfs defaults,size=10G 0 0
重啓系統後生效。