12C ORA-27106 错误处理过程_hugepage=false

12C ORA-27106 错误处理过程


前两天客户Exadata 12c环境因为内存分配报错,以下为处理过程。节点重新启动的时候报错,但是其他节点却启动正常。报错内容:
ORA-27106 System pages not available toallocate memory

cd /ORACLE_BASE/diag/rdbms/zdzrac/zdzrac2/trace

tail -200 alert_zdzrac2.log 查看日志内容:

Supported system pagesize(s):
Fri Apr 10 18:07:43 2015
PAGESIZE   AVAILABLE_PAGES  EXPECTED_PAGES  ALLOCATED_PAGES         ERROR(s)       Fri Apr 10 18:07:43 2015
2048K             3079                               8194                   3076                        ORA-27125

判断有可能是 hugePage的分配不足导致。
检查了参数文件中修改的内容。发现设置了 use_large_pages。参数值有三个代表的含义如下:
TRUE表示如果系统配置好了HugePage,则会使用,如果没有,SGA也可以使用通常页大小的内存,也就是说SGA可以运行在混合模式下。
FALSE表示,实例不会使用HugePage。
ONLY表示只使用Huge。

故障节点上use_large_pages值为ONLY。所以出现了上面没有足够的HugePage而报错的情况。
知道的问题的根源,解决起来就容易了。两种解决方案。
1、  修改操作系统参数vm.nr_hugepages将值扩大。

2、  修改数据库参数use_large_pages为TRUE。

SQL> show parameter use_large

 SQL> alter system set use_large_pages=true scope=spfile;

经过沟通,用户方没有特别要求数据库参数的值,所以将其修改为TRUE后,事情结束。

为什么其他节点的数据库正常开启呢?
其实是因为这样,这套集群中一共有两个数据库。第二个数据库是后来创建的,use_large_pages的值为默认值TRUE。

故障节点重启后第二个数据库的实例先行启动,使用了大部分的HugePage,导致剩余的数量不够第一个数据库实例启动,因此报错。

更多内容,请参考http://blog.itpub.net/17203031/viewspace-775004/


  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值