Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

  • 패치 후 문제 발생 시 원복할 수 있도록 필요한 디렉토리들을 백업합니다.

    Code Block
    title디렉토리 백업 예
    languagebash
    $ cd $ALTIBASE_HOME
    $ cp -Rp bin bin.bak
    $ cp -Rp lib lib.bak
    $ cp -Rp msg msg.bak
    $ cp -Rp conf conf.bak
    $ cp -Rp include include.bak 

    $ALTIBASE_HOME 디렉토리 크기가 크지 않다면 아래와 같이 $ALTIBASE_HOME 디렉토리를 전체 백업해도 됩니다.

    Code Block
    languagebash
    $ cp -Rp altibase_home altibase_home.bak

...

  1. 알티베이스 서버 down time 확보

  2. 알티베이스 서버 shutdown
    패치 절차 2단계 참고하세요. 

  3. 서비스 포트 변경
    알티베이스로의 접근을 확실히 차단하기 위해 패치 작업 중 서비스 포트를 임시로 변경합니다.

    Code Block
    languagebash
    $ cd $ALTIBASE_HOME/conf 
    $ vi altibase.properties               # altibase.properties 에서 PORT_NO 을 변경함.
  4. 알티베이스 서버 startup
    패치 절차 8단계 를 참고하세요.

  5. 이중화 gap 확인**
    반드시 0 임을 확인해야 합니다.

    Code Block
    title이중화 gap 확인 방법
    languagesql
    iSQL> SELECT REP_GAP FROM V$REPGAP;
  6. aexport 를 수행하여 이중화 객체 생성 구문 백업

    Code Block
    languagebash
    $ aexport                      # aexport 수행 후 생성된 SYS_CRT_REP.sql 파일에서 이중화 객체 생성 구문을 확인할 수 있습니다. 
  7. 이중화 객체 drop**

    Code Block
    languagesql
    -- 이중화 객체명 확인
    iSQL> SELECT REPLICATION_NAME FROM SYSTEM_.SYS_REPLICATIONS_;
    
    -- 이중화 stop
    iSQL> ALTER REPLICATION replication_name STOP;
    
    -- 이중화 객체 drop 
    iSQL> DROP REPLICATION replication_name;
  8. 체크포인트 수행

    Code Block
    languagesql
    iSQL> ALTER SYSTEM CHECKPOINT;                   -- 4번 정도 반복 수행
  9. 알티베이스 서버 shutdown

    패치 절차 2단계 참고하세요.

     

  10. 패치 수행
    패치 절차 3단계부터 7단계까지 참고하세요.

  11. CHECK_LOGFILE 프로퍼티 추가**

    Code Block
    languagebash
    $ cd $ALTIBASE_HOME/conf 
    $ vi altibase.properties               # altibase.properties 파일 마지막 라인에 CHECK_LOGFILE = 0 추가 후 저장.
  12. 알티베이스 서버 startup
    패치 절차 8단계 를 참고하세요.

  13. CHECK_LOGFILE 프로퍼티 삭제**

    Code Block
    languagebash
    $ cd $ALTIBASE_HOME/conf 
    $ vi altibase.properties               # altibase.properties 파일 마지막 라인에 추가한 CHECK_LOGFILE = 0 삭제 후 저장.
  14. 임시 테이블 생성 후 데이터 insert.
    이전 버전에서 생성된 로그 파일을 다 쓰고 새로운 로그 파일을 생성시키기 위함입니다.

    No Format
    CREATE TABLE IMSI_T (C1 INTEGER, C2 INTEGER);
    
    CREATE OR REPLACE PROCEDURE IMSI_PROC AS V1 INTEGER;
    BEGIN
    FOR V1 IN 1 .. 300000 LOOP
    INSERT INTO IMSI_T VALUES (V1, V1);
    END LOOP;
    END;
    /
    Code Block
    languagesql
    iSQL> SELECT CUR_WRITE_LF_NO FROM V$LFG;          -- 수행 결과(숫자) 확인.
    iSQL> EXEC IMSI_PROC;                             -- 임시 테이블에 insert 수행.
    iSQL> SELECT CUR_WRITE_LF_NO FROM V$LFG;          -- 위에서 확인한 결과보다 크면 완료. 만약 위에서 확인한 결과와 달라지지 않았다면, IMSI_PROC 프로시저 재수행.
    iSQL> DROP PROCEDURE IMSI_PROC;                   -- 임시 테이블 및 프로시저 drop.
    iSQL> DROP TABLE IMSI_T;
  15. 체크포인트 수행

    Code Block
    languagesql
    iSQL> ALTER SYSTEM CHECKPOINT;                   -- 4번 정도 반복 수행
  16. 이중화 객체 생성

    Code Block
    languagebash
    $ is -f SYS_CRT_REP.sql                          # aexport 수행 후 생성된 SYS_CRT_REP.sql 파일 수행.
  17. 이중화 start

    Code Block
    languagesql
    -- 이중화 객체명 확인
    iSQL> SELECT REPLICATION_NAME FROM SYSTEM_.SYS_REPLICATIONS_;
    
    -- 이중화 stop
    iSQL> ALTER REPLICATION replication_name START;
  18. 알티베이스 서버 shutdown
    패치 절차 2단계 참고하세요. 

  19. 서비스 포트 변경
    임시로 변경한 서비스 포트를 원래대로 변경합니다.

    Code Block
    languagebash
    $ cd $ALTIBASE_HOME/conf 
    $ vi altibase.properties               # altibase.properties 에서 PORT_NO 을 변경함.
  20. 알티베이스 서버 startup
    패치 절차 8단계 를 참고하세요.

  21. 서비스 확인.