(tibero) tbexport/tbimport 특징 및 기본적인 방법 정리
서비스 운영 중 실제 운영 서버의 데이터를 통해 테스트를 진행해야 하는 경우가 발생하여 운영 DB의 데이터를 개발 DB로 가져왔으며, 그 과정에서 사용 중인 DBMS tibero의 export, import 기능인 tbexport, tbimport를 사용하여 해당 내용을 간략하게 정리하였습니다.
티베로에서는 데이터 이관/백업 시 tbexport, tbimport 기능을 사용할 수 있으며, 해당 유틸은 '$TIBERO_HOME/client/bin/' 디렉터리 하위에 실행 파일 형태로 존재합니다.
1. tbexport 특징 및 예시
'tbexport'는 테이블, 인덱스, 시퀀스 등의 데이터베이스 객체와 데이터를 덤프 파일로 추출하는 도구입니다.
tbexport의 경우 물리적 백업이 아닌 논리적 백업이라는 특징이 있으며, 따라서 전체 DB 복구 용도보다는 스키마 단위 또는 테이블 단위의 테이터를 이관하거나, 특정 시점의 데이터를 보관하는 용도로 사용됩니다.
* 논리적 백업: 데이터베이스 안의 데이터와 객체 구조(스키마, 테이블, 인덱스, 제약조건, 시퀀스 등)를 SQL 또는 덤프 파일과 같은 논리적인 형태로 저장하는 것
또한 tbexport를 사용해서 여러 개의 테이블을 export 하는 경우 각 테이블의 데이터는 동일 시점의 데이터가 아니라 추출되는 시점의 순차적인 데이터라는 특징이 있습니다.
tbexport 모드에는 전체 데이터베이스 모드, 사용자 모드, 테이블 모드가 있는데요.
전체 데이터베이스 모드의 경우 SYS 사용자를 제외한 모든 사용자의 객체를 export 하기 위해 사용되며, 사용자 모드는 SYS 사용자를 제외, 지정된 사용자가 소유한 스키마 객체를 export 하는 모드입니다.
마지막으로 테이블 모드는 하나 이상의 테이블을 지정하여 해당 테이블과 연관된 스미카 객체를 함께 추출하는 모드입니다.
tbexport username=sys password=tibero sid=tibero01 port=8629
file=/home/tibero/db_export/export_example_01.dat
log=/home/tibero/db_export/log/export_example_01.log
table=TIBERO001.TB_EXAMPLE_USER,TB_EXAMPLE_COMP,TB_EXAMPLE_DEPT
* 위 예시는 보기 편하게 줄 바꿈을 한 것으로 실제 명령어는 줄 바꿈 없이 이어진 상태로 입력되어야 합니다.
다음은 tbexport 테이블 모드의 간단한 예시이며, 'TIBERO001.TB_EXAMPLE_USER'와 같이 테이블을 소유한 사용자를 반드시 명시해야 한다는 특징이 있습니다.
2. tbimport 특징 및 예시
'tbimport'는 tbexport로 생성된 덤프 파일을 읽어서 Tibero DB에 데이터를 복원하는 도구입니다.
tbexport와 마찬가지로 전체 데이터베이스 모드, 사용자 모드, 테이블 모드가 존재하며, 아래는 테이블 모드의 간단한 예시입니다.
tbimport username=T001 password=T001 sid=tibero01 port=8629
table="TIBERO001.TB_EXAMPLE_USER,TB_EXAMPLE_COMP,TB_EXAMPLE_DEPT"
file=/home/tibero/db_export/export_example_01.dat
ROWS=Y IGNORE=Y
* 위 예시는 보기 편하게 줄 바꿈을 한 것으로 실제 명령어는 줄 바꿈 없이 이어진 상태로 입력되어야 합니다.
tbimport 실행 중 제약조건이 있는 테이블의 경우 제약조건을 위반하는 로우는 저장되지 않기 때문에 테이블의 데이터를 입력하고 나중에 제약조건을 설정하는 방식이 사용됩니다.
위 예시에서 사용된 옵션 중 IGNORE의 경우 이미 존재하는 스키마 객체로 인한 에러를 무시할지 여부를 설정하는 옵션이며, default 값은 'N'입니다.
ROWS 옵션의 경우 테이블의 데이터를 import 할지 여부를 지정하며 기본 값은 'Y'입니다.
tbexport -h
tbimport -h
tbexport, tbimport 기능의 옵션에 대한 세부적인 도움말은 위 명령어를 통해 확인할 수 있으며, 아래 링크의 티베로 공식 문서를 통해서도 확인할 수 있습니다.
< 위 기능에 대한 티베로 공식 문서 >
'Programming > Database' 카테고리의 다른 글
동일한 테이블을 여러 번 조인하는 방법과 서브쿼리를 사용하는 방법의 차이 (1) | 2024.10.09 |
---|---|
ROW_NUMBER OVER PARTITION BY 그룹 내 순위를 반환하는 함수 (0) | 2024.07.21 |
(SQLD) GROUPING SETS, ROLLUP, CUBE 내용 및 예시 정리 (0) | 2024.05.26 |
테이블 백업이나 분석에 사용되는 CTAS (CREATE TABLE AS SELECT) 쿼리 (0) | 2024.05.23 |
SQL SELECT 쿼리 실행 순서 및 처리 과정 정리 (0) | 2024.05.09 |