Target DB 작업
업그레이드 Target DB인 Tibero 7 업그레이드 작업 절차를 설명합니다.
작업은 다음과 같은 순서로 진행합니다.
설치
IMPORT 수행
후 처리
1. 설치
Tibero 7를 설치하는 순서는 아래와 같습니다.
1) 기본절차
기본 절차에 대한 자세한 내용은 "Tibero 설치 가이드"를 참고합니다.
2) 파일 설정
Tibero Initial Parameter(tip파일)
TIP은 $TB_HOME/config 안에 $TB_SID.tip 파일명으로 되어있습니다.
tbdsn.tbr
Tibero 6과 기본 문법은 같고 기존에 사용하던 Alias 등을 추가합니다.
tb6=(
(INSTANCE=(HOST=192.168.1.129)
(PORT=8629)
(DB_NAME=tb6)
)
hidden=(
(INSTANCE=(HOST=192.168.1.129)
(PORT=8630)
(DB_NAME=tb6)
)
기타 파일
Source DB에서 아래와 같은 설정 파일을 사용한다면 Tibero 7의 해당 설정 파일에도 적용이 필요합니다.
ESQL
$TB_HOME/client/config/tbpc.cfg
$TB_HOME/client/config/tbpcb.cfg
C/JAVA External Procedure
$TB_HOME/client/epa/java/config/tbepa.cfg
(Tibero 6의 경우 : $TB_HOME/client/epa/java/config/epa.cfg)
DB Link 관련 Gateway
$TBGW_HOME/oracle/config/tbgw.cfg
$tbJavaGW/tbgw.cfg(Tibero 6의 경우 : $tbJavaGW/jgw.cfg)
External Procedure (so 또는 class 파일 복사) Source DB와 Targer DB의 OS, BIT가 동일하면 복사를 하고 다르면 원본 소스를 통해 재컴파일을 수행합니다.
디렉터리 관련 파일
"체크리스트 및 체크 방법"의 "디렉터리 확인"의 조회 결과 파일을 복사합니다.
3) 데이터베이스 생성
"체크리스트 및 체크 방법"의 내용을 참고하여 Tibero 6 설정에 맞게 수정한 후 DB를 생성합니다. 단, Archivelog 모드일 경우 후처리를 적용합니다.
create database
user sys identified by tibero
character set MSWIN949
national character set UTF16
logfile group 0 ('log001.log','log002.log') size 50M,
group 1 ('log011.log','log012.log') size 50M,
group 2 ('log021.log','log022.log') size 50M
maxdatafiles 8192
maxlogfiles 100
maxlogmembers 8
noarchivelog
datafile 'system001.dtf' size 1G autoextend on next 256M maxsize unlimited
default tablespace USR
datafile 'usr001.dtf' size 1G autoextend on next 256M maxsize unlimited
default temporary tablespace TEMP
tempfile 'temp001.dtf' size 1G autoextend off
undo tablespace UNDO
datafile 'undo001.dtf' size 1G autoextend off
SYSSUB datafile 'syssub001.dtf' size 1G autoextend on next 32M maxsize unlimited;
4) system.sh 수행
$TB_HOME/scripts/system.sh
2. Import 수행
Import를 수행하는 순서는 아래와 같습니다.
1) 사용자 Tablespace 생성
tbexport에서 생성된 tibero6_exp.log 파일을 열어 CREATE TABLESPACE 구문을 참조해 데이터 파일경로 및 size를 조정합니다. 단, CREATE DATABASE에서 생성된 SYSTEM, UNDO,TEMP, USR 부분은 생성하지 않습니다.
Tablespace를 미리 생성하지 않은 상태에서 Import를 수행하면 Source DB 정보 그대로 데이터파일을 생성하게 되고, 이 경우 의도하지 않은 경로에 데이터 파일을 생성하거나 데이터파일 생성 실패 및 불필요한 스토리지 사용의 문제를 일으킬 수 있습니다.
2) 사용자 생성
tbexport에서 생성된 tibero6_exp.log 파일을 열어 CREATE USER 구문을 참조해 USER의 PASSWORD, DEFAUTL_TABLESPACE 등의 설정을 조정합니다.
USER를 미리 생성하지 않은 경우 Tibero 6 에서 수행한 Export를 Tibero 7에서 Import 수행 시, 두 버전의 default 암호화 방식이 변경되어 유저 생성이 실패합니다.
3) tbimport
Export 한 데이터 파일을 미리 복사해서 가져온 후 tbimport의 Database(FULL) 모드로 수행합니다.
아래는 Target DB 서버에서 tbimport의 사용 방법 입니다.
tbimport username={sys | dba계정} password=<password> port=<port_no> sid=<SID>
file=<file name> log=<log-file name> full=y script=y ignore=y
username
Import 할 DB 계정으로 sys 계정 또는 dba 계정 중에서 하나를 선택
password
Import 할 DB 계정의 비밀번호
port
Import 할 DB의 포트 번호
sid
Import 할 DB의 이름
file
Tibero6에서 import 한 데이터 파일
log
생성될 로그 파일의 이름
다음은 Source DB 서버에서 Tibero 7 버전의 tbimport 사용 예시 입니다.
tbimport username=sys password=pwd port=8629 sid=tb7
file=tibero6_all.dat log=tibero7_imp.log full=y ignore=y
3. 후처리
1) 미지원 목록처리
미지원 목록에 대한 생성구문을 Source DB 스크립트 형태로 실행합니다.
JOB
DECLARE
job_no number;
BEGIN
DBMS_JOB.SUBMIT(job_no,'dbms_output.put_line(''ok'');',SYSDATE,'SYSDATE+1');
END;
/
DB LINK
CREATE DATABASE LINK olink CONNECT TO scott IDENTIFIED BY 'tiger' USING 'oragw';
External Procedure - Library
CREATE OR REPLACE LIBRARY extproc IS '/home/tibero/cepa/libextproc.so';
External Procedure – JAVA SOURCE
CREATE OR REPLACE AND RESOLVE JAVA SOURCE NAMED "JavaExtproc" AS
public class SimpleMath {
public static int findMax(int x, int y) {
if (x >= y) return x;
else return y;
}
}
/
Wrapped PL/SQL
CREATE OR REPLACE PROCEDURE wrap_test WRAPPING
IS
BEGIN
DBMS_OUTPUT.PUT_LINE('Hello World');
END;
/
디렉터리 경로 변경
CREATE OR REPLACE DIRECTORY dir_ext AS '/home/tibero/t7/work/external/external'
/
2) Archive 모드 적용
기존 Tibero 6이 Archive 모드였거나 Archive 운영이 필요할 경우 적용합니다.
DB 종료
tbdown immediate
Mount 모드 기동
tbboot -t mount
모드 변경
tbsql sys/tibero
SQL> alter database archivelog;
DB 종료 및 기동
tbdown immediate
tbboot
확인
tbsql sys/tibero
SQL> SHOW PARAM LOG_ARCHIVE_DEST
NAME TYPE VALUE
----------------------- -------- --------------------------------------------
LOG_ARCHIVE_DEST DIRNAME /home/tibero/t7/tibero7/database/t7/archive/
SQL> alter system switch logfile;
System altered.
SQL> !ls -la /home/tibero/t7/tibero7/database/t7/archive/
total 23572
-rw-------. 1 tibero dba 24126976 Apr 4 22:40 log-t0-r0-s1.arc
SQL> select log_mode from v$database;
LOG_MODE
-------------- -
ARCHIVELOG
Last updated