database.sarang.net
UserID
Passwd
Database
DBMS
MySQL
PostgreSQL
Firebird
ㆍOracle
Informix
Sybase
MS-SQL
DB2
Cache
CUBRID
LDAP
ALTIBASE
Tibero
DB 문서들
스터디
Community
공지사항
자유게시판
구인|구직
DSN 갤러리
도움주신분들
Admin
운영게시판
최근게시물
Oracle Tutorials 9039 게시물 읽기
 News | Q&A | Columns | Tutorials | Devel | Files | Links
No. 9039
Intermedia Text 설치하기
작성자
정재익(advance)
작성일
2001-12-25 13:12
조회수
4,496

Oracle8i InterMedia Text 초기화 방법

 

아래의 자료는 한국 Oracle에서 받은것을 토대로 본인이 수정 보완한것 입니다. 본인의 경우에는 아래의 InterMedia Text를 위해 별도로 TableSpace를 설치하였습니다.(Oracle8.1.6에서 정산적으로 수행된 결과임)

 

InterMedia Text는 Oracle8i의 Universal Installer에 의해 자동으로 설치되기는 하지만 여러 가지 이유로 Manual하게 다시 설치할 수 있다. Installer에 의해 자동으로 설치된 경우에, InterMedia Text를 관리하는 유저인 ctxsys user는 default로 system tablespace로 생성되는 데, manual한 설치 과정을 통해서 다른 tablespace를 설정할 수 있다.

 

InterMedia Text는 Oracle8i의 External Procedure기능을 이용하여 데이터베이스 커널과 접목되었다. 그래서 InterMedia Text를 잘 실행하기 위해서는 Net8 configuration을 설정해야 한다.

 

* InterMedia Text 초기화 방법

 

1. 기존의 ctxsys user를 drop한다.

$ cd $ORACLE_HOME/ctx/admin

$ sqlplus ctxsys/ctxsys @dr0drop.sql

$ sqlplus sys/sys_password @dr0dsys.sql

 

2. 새로 ctxsys user를 생성한다.

Oracle8i 이전에는 관리자 유저를 ctxsys 외에 유저가 원하는 이름으로 생성이 가능했지만, Oracle8i부터는 ctxsys user로만 가능하다. 이 script 뒤에 오는 첫번째 입력 값은 ctxsys user의 password이고, 두번째는 ctxsys user의 default tablespace, 세번째는 temporary tablespace이다. ctxsys user의 default tablespace의 크기는 원활한 수행을 위해 약 30M이상을 권장한다.

 

$ sqlplus sys/sys_password @dr0csys.sql ctxsys context temp

 

3. Default object 생성

본인의 경우에는 Windows2000의 경우가 해당 되었슴.

 * on HP 

   HP의 경우  libctxx8.so 가 아니고 libctxx8.sl 로 지정해야 한다. 

 * on NT 

    sqlplus 를 ctxsys user로 접속한 후 다음과 같이 실행한다. 

    @dr0inst.sql oracle_home\bin\oractxx8.dll --> 절대경로로 기술 

 * 그외 

 $ sqlplus ctxsys/ctxsys @dr0inst.sql 

  /home/app/oracle/product/8.1.5/ctx/lib/libctxx8.so  
  ------------------------------------------------- 
 위와 같이 $ORACLE_HOME/ctx/lib/libctxx8.so에 해당하는 절대 path를 
지정해야 한다. 

 $ sqlplus ctxsys/ctxsys @defaults/drdefko.sql 

 drdefko.sql file은 default로 한글 lexer를 생성하기 위해서 실행한다. 


* Net*8 설정방법 
본인의 경우 처음에는 Oracle 영문 Manual을 보고 하였으나  
문제가 있었으며,,, 
Net8 설정의 경우엔 아래의것대로 따라 하는것이 좋을듯 싶습니다. 


 InterMedia Text를 사용하기 위해서는 Net8이 설정되어 있어야 하며, 
이를 위해서 listener.ora와 tnsnames.ora file의 내용을 수정해야 한다. 

1. IPC listener address설정 
 listener.ora file에 External procedure를 위한 listener를 설정한다. 

 - 설정 안된 경우 

 LISTENER = 
    (ADDRESS_LIST = 
        (ADDRESS = 
  (PROTOCOL=tcp)(HOST=Krhp1)(PORT=1521) 
 ) 
    ) 

 - 설정 한 경우 

 LISTENER = 
  (DESCRIPTION_LIST = 
 (DESCRIPTION = 
     (ADDRESS_LIST = 
  (ADDRESS = (PROTOCOL=IPC)(KEY=EXTPROC0)) 
     ) 
     (ADDRESS_LIST = 
         (ADDRESS = (PROTOCOL=tcp)(HOST=Krhp1)(PORT=1521)) 
     ) 
 ) 
    ) 

 EXTPROC0의 마지막 값은 zero이며 이는 default값이다.  만일 서버에 
여러 개의 database가 설치되어 있다면 ipc의 key값을 다르게 주어야 한다. 

2. SID(System Identifier)설정 
 External procedure의 사용을 위한 SID설정을 위해 listener.ora file의 
SID_LIST_LISTENER을 수정한다. 

 SID_LIST_LISTENER = 
      (SID_LIST = 
     (SID_DESC 
      .... 
     .... 
    (SID_DESC = 
   (SID_NAME=PLSExtProc) 
  (ORACLE_HOME=/hom1/app/oracle/product/8.1.5) 
   (PROGRAM=extproc) 
  ) 
      ) 

3. Service Name Description설정 
 tnsnames.ora file에 service name을 다음과 같이 추가한다. 

 extproc_connection_data = 
    (DESCRIPTION = 
 (ADDRESS_LIST = 
     (ADDRESS = (PROTOCOL=IPC)(KEY=EXTPROC0)) 
 ) 
 (CONNECT_DATA = 
     (SID=PLSExtProc) 
     (PRESENTATION =RO) 
 ) 
    ) 

4. Listener 설정의 확인 

$ lsnrctl serv 

LSNRCTL for Solaris: Version 8.1.5.0.0 - Production on 04-OCT-99 
16:35:24 

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

Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=IPC)(KEY=EXTPROC0))) 
Services Summary... 
  PLSExtProc            has 1 service handler(s) 
    DEDICATED SERVER established:0 refused:0 
      LOCAL SERVER 
  ORA815                has 1 service handler(s) 
    DEDICATED SERVER established:0 refused:0 
      LOCAL SERVER 
The command completed successfully 


* 사용방법 

1. InterMedia Text 사용자 생성 

 $ sqlplus system/manager 
 SQL> create user ctxdemo identified by ctxdemo 
      default tablespace users 
      temporary tablespace temp; 
 SQL> grant connect, resouce, ctxapp to ctxdemo; 

2. InterMedia Text의 인덱스 생성과 사용 

 SQL> create table documents 
      ( docu_id  number primary key,  text  varchar2(1000) ); 
 SQL> insert into documents values(1,'DB마케팅 고객만족 이끈다'); 
 SQL> insert into documents values(2,'리눅스시장 판도변화 조짐'); 
 SQL> commit; 
 SQL> create index docu_text on documents(text) 
      indextype is ctxsys.context; 

  -> index생성시에 ORA-28575 ERROR가 발생하면 Net8 설정의 문제이다. 
  -> 본인의 경우 위으 ㅣ스템중 DLL의 경로를 잘못적어주어 
      DLL을 Load할수 없다는 사례가 있었으며, 또한 Net8설정에 
      문제가 있어 잘못되는 경우도 있었습니다(Oracle 영문 Manaual을 보고 했을때) 


 SQL> select * from documents where contains(text,'변화') > 0; 

   DOCU_ID TEXT 
 --------- ----------------------------------- 
         2 리눅스시장 판도변화 조짐 

 SQL> select * from documents where contains(text,'DB') > 0 

   DOCU_ID TEXT 
 --------- ----------------------------------- 
         1 DB마케팅 고객만족 이끈다 
이 글에 대한 댓글이 총 1건 있습니다.

interMidia 설정의 추가 답변입니다.

 

오라클 사이트의 문서에서

 

init.ora 설정 parameter 중 text_enabled 가 'true' 라고 되어 있는데

 

8.1.x 이상 쓰시는분 'FALSE' 로 꼭 해주세요 ...

정재익(advance)님이 2001-12-25 13:13에 작성한 댓글입니다.
[Top]
No.
제목
작성자
작성일
조회
9047SQL Loader 예제
정재익
2001-12-25
4699
9045Oracle8의 national Character Set(nchar)에 대하여
정재익
2001-12-25
4104
9044Oracle8i 에서의 character set 변경
정재익
2001-12-25
3865
9039Intermedia Text 설치하기 [1]
정재익
2001-12-25
4496
9037ora-04031과 alter system flush shared_pool에 관해...
정재익
2001-12-25
4395
9036일반 User 로 접속한후 DB를 start or shutdown 하는 방법
정재익
2001-12-25
4271
9031오라클 Performance Tuning Scripts
정재익
2001-12-25
4221
Valid XHTML 1.0!
All about the DATABASE... Copyleft 1999-2023 DSN, All rights reserved.
작업시간: 0.051초, 이곳 서비스는
	PostgreSQL v16.1로 자료를 관리합니다