1.启动报错
启动数据库报错:
startup
ORA-00603: ORACLE server session terminated by fatal error
ORA-27544: Failed to map memory region for export
ORA-27300: OS system dependent operation:skgxpmmap failed with status: 0
ORA-27301: OS failure message: Error 0
ORA-27302: failure occurred at: skgxpmap1
ORA-27303: additional information: maximum(512) number of regions/context exeeded 512
ORA-00600: internal error code, arguments: [ksxp_open: ref2], [0], [0x94E276BDC0], [1], [1], [], [], [], [], [], [], []
ORA-00600 ksxp_open
vi initorcl1.ora
SPFILE='+DATA/PARAMETER/SPFILE....'
RAC启动参数文件必须是+DATA ASM磁盘组里面的文件。如果使用本地的spfile参数文件启动,则另外一个节点有问题。当前的案例中,之前使用了本地spfile启动。
2.原因分析
一边设置了HUGEPAGE,一边没有设置。
vm.hugepages
内存大页需要设置成一致的。shmmax 代表的内存大小M / 2M ; 大概就是 hugepages的大小。
sysctl -p --使之生效
这里的报错主要原因是:一边设置了HUGEPAGES,一边没有设置。要么都设置,要么都不设置。
且使之大页需要和 shmmax ,SGA,HUAGEPAGES ,这个几个要能够匹配。
shmmax:字节单位。
HUAGEPAGES:页数,每个2M.
SGA:G为单位,换算成自己。
shmmax>HUAGEPAGES>SGA
3.调整内存锁定为不限制
vi /etc/security/limit.conf
oracle soft memlock unlimited
oracle hard memlock unlimited
4.总结
RAC环境,memlock,shmmax,hugepages 这些参数会影响数据库的内存分配及启动。