ITPub博客

首页 > Linux操作系统 > Linux操作系统 > ORA-00600: [OSDEP_INTERNAL]

ORA-00600: [OSDEP_INTERNAL]

原创 Linux操作系统 作者:space6212 时间:2019-04-21 15:42:06 0 删除 编辑

今天迁移数据库完成以后,在启动数据库时报错:

SQL> startup pfile=/u1/oracle/product/9.2.0/dbs/initzjtrade.ora
ORA-00600: internal error code, arguments: [OSDEP_INTERNAL], [], [], [], [], [], [], []
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: sskgpsemsper


数据库环境是Sun OS 5.8 + oracle 9204。
在这个服务器上,还运行着另外的实例,那个实例是正常运行的。看报错信息以为跟磁盘空间有关系,但查看了空间使用情况,发现空闲空间还很多。
google了一下,发现这个错误与oracle参数processes或者系统的内核参数:semsys:seminfo_semmsl和semsys:seminfo_semmni相关。

文档描述如下:
SEMMSL 500 Minimum recommended value. SEMMSL should be 10 plus the largest PROCESSES parameter of any Oracle database on the system.
SEMMNS 1024 Maximum semaphores on the system. This setting is a minimum recommended value.
SEMMNS should be set to the sum of the PROCESSES parameter for each Oracle database, add the largest one twice, plus add an additional 10 for each database.

不过我感觉这个描述有一定的问题,因为目前服务器的/etc/system里的配置是:
set semsys:seminfo_semmni=100
set semsys:seminfo_semmsl=500

而正常运行的实例的process是550。
具体process和seminfo_semmsl以及seminfo_semmni的关系还没有一个结论,但是解决方法还是有两种:
1、减小process参数
2、增大seminfo_semmsl和seminfo_semmsl

由于迁移过来的库是一个备库,如果升级没问题是不会用到的,因为我选择的是减少迁移过来的数据库的process参数,修改pfile文件,再启动,就OK了。

SQL> startup pfile=/u1/oracle/product/9.2.0/dbs/initzjtrade.ora
ORACLE instance started.

Total System Global Area 923765952 bytes
Fixed Size 732352 bytes
Variable Size 671088640 bytes
Database Buffers 218103808 bytes
Redo Buffers 33841152 bytes
Database mounted.
ORA-01113: file 1 needs media recovery
ORA-01110: data file 1: '/oracle/oradata/zjtrade/system01.dbf'


SQL> recover database;
ORA-00279: change 4448415969 generated at 05/01/2007 14:40:33 needed for thread 1
ORA-00289: suggestion : /archive/1_16494.dbf
ORA-00280: change 4448415969 for thread 1 is in sequence #16494

Specify log: {=suggested | filename | AUTO | CANCEL}
auto
ORA-00279: change 4450762050 generated at 05/01/2007 23:57:06 needed for thread 1
ORA-00289: suggestion : /archive/1_16496.dbf
ORA-00280: change 4450762050 for thread 1 is in sequence #16496
ORA-00278: log file '/archive/1_16495.dbf' no longer needed for this recovery


......

ORA-00279: change 4451048856 generated at 05/02/2007 00:58:25 needed for thread 1
ORA-00289: suggestion : /archive/1_16533.dbf
ORA-00280: change 4451048856 for thread 1 is in sequence #16533
ORA-00278: log file '/archive/1_16532.dbf' no longer needed for this recovery

Log applied.
Media recovery complete.
SQL> alter database open;

Database altered.

Elapsed: 00:00:04.01

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

请登录后发表评论 登录
全部评论

注册时间:2005-01-25

  • 博文量
    118
  • 访问量
    85600