32bit的windows 2008,Oracle实例启动报错ORA-00064

环境:windows 2008 32bit,oracle db 10.2.0.1 32bit 单机,32GB的物理内存

问题:实例启动报错:ORA-00064: object is too large to allocate on this O/S (1,4004280)

现象如下:

H:\oracle\product\10.2.0\db_1\BIN>sqlplus / as sysdba

SQL*Plus: Release 10.2.0.1.0 - Production on 星期日 5月 25 14:40:15 2014

Copyright (c) 1982, 2005, Oracle.  All rights reserved.

已连接到空闲例程。
SQL> startup nomount;
ORA-00064: object is too large to allocate on this O/S (1,4004280)
SQL> 


问题分析:
instance 无法进入nomount状态,肯定是某些初始化参数有问题,于是检查alert日志中初始化参数的修改记录,发现如下命令:

alter system set processes=2000 scope=spfile;

于是尝试建立pfile:

H:\oracle\product\10.2.0\db_1\BIN>set nls_lang=american_america.ZHS16GBK

H:\oracle\product\10.2.0\db_1\BIN>sqlplus / as sysdba

SQL*Plus: Release 10.2.0.1.0 - Production on Sun Apr 25 15:00:45 2014

Copyright (c) 1982, 2005, Oracle.  All rights reserved.

Connected to an idle instance.

SQL> create pfile='H:\pfile20140525.ora' from SPFILE='H:\oracle\product\10.2.0\db_1\dbs\spfileorcl.ora';

File created.

修改H:\pfile20140525.ora 中的processes为1500,以该pfile启动:

SQL> startup nomount pfile='H:\pfile20140525.ora';
ORACLE instance started.

Total System Global Area  612368384 bytes
Fixed Size                  1250428 bytes
Variable Size             234883972 bytes
Database Buffers          369098752 bytes
Redo Buffers                7135232 bytes
SQL> 

于是确认是processes设置过大导致的问题。后续的修改spfile中processes为1500不再描述。

总结:

1.本案例引出一个问题:
32bit windows 平台下, Oracle db 初始化参数processes最大能设置为多大?这个问题我从mos尚未找到答案。

  ORA-00064: Object Is Too Large To Allocate On This O/S (Doc ID 1232463.1) 文章说,可以用ulimit -a命令查看限制,不过windows平台无此命令。

2.从本案例看来,32bit的os,不仅仅是对oracle 在sga大小上的有限制,也是对oracle 在processes参数上有限制。


 

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值