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 12253 게시물 읽기
 News | Q&A | Columns | Tutorials | Devel | Files | Links
No. 12253
oracle 에서의 long 칼럼 검색
작성자
정재익(advance)
작성일
2002-10-15 13:43
조회수
12,490

intermedia 에 대한 설명글로써 linux.sarang.net에서 퍼왔습니다.

 

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

 

글번호: 1003번

글쓴이: 혀니

글쓴날: 2001년 04월 21일 12시 06 분 08초

 

제목: 오라클에서 long형인 자료형 검색하기

 

 

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

 

오라클 815,816기준

 

기본적으로 오라클을 설치하면 intermedia text 패키지들이 설치가 됩니다.

패키지가 설치 되었는지 검사 하기

#sqlplus ctxsys/ctxsys 로 접속이 되어야 합니다

즉 ctxsys라는 사용자가 있어야 설치가 된겁니다.

 

intermedia text관련 라이브러리가 설치되었는지 검사

 

SQL>select library_name,file_spec,dynamic,status from user_libraries;

 

LIBRARY_NAME FILE_SPEC D STATUS

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

DR$LIBX /oracle/db/dev118/ctx/lib/libctxx8.so Y VALID

 

위가 같은 내용이 검색된다면 intermedia 관려 패키지들이 설치가 된겁니다..

 

 

[1]만약 설치가 되어 있지 않다면 아래의 순서대로 설치해주시면 됩니다..

1-1) SYS사용자로 접속을 합니다

SQL>@$ORACLE_HOME/ctx/admin/dr0csys.sql ctxsys패스워드 디폴트테이블스페이스 템프로리테이블스패이스

(EX SQL>@$ORACLE_HOME/ctx/admin/dr0csys.sql ctxsys system temp)

 

1-2) cxtsys사용자로 접속을 합니다

SQL>connect ctxsys/ctxsys

 

1-3) 관련 라이브러리를 설치합니다.

SQL>@$ORACLE_HOME/ctx/admin/dr0inst.sql $ORACLE_HOME/ctx/lib/libctxx8.so

 

1-4) 한글 랙서(Lexer)를 설치 합니다.

SQL>@$ORACLE_HOME/ctx/admin/defaults/drdefko.sql

 

만약 기존에 설치되어 있는 intermedia text를 제거 하고자 한다면 아래 순서대로 하시면 됩니다..

(권하고 싶은 방법이 아닙니다 이렇게 제거하고 다시 설치하려다 안돼서 오라클을 다시 설치한 경험이 있습니다

그러나 이방법으로 제거한후 다시 설치하는것이 맞습니다 )

 

2-1) ctxsys사용자로 접속해 intermedia text라이브러리를 제거 합니다.

SQL>@$ORCLE_HOME/ctx/admin/dr0drop.sql

2-2) sys 사용자로 접속해 ctxsys사용자를 제거 합니다.

SQL>@$ORACLE_HOME/ctx/admin/dr0dsys.sql

 

[2] Net8 세팅하기

기본적으로 오라클 816은 intermadia text설치한다면 Net8설정이 오라클 설치시 세팅이 됩니다.

세팅이 되어 있지 않거나 아래와 내용이 다른 경우 세로 세팅을 하시면 됩니다.

 

$ORACLE_HOME/network/admin/listener.ora

($ORACLE_HOME이 /home/oracle이라고 가정)

만약 intermedia text세팅이 되어 있지 않다면

LISTENER =

(DESCRIPTION_LIST =

(DESCRIPTION =

(ADDRESS_LIST=

(ADDRESS= (PROTOCOL=tcp) (HOST=xxx.xxx.co.kr) (PORT=1521))

)

)

)

 

SID_LIST_LISTENER =

(SID_DESC =

(GLOBAL_DBNAME = ORCL)

(ORACLE_HOME = /home/oracle)

(SID_NAME = ORCL)

)

)

 

이렇게만 되어 있을 겁니다.

LISTENER =

(DESCRIPTION_LIST =

(DESCRIPTION =

(ADDRESS_LIST =

(ADDRESS = (PROTOCOL = IPC) (KEY = EXTPROC))

(ADDRESS = (PROTOCOL = TCP) (HOST = xxx.xxx.co.kr) (PORT = 1521))

)

)

)

 

SID_LIST_LISTENER =

(SID_LIST =

(SID_DESC =

(SID_NAME = PLSExtProc)

(ORACLE_HOME = /home/oracle)

(ENVS = 'LD_LIBRARY_PATH=/home/oracle/ctx/lib')

(PROGRAM = extproc)

)

(SID_DESC =

(GLOBAL_DBNAME = ORCL)

(ORACLE_HOME = /home/oracle)

(SID_NAME = ORCL)

)

)

위와 같이 바꾸어 줍니다.

LISTENER에서

(ADDRESS = (PROTOCOL = IPC) (KEY = EXTPROC))를 추가하고

 

SID_LIST_LISTENER 에서

SID_DESC =

(SID_NAME = PLSExtProc)

(ORACLE_HOME = /home/oracle)

(ENVS = LD_LIBRARY_PATH = /home/oracle/ctx/lib)

(PROGRAM = extproc)

추가 하는 겁니다..

 

 

$ORACLE_HOME/network/admin/tnsnames.ora

intermedia text가 세팅되어 있지 않았다면

DBCON =

(DESCRIPTION =

(ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST = xxx.xxx.co.kr)(PORT = 1521)))

(CONNECT_DATA = (SERVICE_NAME = ORCL))

)

이렇게만 되어 있을 겁니다.

 

DBCON =

(DESCRIPTION =

(ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST = xxx.xxx.co.kr)(PORT = 1521)))

(CONNECT_DATA = (SERVICE_NAME = ORCL))

)

EXTPROC_CONNECTION_DATA.XXX.CO.KR =

(DESCRIPTION =

(ADDRESS_LIST = (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC)))

(CONNECT_DATA = (SID = PLSExtProc)(PRESENTATION = RO))

)

위와 같이 EXTPROC_CONNECTION_DATA.XXX.CO.KR 의 내용을 추가 합니다..

EXTPROC_CONNECTION_DATA는 반드시 적어주어야 합니다.

XXX.CO.KR은 $ORACLE_HOME/network/admin/sqlnet.ora 파일에 있는 NAMES.DEFAULT_DOMAIN = XXX.CO.KR의

XXX.CO.KR을 적어주셔야 합니다.

만약 sqlnet.ora파일에 NAMES.DEFAULT_DOMAIN 없다면 반드시 세팅해 주셔야 합니다

 

Net8세팅이 다되었다면 리스너를 재실행 합니다.

lsnrctl stop -> lsnctl start

 

다음 intermedia text서비스가 시작 되었는지 체크합니다

 

#lsnrctl status

 

LSNRCTL for Linux: Version 8.1.5.0.0 - Production on 21-APR-01 11:02:01

 

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

 

Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=IPC)(KEY=EXTPROC)))

STATUS of the LISTENER

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

Alias LISTENER

Version TNSLSNR for Linux: Version 8.1.5.0.0 - Production

Start Date 21-APR-01 09:13:14

Uptime 0 days 1 hr. 48 min. 46 sec

Trace Level off

Security OFF

SNMP OFF

Listener Parameter File /home/oracle/network/admin/listener.ora

Listener Log File /home/oracle/network/log/listener.log

Services Summary...

PLSExtProc has 1 service handler(s)

ORCL has 1 service handler(s)

The command completed successfully

 

위의 내용과 같이

Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=IPC)(KEY=EXTPROC))

PLSExtProc has 1 service handler(s)

이런 이런내용들이 확이 되어야 합니다..

 

tnsping으로도 확인 해봅니다..

#tnsping EXTPROC_CONNECTION_DATA.XXX.CO.KR

TNS Ping Utility for Linux: Version 8.1.5.0.0 - Production on 21-APR-01 11:05:58

 

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

 

Attempting to contact (ADDRESS=(PROTOCOL=IPC)(KEY=EXTPROC))

OK (0 msec)

OK가 되었다면 Net8세팅이 정상적으로 되었다고 보시면 됩니다..

 

새로운 사용자를 만들고 테스트를 해보겠습니다

SQL>Create user ctxtest identified by ctxtest;

SQL>Grant connect, resource, ctxapp to ctxtest;

ctxtest라는 사용자에게 ctxapp라는 권한이 반드시 있어야 합니다

 

SQL>connect ctxtest/ctxtest

SQL>Create table test(num number primary key, text long);

 

SQL>Insert into test values (1,'테스트');

SQL>Insert into test values (2,'InterMedia text 입력테스트');

 

SQL>Create index test_idx_text on test(text) indextype is ctxsys.context;

 

SQL>Select num,text from test where contains (text,'%입력%') > 0;

NUM TEXT

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

2 InterMedia text 입력테스트

 

CONTEXT INDEX의 경우 입력될때마다 자동으로 인덱스 생성이 되지 않기 때문에..

ctxsrv를 쉘상에서 기동시켜주어야 합니다..

#ctxstv -user ctxsys/ctxsys -logfile ctxsrv.log &

 

그럼 행운을 빕니다..

이 글에 대한 댓글이 총 1건 있습니다.

참 좋은 글이군요. 그런데 윗글에서 하나 수정할 부분이 있는데요

Oracle Text를 재설치 할때 ctxsys 계정으로 로그인해서 명령을 실행하면 에러나구요. sys 계정으로 로그인한 후 명령을 실행해야 합니다.

그래야 에러없이 생성이 됩니다.

그럼.

배원준(erpy)님이 2004-05-18 16:36에 작성한 댓글입니다.
[Top]
No.
제목
작성자
작성일
조회
12351redhat7.1+oracle8.1.6+mysql+apache+php+각종 패키지 설치
정재익
2002-10-24
11659
12311RedHat 7.3 에서 Oracle 9i 설치하기 [2]
정재익
2002-10-20
9752
12254Linux Maximus, Part 1: Gladiator-like Oracle Performance [1]
정재익
2002-10-15
8322
12253oracle 에서의 long 칼럼 검색 [1]
정재익
2002-10-15
12490
12065Tips and Techniques:Install and Configure Oracle 9i on Redhat Linux Advanced Server
문태준
2002-09-26
7465
12064Implementing Oracle9i RAC with Linux on xSeries
문태준
2002-09-26
7943
12063Oralce 9iR1, R2 을 Redhat 7.x, Advanced Server에 설치할 경우 생기는 에러에 대한 처리 방법
문태준
2002-09-26
12029
Valid XHTML 1.0!
All about the DATABASE... Copyleft 1999-2024 DSN, All rights reserved.
작업시간: 0.025초, 이곳 서비스는
	PostgreSQL v16.2로 자료를 관리합니다