Tibero

Similar documents
Tablespace On-Offline 테이블스페이스 온라인/오프라인

I T C o t e n s P r o v i d e r h t t p : / / w w w. h a n b i t b o o k. c o. k r

Tibero

Tibero

단계

단계

Tibero

Advanced Product Service

개요오라클과티베로에서 JDBC 를통해접속한세션을구분할수있도록 JDBC 접속시 ConnectionProperties 를통해구분자를넣어줄수있다. 하나의 Node 에다수의 WAS 가있을경우 DB 에서 Session Kill 등의동작수행시원하는 Session 을선택할수있다.

ORANGE FOR ORACLE V4.0 INSTALLATION GUIDE (Online Upgrade) ORANGE CONFIGURATION ADMIN O

62

목차 1. Tibero 4 설치개요 Install 전 Check 사항 H/W 요구사항 Tibero 4 설치 Tibero 설치폴더생성 Tibero 바이너리압축해제 $T

Document Server Information Items Description Test Date 2011 / 05 / 31 CPU Intel(R) Xeon(R) CPU 2.40GHz X 8 Main Memory 1GB O/S version OEL 5.

목차 BUG offline replicator 에서유효하지않은로그를읽을경우비정상종료할수있다... 3 BUG 각 partition 이서로다른 tablespace 를가지고, column type 이 CLOB 이며, 해당 table 을 truncate

.

PowerPoint Presentation

Tmax

SQL Developer Connect to TimesTen 유니원아이앤씨 DB 기술지원팀 2010 년 07 월 28 일 문서정보 프로젝트명 SQL Developer Connect to TimesTen 서브시스템명 버전 1.0 문서명 작성일 작성자

Simplify your Job Automatic Storage Management DB TSC

Oracle Database 10g: Self-Managing Database DB TSC

Chapter 1

Microsoft Word - ntasFrameBuilderInstallGuide2.5.doc

목 차

Microsoft Word - dataguard_세미나_v1.8.doc

10.ppt

MySQL-Ch10

마리오와 소닉 리우 올림픽™

오라클 데이터베이스 10g 핵심 요약 노트

목차 1. TAC 구성준비사항 TAC 구성순서 VirtualBox 으로 CentOS 설치 VirtualBox 에서 TAC 구성

Contents Data Mart 1. 개요 실습방향 테스트위한사전설정 본격실습시작 ) 데이터파일 dd 명령어로 백업수행및유실시키기 ) 장애복구수행 결론...7 페이지 2 / 7

13주-14주proc.PDF

Orcad Capture 9.x

목차 BUG 문법에맞지않는질의문수행시, 에러메시지에질의문의일부만보여주는문제를수정합니다... 3 BUG ROUND, TRUNC 함수에서 DATE 포맷 IW 를추가지원합니다... 5 BUG ROLLUP/CUBE 절을포함하는질의는 SUBQUE

.

슬라이드 1

Tibero

Connection 8 22 UniSQLConnection / / 9 3 UniSQL OID SET

Tina Admin

DBMS & SQL Server Installation Database Laboratory

Eclipse 와 Firefox 를이용한 Javascript 개발 발표자 : 문경대 11 년 10 월 26 일수요일

Tibero

인디쓔피-IOM핸돜벁닄큐1014pdf, page Preflight ( IOM핸돜벁닄큐__1014 )

개발및운영 Tibero DB Link (Tibero To Oracle) - Local 방식

목차 BUG DEQUEUE 의 WAIT TIME 이 1 초미만인경우, 설정한시간만큼대기하지않는문제가있습니다... 3 BUG [qp-select-pvo] group by 표현식에있는컬럼을참조하는집합연산이존재하지않으면결괏값오류가발생할수있습니다... 4

설치및홖경설정 Tibero 4 SP1 TAC 설치 - Windows 홖경

API 매뉴얼

最即時的Sybase ASE Server資料庫診斷工具

Microsoft PowerPoint - Tech-iSeminar_Managing_Tablespace.ppt

Microsoft Word - 10g RAC on Win2k.doc

ODS-FM1

본문서는 초급자들을 대상으로 최대한 쉽게 작성하였습니다. 본문서에서는 설치방법만 기술했으며 자세한 설정방법은 검색을 통하시기 바랍니다. 1. 설치개요 워드프레스는 블로그 형태의 홈페이지를 빠르게 만들수 있게 해 주는 프로그램입니다. 다양한 기능을 하는 플러그인과 디자인

untitled

세미나(장애와복구-수강생용).ppt

Interstage5 SOAP서비스 설정 가이드

VOL /2 Technical SmartPlant Materials - Document Management SmartPlant Materials에서 기본적인 Document를 관리하고자 할 때 필요한 세팅, 파일 업로드 방법 그리고 Path Type인 Ph

Microsoft PowerPoint - 10Àå.ppt

슬라이드 1

Oracle hacking 작성자 : 임동현 작성일 2008 년 10 월 11 일 ~ 2008 년 10 월 19 일 신규작성 작성내용

1217 WebTrafMon II

윈백및업그레이드 Tibero Flashback 가이드

다음 사항을 꼭 확인하세요! 도움말 안내 - 본 도움말에는 iodd2511 조작방법 및 활용법이 적혀 있습니다. - 본 제품 사용 전에 안전을 위한 주의사항 을 반드시 숙지하십시오. - 문제가 발생하면 문제해결 을 참조하십시오. 중요한 Data 는 항상 백업 하십시오.

Tibero

윈도우시스템프로그래밍

vm-웨어-앞부속

8 장데이터베이스 8.1 기본개념 - 데이터베이스 : 데이터를조직적으로구조화한집합 (cf. 엑셀파일 ) - 테이블 : 데이터의기록형식 (cf. 엑셀시트의첫줄 ) - 필드 : 같은종류의데이터 (cf. 엑셀시트의각칸 ) - 레코드 : 데이터내용 (cf. 엑셀시트의한줄 )

BSC Discussion 1

Microsoft PowerPoint - Linux_10gRAC_3Node

토익S-채용사례리플렛0404

내지시안c00?淪Α?274痴

PowerPoint Template

<4D F736F F D203033C6C4C6BCBCC72DB8AEBFC0B1D7B9E6B9FD2E646F63>

문서 템플릿

Remote UI Guide

PowerPoint 프레젠테이션

MasoJava4_Dongbin.PDF

ALTIBASE HDB Patch Notes

CD-RW_Advanced.PDF

본교재는수업용으로제작된게시물입니다. 영리목적으로사용할경우저작권법제 30 조항에의거법적처벌을받을수있습니다. [ 실습 ] 스위치장비초기화 1. NVRAM 에저장되어있는 'startup-config' 파일이있다면, 삭제를실시한다. SWx>enable SWx#erase sta

untitled

iii. Design Tab 을 Click 하여 WindowBuilder 가자동으로생성한 GUI 프로그래밍환경을확인한다.

The Self-Managing Database : Automatic Health Monitoring and Alerting

Copyright 2012, Oracle and/or its affiliates. All rights reserved.,.,,,,,,,,,,,,.,...,. U.S. GOVERNMENT END USERS. Oracle programs, including any oper

PowerPoint 프레젠테이션

초보자를 위한 ADO 21일 완성

튜닝및모니터링 Monitor Shell(tm) 사용자안내서

Spring Boot/JDBC JdbcTemplate/CRUD 예제

PowerPoint Presentation

MySQL-.. 1

Commit_Wait / Commit_Logging 두파라미터를통해 Log File Sync 대기시간을감소시킬수있다는것은놀라움과의아함을동시에느낄수있다. 단지파라미터의수정을통해당연히대기해야하는시간을감축한다는것은분명성능을개선해야하는입장에서는놀라운일이될것이다. 반면, 그에따

JDBC 소개및설치 Database Laboratory

슬라이드 1

<4D F736F F D205BB4EBBBF3C1A4BAB8B1E2BCFA5DB1E2BCFAB9AEBCAD2D524D414EBBE7BFEBBFB9C1A65F39695F313067>

Intra_DW_Ch4.PDF

ALTIBASE 사용자가이드 Templete

@OneToOne(cascade = = "addr_id") private Addr addr; public Emp(String ename, Addr addr) { this.ename = ename; this.a

다양한 예제로 쉽게 배우는 오라클 SQL 과 PL/SQL

chapter1,2.doc

API STORE 키발급및 API 사용가이드 Document Information 문서명 : API STORE 언어별 Client 사용가이드작성자 : 작성일 : 업무영역 : 버전 : 1 st Draft. 서브시스템 : 문서번호 : 단계 : Docum

rmi_박준용_final.PDF

윈도우시스템프로그래밍

Transcription:

Tibero 업그레이드가이드 Copyright 2013 TmaxData Co., Ltd. All Rights Reserved.

Copyright Notice Copyright 2013 TmaxData Co., Ltd. All Rights Reserved. 대한민국경기도성남시분당구황새울로 329 번길 5 티맥스빌딩우 ) 463-824 Restricted Rights Legend All TmaxData Software (Tibero ) and documents are protected by copyright laws and international convention. TmaxData software and documents are made available under the terms of the TmaxData License Agreement and may only be used or copied in accordance with the terms of this agreement. No part of this document may be transmitted, copied, deployed, or reproduced in any form or by any means, electronic, mechanical, or optical, without the prior written consent of TmaxData Co., Ltd. 이소프트웨어 (Tibero ) 사용설명서의내용과프로그램은저작권법과국제조약에의해서보호받고있습니다. 사용설명서의내용과여기에설명된프로그램은 TmaxData Co., Ltd. 와의사용권계약하에서만사용이가능하며, 사용권계약을준수하는경우에만사용또는복제할수있습니다. 이사용설명서의전부또는일부분을 TmaxData 의사전서면동의없이전자, 기계, 녹음등의수단을사용하여전송, 복제, 배포, 2차적저작물작성등의행위를하여서는안됩니다. Trademarks Tibero is a registered trademark of TmaxData Co., Ltd. Other products, titles or services may be registered trademarks of their respective companies. Tibero 는 TmaxData Co., Ltd. 의등록상표입니다. 기타모든제품들과회사이름은각각해당소유주의상표로서참조용으로만사용됩니다. 안내서정보안내서제목 : Tibero 업그레이드가이드발행일 : 2013-06-20 소프트웨어버전 : Tibero 5 안내서버전 : 2.1.1

내용목차 안내서에대하여... vii 제1장 Tibero 4 SP1 to Tibero 5... 1 1.1. 개요... 1 1.2. 사전준비사항... 1 1.3. Source DB(Tibero 4 SP1) 작업... 2 1.3.1. 체크리스트및체크방법... 2 1.3.2. Export 수행... 12 1.4. Target DB(Tibero 5) 작업... 13 1.4.1. 설치... 13 1.4.2. Import 수행... 15 1.4.3. 후처리... 16 1.5. 검증... 19 1.6. I/F Driver 변경... 20 1.6.1. JDBC... 20 1.6.2. ODBC 및 OLE DB... 21 1.6.3. 기타 (DB Link, EXTERNAL 등 )... 22 1.7. 주의사항... 22 Tibero iii

그림목차 [ 그림 1.1] 전환구성도... 1 Tibero v

안내서에대하여 안내서의대상 본안내서는메이저버전을업그레이드하고자하는모든데이터베이스사용자를대상으로한다. 안내서의전제조건 본안내서는메이저버전을업그레이드하는과정을설명한안내서이다. 따라서본안내서를원활히이해하기위해서는다음과같은사항을미리알고있어야한다. 데이터베이스의이해 RDBMS의이해 운영체제및시스템환경의이해 UNIX 계열 (Linux 포함 ) 의기본지식 안내서의제한조건 본안내서는 Tibero 를실무에적용하거나운용하는데필요한모든사항을포함하지않는다. 안내서에대하여 vii

안내서규약 표기 <AaBbCc123> <Ctrl>+C [Button] 진하게 " "( 따옴표 ) ' 입력항목 ' 하이퍼링크 > +---- ---- 참고 의미프로그램소스코드의파일명, 디렉터리 Ctrl과 C를동시에누름 GUI의버튼또는메뉴이름강조다른관련안내서또는안내서내의다른장및절언급화면 UI에서입력항목에대한설명메일계정, 웹사이트메뉴의진행순서하위디렉터리또는파일있음하위디렉터리또는파일없음참고또는주의사항 [ 그림 1.1] [ 표 1.1] AaBbCc123 그림이름 표이름 명령어, 명령어수행후화면에출력된결과물, 예제코드 { } [ ] 필수인수값 옵션인수값 viii Tibero 업그레이드가이드

제 1 장 Tibero 4 SP1 to Tibero 5 본장에서는 Tibero 4 SP1 에서 Tibero 5 로업그레이드하는방법을설명한다. 1.1. 개요 Tibero 4 SP1에서 Tibero 5로업그레이드는논리적백업및복구 (exp 및 imp) 를이용한다. 다음은 Tibero 4 SP1에서 Tibero 5로전환하는구성도이다. [ 그림 1.1] 전환구성도 1.2. 사전준비사항 Tibero 유틸리티 exp 및 imp를사용하므로 JDK 1.5.17 이상 (JDK 1.6 권장 ) 이설치되어야한다. exp 및 imp 덤프파일을생성, 복사할충분한디스크공간이필요하다. Tibero의 SYS 계정또는 DBA 계정이필요하다. 제 1 장 Tibero 4 SP1 to Tibero 5 1

1.3. Source DB(Tibero 4 SP1) 작업 본절에서는 Source DB인 Tibero 4 SP1의업그레이드진행을위한작업절차를설명한다. 작업절차는다음과같은순서로진행한다. 1. 체크리스트및체크방법 2. Export 수행 각과정에대한상세한설명은해당절의내용을참고한다. 1.3.1. 체크리스트및체크방법 Tibero 4 SP1에서 Tibero 5로업그레이드하기위해다음의항목들을체크한다. CHARACTERSET Redo 확인 Undo 확인 Temp Tablespace 확인 User Tablespace 확인 로그모드확인 컨트롤파일확인 JOB 확인 DB Link 확인 (Tibero to Tibero, Tibero to Oracle 등 ) External Procedure 사용여부확인 Wrapped PSM(PL/SQL) 확인 디렉터리확인 Object Count 확인 Constraint 확인 컬럼암호화 (DBMS_OBFUSCATION_TOOLKIT) 사용여부확인 체크리스트항목에대한체크방법은다음과같다. 각항목의모든체크작업은 DBA 계정으로한다. CHARACTERSET NLS_CHARACTERSET과 NLS_NCHAR_CHARACTERSET의 VALUE를확인한다. TARGET DB를생성할경우해당내용에맞춰생성한다. 2 Tibero 업그레이드가이드

SQL> SET LINESIZE 120 SQL> COL name FOR a30 SQL> COL value FOR a20 SQL> SELECT name, value FROM sys._dd_props WHERE name like '%CHARACTERSET%' ORDER BY 1; NAME VALUE ------------------------------ ---------- NLS_CHARACTERSET MSWIN949 NLS_NCHAR_CHARACTERSET UTF16 Redo 확인각로그그룹별 MEMBER 및각그룹별 size(mb) 와 MEMBERS를확인한다. SQL> SET LINESIZE 120 SQL> COL member FOR a50 SQL> SELECT * FROM v$logfile; GROUP# STATUS TYPE MEMBER ---------- ------- ------ ----------------------------- 0 ONLINE /data2/tb4/tbdata/log001.log 0 ONLINE /data2/tb4/tbdata/log002.log 1 ONLINE /data2/tb4/tbdata/log003.log 1 ONLINE /data2/tb4/tbdata/log004.log 2 ONLINE /data2/tb4/tbdata/log005.log 2 ONLINE /data2/tb4/tbdata/log006.log SQL> SELECT group#, bytes/1024/1024 as "size(mb)", members, archived FROM v$log; GROUP# size(mb) MEMBERS ARCHIVED ---------- ---------- ---------- -------- 0 50 2 NO 1 50 2 NO 2 50 2 NO Undo 확인 DB에서사용중인 UNDO의 TABLESPACE_NAME과해당 TABLESPACE가사용중인데이터파일의 FILE_NAME, size, maxsize, AUTOEXTENSIBLE을확인한다. SQL> SET LINESIZE 120 SQL> COL tablespace_name FOR a20 제 1 장 Tibero 4 SP1 to Tibero 5 3

SQL> COL file_name FOR a50 SQL> SELECT tablespace_name FROM dba_tablespaces WHERE contents = 'UNDO'; TABLESPACE_NAME ---------------- UNDO SQL> show parameter UNDO_TABLESPACE; NAME TYPE VALUE ------------------- -------- ----------- UNDO_TABLESPACE STRING UNDO SQL> SELECT tablespace_name, file_name, bytes/1024/1024 "size(mb)", maxbytes/1024/1024 "maxsize(mb)", autoextensible FROM dba_data_files WHERE tablespace_name like 'UNDO%'; TABLESPACE_NAME FILE_NAME size(mb) maxsize(mb) AUTOEXTENSIBLE --------------- ---------------------------- -------- ----------- -------------- UNDO /data2/tb4/tbdata/undo001.tdf 400 1024 YES Temp Tablespace 확인 Temp 파일을쓰고있는 TABLESPACE_NAME 및해당파일의 FILE_NAME, size, AUTOEXTENSIBLE, maxsize를확인한다. SQL> SET LINESIZE 150 SQL> COL tablespace_name FOR a30 SQL> COL file_name FOR a50 SQL> SELECT tablespace_name, file_name, bytes/1024/1024 "size(mb)", autoextensible, maxbytes/1024/1024 "max(mb)" FROM dba_temp_files; TABLESPACE_NAME FILE_NAME size(mb) AUTOEXTENSIBLE max(mb) --------------- ----------------------------- -------- ------------- ------- TEMP /data2/tb4/tbdata/temp001.tdf 400 YES 1024 4 Tibero 업그레이드가이드

사용자 Tablespace 확인 Default Tablespace 를제외한 Tablespace 들에대해 TABLESPACE_NAME 과각 Tablespace 에서사용 중인데이터파일의 FILE_NAME, size, maxsize, AUTOEXTENSIBLE 을확인한다. SQL> SET linesize 150 SQL> COL tablespace_name FOR a30 SQL> COL file_name FOR a50 SQL> SELECT tablespace_name, file_name, bytes/1024/1024 "size(mb)", maxbytes/1024/1024 "maxsize(mb)", autoextensible FROM dba_data_files WHERE tablespace_name not in('system', 'UNDO', 'USR'); TABLESPACE_NAME FILE_NAME size(mb) maxsize(mb) AUTOEXTENSIBLE --------------- ---------------------------- -------- ----------- -------------- DBTECH_TBS /tb4/tbdata/dbtech_tbs01.dtf 50 5120 YES DBTECH_IDX /tb4/tbdata/dbtech_idx01.dtf 50 1024 YES 로그모드확인 로그모드를확인하여 ARCHIVELOG일경우 LOG_ARVHIVE_DEST, LOG_ARVHIVE_FORMAT, LOG_ARVHIVE_OVERWRITE, LOG_ARVHIVE_RETRY_TIME을확인한다. 로그모드외에기본값과 다른것이있으면 Target DB의 tip 파일에설정한다. SQL> SELECT log_mode FROM v$database; LOG_MODE ------------ ARCHIVELOG SQL> SHOW PARAM ARCHIVE NAME TYPE VALUE ---------------------------- -------- ------------------------------------------ LOG_ARCHIVE_DEST DIRNAME /data2/tb4/tibero4/database/tb4/archive/ LOG_ARCHIVE_FORMAT STRING log-t%t-r%r-s%s.arc LOG_ARCHIVE_OVERWRITE Y_N NO LOG_ARCHIVE_RETRY_TIME UINT32 60 컨트롤파일확인 경로및파일명을알맞게수정한다. Target DB 의데이터베이스를생성할때수정한경로및파일명을 참고한다. 제 1 장 Tibero 4 SP1 to Tibero 5 5

SQL> alter database backup controlfile to trace as '/data2/tb4/tb4sp1_export/controlfile_tb4sp1.sql'; Database altered. SQL>!cat /data2/tb4/tb4sp1_export/controlfile_tb4sp1.sql CREATE CONTROLFILE REUSE DATABASE "tb4" LOGFILE GROUP 0 ( '/data2/tb4/tbdata/log001.log', '/data2/tb4/tbdata/log002.log' ) SIZE 50M, GROUP 1 ( '/data2/tb4/tbdata/log003.log', '/data2/tb4/tbdata/log004.log' ) SIZE 50M, GROUP 2 ( '/data2/tb4/tbdata/log005.log', '/data2/tb4/tbdata/log006.log' ) SIZE 50M NORESETLOGS DATAFILE '/data2/tb4/tbdata/system001.tdf', '/data2/tb4/tbdata/undo001.tdf', '/data2/tb4/tbdata/usr001.tdf', '/data2/tb4/tbdata/dbtech_tbs01.dtf', '/data2/tb4/tbdata/dbtech_idx01.dtf' ARCHIVELOG MAXLOGFILES 255 MAXLOGMEMBERS 8 MAXDATAFILES 100 CHARACTER SET MSWIN949 NATIONAL CHARACTER SET UTF16 ; --ALTER DATABASE MOUNT ---- Recovery is required in MOUNT mode. --ALTER DATABASE RECOVER AUTOMATIC; --ALTER DATABASE OPEN ; ---- Adding Tempfiles is required in OPEN mode. -- ALTER TABLESPACE TEMP ADD TEMPFILE '/data2/tb4/tbdata/temp001.tdf' -- SIZE 400M REUSE AUTOEXTEND ON NEXT 10M MAXSIZE 1G; JOB 확인 JOB 은이관되지않으므로 Target DB 에수동으로생성이필요하다. 6 Tibero 업그레이드가이드

SQL> SET LINESIZE 150 SQL> COL what FOR a30 SQL> COL interval FOR a30 SQL> COL username FOR a20 SQL> alter session set NLS_DATE_FORMAT='YYYY/MM/DD HH24:MI:SS'; SQL> SELECT job as job_no, b.username, what, to_char(next_date, 'yyyy/mm/dd HH24:MI:SS') as next_date, interval, broken FROM dba_jobs a, dba_users b WHERE a.schema_user=b.user_id; JOB_NO USERNAME WHAT NEXT_DATE INTERVAL BROKEN ------ -------- --------------------------- ------------------- --------- ------ 1 DBTECH dbms_output.put_line('ok'); 2013/06/30 00:00:00 SYSDATE+1 N DB Link 확인 (Tibero to Tibero, Tibero to Oracle 등 ) DB Link 는이관되지않으므로 Target DB 에수동으로생성이필요하다. SQL> SET LINESIZE 150 SQL> COL owner FOR a15 SQL> COL db_link FOR a20 SQL> COL username FOR a20 SQL> COL host FOR a10 SQL> COL created FOR a10 SQL> SELECT owner, db_link, username, host, created FROM dba_db_links; OWNER DB_LINK USERNAME HOST CREATED --------------- -------------------- -------------------- ---------- ---------- DBTECH TBLINK DBTECH2 tb4 2013/06/12 참고 Tibero 4 SP1 r72163 이후에는자동으로생성되므로최신리비전으로패치한후업그레이드한다. External Procedure 사용여부확인외부참조라이브러리를확인하여결과가존재할경우후처리파일인 so 및 class 파일을 Target DB의동일경로에복사하거나 Target DB에서재컴파일한다. 라이브러리는이관되지않으므로 Target DB에수동으로생성이필요하다. 다음은외부참조라이브러리의확인예이다. 제 1 장 Tibero 4 SP1 to Tibero 5 7

C External Procedure SQL> SET LINESIZE 120 SQL> COL owner FOR a10 SQL> COL library_name FOR a30 SQL> COL file_spec FOR a50 SQL> COL status FOR a10 SELECT owner, library_name, file_spec, status FROM dba_libraries; 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; 다음은 JAVA 의 Class 위치확인예이다. SQL> SHOW PARAM JAVA_CLASS_PATH; NAME TYPE VALUE ---------------- -------- -------------------------- JAVA_CLASS_PATH DIRNAME /data2/tb4/tbdata/java/ 참고 JAVA External Procedure 에서외부라이브러리를참조할때 $TB_HOME/bin/tbjavac 와 $TB_HOME/client/bin/tbjavaepa 설정을확인한다. Wrapped PSM(PL/SQL) 확인 Wrapped PL/SQL은 DB에서내용을조회할수없으므로수동으로생성하기위한생성문을얻을수없다. 그래서이관을위해서는원본생성문이필요하다. Tibero 4 SP1 r69770, Tibero 5 r69770 이전에해당하는경우 Wrapped PSM(PL/SQL) 은이관되지않으므로 Target DB에수동으로생성이필요하다. 다음은 Wrapped PSM(PL/SQL) 확인예이다. SQL> SET LINESIZE 120 SQL> COL owner FOR a30 SQL> COL object_name FOR a40 SQL> SELECT owner, object_name, functionable, wrapped FROM dba_procedures 8 Tibero 업그레이드가이드

WHERE wrapped = 'YES'; OWNER OBJECT_NAME FUNCTIONABLE WRAPPED ------------------------- ------------------------- ------------ ------- DBTECH WRAP_TEST NO YES 디렉터리확인 External table 에서사용하는디렉터리가존재하는지확인한후디렉터리가존재한다면해당파일을 Target DB 시스템경로에맞게복사및재생성한다. SQL> SET LINESIZE 120 SQL> COL name FOR a20 SQL> COL path FOR a60 SQL> SELECT * FROM dba_directories; NAME PATH -------------------- ---------------------- SAM /data2/tb4/dir_sam Object Count 확인쿼리수행후나온조회결과를저장하고 Object Count를확인한다. 해당결과는 1.5. 검증 에서이관된 Object Count를확인하는기준으로사용된다. SQL> SET LINESIZE 150 SQL> SET PAGES 500 SQL> COL owner FOR a20 SQL> SELECT owner, object_type, status, count(*) FROM dba_objects WHERE owner not in ('SYS', 'SYSCAT', 'SYSGIS', 'OUTLN') GROUP BY owner, object_type, status ORDER BY owner, object_type, status; OWNER OBJECT_TYPE STATUS COUNT(*) -------------------- -------------------- ------- ---------- DBTECH DATABASE LINK VALID 1 DBTECH FUNCTION VALID 3 DBTECH INDEX VALID 9 DBTECH JAVA VALID 1 DBTECH LIBRARY VALID 1 DBTECH PROCEDURE VALID 3 DBTECH SEQUENCE VALID 3 DBTECH SYNONYM VALID 6 DBTECH TABLE VALID 10 DBTECH TRIGGER VALID 2 제 1 장 Tibero 4 SP1 to Tibero 5 9

DBTECH VIEW VALID 1 DBTECH2 FUNCTION VALID 1 DBTECH2 INDEX VALID 7 DBTECH2 LOB VALID 2 DBTECH2 PACKAGE VALID 2 DBTECH2 PACKAGE BODY VALID 2 DBTECH2 PROCEDURE VALID 4 DBTECH2 SEQUENCE VALID 1 DBTECH2 TABLE VALID 7 DBTECH2 TRIGGER VALID 1 DBTECH2 VIEW VALID 1 PUBLIC SYNONYM VALID 565 TIBERO TABLE VALID 1 Constraint 확인 쿼리수행후나온조회결과를저장하고 Constraint 를확인한다. 해당결과는 1.5. 검증 에서이관된 Constraint 를확인하는기준으로사용된다 SQL> SET LINESIZE 150 SQL> COL owner FOR a30 SQL> SELECT owner,constraint_type,count(constraint_name) as con_cnt FROM dba_constraints WHERE owner not in ('SYS', 'SYSCAT', 'SYSGIS', 'OUTLN') GROUP BY owner, constraint_type ORDER BY owner,constraint_type; OWNER CONSTRAINT_TYPE CON_CNT ------------------------------ --------------- ---------- DBTECH C 21 DBTECH O 0 DBTECH P 7 DBTECH R 3 DBTECH U 1 DBTECH2 C 7 DBTECH2 P 7 DBTECH2 R 1 컬럼암호화 (DBMS_OBFUSCATION_TOOLKIT) 사용여부확인 SQL> SET LINESIZE 150 SQL> COL OWNER FOR a10 SQL> COL NAME FOR a20 SQL> COL TYPE FOR a20 10 Tibero 업그레이드가이드

SQL> SELECT OWNER, NAME, TYPE FROM ALL_SOURCE WHERE LONG_TO_CHAR(TEXT) LIKE '%DBMS_OBFUSCATION_TOOLKIT%' AND OWNER NOT IN ('SYS', 'SYSCAT', 'SYSGIS', 'OUTLN'); OWNER NAME TYPE ------ ---------------- ---------- DBTECH FN_DECRYPT_FN FUNCTION DBTECH FN_ENCRYPT_FN FUNCTION 다음은 Target DB 에서재암호화하기위한복호화 Table 을생성하는예이다. SQL> SELECT A, B, C FROM TBL_ENCRYPT; A B C ---------- ------------------------------ ------------------------------ 1 837A53053429CD1E 837A53053429CD1E 1 row selected. SQL> SELECT A, FN_DECRYPT_FN(B) AS B, FN_DECRYPT_FN(C) AS C FROM TBL_ENCRYPT; A B C ---------- ------------------------------ ------------------------------ 1 testing testing SQL> CREATE TABLE TBL_ENCRYPT_BACKUP AS SELECT A, FN_DECRYPT_FN(B) AS B, FN_DECRYPT_FN(C) AS C FROM TBL_ENCRYPT; Table 'TBL_ENCRYPT_BACKUP' created. SQL> SELECT A, B, C FROM TBL_ENCRYPT_BACKUP; A B C ---------- ------------------------------ ------------------------------ 1 testing testing 1 row selected. 참고 DBMS_OBFUSCATION_TOOLKIT 패키지는 Tibero 4 SP1 이전버전과 5 버전의구현이다르게되 어있기때문에복호화후 Tibero 5 이상의버전에서다시암호화하는방식으로이관을한다. 제 1 장 Tibero 4 SP1 to Tibero 5 11

1.3.2. Export 수행 1. DB에연결된모든애플리케이션종료 Export 하는동안데이터변경이일어나지않게하려면 Source DB에연결된모든애플리케이션을종료한다. 다음은접속된세션확인예이다. SQL> SELECT count(*) FROM v$session; COUNT(*) ---------- 2 2. JOB 수행중지 Export 하는동안 JOB 이수행되면데이터변경이일어날수있으므로 JOB 수행을중지한다. 다음은 JOB 번호가 100 번인 JOB 을중지하는예이다. BEGIN DBMS_JOB.BROKEN(100, true); END; / 3. tbexport tbexport 의 Database(FULL) 모드로수행한다. 다음은 tbexport 의사용방법이다. tbexport username={sys dba 계정 } password=<password> port=<port_no> sid=<sid> file=<file name> log=<log-file name> full=y script=y 항목 username password port sid file log 설명 Export 할 DB 계정으로 sys 계정또는 dba 계정중에서하나를선택한다. Export 할 DB 계정의비밀번호이다. Export 할 DB의포트번호이다. Export 할 DB의이름이다. 생성될파일이름이다. 생성될로그파일의이름이다. 다음은 Source DB 서버에서 Tibero 4 SP1 버전의 tbexport 사용예이다. 12 Tibero 업그레이드가이드

tbexport username=sys password=pwd port=8629 sid=tb4 \ file=tibero4_all.dat log=tibero4_exp.log full=y script=y 1.4. Target DB(Tibero 5) 작업 본절에서는 Target DB인 Tibero 5의작업절차를설명한다. 작업절차는다음과같은순서로진행한다. 1. 설치 2. Import 수행 3. 후처리 각과정에대한상세한설명은해당절의내용을참고한다. 1.4.1. 설치 Tibero 5를설치하는순서는다음과같다. 1. 기본절차기본절차에대한자세한내용은 "Tibero 설치가이드 " 를참고한다. 2. 파일설정 Tibero Initial Parameter(TIP 파일 ) TIP는 $TB_HOME/config 안에 $TB_SID.tip 파일명으로되어있다. _ 로시작하는히든파라미터를사용하는것이있다면 Tibero 5에서의적용확인이필요하다. 파라미터 DBWR_CNT WTHR_PROC_CNT, _WTHR_PER_PROC DB_CACHE_SIZE LOG_BUFFER 설명 Tibero 5에서는해당파라미터를자동으로설정하므로반드시사용해야야하는경우가아닐경우삭제한다. Tibero 5의 MAX_SESSION_COUNT로대체한다. 해당파라미터값은 {(WTHR_PROC_CNT) * (_WTHR_PER_PROC)} 값에가장가까운 10의배수로설정한다. Tibero 5의 TOTAL_SHM_SIZE에따라자동으로설정된다. Tibero 5의기본값은 10M이다. 참고 Tibero 5 에서는 DBWR_CNT 의값을명시적으로지정하지않으면 1 과서버의 CPU core 수를 4 로나 눈값중에서큰값으로설정한다. ( 예 : MAX(1, get_ncpu()/4)) 제 1 장 Tibero 4 SP1 to Tibero 5 13

tbdsn.tbr Tibero 4 SP1 과기본문법은같고기존에사용하던 Alias 등을추가한다. tb5=( (INSTANCE=(HOST=192.168.1.129) (PORT=8629) (DB_NAME=tb5) ) hidden=( (INSTANCE=(HOST=192.168.1.129) (PORT=8630) (DB_NAME=tb5) ) 기타파일 Source DB에서아래와같은설정파일을사용한다면 Tibero 5의해당설정파일에도적용이필요하다. ESQL $TB_HOME/client/config/tbpc.cfg $TB_HOME/client/config/tbpcb.cfg C/JAVA External Procedure $TB_HOME/client/tbepa/tbepa.cfg $TB_HOME/client/tbepa/java/config/tbepa.cfg (Tibero 5의경우 : $TB_HOME/client/epa/java/config/epa.cfg) DB Link 관련 Gateway $TBGW_HOME/oracle/config/tbgw.cfg $tbjavagw/tbgw.cfg(tibero 5의경우 : $tbjavagw/jgw.cfg) External Procedure(so 또는 class 파일복사 ) Source DB와 Targer DB의 OS, BIT가동일하면복사를하고다르면원본소스를통해재컴파일을수행한다. 디렉터리관련파일 "1.2.2. 체크방법 " 의 " 디렉터리확인 " 의조회결과파일을복사한다. 3. 데이터베이스생성 1.3.1. 체크리스트및체크방법 의내용을참고하여 Tibero 4 SP1 설정에맞게수정한후 DB 를생성한 다. 단, Archivelog 모드일경우후처리를적용한다. 14 Tibero 업그레이드가이드

create database user sys identified by tibero maxdatafiles 1024 character set MSWIN949 national character set UTF16 logfile group 0 ('redo001.redo') size 50M, group 1 ('redo011.redo') size 50M, group 2 ('redo021.redo') size 50M maxlogfiles 100 maxlogmembers 8 noarchivelog datafile 'system001.dtf' size 128M autoextend on next 16M maxsize 3072M default tablespace USR datafile 'usr001.dtf' size 128M autoextend on next 16M maxsize 3072M default temporary tablespace TEMP tempfile 'temp001.dtf' size 128M autoextend on next 16M maxsize 3072M extent management local AUTOALLOCATE undo tablespace UNDO datafile 'undo001.dtf' size 128M autoextend on next 16M maxsize 3072M extent management local AUTOALLOCATE; 4. APM Tablespace 생성 TIbero 5 는 APM 정보를별도의 _APM_TS Tablespace 에저장한다. 따라서 DB 생성후에별도로 _APM_TS 를생성하고경로및사이즈는사이트에환경에맞게설정한다. CREATE TABLESPACE _APM_TS DATAFILE '/home/tibero5/tbdata/apm_ts.dtf' SIZE 100M AUTOEXTEND ON NEXT 16M MAXSIZE 3072M; 5. System.sh 수행 $TB_HOME/scripts/system.sh 를수행한다. 1.4.2. Import 수행 Import 를수행하는순서는다음과같다. 1. 사용자 Tablespace 생성 제 1 장 Tibero 4 SP1 to Tibero 5 15

tbexport 에서생성된 tibero4_exp.log 파일을열어 CREATE TABLESPACE 구문을참조해데이터파일 경로및 size 를조정한다. 단, CREATE DATABASE 에서생성된 SYSTEM, UNDO, TEMP, USR 부분은 생성하지않는다. 주의 Tablespace를미리생성하지않은상태에서 Import를수행하면 Source DB 정보그대로데이터파일을생성하게되고, 이경우의도하지않은경로에데이터파일을생성하거나데이터파일의생성실패및불필요한스토리지사용의문제를일으킬수있다. 2. 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 password port sid file log 설명 Import 한 DB 계정으로 sys 계정또는 dba 계정중에서하나를선택한다. Import 한 DB 계정의비밀번호이다. Import 한 DB의포트번호이다. Import 한 DB의이름이다. Tibero 4 SP1에서 Import 한데이터파일이다. 생성될로그파일의이름이다. 다음은 Source DB 서버에서 Tibero 4 SP1 버전의 tbimport 사용예이다. tbimport username=sys password=pwd port=8629 sid=tb5 \ file=tibero4_all.dat log=tibero5_imp.log full=y ignore=y 1.4.3. 후처리 후처리하는순서는다음과같다. 1. 컬럼암호화 (DBMS_OBFUSCATION_TOOLKIT) 사용암호화된컬럼들이있다면 DBMS_OBFUSCATION_TOOLKIT 패키지를사용하여앞서 Tibero 4 SP1 Import 진행전에복호화된 BACKUP Table을다시암호화처리한다. 다음은미리복호화한 Table을이용해암호화된 Table을재생성하는예이다. 16 Tibero 업그레이드가이드

SQL> DROP TABLE TBL_ENCRYPT; Table 'TBL_ENCRYPT' dropped. SQL> CREATE TABLE TBL_ENCRYPT AS SELECT A, FN_ENCRYPT_FN(B) AS B, FN_ENCRYPT_FN(C) AS C FROM TBL_ENCRYPT_BACKUP; Table 'TBL_ENCRYPT' created. SQL> SELECT A, B, C FROM TBL_ENCRYPT; A B C ---------- ------------------------------ ------------------------------ 1 837A53053429CD1E 837A53053429CD1E 1 row selected. 2. 미지원목록처리 미지원목록에대한생성구문을 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; } } / 제 1 장 Tibero 4 SP1 to Tibero 5 17

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/t5/work/external/external' / 3. Archive 모드적용 기존 Tibero 4 SP1 이 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/t5/tibero5/database/t5/archive/ SQL> alter system switch logfile; System altered. 18 Tibero 업그레이드가이드

SQL>!ls -la /home/tibero/t5/tibero5/database/t5/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 1.5. 검증 "1.2.2. 체크방법 " 의 "Object Count 확인 " 및 "Constraint 확인 " 을 Target DB의 Object 및 Constraint 개수와비교하여개수가맞지않다면아래와같이 View를조사한다. 만약미지원되는사항이외의것이이관되지않았다면확인이필요하다. Table View Synonym Sequence Package Package Body Function Procedure Index Constraint Grant Trigger - DBA_TABLES - DBA_VIEWS - DBA_SYNONYMS - DBA_SEQUENCES - DBA_SOURCE(TYPE = 'PACKAGE') - DBA_SOURCE(TYPE = 'PACKAGE BODY') - DBA_SOURCE(TYPE = 'FUNCTION') - DBA_SOURCE(TYPE = 'PROCEDURE') - DBA_INDEXES - DBA_CONSTRAINTS - DBA_TAB_PRIVS - DBA_TRIGGERS 참고 Target DB 의 Object 및 Constraint 를조회할경우 "1.2.2. 체크방법 " 의 "Object Count 확인 " 과 "Con straint 확인 " 를참고한다. 제 1 장 Tibero 4 SP1 to Tibero 5 19

1.6. I/F Driver 변경 1.6.1. JDBC Tibero 4 SP1 JDBC 3.0 SPEC을준수한다. (JDK 1.4 이상 ) JDBC 파일 : $TB_HOME/client/lib/jar/tibero4-jdbc.jar Tibero 5 JDBC 4.0 SPEC 을준수한다. (JDK 1.6 이상 ) JDBC 파일 : $TB_HOME/client/lib/jar/tibero5-jdbc.jar 참고 JDK 버전이 1.6 미만일경우 1.6 이상으로업그레이드를하고 JDBC Driver 를교체한다. 만약, JDK 를업그레이드를할수없다면 tibero5-jdbc-14.jar 파일을사용한다. Tibero URL Setting Tibero 5의경우 DB NAME 체크가강화되었다. Single일경우 DB NAME이정확히일치하는지확인하고, TAC 일경우 DATABASE_NAME에 DB NAME 설정이필요하다. Tibero 4 SP1 Single : jdbc:tibero:thin:@192.168.11.49:8629:tibero TAC : "jdbc:tibero:thin:@(description= (failover=on)(load_balance=on) (address_list=(address=(host=192.168.11.49)(port=8629)) (address=(host=192.168.11.50)(port=8629)) )) Tibero 5 Single : jdbc:tibero:thin:@192.168.11.49:8629:tibero TAC : "jdbc:tibero:thin:@(description= (failover=on)(load_balance=on) (address_list=(address=(host=192.168.11.49)(port=8629)) (address=(host=192.168.11.50)(port=8629)) )(DATABASE_NAME=tibero5)) 20 Tibero 업그레이드가이드

1.6.2. ODBC 및 OLE DB Tibero 5 ODBC 및 OLE DB를설치하여기존의 Driver를변경한다. Oracle to Tibero DB Link의경우 ODBC Driver를사용하므로교체가필요하다. Connection String(ODBC) DSN 방식은동일하며 WIndows 계열의 IP/PORT 접속방식이면아래와같이변경이필요하다. Tibero 4 SP1 DRIVER={Tibero 4 ODBC Driver};SERVER=127.0.0.1;PORT=8629;UID=tibero;PWD=tmax; Tibero 5 DRIVER={Tibero 5 ODBC Driver};SERVER=127.0.0.1;PORT=8629; DB=tb5;UID=tibero;PWD=tmax; 참고 1. Tibero 5의경우 DB NAME 체크가강화되므로고객사에해당하는 DB NAME을추가한다. 2. UNIX 계열 (Linux 포함 ) 에서는 SQLDriverConnect를사용하여 IP/PORT를명시해도환경변수 TB_SID를참고하여 DSN 방식으로동작한다. Connection String(OLE DB) DSN 방식은동일하며 WIndows 계열의 IP/PORT 접속방식이면아래와같이변경이필요하다. Tibero 4 SP1 Provider=tbprov.Tbprov;Data Source='127.0.0.1,8629';User ID=tibero;Password=tmax; Tibero 5 r62421 이후 Provider=tbprov.Tbprov;Data Source='127.0.0.1,8629,tb5'; User ID=tibero;Password=tmax; 참고 Tibero 5 의경우 DB NAME 체크가강화되므로고객사에해당하는 DB NAME 을추가한다. 제 1 장 Tibero 4 SP1 to Tibero 5 21

1.6.3. 기타 (DB Link, EXTERNAL 등 ) DB Link Gateway 를사용중이라면 Tibero 5 에서제공하는 Gateway 로변경후기동한다. $TB_HOME/client/bin/ External Procedure JAVA External Procedure 의 Agent 를사용중이라면 Tibero 5 에서제공하는 Agent 로변경후기동한다. 외부라이브러리 (JAR) 참조 Tibero 4의해당파일을열어외부라이브러리참조에필요한셋팅을 Tibero 5에적용한후관련라이브러리를가져온다. Tibero 4 SP1 $TB_HOME/bin/tbjavac $TB_HOME/client/bin/tbjavaepa Tibero 5 $TB_HOME/bin/psmjavac $TB_HOME/client/bin/tbjavaepa 참고 Tibero 5 는 tbjavac 이 psmjavac 로변경된다. 1.7. 주의사항 to_lob() 함수이용 Tibero 4 SP1 r65351 이후로 select 문에 to_lob() 이사용된경우 long 을사용할수없도록바뀌었으므로해 당 long 타입에 to_lob 함수를사용한경우 lob 타입또는 LONG_TO_CHAR 함수로변경이필요하다. 22 Tibero 업그레이드가이드