運行環境:基於docker下,安裝11g。安裝時,使用默認參數,可能是服務器內存太小了,一直都容易斷開連接,找不到爲什麼。查翻了下網上資料,可能造成原因如下:
1.內存中存在大量碎片,導致在分配內存的時候,沒有連續的內存可存放,此問題一般是需要在開發的角度上入手,比如增加綁定變量,減少應解析來改善和避免;
2.內存容量不足,需要擴大內存。
解決方案如下:
1.調整/dev/shm的大小。
修改/dev/shm,重新mount /dev/shm,然後就可以啓動數據庫了。
(1)查看/dev/shm 大小
df -k /dev/shm
Filesystem 1K-blocks Used Available Use% Mounted on
tmpfs 4089416 0 4089416 0% /dev/shm
(2)調整/dev/shm大小
vi /etc/fstab
tmpfs /dev/shm tmpfs defaults,size=10240M 0 0
(3)重新加載
umount /dev/shm
mount /dev/shm
df -k /dev/shm
(4)登陸測試
sqlplus / as sysdba
注意:還是報錯的話,還需要修改增加數據庫內存