FAQ
알티베이스 이중화 대상 테이블에 대한 DDL 작업
Classification 이중화 Create Date 2015-03-09 Hit 5688
이중화 대상 테이블에 대한 정상적인 DDL 수행 절차는 아래와 같습니다.


1. 알티베이스 서버로 접근하는 모든 서비스 중지
   확실하게 서비스를 막기 위해 데이터베이스 중지 후 서비스 포트를 변경하여 구동 후 수행하기도 합니다.)

    1.1 서비스 포트 변경 방법

        -
알티베이스 서버를 중지합니다. ( $ server stop )
        - $ALTIBASE_HOME/conf/altibase.properties 에서 PORT_NO 을 사용하지 않는 다른 포트로 변경합니다.
        - 알티베이스 서버를 구동합니다. ( $ server start )
 
    1.2 데이터베이스에 접속한 세션 확인 또는 수행 중인 문장 확인
         * 현재 세션 외 다른 세션이 없어야 합니다.

        
iSQL> select count(*) fromv$session;                              # 접속 세션이 얼마나 되는 지 확인.
        
iSQL> select count(*) from v$statement where execute_flag = 1;    # 수행 중인 statement 여부 확인.



2.
대상 노드의 이중화 갭이 “0”임을 확인하고 해당 이중화 객체 중지.

    (
여기서 대상 노드란 이중화 sender 가 구동된 데이터베이스 서버를 의미합니다. )


    2.1 DDL 수행 대상 테이블이 속해 있는 이중화 객체 확인

         iSQL> select REPLICATION_NAME,LOCAL_USER_NAME, LOCAL_TABLE_NAME from SYSTEM_.SYS_REPL_ITEMS_;


    2.2 이중화 갭 확인

         iSQL> SELECT rep_name, rep_gap FROM v$repgap;      # rep_gap 이 모두 0 임을 확인. 


    2.3 대상 이중화 객체 중지 
        
         iSQL> ALTER REPLICATION rep_name STOP;            # 이
중화 객체(rep_name) 1.1 조회 결과에서 확인.





3. 2-1. 에서 확인한 이중화 객체에서 대상 테이블을 제거합니다.
    이중화 객체가 생성된 모든 데이터베이스에서 수행해야 합니다.


    iSQL> ALTER REPLICATION rep_name DROP TABLE FROM user_name.table_name TO user_name.table_name; 
 
 

4. 대상 데이터베이스 에서 각각 DDL 수행



5. 3. 에서 제거한 이중화 대상 테이블을 다시 이중화 객체에 추가


   iSQL> ALTER REPLICATION rep_name ADD TABLE FROM user_name.table_name TO user_name.table_name;

 

6. 대상 노드에서 이중화 시작
  
여기서 대상 노드란 이중화 sender 가 구동해야 할 데이터베이스 서버를 의미합니다.

 
   iSQL> ALTER REPLICATION rep_name START;                         

   1. 에서 데이터베이스 서비스 포트도 변경했다면 다시 원복하고 데이터베이스 재 구동합니다.




7. 서비스 개시












List