以下sql语句中,以fx作为oracle的用户进行操作的,请复制代码的同学进行修改。
[b]一、设置词法分析器[/b]
[b]二、针对数据表的特定字段建索引[/b]
[b]三、创建存储过程同步更新与优化索引[/b]
[b]四、新建作业,定时执行上面创建的存储过程[/b]
[b]五、赋予作业运行的权限[/b]
六、测试
在pl/sql developer的Job上点右键-->run
[b]一、设置词法分析器[/b]
BEGIN
ctx_ddl.create_preference ('fx_lexer', 'chinese_vgram_lexer');
END;
/
[b]二、针对数据表的特定字段建索引[/b]
CREATE INDEX I_DM_FILE ON DM_FILE (FILEBODY) indextype is ctxsys.context
parameters('lexer fx_lexer ');
[b]三、创建存储过程同步更新与优化索引[/b]
prompt
prompt Creating procedure OPTIMIZE_I_DM_FILE
prompt =====================================
prompt
CREATE OR REPLACE PROCEDURE FX.optimize_i_dm_file
as
begin
execute immediate 'begin ctx_ddl.optimize_index(''i_dm_file'',''FULL'');end;';
END optimize_i_dm_file;
/
prompt
prompt Creating procedure SYNC_I_DM_FILE
prompt =================================
prompt
CREATE OR REPLACE PROCEDURE FX.sync_i_dm_file
as
begin
begin
execute immediate 'begin ctx_ddl.sync_index(''i_dm_file'',''2M'');end;';
end;
END sync_i_dm_file;
/
[b]四、新建作业,定时执行上面创建的存储过程[/b]
begin
sys.dbms_job.submit(job => :job,
what => 'SYNC_I_DM_FILE;',
next_date => to_date('22-04-2009 17:17:39', 'dd-mm-yyyy hh24:mi:ss'),
interval => 'SYSDATE + (1/24/4)');
commit;
end;
/
begin
sys.dbms_job.submit(job => :job,
what => 'optimize_i_dm_file;',
next_date => to_date('22-04-2009 17:20:13', 'dd-mm-yyyy hh24:mi:ss'),
interval => 'SYSDATE+1');
commit;
end;
/
[b]五、赋予作业运行的权限[/b]
grant execute any procedure to fx;
六、测试
在pl/sql developer的Job上点右键-->run