弄了很就的全文检索更新和维护,实在找不出原因了,请各位看看出在哪儿?建立了全文检索索引语句:
CREATE INDEX fileindex
    ON docuser.uploadfile(filepath) INDEXTYPE IS 
    CTXSYS.CONTEXT PARAMETERS (' DATASTORE CTXSYS.FILE_DATASTORE 
    FILTER CTXSYS.INSO_FILTER LEXER WKSYS.WK_CHINESE_LEXER');执行查找没有问题,可以查找:
select * from uploadfile where contains(filepath,'01',1)>0
可以返回记录但维护索引调用ctx_ddl.sync_index('fileindex'); 出现错误!首先建立存储过程:CREATE OR REPLACE PROCEDURE updateindex as
BEGIN
exec ctx_ddl.sync_index('fileindex'); 
exec ctx_ddl.optimize_index('fileindex','fast');
END ;编译提醒找不到sync_index函数,我以为权限不够,于是将ctxsys用户状态设为open,将ctx_ddl执行权限赋予建立存储过程的用户,一样报错!但奇怪的是使用 sql/plus worksheet以授权后的用户登陆 直接执行exec ctx_ddl.sync_index('fileindex'); 更新索引成功,证明该用户有执行这个函数的权限,可是写入存储过程后,不能执行。直接加入job中-- syncVARIABLE jobno number; 
BEGIN 
DBMS_JOB.SUBMIT(:jobno,'ctx_ddl.sync_index(''fileindex'');', 
SYSDATE, 'sysdate+(1/1440)'); 
commit; 
END;在toad中运行,还是不能成功执行,请哪位朋友遇到此类问题,指点一二!!感激不尽!!