본문 바로가기

개발 관련 지식/알티베이스(Altibase)

[알티베이스] AEXPORT

* AEXPORT

: DB 에 생성된 객체들의 생성 스크립트를 SQL문 형식으로 파일에 저장

(위치: $ALTIBASE_HOME/bin)

 

 [주의사항]

수행 전 $ALTIBASE_HOME/conf/aexport.properties 파일이 존재해야 함

- 존재하지 않을 경우 아래와 같이 오류가 발생

[ERR-91066 : Property File Loading Error.(conf/aexport.properties)]

- $ALTIBASE_HOME/conf/aexport.properties.sample 을 복사하여 사용

- 설정 파일 내에서는 "#" 기호가 주석으로 사용됨

- Procedure, View 의 경우 생성 순서대로 출력되지 않기 때문에 재생성 시 순서에 주의

- 사용자가 수정할 옵션은 다음 2가지 항목으로 iLoader 스크립트를 생성할 때 구분자로 사용되는 부분임으로 데이터에 중복되지 않게 복잡한 문자열을 지정(10자 이내)

ILOADER_FILED_TERM = ^

ILOADER_ROW_TERN = %n

이 옵션을 주석으로 처리할 경우 aexport 에 생성된 iLoader 쉘 스크립트의 데이터파일 저장형식은 CSV를 사용함.

 

- aexport 실행 시 입력 옵션

 입력 옵션

 설명

 -s

 접속할 ALTIBASE HDB 서버의 IP

 -u

 ALTIBASE HDB DB 사용자 명(sys 이외의 경우 해당 사용자 정보만 추출)

 -p

 사용자의 패스워드

 -port

 ALTIBASE HDB Listen Port 번호

 -nls_use

 ALTIBASE HDB 문자셋 정보

(주석 등에 한글을 사용한 경우를 대비해 올바른 문자셋 입력 필요)

 

- aexport 에 의해 생성되는 파일 : SQL 파일(XX:임의의 사용자 명을 의미)

 파일명

 설명

 ALL_CRT_TBS.sql

 모든 테이블스페이스 생성 SQL문을 저장

 ALL_CRT_PROC.sql

 모든 프로시저 생성 SQL문을 저장

 ALL_CRT_VIEW.sql

 모든 VIEW 생성 SQL문을 저장

 SYS_CRT_USER.sql

 모든 DB 사용자를 생성하는 SQL문을 저장

 SYS_CRT_REP.sql

 이중화 객체 생성 정보를 저장

 SYS_PRIV_USER.sql

 모든 DB 사용자의 권한 정보를 저장

 XXX_CRT_TBL.sql

 DB 사용자에게 속한 테이블 생성 SQL문을 저장

 XX_CRT_INDEX.sql

 DB 사용자에게 속한 인덱스 생성 SQL문을 저장

 XX_CRT_FK.sql

 DB 사용자에게 속한 참조키 생성 SQL문을 저장

 XX_CRT_SYNONYM.sql

 DB 사용자에게 속한 시노님 생성 SQL문을 저장

[참고] 각 파일들에 해당하는 객체정보가 생성되어 있지 않은 경우 만들어진 파일의 크기는 "0" 이 된다.

 

- aexport 에 의해 생성되는 파일 : 쉘 실행파일

 파일명

 설명

 run_is.sh

 테이블스페이스, DB사용자, 테이블, 프로시저, VIEW, 사용자 권한 등을 순차적으로 생성하는 스크립트

 run_is_fk.sh

 참조키를 순차적으로 생성하는 스크립트

 run_is_index.sh

 인덱스를 순차적으로 생성하는 스크립트

 run_il_in.sh

 데이터를 순차적으로 업로드 하는 스크립트

 run_il_out.sh

 데이터를 순차적으로 다운로드 하는 스크립트

 run_is_repl.sh

 이중화 객체를 생성하는 스크립트

 

- aexport 를 이용한 DB 복제 절차

 1. 소스 장비에서 aexport를 실행하여 객체 정보를 스크립트 파일로 백업

2. 소스 장비에서 aexport를 통해 만들어진 run_il_out.sh를 실행하여 데이터를 백업

3. 소스 장비에서 (1,2번) 과정에서 생성된 파일을 모두 대상 장비로 이관

4. 대상 장비의 DB 재생성 및 구동

5. 대상 장비에서 run_is.sh를 수행(테이블스페이스, DB사용자, 테이블 등을 생성)

6. 대상 장비에서 run_is_index.sh을 수행(인덱스 정보를 생성)

7. 대상 장비에서 run_is_in.sh를 수행(데이터를 업로드)

8. 대상 장비에서 run_is_fk.sh을 수행(참조키를 생성)

 

 

[참고] 이미 대상 장비에 동일한 DB객체가 존재할 경우에는 5번 과정을 생략하고 대상 장비의 모든 테이블을 TRUNCATE 한 후 데이터를 업로드 해야 함