从ORA-27300,ORA-27301到ORA-00064

    近期因为session数量添加,须要调整session,也就是要调整process參数。

看是比較简单的一个问题,却遭遇了ORA-27300,ORA-27301。因为这个涉及到了有关内核參数kernel.sem的改动。以下是其详细描写叙述。

1、故障现象
OS版本号:SUSE Linux Enterprise Server 10 SP3 (x86_64) - Kernel \r (\l)
DB版本号: SQL*Plus: Release 10.2.0.3.0 - Production 
需求:Processes參数由1000改动到2000
SQL> startup pfile=/u02/database/MRDB/initMRDB.ora;
ORA-27154: post/wait create failed
ORA-27300: OS system dependent operation:semget failed with status: 28
ORA-27301: OS failure message: No space left on device
ORA-27302: failure occurred at: sskgpcreates

2、故障的分析与解决
#起初咋一看还以为空间不够呢,例如以下。显然不是空间的问题,其次有个非常重要的表示"semget"
SQL> ho df -h
Filesystem            Size  Used Avail Use% Mounted on
/dev/sda3             1.8T  826G  885G  49% /
udev                   32G  116K   32G   1% /dev
/dev/sda1              99M  9.5M   85M  11% /boot

#后台日志例如以下
Tue Aug  5 18:07:22 2014
Starting ORACLE instance (normal)
Tue Aug  5 18:07:22 2014
Errors in file /u02/database/MRDB/udump/mrdb_ora_30366.trc:
ORA-27154: post/wait create failed
ORA-27300: OS system dependent operation:semget failed with status: 28
ORA-27301: OS failure message: No space left on device
ORA-27302: failure occurred at: sskgpcreates

#Google了一些文章,描写叙述的是须要调整内核參数kernel.sem,也就是信号量的问题

v2012db02u:~ # grep kernel.sem /etc/sysctl.conf
kernel.sem = 1250    32000   100    256     #这个是当前的值

信号量设置演示样例
    SEMMSL应该设置为server中实例中具有最大的PROCESSES參数+10,比如。当最大的PROCESSES參数为5000时,SEMMSL应设置为5010。


    SEMMNS參数应设置为SEMMSL*SEMMNI,接上例SEMMSL为5010。SEMMNI的值一般为128。则SEMMNS參数应为(5010*128)=641280。
    SEMOPM參数应设置与SEMMSL參数同样。接上例此处应设置为5010
    因此对于信号量建议做例如以下设置
    sysctl -w kernel.sem="5010 641280 5010 128"

#关于这个參数的详细描写叙述及设置能够參考:Linux 内核參数优化(for oracle)    

#因为当前server存在N个实例,因此给了一个比較大的值。生产环境应谨慎改动。例如以下    
v2012db02u:~ # vi /etc/sysctl.conf
v2012db02u:~ # sysctl -p
    ...........
kernel.sem = 7000 1792000 7000 256
    ........... 

#再次启动。狂汗....
SQL> startup pfile=/u02/database/MR/initMR.ora;
ORA-00064: object is too large to allocate on this O/S (1,5150880)

v2012db02u:~ > oerr ora 00064
00064, 00000, "object is too large to allocate on this O/S (%s,%s)"
// *Cause:  An initialization parameter was set to a value that required
//          allocating more contiguous space than can be allocated on this
//          operating system.
// *Action: Reduce the value of the initialization parameter.

#从上面的描写叙述来看,不能从os分配连续的空间。


#关于这个问题Metalink(Doc ID 283980.1)上提供了描写叙述信息。须要增大内存分配粒度到16M。
#以下是当前的内存粒度为4M。
SQL> SQL> SELECT x.ksppinm name, y.ksppstvl VALUE, x.ksppdesc descbtion
  2    FROM x$ksppi x, x$ksppcv y
 WHERE     x.inst_id = USERENV ('Instance')
  3    4         AND y.inst_id = USERENV ('Instance')
  5         AND x.indx = y.indx
  6         AND x.ksppinm LIKE '%_ksmg_granule%';

NAME                                VALUE                          DESCBTION
----------------------------------- ------------------------------ --------------------------------------------------
_ksmg_granule_size                  4194304                        granule size in bytes
_ksmg_granule_locking_status        1                              granule locking status

SQL> show parameter sga      #当前sga大小为1G
NAME                                 TYPE        VALUE
------------------------------------ ----------- ------------------------------
sga_max_size                         big integer 1G
sga_target                           big integer 1G

#Author : Leshami
#Blog   : http://blog.csdn.net/leshami

#直接调整为2G
SQL> show parameter sga
NAME                                 TYPE        VALUE
------------------------------------ ----------- ------------------------------
sga_max_size                         big integer 2G
sga_target                           big integer 2G

#以下是改动过后内存的粒度。
SQL> set linesize 145
col name format a35
SQL> SQL> col value format a30
col descbtion format a50 wrap
SELECT x.ksppinm name, y.ksppstvl VALUE, x.ksppdesc descbtion
SQL> SQL>   2    FROM x$ksppi x, x$ksppcv y
  3   WHERE     x.inst_id = USERENV ('Instance')
  4         AND y.inst_id = USERENV ('Instance')
  5         AND x.indx = y.indx
  6         AND x.ksppinm LIKE '%_ksmg_granule%';
NAME                                VALUE                          DESCBTION
----------------------------------- ------------------------------ --------------------------------------------------
_ksmg_granule_size                  16777216                       granule size in bytes
_ksmg_granule_locking_status        1                              granule locking status

#再次重新启动DB OK。




3、Doc ID 283980.1

Oracle Server - Enterprise Edition - Version: 9.0.1.0 and later   [Release: 9.0.1 and later ]
Information in this document applies to any platform.


SYMPTOMS

ORA-00064 error is possibly encountered on database startup when the parameter
OPEN_LINKS_PER_INSTNACE is set to over 400. 


CAUSE

The contiguous area of storage to be allocated , exceeds the SGA granule 
(subarea) size. The granule size is calculated based on the SGA size. 
SOLUTION

Test case to reproduce the error
================================
a) add OPEN_LINKS_PER_INSTANCE = 1000 in the initora
b) use sqlplus to try starting up the database

This is NOT a BUG.

To fix the issue , increase the size of the SGA to over 128Mb by increasing DB_CACHE_SIZE,
SHARED_POOL_SIZE,LARGE_POOL_SIZE, JAVA_POOL_SIZE, etc.This will cause the granule size to 
be increased to 16Mb.


Workaround
==========
Set the following hidden parameter

_ksmg_granule_size = 16777216

Note:  Please set granule size more than or equal to size showing in the error message.

另外一篇与该错误有关Bug 5959853 - ORA-64 DURING DATABASE STARTUP WITH PROCESSES>6000. DocID:1457812.1 


鹏城DBA总群

转载于:https://www.cnblogs.com/claireyuancy/p/6912283.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/254470.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Halcon|读取3D相机点云数据

Halcon|读取3D相机点云数据 最近发现很多小伙伴在使用Halcon处理3D工业相机扫描结果的时候遇到了“如何读取”的问题。一般的3D工业相机储存数据的格式有txt格式、tif格式、csv格式、ply格式、ptx格式、bin格式、obj格式等。 txt格式 读取txt文件生成3D模型一般需要分析txt文件…

FFMPEG解码流程

1. 注册所有容器格式和CODEC: av_register_all() 2. 打开文件: av_open_input_file() 3. 从文件中提取流信息: av_find_stream_info() 4. 穷举所有的流,查找其中种类为CODEC_TYPE_VIDEO 5. 查找对应的解码器: avcodec_find_decoder() 6. 打开编解码器: avcodec_open…

linux用户登录指定目录

一、创建用户和用户组 [rootweb4 lianyu]# groupadd lianyu [rootweb4 lianyu]# useradd lianyu -g lianyu [rootweb4 lianyu]# passwd lianyu二、用户登录指定目录 [rootweb4 lianyu]# cd /home/lianyu [rootweb4 lianyu]# ls -a . .. .bash_history .bash_logout .bas…

转载:说一下AI的前景吧

发信人: wdong (万事休), 信区: Stock标 题: 说一下AI的前景吧这一波AI和前两年的big data,根本就是两回事。big data这一波,主要是用数据分析来支撑起各种现有系统的改进,包括销售业绩的提高和用户体验的提高等。AI当然也可以应用回这些领域…

药片粘连物体的分割

药片粘连物体的分割要求:图片:处理程序:处理结果:要求: 将药片分割,统计药片数量。不能使用模板匹配。 图片: 先看一下要处理的原图: 处理程序: read_image (Image…

FFMPEG CODEC使用总结

分类: 视频编解码技术 2010-07-15 10:29 283人阅读 评论(0) 收藏 举报 ffmpeg里提供了很多的encoder,decoder,详见avcodec.h里的枚举变量CodecID。 宏定义 #define REGISTER_ENCODER(X,x) { / extern AVCodec x##_encoder; / …

java 链接mysql 产生500W数据模拟生成环境

java 插入数据到mysql 通过sqoop 导入到hive 中,kylin模拟见cube 时间和 数据膨胀率 kylin 数据插入到 HBase Kylin HBase 1.1.3 Hive 1.2.1 Hadoop 2.5.1 create table infoagetime( prod_name char(10), prod_id SMALLINT, ods_date DATE )数据格式 oPmgBZxldW …

中本聪研究所创始人对Core的发展方向感到厌恶

在本月,中本聪研究所(Satoshi Nakamoto Institute)的联合创始人Daniel Krawisz离开了该研究所,原因是Daniel觉得SNI社区逐渐变得让他无法忍受,甚至感到厌恶。Daniel发表在SNI上的大量文章被删除,有关于比特…

BZOJ 1026 [SCOI2009]windy数

1026: [SCOI2009]windy数 Description windy定义了一种windy数。不含前导零且相邻两个数字之差至少为2的正整数被称为windy数。 windy想知道,在A和B之间,包括A和B,总共有多少个windy数? Input 包含两个整数,A B。 Outp…

不连续区域的拟合

如下图,需要把图中4个半圆分别连接起来 我试过closing 和 dilation,下图中后三个还可以连接起来, 但是第一个因为不连续地方较长,如果增大closing的值,会导致其它点 出现过度畸形。 有没有能连接相邻选区的方法&#…

X264码率控制流程分析 (转)

二、编码器机能20钟头前  码率节制的意见常识:   码率节制的目的以及意义:   图象通讯中码率节制的目的:路程经过过程调治编码参量,节制单元时间内的编码视频文件流的数值量,以使 ... 二、编码器机能20钟头前码率…

SPSS输出的结果都要写到文章中吗

SPSS输出的结果都要写到文章中吗 经常有人问到,SPSS输出的结果都要写到文章中吗?文章中应该写什么呢?比如,均值、中位数、众数、标准差、百分位数、最小值、最大值等等,都要出现在文章中吗?洋洋洒洒那么多&…

php Closure 类型

2019独角兽企业重金招聘Python工程师标准>>> <?php /*** Closure 理解* 匿名函数&#xff08;Anonymous functions&#xff09;&#xff0c;* 也叫闭包函数&#xff08;closures&#xff09;* Closure 是匿名函数的php中的称呼*/// 创建一个Closure$func funct…

ftk学习记(label篇)

【 声明&#xff1a;版权全部&#xff0c;欢迎转载&#xff0c;请勿用于商业用途。 联系信箱&#xff1a;feixiaoxing 163.com】还是接着上面的一篇博文。之前以前答应过大家&#xff0c;让大家看一下最简单的ftk程序是怎么执行的。所以&#xff0c;这里我们上传一下图片。由于…

扇形特征点提取

处理要求 分别找出扇形左上角&#xff0c;左下角&#xff0c;右上角&#xff0c;右下角&#xff0c;最高点&#xff0c;下面弓形最高点 原图 halcon 处理程序 read_image (Image14208259e49d7b1cf7c544, 544.bmp) rgb1_to_gray (Image14208259e49d7b1cf7c544, GrayImage) t…

集成显卡与独立显卡的区别

集成的显卡不带有显存&#xff0c;使用系统的一部分主内存作为显存&#xff0c;显卡的数量一般是根据需要自然动态调整。显然&#xff0c;使用集成显卡运行需要大量占用显存的程序&#xff0c;对整个系统的影响比较明显&#xff0c;此外系统内存的频率通常比独立的显存度低很多…

[ CodeVS冲杯之路 ] P3116

不充钱&#xff0c;你怎么AC&#xff1f; 题目&#xff1a;http://codevs.cn/problem/3116/ 基础的高精度加法&#xff0c;注意一下两个数长短不一和答案第一位的处理即可&#xff0c;当然也可以用压位的方法做 1 #include<cstdio>2 #include<cstdlib>3 #include&l…

邮槽

邮槽是基于广播通信体系设计出来的&#xff0c;采用无连接的不可靠的数据传输&#xff1b;邮槽是一种一对一或一对多的单向通信机制&#xff0c;创建邮槽的服务器进程读取数据&#xff0c;打开邮槽的客户机进程写入数据&#xff1b;为保证邮槽在各种Windows平台下都能正常工作&…

Android Studio maven-metadata.xml 卡着不动原因和解决方法

头一天好好的&#xff0c;第二天就卡着了。 一直在这个地方不动&#xff0c;如果停止就会报 Error:Could not run build action using Gradle distribution ‘https://services.gradle.org/distributions/gradle-4.1-all.zip‘. 所以直接就去看了下链接&#xff1a;https://dl.…

h.264 SODB RBSP EBSP的区别

SODB 数据比特串&#xff0d;&#xff0d;&#xff1e;最原始的编码数据 RBSP 原始字节序列载荷&#xff0d;&#xff0d;&#xff1e;在SODB的后面填加了结尾比特&#xff08;RBSP trailing bits 一个bit“1”&#xff09;若干比特“0”,以便字节对齐。 EBSP 扩展字节序…