服务器配置:
os:window 2003;
内存:4G;
32bit;数据库配置:
db:oracle 9.2.0.7
shared_pool_size:200M
db_cache_size:600M
pga:700m
sort_area_size=300000运行语句:CREATE INDEX vol_maintitle ON menu_vol(maintitle) INDEXTYPE IS ctxsys.CONTEXT PARAMETERS ('lexer my_chinese_lexer');
报错;
错误信息:
ORA-29855: error occurred in the execution of ODCIINDEXCREATE routine
ORA-20000: Oracle Text error:
ORA-04030: out of process memory when trying to allocate 66840 bytes (Heap for lexic,gxlGetMem:memory)
ORA-06512: at "CTXSYS.DRUE", line 157
ORA-06512: at "CTXSYS.TEXTINDEXMETHODS", line 186 数据库数据800多万,最多执行到34%的时候报错。
曾经试过把sga和pga调大或者调小。但是最多执行到34%报错。 不知是我的配置问题?还是oracle的bug.或是别的什么原因。
这台机器上只装有数据库,和一些杀毒防火墙之类的软件。
之前我对这张表的其他字段也曾经做过这样的操作。成功了。唯一的不同就是maintitle的长度要比成功的那个字段要长。maintitle(varchar2(600));成功字段(varchar2(200));
望高手指点。
os:window 2003;
内存:4G;
32bit;数据库配置:
db:oracle 9.2.0.7
shared_pool_size:200M
db_cache_size:600M
pga:700m
sort_area_size=300000运行语句:CREATE INDEX vol_maintitle ON menu_vol(maintitle) INDEXTYPE IS ctxsys.CONTEXT PARAMETERS ('lexer my_chinese_lexer');
报错;
错误信息:
ORA-29855: error occurred in the execution of ODCIINDEXCREATE routine
ORA-20000: Oracle Text error:
ORA-04030: out of process memory when trying to allocate 66840 bytes (Heap for lexic,gxlGetMem:memory)
ORA-06512: at "CTXSYS.DRUE", line 157
ORA-06512: at "CTXSYS.TEXTINDEXMETHODS", line 186 数据库数据800多万,最多执行到34%的时候报错。
曾经试过把sga和pga调大或者调小。但是最多执行到34%报错。 不知是我的配置问题?还是oracle的bug.或是别的什么原因。
这台机器上只装有数据库,和一些杀毒防火墙之类的软件。
之前我对这张表的其他字段也曾经做过这样的操作。成功了。唯一的不同就是maintitle的长度要比成功的那个字段要长。maintitle(varchar2(600));成功字段(varchar2(200));
望高手指点。
不使用原来的lexer,换了一种。有人可以正确做完。
2。
修改了内存方面的参数,都是缩小,不是放大。
修改了下面的参数:
alter session set workarea_size_policy=manual;
alter session set sort_area_size=500m;
alter session set sort_area_retained_size=500m; 不知道对你有没有用。你在trace里面看看,更加具体的错误信息是什么呢?