CSDN博客

img winterld

Oracle 全文检索之最简便设置方案(强力推荐)

发表于2004/10/14 14:06:00  2236人阅读

分类: Database

Oracle 全文检索之最简便设置方案(强力推荐)

李守亮 slli@founder.com.cn

Last Version:2003-02-25

 

       现在可以在没有安装Jserveritermeia的情况下使用oracle的全文检索了。安装Jserverintermedia即费时又费力,占用磁盘空间不说,运行起来还特占资源。现在有好办法不用安装他们也照样可以使用全文检索了。请按照以下步骤去做,可以在几分钟内完成全文检索设置。

Sql脚本存放在$ORACLE_HOME/ctx/admin下,本文档以步骤号隔开,但操作过程连贯。 本文档创建全文索引在Sun SoralrisAIX8.1.7环境上验证通过,因环境原因,没有在其他平台和9i上验证,但问题应该不是很大。

请同时参阅上次发过的全文检索设置方案。本例是在服务器端设置步骤,操作完后,缺省的词法分析器是chinese_vgram_lexer,即针对zhs16GBK编码的数据库,若想使用针对utf8编码的chinese_lexer,需要参照上次文档手工创建。创建完索引(例myindex)后,select DR$myindex$I表查看分析结果。

 

 

示例环境:

平台:           Sun Solaris

SID            sunora

版本:           8.1.7.3

ORACLE_HOME   /global/data2/oracle/OraHome1

Sql默认存放位置:$ORACLE_HOME/ctx/admin

 

示例安装过程:

1、 修改init.ora,修改shared_pool_size = 100M

2、 重启数据库确认shared_pool_size值已生效

3、 创建drsys表空间,分配100M空间

4、设置LD_LIBRARY_PATH

5、以sys身份创建ctxsys用户

6、以ctxsys身份运行$ORACLE_HOME/ctx/admin/dr0inst.sql

7、以ctxsys身份运行$ORACLE_HOME/ctx/admin/ drdefzhs.sql,设置缺省词法分析器

 

 

示例:

1、修改init.ora,修改shared_pool_size = 100M

$cd /global/data2/oracle/OraHome1/dbs

$cp initsunora.ora initsunora.ora.bak

$vi initsunora.ora

#shared_pool_size = 20971520

shared_pool_size = 100M

 

 

2、重启数据库确认shared_pool_size值已生效

$sqlplus /nolog

SQL*Plus: Release 8.1.7.0.0 - Production on 星期二 2 25 14:39:23 2003

(c) Copyright 2000 Oracle Corporation.  All rights reserved.

SQL> connect / as sysdba

已连接。

SQL> shutdown immediate

ORACLE 例程已经关闭

SQL> startup

ORACLE 例程已经启动。

 

Total System Global Area  979324604 bytes

Fixed Size                   102076 bytes

Variable Size             278478848 bytes

Database Buffers          700563456 bytes

Redo Buffers                 180224 bytes

数据库装载完毕。

数据库已经打开。

 

SQL> show parameter shared_pool

NAME                                 TYPE    VALUE

------------------------------------ ------- ------------------------------

shared_pool_reserved_size            string  11676108

shared_pool_size                     string  233522175

 

3、创建drsys表空间,分配100M空间

SQL> create tablespace drsys

  2  datafile '/global/data2/oracle/space.drsys.001.dbf' size 100M

  3  online;

 

表空间已创建。

SQL>exit

 

4、设置LD_LIBRARY_PATH

$LD_LIBRARY_PATH=$ORACLE_HOME/lib:$ORACLE_HOME/ctx/lib;export LD_LIBRARY_PATH

(或运行

$cd

$vi .profile

              修改

LD_LIBRARY_PATH=$ORACLE_HOME/lib:$ORACLE_HOME/ctx/lib

export LD_LIBRARY_PATH

$su - oracle

 

 

5、以sys身份创建ctxsys用户

$cd $ORACLE_HOME/ctx/admin

$pwd

/global/data2/oracle/OraHome1/ctx/admin

$ sqlplus sys/change_on_install @./dr0csys.sql ctxsys drsys temp

SQL*Plus: Release 8.1.7.0.0 - Production on 星期二 2 25 14:06:36 2003

(c) Copyright 2000 Oracle Corporation.  All rights reserved.

连接到:

Oracle8i Enterprise Edition Release 8.1.7.0.0 - 64bit Production

With the Partitioning option

JServer Release 8.1.7.0.0 - 64bit Production

...creating user CTXSYS

...creating role CTXAPP

SQL> exit

 

6、以ctxsys身份运行$ORACLE_HOME/ctx/admin/dr0inst.sql

$ sqlplus ctxsys/ctxsys @./dr0inst.sql  $ORACLE_HOME/ctx/lib/libctxx8.so

SQL*Plus: Release 8.1.7.0.0 - Production on 星期二 2 25 14:07:55 2003

(c) Copyright 2000 Oracle Corporation.  All rights reserved.

连接到:

Oracle8i Enterprise Edition Release 8.1.7.0.0 - 64bit Production

With the Partitioning option

JServer Release 8.1.7.0.0 - 64bit Production

==============  ConText Database Objects Installation ==============

This script must be run as CTXSYS.  This script will exit

below if run as any other user.

User is CTXSYS

... creating tables and Oracle object types

... creating table dr$parameter

... creating table dr$class

... creating table dr$object

... creating table dr$object_attribute

... creating tables and Oracle object types

... ...

7、以ctxsys身份运行$ORACLE_HOME/ctx/admin/ drdefzhs.sql,设置缺省词法分析器

SQL> @./defaults/drdefzhs.sql

Creating lexer preference...

Creating wordlist preference...

Creating stoplist...

SQL> exit

 

李守亮 slli@founder.com.cn

2003-2-25

阅读全文
0 0

相关文章推荐

img
取 消
img