본문 바로가기

IT-Consultant

ORACLE TEXT 10G의 수동 설치와, 설치 해제 방법


제품 : ORACLE SERVER

작성날짜 : 2006-03-17

ORACLE TEXT 10G의 수동 설치와, 설치 해제 방법
===================================


PURPOSE


이 문서는, Oracle Text 10gR1의 수동 설치와 설치 내용의 확인, 설치 해제 방법을 기술하고 있다.
이 정보는, Oracle 10g Release 1 (10.1.0.2)의 Text를 구성하는 데이터베이스 관리자와, 기술 지원 담당자에게
유용한 정보가 될 것이다.

Explanation


* 주의 사항

오라클 데이터베이스를 Database Configuration Assistant (DBCA)를 사용하여 생성하였다면, Text는
기본적으로 설치되며, 별도로 아래 기술된 절차에 따라 설치를 진행할 필요가 없다.

Oracle Text는 모든 데이터베이스 에디션에 (Oracle Database Standard Edition One,
Oracle Database Standard Edition (SE), Oracle Database Enterprise Edition (EE),
Oracle Database Personal Edition ) 추가 라이센스 비용 없이 사용할 수 있다.

Oracle Database Enterprise Edition (EE)의 경우, Oracle Text를 설치하기전에 Oracle Data Mining (ODM)
기능을 사용할 수 있게 하는 것이 좋다. 이와 같이 하면, SVM classifier 와 KMEANS clustering 기능을 사용
할 수 있다. RULE classifier 나 TEXTK clustering과 같은 다른 기능은 ODM이 설치되지 않는 상태에서도
실행 가능하다.

* 설치 절차

데이터베이스를 수동으로 생성하였거나, 데이터베이스 생성 후 Text를 나중에 별도로 설치하기 위해서는
다음과 같은 절차를 따른다.

참고: SQL*Plus에서 $ORACLE_HOME 대신에 '?'를 사용하였다.

1. SQL*Plus에 SYSDBA로 연결 한 수, 다음과 같이 스크립트를 호출하면, CTXSYS 스키마에 Text dictionary가
생성된다.

SQL> connect SYS/password as SYSDBA
SQL> spool text_install.txt
SQL>@?/ctx/admin/catctx.sql CTXSYS SYSAUX TEMP LOCK

위 명령에서:
CTXSYS - ctxsys 사용자의 패스워드
SYSAUX - ctxsys 사용자의 default tablespace명
TEMP - ctxsys 사용자의 temporary tablespace명
LOCK|NOLOCK - ctxsys 사용자 계정을 잠글 것인지, 잠금 해제 할 것인지 여부

2. 위 작업이 끝나면 언어별로 적절한 default preference를 생성한다.
Oracle text가 지원하는 언어별 default preference는 /ctx/admin/defaults 디렉토리에 있다.
예를 들면, English(US), Danish(DK), Dutch(NL), Finnish(SF), French(F), German(D), Italian(IT),
Portuguese(PT), Spanish(E), Swedish(S) 등이 있다.

이들 스크립트는 drdefXX.sql과 같은 파일 명을 갖는데, 여기서 XX는 사용하고자 하는 국제
코드이다. 예를 들어 US default preference를 수동으로 설치하기 위해서는 sqlplus에 CTXSYS
계정으로 로그인 한 후, 'drdefus.sql'을 다음과 같이 실행시킨다.

예를 들어 한국의 경우엔 KR default preference를 수동으로 설치하기 위해서는 sqlplus에 CTXSYS
계정으로 로그인 한 후, 'drdefkr.sql'을 다음과 같이 실행시킨다.

SQL> connect CTXSYS/password
SQL>@?/ctx/admin/defaults/drdefko.sql
SQL> spool off

*** 주의 ***
만약 Text를 설치하기 전에 Oracle Data Mining (ODM)을 설치하였다면, text_install.txt 파일에서
public synonym과 관련된 ORA-955 에러가 남겨진 것을 확인 할 수 있다. 예를 들어 dm_svm_build 와
관련된 에러가 발생하게 되는데 이 에러는 무시하면 된다. CTXSYS 스키마에 API를 휴내내는 더미
패키지를 생성하는데, 설치 과정에서 public synonym을 생성하는 것을 시도해 보기 때문이다.

ODM이 설치되어 있는 상태에서는, public synonym 생성은 실패하게 되고, public synonym이
ODM의 객체를 가리키는 상태가 되므로, 정상적인 동작이 된다.

3. Text 10gR1 (10.1.0.x) 정상 설치 여부에 대한 확인

a. 모든 Text 객체가 CTXSYS 스키마에 정상적으로 설치 되었는지 여부를 확인한다.
b. CTXSYS 스키마에 속한 객체중 invalid 상태인 것들이 없는 것이 있는지 확인한다.
정상적으로 설치된 상태에서는 결과 값으로 "no rows selected"가 나와야 한다.
만약 invalid 상태의 객체가 있다면 수동으로 이들 객체를 컴파일 해 주어야 한다.


cut here
connect SYS/password as SYSDBA
set pages 1000
col object_name format a40
col object_type format a20
col comp_name format a30
column library_name format a8
column file_spec format a60 wrap
spool text_install_verification.log

-- check on setup
select comp_name, status, substr(version,1,10) as version
from dba_registry
where comp_id = 'CONTEXT';
select * from ctxsys.ctx_version;
select substr(ctxsys.dri_version,1,10) VER_CODE from dual;

select count(*)
from dba_objects where owner='CTXSYS';

-- Get a summary count
select object_type, count(*)
from dba_objects where owner='CTXSYS'
group by object_type;

-- Any invalid objects
select object_name, object_type, status
from dba_objects
where owner='CTXSYS'
and status != 'VALID'
order by object_name;

spool off

cut here

정상적으로 설치가 되었다면 다음과 같은 결과가 나와야 한다:

SQL> select comp_name, status, substr(version,1,10) as version
from dba_registry
where comp_id = 'CONTEXT';

COMP_NAME STATUS VERSION

-----------
Oracle Text VALID 10.1.0.2.0

SQL> select * from ctxsys.ctx_version;

VER_DICT VER_CODE

------------------------------
10.1.0.2.0 10.1.0.2.0

SQL> select substr(ctxsys.dri_version,1,10) VER_CODE from dual;

VER_CODE

10.1.0.2.0

SQL> select count(*)
from dba_objects where owner='CTXSYS';

COUNT(*)

338

SQL> select object_type, count(*)
from dba_objects where owner='CTXSYS'
group by object_type;

OBJECT_TYPE COUNT(*)

----------
FUNCTION 5
INDEX 46
INDEXTYPE 4
LIBRARY 1
LOB 1
OPERATOR 6
PACKAGE 71
PACKAGE BODY 58
PROCEDURE 3
SEQUENCE 3
TABLE 37
TYPE 42
TYPE BODY 7
VIEW 54

14 rows selected.

SQL> select object_name, object_type, status
from dba_objects
where owner='CTXSYS'
and status != 'VALID'
order by object_name;

no rows selected

SQL>

4. 수동으로 설치 해제를 하는 절차

*** 주의 ***
Oracle Text를 설치 해제 하기 전에, CTXSYS 이외의 계정에서 생성한 모든 Text 인덱스를 drop 시키는 것이
좋다.

CTXSYS 스키마의 Text dictionary는 SQL*Plus에 SYSDBA로 연결하여 다음과 같이 스크립트를 실행 시킴으로써
제거된다.

SQL> connect SYS/password as SYSDBA
SQL> spool spool textdeinstall.log
SQL>@?/ctx/admin/catnoctx.sql
SQL> spool off

Review the output file textdeinstall.log for errors.
Deinstallation of Oracle Text 10.1.0.x is complete.

Example


Reference Documents


Oracle Text Reference 10g Release 1 (10.1) Part Number B10730-02
Note 280713.1 Manual installation, deinstallation of Oracle Text 10gR1