...
패치 후 문제 발생 시 원복할 수 있도록 필요한 디렉토리들을 백업합니다.
Code Block title 디렉토리 백업 예 language bash $ 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 language bash $ cp -Rp altibase_home altibase_home.bak
...
- 알티베이스 서버 down time 확보
- 알티베이스 서버 shutdown
패치 절차 2단계 참고하세요. 서비스 포트 변경
알티베이스로의 접근을 확실히 차단하기 위해 패치 작업 중 서비스 포트를 임시로 변경합니다.Code Block language bash $ cd $ALTIBASE_HOME/conf $ vi altibase.properties # altibase.properties 에서 PORT_NO 을 변경함.
- 알티베이스 서버 startup
패치 절차 8단계 를 참고하세요. 이중화 gap 확인**
반드시 0 임을 확인해야 합니다.Code Block title 이중화 gap 확인 방법 language sql iSQL> SELECT REP_GAP FROM V$REPGAP;
aexport 를 수행하여 이중화 객체 생성 구문 백업
Code Block language bash $ aexport # aexport 수행 후 생성된 SYS_CRT_REP.sql 파일에서 이중화 객체 생성 구문을 확인할 수 있습니다.
이중화 객체 drop**
Code Block language sql -- 이중화 객체명 확인 iSQL> SELECT REPLICATION_NAME FROM SYSTEM_.SYS_REPLICATIONS_; -- 이중화 stop iSQL> ALTER REPLICATION replication_name STOP; -- 이중화 객체 drop iSQL> DROP REPLICATION replication_name;
체크포인트 수행
Code Block language sql iSQL> ALTER SYSTEM CHECKPOINT; -- 4번 정도 반복 수행
알티베이스 서버 shutdown
패치 절차 2단계 참고하세요.- 패치 수행
패치 절차 3단계부터 7단계까지 참고하세요. CHECK_LOGFILE 프로퍼티 추가**
Code Block language bash $ cd $ALTIBASE_HOME/conf $ vi altibase.properties # altibase.properties 파일 마지막 라인에 CHECK_LOGFILE = 0 추가 후 저장.
- 알티베이스 서버 startup
패치 절차 8단계 를 참고하세요. CHECK_LOGFILE 프로퍼티 삭제**
Code Block language bash $ cd $ALTIBASE_HOME/conf $ vi altibase.properties # altibase.properties 파일 마지막 라인에 추가한 CHECK_LOGFILE = 0 삭제 후 저장.
임시 테이블 생성 후 데이터 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 language sql 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;
체크포인트 수행
Code Block language sql iSQL> ALTER SYSTEM CHECKPOINT; -- 4번 정도 반복 수행
이중화 객체 생성
Code Block language bash $ is -f SYS_CRT_REP.sql # aexport 수행 후 생성된 SYS_CRT_REP.sql 파일 수행.
이중화 start
Code Block language sql -- 이중화 객체명 확인 iSQL> SELECT REPLICATION_NAME FROM SYSTEM_.SYS_REPLICATIONS_; -- 이중화 stop iSQL> ALTER REPLICATION replication_name START;
- 알티베이스 서버 shutdown
패치 절차 2단계 참고하세요. 서비스 포트 변경
임시로 변경한 서비스 포트를 원래대로 변경합니다.Code Block language bash $ cd $ALTIBASE_HOME/conf $ vi altibase.properties # altibase.properties 에서 PORT_NO 을 변경함.
- 알티베이스 서버 startup
패치 절차 8단계 를 참고하세요. - 서비스 확인.