ORA-27300 ORA-27301

SQL> startup nomount
ORA-27302: failure occurred at: skgpwreset1
ORA-27303: additional information: invalid shared ctx
ORA-27146: post/wait initialization 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


XXXXXX的Oracle参数调整

1 概述

XXXXXX用户SUN平台HACMP环境下ORACLE软件安装部署完毕,需要优化关键数据库系统参数并创建用户、表空间部署应用。

2 问题描述

XXXXXX用户SUN平台HACMP环境下ORACLE软件安装部署完毕,需要创建用户、表空间等并调整数据库系统参数,和现场的同事对业务需求、用户数量等进行分析,最后整理出以下脚本并执行:

--创建表空间

CREATE TABLESPACE BPM_DATA LOGGING DATAFILE '/oracle/oracle/oradata/cmdidb/BPM_DATA.dbf' SIZE 2048M

AUTOEXTEND ON NEXT 20480K MAXSIZE UNLIMITED EXTENT MANAGEMENT LOCAL SEGMENT SPACE MANAGEMENT AUTO;

CREATE TABLESPACE BPM_INDEX LOGGING DATAFILE '/oracle/oracle/oradata/cmdidb/BPM_INDEX.dbf' SIZE 2048M

AUTOEXTEND ON NEXT 20480K MAXSIZE UNLIMITED EXTENT MANAGEMENT LOCAL SEGMENT SPACE MANAGEMENT AUTO;

--创建临时表空间

CREATE TEMPORARY TABLESPACE BPM_TEMP TEMPFILE '/oracle/oracle/oradata/cmdidb/BPM_TEMP.dbf' SIZE 1024M

AUTOEXTEND ON NEXT 20480K MAXSIZE UNLIMITED EXTENT MANAGEMENT LOCAL UNIFORM SIZE 1M;

--创建用户

CREATE USER BPM50 PROFILE DEFAULT IDENTIFIED BY bpmtest DEFAULT TABLESPACE BPM_DATA

TEMPORARY TABLESPACE BPM_TEMP ACCOUNT UNLOCK;

--授权用户

GRANT CONNECT,EXP_FULL_DATABASE,IMP_FULL_DATABASE,RESOURCE TO BPM50;

--修改数据库系统参数

alter system set pga_aggregate_target=640m scope=spfile;

alter system set db_cache_size=1440m scope=spfile;

alter system set shared_pool_size=800m scope=spfile;

alter system set java_pool_size=320m scope=spfile;

alter system set log_buffer=3145728 scope=spfile;

Alter system set open_cursors=1000 scope=spfile;

Alter system set processes=800 scope=spfile;

本来工作到了这里就该接近尾声了,但是遇到一个小小的插曲,执行完以上脚本后,关闭数据库重新启动,数据库无法启动,报错如下:

SQL> startup nomount

ORA-27302: failure occurred at: skgpwreset1

ORA-27303: additional information: invalid shared ctx

ORA-27146: post/wait initialization 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

3 分析

这些错误大部分和操作系统有关,ORACLE启动的时候检查操作系统的各项配置是否满足需求,如磁盘空间、内核参数等能否满足自己的需要,回头看看我们做过的操作:创建表空间、临时表空间、修改系统参数,然后分析上面个错误和那些操作有关。

ORA-27301: OS failure message: No space left on device

创建表空间、临时表空间可能引起该错误,df检查磁盘空间472G可用?懦??/span>错误。

ORA-27300: OS system dependent operation:semget failed with status

无法获得操作系统的信号量。信号量相当于OS的内存锁,类似于oracle中的latch,每个进程要获取操作系统内存时(不是PGASGA),需要先获取到信号量才能申请内存。为了能保证每个进程不被阻塞,所以最好每个进程能分配到2个信号量。由于我们修改了oracleprocesses参数,oracle安装建议这个参数一般设置为processes*2+15比较保险的。检查该参数发现为300多,调整该参数为set semsys:seminfo_semmns=1024数据库正常启动。感谢fuyuncat帮助详细分析信号量的作用。

4 总结

建议各位同事以后在各个平台安装ORACLE软件的时候都要先按照ORACLE安装文档先把操作系统的各个内核参数(最大共享内存段、信号量等)进行相应的调整。然后再开始安装ORACLE。

5 附录

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/756652/viewspace-242444/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/756652/viewspace-242444/

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值