上周在协会,linux系统swap分区设置过小,导致oracle无法正常启动:

SQL> startup


ORA-00845: MEMORY_TARGET not supported on this system


问题原因:oracle 的SGA大于linux系统的shm

修改linux系统的shm:


mount -t tmpfs shmfs -o size=20g /dev/shm


把设置加入到开机启动中:

tmpfs                  /dev/shm              tmpfs  defaults,size=20g      0 0


然后修改linux的swap分区过小的问题:

linux在安装OS的时候设置swap分区大小,是在硬盘中划分出一块分区来,当做SWAP分区来使用,系统安装完之后,依然可以通过相同的原理,把未使用的硬盘划分区一定的文件来当做swap分区来使用。


dd if=/dev/zero of=/home/swapfile bs=1g count=20


把这个大文件创建成swap的文件:

mkswap /home/swapfile


把这个文件加入到swap分区中:

swapon /home/swapfile


至此,工作结束