ITPub博客

首页 > Linux操作系统 > Linux操作系统 > ORA-27300 ORA-27301

ORA-27300 ORA-27301

原创 Linux操作系统 作者:zhouwf0726 时间:2019-04-01 10:36:05 0 删除 编辑

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

4 总结

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

5 附录

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

下一篇: Oracle循检
请登录后发表评论 登录
全部评论

注册时间:2006-02-22

  • 博文量
    458
  • 访问量
    416594