在Linux虚拟机上进行手工建库,创建spfile执行startup nomount 后,报错:
ORA-00845: MEMORY_TARGET not supported on this system
ORA-01078: Failure in processing system parameters
下面是官方手册里的说明:
首先,我查看了参数文件pfile,memory_targe的定义为1G;接着,执行下面的命令,查看系统可用共享内存值大小
#df -h /dev/shm/
果然,系统可用共享内存小于1G,因此我执行下面的命令修改系统共享内存
#mount -t tmpfs shmfs -o size=1g /dev/shm
ORA-00845: MEMORY_TARGET not supported on this system
ORA-01078: Failure in processing system parameters
下面是官方手册里的说明:
Starting with Oracle Database 11g, the Automatic Memory Management feature requires more shared memory (/dev/shm)and file descriptors. The size of the shared memory must be at least the greater of the MEMORY_MAX_TARGET and MEMORY_TARGET parameters for each Oracle instance on the computer. If the MEMORY_MAX_TARGET parameter or the MEMORY_TARGET parameter is set to a nonzero value, and an incorrect size is assigned to the shared memory, it results in an ORA-00845 error at startup. On Linux systems, if the operating system /dev/shm mount size is too small for the Oracle system global area (SGA) and program global area (PGA), it results in an ORA-00845 error.
从11g开始,AMM特性要求更多的共享内存和文件描述符。对于计算机上的每个oracle实例,它的共享内存大小必须至少比MEMORY_MAX_TARGET和MAX_TARGET都大。如果你启用了AMM,也就是上面的两个参数设置成了非零值,并且设置了不正确的共享内存值,那么就会在启动时出现ORA-00845的错误。
首先,我查看了参数文件pfile,memory_targe的定义为1G;接着,执行下面的命令,查看系统可用共享内存值大小
#df -h /dev/shm/
果然,系统可用共享内存小于1G,因此我执行下面的命令修改系统共享内存
#mount -t tmpfs shmfs -o size=1g /dev/shm
shmfs /dev/shm tmpfs size=1g 0
其中,第一行命令是修改共享内存,第二条命令是使该修改永久生效。至此,问题解决。
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/30162081/viewspace-1459922/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/30162081/viewspace-1459922/