VMware (workstation)
centOS7 (Linux)
Tibero6 (Database)
X-shell (원격 터미널) 사용
※ 패치 ? tibero엔진을 이전보다 개선된 버전으로 업그레이드하는 과정
(Tibero에서는 이런 패치파일을 Fix Set이라고 부름 )
1. 패치 전 점검 사항
1-1) sys계정 로그인
sys, syscat password 확인해두기
conn syscat
Default) sys password : tibero,
syscat password : syscat
1-2) valid 오브젝트 갯수 확인 : 유효한 오브젝트
Patch후 기존에 Valid -> Invalid 할 경우 조치를 취하기 위함
> col owner format a20
> set pages 500
> select owner, object_type, status, count(*)
from dba_objects
group by owner, object_type, status
order by owner, object_type, status;
밑에 valid object가 패치 후에도 동일한지 체크
1-3) invalid 오브젝트 갯수 확인 : 유효하지 않은 오브젝트
> set linesize 120
> col object_name format A30
> col owner format a20
> select owner, object_name, object_type, status
from dba_objects
where status='INVALID';
1-4) 버전 확인 > select * from v$version;
1-5) TableSpace의 Datafile 위치 파악
set linesize 120
col file_name format A100
select file_name from dba_data_files;
※ datafile 위치가 $TB_HOME 내부 Directory 존재하는지 확인
$TB_HOME 내부 Directory에 위치 한경우 Binary 교체 시 해당 datafile도 같이 Copy 또는 Move 해야 한다.
1-6) DB Link 사용여부 확인
select * from dba_db_links;
DB Link를 사용 중이라면 Gateway에 대하여 Bianry Patch가 필요할 수 있다.
1-7) External Procedure 사용여부 확인 ( /* JAVA External Procedure */ ) : 외부 프로시저
set linesize 120
col owner for a10
col name for a30
col source for a50
SELECT owner, name, source FROM DBA_JAVA_CLASSES;
$TB_HOME 내부에 Class 또는 So 파일이 존재하는지 확인 후 추후 Copy
1-8)Tibero Service 정지
- Application이 DB에 연결되어 있다면, 미리 Application Down 이후 수행할 것
tbdown immediate
ps -ef | grep tbsvr
DB를 사용하는 모든 Application을 Down했다면 상관이 없지만
해당 Application을 Down하지 못할 상황일 때는 임시적으로 Service Port를 변경하여
작업을 한 이후 Patch 완료 후에 다시 Service Port로 변경해주면 된다.
* $TB_HOME/config/$TB_SID.tip > LISTENER_PORT 부분 수정
* $TB_HOME/client/config/tbdsn.tbr (or tbnet_alias.tbr) > $TB_SID 에 해당하는 alias 부분의 PORT부분 수정
2. 패치
2-1) 기존 tibero설치 폴더는 폴더명을 변경해서 이동시켜두기 .
mv tibero6 tibero6_#2
2-2) 새로운 패치 폴더를 업로드하고 압축 해제.
tar -xvf tibero6-bin-FS07_CS_2005-linux64-199301-opt.tar.gz
cd $TB_HOME/config
sh gen_tip.sh
※ gen_tip.sh 경우 tip, tbdsn.tbr(=tbnet_alias.tbr), psm_commands 생성위함 이미 존재하는 경우 생성되지 않음
※ ./gen_tip.sh ? .tip파일을 읽어서 컨트롤 파일을 찾는다.
2-3) 이전 폴더의 데이터들을 새로운 버전의 tibero6폴더로 이관.
- Datafile Tibero Binary 내부 존재 시
$TB_HOME 내부의 동일경로에 mv 또는 copy 명령어 수행( database )
외부에 존재할 땐 백업여부는 선택적
cp -r tibero6_#2/database $TB_HOME
cp -rp tibero6_#2/license $TB_HOME
cp tibero6_#2/config/$TB_SID.tip $TB_HOME/config
cp tibero6_#2/client/config/tbdsn.tbr $TB_HOME/client/config
cp == 복사
-r : 하위 directory까지 모두 복사
-p : 원본 파일의 소유자, 그룹, 권한 등의 정보까지 모두 복사
2-4) 서비스 시작 후 system.sh 실행하여 Tibero 내부 사용하는 Object들 재생성
tbboot
cd $TB_HOME/scripts
sh system.sh
3. 패치 후 확인 (패치 전과 동일)
3-1) sys계정으로 로그인.
오류 1) nomount모드일 확률이 높다 == 데이터베이스가 없을 경우 (이관 작업이 제대로 안된 경우)
3-2) valid object 확인
3-3) invalid object 확인
만약 Invalid object가 PUBLIC 의 Synonym 인 경우 자동으로 Valid 하게 되므로 Skip 해도 무방
3-3) 버전 확인 (FS06에서 FS07로 잘 바뀐 모습을 확인할 수 있다!)
'DB > Tibero' 카테고리의 다른 글
[Tibero 6] tbinary/monitor 활용 방법 tibero alias 모음 (3) | 2024.01.17 |
---|---|
[Tibero 6] Tibero Database 점검하는 방법 점검 사항 (0) | 2024.01.17 |
[Tibero6 Error] 티베로 오류 A shared memory segment with the same key already exists (0) | 2024.01.16 |
[Tibero 6 ] 리눅스 cent OS 7에 Tibero6 설치하기 (0) | 2024.01.10 |
[Tibero] 티베로 개념 구조 (0) | 2024.01.10 |