频道直达 - 专题 - 新闻 - 技巧 - 组网 - 开发 - 安全 - web编程 - 图像 - 操作系统 - 数据库 - 教育 - 旅游 - 健康 - 时尚 - 驱动 - 软件 - 游戏 - 多媒体 - ERP - 讨论组

Oracle数据库全文索引设置步骤简介

来源:互联网 作者: 出处:巧巧读书 2006-11-24 进入讨论组
下一页 1 2 
   

已有几个项目组开始使用oracle全文索引。Oracle的词法分析器针对ZHS16GBK字符集的词法分析尚不够智能,只能机械地以字为单元进行匹配。对于utf8字符集的数据库有一个新的汉语分析器chinese_lexer,效率有了很大改善。

现将验证并整理过的如何进行oracle全文索引设置的文档发给大家,适用于8i、9i各平台版本。

对于DB2,有一个叫做TIE(Text Information Extend)的插件可以实现全文索引,不过据说它的语法分析也很原始。据介绍使用CM(Content Manager)能做到比较好的全文检索,不过需要装一大堆的软件,不适于简单的应用。

一.创建数据库

1、使用dbassist创建数据库时要选择jserver和intermedia两个选项。

2、检查你的数据库是否安装了intermedia,可以通过检查是否有ctxsys用户和ctxapp角色(role).

3、如果没有这个用户和角色,意味着数据库创建时未安装intermedia功能。必须修改数据库以安装这项功能。修改过程:

运行 $ORACLE_HOME/bin/dbassist, 选择'modify database', 然后在选择数据库功能时将jserver 和 intermedia 都选上(安装intermedia必须同时安装jserver).

二.设置extproc

Oracle 通过 ‘外部调用功能’(external procedure)来实现intermedia的,因此正确地设置extproc是关键一步。 一般数据库安装完jserver和intermedia后在listener.ora 和tnsnames.ora中已经设置了extproc。

1、测试extproc是否正常

重新启动listener,然后,使用tnsping 来测试一下是否配置正确,

命令行下运行

tnsping extproc_connection_data

或者

tnsping extproc_connection_data.world

如果配置正确,会显示:

Attempting to contact (ADDRESS=(PROTOCOL=IPC)(KEY=EXTPROC)) OK(140毫秒)

如果正确,可以跳过2、3步骤。否则请按照步骤2、3设置listener.ora 和tnsnames.ora文件,修改后一定要重新启动listener,但并不需要重新启动数据库。

2、设置listerner.ora

如果tnsping失败,需要配置listener 使它能监听intermedia 调用的请求。可以通过运行$ORACLE_HOME/bin/netassit 来进行配置,也可以手工修改配置文件

$ORACLE_HOME/network/admin/listener.ora
然后重新启动listener。

下面以一个例子来讲述如何手工修改配置文件:

打开listener.ora文件,在修改前,通常有如下内容(假定使用缺省listener):

LISTENER = 
(DESCRIPTION = 
(ADDRESS = (PROTOCOL = TCP)(HOST = MYDATABASE)(PORT = 1521)) 
) 

SID_LIST_LISTENER = 
(SID_DESC = 
(GLOBAL_DBNAME = mydatabase.world) 
(ORACLE_HOME = /u01/app/oracle/product/8.1.6) 
(SID_NAME = mydatabase) 
)

这个listener还没有配置extproc, 因此,需要为它增加对extproc的监听,办法就是分别增加description 和 sid_desc. 修改后的listner.ora 如下:

LISTENER = 
(DESCRIPTION_LIST = 
(DESCRIPTION = 
(ADDRESS = (PROTOCOL = TCP)(HOST = MYDATABASE)(PORT = 1521)) 
) 
(DESCRIPTION = 
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC)) 

) 
) 
SID_LIST_LISTENER = 
(SID_LIST = 
(SID_DESC = 
(GLOBAL_DBNAME = mydatabase.world) 
(ORACLE_HOME = /u01/app/oracle/product/8.1.6) 
(SID_NAME = mydatabase) 
) 
(SID_DESC = 
(PROGRAM = extproc) 
(SID_NAME = PLSExtProc) 
(ORACLE_HOME = /u01/app/oracle/product/8.1.6) 
) 
)

注意上面的host, global_dbname,sid_name,oracle_home应填写你的数据库的实际值,但program一项必须填写extproc.

3、设置tnsnames.ora

其次,要配置服务器端的tnsnames.ora文件。该文件的位置在$ORACLE_HOME/network/admin下面。同样可以通过运行netasst来进行配置。

在tnsnames.ora文件中需要增加如下一项:

EXTPROC_CONNECTION_DATA,EXTPROC_CONNECTION_DATA.WORLD = 
(DESCRIPTION = 
(ADDRESS_LIST = 
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC)) 
) 

(CONNECT_DATA = 
(SID = PLSExtProc) 
) 
)

注意其中,KEY 和SID必须与listener.ora中的key 和sid_name对应相同。

保留地址 http://www.qqread.com/oracle/2006/11/b281789.html 更多文章 更多内容请看SQL Server 索引和查询专题数据库专栏数据库处理专题专题,或进入讨论组讨论。
下一页 1 2 
收藏此文】【 】【打印】【关闭
相关图文阅读
频道图文推荐
健 康 咨 询
时 尚 咨 询
巧巧读书宗旨
相关专题
最新论坛文章
站内各频道最新更新文档
站内最新制作专题
热门关键字导读
Photoshop教 程照片处理 照片制作 PS快捷键 抠图
计 算 机 故 障XP系统修复
艺 术 与 设 计设计 流媒体 设计欣赏 边框
计 算 机 安 全ARP
站内频道文章精选
巧巧电脑频道编辑信箱  告诉我们您想看的专题或文章