패치 가이드
1. 로그 스위치 수행 (SRC DB)
4.0 기준 Abort 종료 시 이력을 저장하지 않기 때문에 로그를 처음부터 읽는다. 이를 위해 로그 스위치를 먼저 수행해야 한다.
ALTER SYSTEM SWITCH LOGFILE;
2. 프로세스 강제 종료 (SRC / TAR)
4.0 버전의 경우 abort
종료가 반드시 필요하다.
ADMIN> shutd man (abort);
3. 메타데이터 백업을 위한 유저 생성 (SRC / TAR)
기존 메타데이터를 백업하기 위해 별도의 백업 전용 유저를 생성하고 필요한 권한을 부여한다.
CREATE USER [백업유저이름] IDENTIFIED BY "[백업유저암호]";
GRANT CONNECT, RESOURCE, CREATE SESSION TO [백업유저이름];
GRANT INSERT ANY TABLE TO [백업유저이름];
GRANT CREATE ANY SYNONYM TO [백업유저이름];
GRANT CREATE ANY VIEW TO [백업유저이름];
4. var / config 디렉토리 이관
기존 환경의 데이터를 보존하면서 새로운 4.4.x 바이너리로 마이그레이션하기 위해 디렉토리를 재구성한다.
mv prosync/var prosync_4_4/var
mv prosync/config prosync_4_4/config
mv prosync old_prosync
mv prosync_4_4 prosync
5. prs_install.cfg 작성
prosync_4_4/prs_install.cfg
파일을 생성하고 아래 내용을 포함한다.
############################################
#
# ProSync Installation Parameters
#
############################################
# (Mandatory)
INSTANCE_ID=instance
PRS_USER=prosync_user
PRS_PWD=prosync_user_password
# (Optional)
#PRS_TS_NAME=
#PRS_TS_FILE=
#PRS_TS_SIZE=
#PRS_SKIP_USER_CREATE=N
#PRS_TARGET_MIN_PRIVILEGE=N
#PRS_LOG_DIR=
#LOG_BACKUP_DIR=
#CREATE_DSN_FILE=N
#DSN_DIR=
#DSN_FILE=#need DSN_DIR
############################################
#
# ProSync Processes Informations for Instance Map
#
############################################
### (Optional)
AGENT_LIST_DELIMITER=,
### (Mandatory)
# Ext process
## Ext cnt must be the same as SRC_DB_CNT
EXT_CNT=1
EXT_AGENT_ID_LIST_0=agent1
#EXT_AGENT_ID_LIST_1=agent1,agent2
# Apply process
APPLY_PORT=7620
APPLY_AGENT_ID_LIST=agent1
# Llob process
LLOB_PORT=7630
LLOB_AGENT_ID_LIST=agent1
...
6. 메타데이터 백업 수행
기존 ProSync 환경에서 메타 정보를 백업한다.
export PREVIOUS_PRS_HOME=[old_prosync의 절대경로]
$PRS_HOME/install/prs_backup.sh \
-c prs_install.cfg \
-u [백업유저이름] \
-p [백업유저암호]
7. SRC DB 권한 부여
메타데이터 수집을 위해 SRC DB에서 필요한 권한을 부여한다.
GRANT SELECT ANY DICTIONARY TO $PRS_USER;
8. TAR DB 권한 부여
GRANT LOCK ANY TABLE TO $PRS_USER;
GRANT CREATE ANY TABLE TO $PRS_USER;
GRANT CREATE ANY SEQUENCE TO $PRS_USER;
GRANT CREATE ANY INDEX TO $PRS_USER;
GRANT CREATE ANY TRIGGER TO $PRS_USER;
GRANT CREATE ANY SYNONYM TO $PRS_USER;
GRANT CREATE ANY VIEW TO $PRS_USER;
GRANT CREATE ANY PROCEDURE TO $PRS_USER;
GRANT SELECT ANY DICTIONARY TO $PRS_USER;
GRANT ALTER ANY TABLE TO $PRS_USER;
GRANT ALTER ANY INDEX TO $PRS_USER;
GRANT ALTER ANY TRIGGER TO $PRS_USER;
GRANT ALTER ANY SEQUENCE TO $PRS_USER;
GRANT ALTER ANY PROCEDURE TO $PRS_USER;
GRANT DROP ANY TABLE TO $PRS_USER;
GRANT DROP ANY INDEX TO $PRS_USER;
GRANT DROP ANY TRIGGER TO $PRS_USER;
GRANT DROP ANY SEQUENCE TO $PRS_USER;
GRANT DROP ANY VIEW TO $PRS_USER;
GRANT DROP ANY PROCEDURE TO $PRS_USER;
GRANT DROP ANY SYNONYM TO $PRS_USER;
GRANT COMMENT ANY TABLE TO $PRS_USER;
9. prs_obj_group1.list 생성 및 메타 정보 이관
cp $PRS_HOME/install/templates/prs_obj_group1.list.template \
$PRS_HOME/install/prs_obj_group1.list
메타 정보 이관 예시
$PRS_HOME/install/prs_meta.sh -c prs_install.cfg
10. Config 파일 수정
10.1. 각 process별 cfg 파일 내 파라미터 수정
LISTENER_PORT
제거TOP_ID
제거Log
및Backup Log
경로 수정
10.2. vf.cfg
삭제되었음
vf.cfg
삭제되었음10.3. prs_mgr.cfg
→ prs_agent_{agent_id}.cfg
으로 변경
prs_mgr.cfg
→ prs_agent_{agent_id}.cfg
으로 변경 11. Agent 설치
4.4.x 버전부터는 Agent 설치가 Instance 설치와 분리되었기 때문에, 패치 작업 전에 반드시 Agent 설치를 완료해야 한다. 자세한 설치 방법은 Agent 설치 문서를 참고한다.
12. prs_top.map 변경 사항
4.4.x 부터는 prs_top.map
에서 prs_instance.map
으로 변경되었다.
4.0 형식
MGR=(ID=lmgr)(HOST=localhost)(PORT=7600)
Prosync=(
EXT1=(MGR=lmgr)(HOST=localhost)(PORT=7610)(PROGRAM=prs_ext)
APPLY1=(MGR=lmgr)(HOST=localhost)(PORT=7620)(PROGRAM=prs_apply)
LLOB=(MGR=lmgr)(HOST=localhost)(PORT=7630)(PROGRAM=prs_llob)
VF=(MGR=lmgr)(HOST=localhost)(PORT=7640)(PROGRAM=prs_vf)
)
4.4.x 형식
AGENT=(ID=agent1)(HOST=172.19.0.11)(PORT=7600)
Prosync=(
EXT1=(AGENT=agent1)(PROGRAM=prs_ext)
APPLY1=(AGENT=agent1)(PORT=7620)(PROGRAM=prs_apply)
LLOB=(AGENT=agent1)(PORT=7630)(PROGRAM=prs_llob)
)
localhost
제약 제거Instance
에서Host
제거 및MGR
→Agent
로 변경ext process
에서Port
제거verify process
삭제
13. ProSync 재기동
4.4.x부터는 manager 대신 agent를 사용하기 때문에 agent 기동명령어도 man(ager)
에서 age(nt)
로 변경되었다.
ADMIN> start age(nt) {AGENT_ID}
ADMIN> start {INSTANCE_ID}
Last updated