全文索引维护
三、索引同步维护
用以下的两个job来完成(该job要建在和表同一个用户下) :
1 2 3 4 5 6 7 8 9 10 11 12 | VARIABLE jobno number; BEGIN DBMS_JOB.SUBMIT(:jobno,'ctx_ddl.sync_index(''index_name'');', SYSDATE, 'SYSDATE + (1/24/4)'); commit; END; //同步
VARIABLE jobno number; BEGIN DBMS_JOB.SUBMIT(:jobno,'ctx_ddl.optimize_index(''myindex'',''FULL'');', SYSDATE, 'SYSDATE + 1'); commit; //优化 |
建完后手动运行下:
1 | exec dbms_job.run(jobno); |
※个人体会:运行job可能会有问题,此时可以单独运行索引,尝试一下
exec ctx_ddl.sync_index('index_name');
如果单独运行没有问题,则检查job是否写错或者当前操作的oracle数据库用户有无运行存储过程的权限
SQL> exec dbms_job.run(190);
begin dbms_job.run(190); end;
例如:
begin
ctx_ddl.sync_index('I_CTX$ZI$ZBANK_NAME');
ctx_ddl.optimize_index('I_CTX$ZI$ZBANK_NAME','FULL');
end;
select t.* fromT_FSPF_OMMS_N.tbl_zbank_info t where t.resv1=301andcontains(t.zbank_name, '兰州')>0 ;