码迷,mamicode.com
首页 > 其他好文 > 详细

12C ORA-27106 错误处理过程

时间:2015-04-16 12:29:46      阅读:286      评论:0      收藏:0      [点我收藏+]

标签:

 

前两天客户Exadata 12c环境因为内存分配报错,以下为处理过程。

 

节点重新启动的时候报错,但是其他节点却启动正常。报错内容:

ORA-27106 System pages not available toallocate memory

 

alert内容:

 

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。

 

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

 

 

 

这时候有同学要问了,为什么其他节点的数据库正常开启呢?

其实是因为这样,这套集群中一共有两个数据库。第二个数据库是后来创建的,use_large_pages的值为默认值TRUE。

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

12C ORA-27106 错误处理过程

标签:

原文地址:http://blog.csdn.net/renfengjun/article/details/45072459

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!