개요
DB Link를 통해 데이터를 이관 후 설정해야 하는 사항들에 대해 안내합니다.
참고
본 문서는 아래 조건에서 수행한 안내자료 입니다.
•
가상 머신 : Vitrual Box
•
OS : Centos7
•
Tibero : Tibero6
•
Source, Target : Tibero6 (동일서버내 존재)
방법
1. 테이블 로깅 설정
데이터 이관이 완료 된 후 테이블 logging 설정값을 원복합니다. Source의 logging 모드를 조회해 Target에 반영합니다.
nologging으로 계속 사용할 경우 성능상 이점은 있으나 복구가 불가능한 단점이 있습니다.
select' alter table ' || owner ||'.'|| table_name ||' logging;' from dba_tables where
logging='YES' and owner=’이관유저명’;
SQL
복사
2. 인덱스 재 생성
데이터 이관이 완료 된 후 기존에 드랍했던 인덱스를 다시 생성합니다.
미리 확보했던 생성문을 parallel 처리하여 생성하며, 생성 완료 후 다시 인덱스 드랍을 원복합니다.
create index 유저명.인덱스명 ~~~~ parallel 4;
alter index 유저명.인덱스명 noparallel;
SQL
복사
3. 테이블 병렬처리 설정
데이터 이관이 완료 된 후 테이블 DOP 설정값을 원복합니다.
Source의 DOP 값을 조회해 Target에 반영합니다.
select' alter table ' || owner ||'.'|| table_name ||' parallel '|| degree ||';'
from dba_tables@디비링크명
where owner=’이관유저명’;
SQL
복사
4. 아카이브 설정
데이터 이관이 완료 된 후 Target DB의 아카이브 모드를 archivelog로 변경합니다.
해당 작업은 DB 재기동이 필요합니다.
archivelog 상태에서만 HotBackup이 가능합니다.
alter database archivelog;
SQL
복사
5. Undo Retention 원복
데이터 이관이 완료 된 후 Undo Rentention 값을 원복합니다.
Source DB의 값을 참조하며 기본값은 900초입니다.
alter system set undo_retention=900;
SQL
복사
6. 제약조건 활성화 및 재생성
데이터 이관이 완료 된 후 제약조건을 활성화합니다. 테이블의 크기가 큰 경우 상당한 시간을 소요하므로 해당 작업 시간까지 고려하여 이관 시간을 확보해야 합니다.
제약조건을 드랍했을 경우 미리 확보해놓은 생성문을 수행합니다. novalidate 옵션을 활용하여 시간을 단축할 수는 있으나 실행 플랜이 변경되는 부작용이 존재하므로 가급적 사용하지 않도록 합니다.
novalidate 옵션의 경우 enable시에는 사용할 수 없고 add시에만 사용할 수 있습니다.
alter table 유저명.테이블명 add constraint 제약조건명 제약조건 컬럼명
[novalidate];
alter table 유저명.테이블명 enable 제약조건명;
SQL
복사