oracle中给表格设置全文检索

1、首先查看CTXSYS用户状态(使用超级用户登陆,或者必须有dba的权限才能执行下面语句)


如果是过期了,如上图红色标记的状态“expired”,则需要对状态进行更改,执行下面语句:

UPDATE USER$ SET ASTATUS=0WHERENAME='CTXSYS';
commit;

 再查看CTXSYS用户状态 看是否修改成功

select username,account_status from dba_users;

2、状态更改之后,给用户授权,这里zxg是用户,以下语句使用超级用户进行分配权限。

alter user ctxsys account unlock;
grant execute on ctx_ddl to zxg;

3、接下来使用zxg用户在控制台中进行登录,打开cmd命令窗口,输入sqlplus,在输入账号zxg,与其密码,并执行

exec ctx_ddl.create_preference ('my_lexer', 'chinese_lexer');  

4、创建表的分词索引,test为表格名称,content为字段名称

create index test_index on test (content) indextype is CTXSYS.CONTEXT parameters('lexer my_lexer');

5、创建一个过程进行分词操作

create or replace procedure hsp_sync_index as
begin
ctx_ddl.sync_index('test_index');
end;
/
variable jobno number;
begin
DBMS_JOB.SUBMIT(:jobno,'hsp_sync_index();',
SYSDATE, 'SYSDATE + (1/24/4)');
commit;
end;
/

6、进行索引优化

create or replace procedure hsp_optimize_index as
begin
ctx_ddl.optimize_index('test_index','full');
end;
/
variable jobno number;
begin
DBMS_JOB.submit(:jobno,'hsp_optimize_index();',sysdate,'sysdate+1');
commit;
end;
/
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值