이미 데이타가 많이 구축된 DB에서 색인방식을 변경하는 우회적인 방법을 설명한다.
이 예에서는 "CATEGORY" 섹션을 하나의 분류를 가진다고 가정하여 INDEX_AS_IS로 색인한 상태에서 서비스를 수행하다가, 두 개이상의 범주를 부여할 수 있도록 변경했으며 이에 따라 index type을 INDEX_BY_TOKEN으로 변경하고자 할 때의 설명이다.
크리스탈은 데이터베이스의 기본 스키마를 목록파일(볼륨디렉토리/data/DB이름.CAT 파일)에 저장한다. 여기서 설명하는 편법에서는 이 목록파일(catalogue file)을 갈아치우고 색인을 지운 후 재색인하게 된다.
$ cd kristal_db/
$ kristald_stop conf/mydb.config.xml
$ mv volume volume.org
vi 등을 활용하여 DB 스키마 파일에서 CATEGORY 섹션의 색인방법을 변경
$ kristal_dbadmin -c -f -s schema/mydb.db_schema.xml
$ cp -f volume/mydb.CAT volume.org
$ rm -rf volume
$ mv volume.org volume
$ clear_index_table volume/ mydb mydb_table
$ build_index_table volume/ /home/kristal/KRISTAL mydb mydb_table
$ kristald -D conf/mydb.config.xml
시간을 절약하기 위해 clear_index_table / build_index_table 대신 clear_index_section / build_index_section 명령어를 사용할 수도 있다. 이에 대해서는 크리스탈 사용자 매뉴얼 참조.... |