程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> Oracle數據庫 >> Oracle教程 >> 32bit的windows2008,Oracle實例啟動報錯ORA-00064

32bit的windows2008,Oracle實例啟動報錯ORA-00064

編輯:Oracle教程

32bit的windows2008,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參數上有限制。


  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved