Tibero RDBMS

Size: px
Start display at page:

Download "Tibero RDBMS"

Transcription

1 Tibero RDBMS tbpsm 참조안내서 Tibero RDBMS 4 SP1 Copyright 2013 TIBERO Co., Ltd. All Rights Reserved.

2 Copyright Notice Copyright 2013 TIBERO Co., Ltd. All Rights Reserved. 대한민국경기도성남시분당구서현동 우 ) Restricted Rights Legend All TIBERO Software Tibero RDBMS ) and documents are protected by copyright laws and the Protection Act of Computer Programs, and international convention. TIBERO software and documents are made available under the terms of the TIBERO 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 TIBERO Co., Ltd. 이소프트웨어 Tibero RDBMS ) 사용서의내용과프로그램은저작권법, 컴퓨터프로그램보호법및국제조약에의해서보호받고있습니다. 사용서의내용과여기에된프로그램은 TIBERO Co., Ltd. 와의사용권계약하에서만사용이가능하며, 사용권계약을준수하는경우에만사용또는복제할수있습니다. 이사용서의전부또는일부분을 TIBERO의사전서면동의없이전자, 기계, 녹음등의수단을사용하여전송, 복제, 배포, 2차적저작물작성등의행위를하여서는안됩니다. Trademarks Tibero RDBMS is a registered trademark of TIBERO Co., Ltd. Other products, titles or services may be registered trademarks of their respective companies. Tibero RDBMS 는 TIBERO Co., Ltd. 의등록상표입니다. 기타모든제품들과회사이름은각각해당소유주의상표로서참조용으로만사용됩니다. Open Source Software Notice This product includes open source software developed and/or licensed by "OpenSSL," "RSA Data Security, Inc.," "Apache Foundation," "Jean-loup Gailly and Mark Adler," and "Paul Hsieh's hash". Information about the afore mentioned and the related open source software can be found in the "${INSTALL_PATH}/license/oss_licenses" directory. 본제품은 OpenSSL, RSA Data Security, Inc., Apache Foundation 및 Jean-loup Gailly와 Mark Adler 및 Paul Hsieh's hash 에의해개발또는라이선스된오픈소스소프트웨어를포함합니다. 관련상세정보는제품의디렉터리 ${INSTALL_PATH}/license/oss_licenses 에기재된사항을참고해주십시오. 안내서정보안내서제목 : Tibero RDBMS tbpsm 참조안내서발행일 : 소프트웨어버전 : Tibero RDBMS 4 SP1 안내서버전 : 2.1.4

3 내용목차 안내서에대하여... xiii 제1장 패키지소개 개요 구성 사용자정의패키지 시스템패키지... 4 제2장 DBMS_LOB 개요 프로시저 APPEND COPY CREATETEMPORARY ERASE FREETEMPORARY READ TRIM WRITE WRITEAPPEND 함수 COMPARE GETLENGTH INSTR ISTEMPORARY SUBSTR 제3장 DBMS_OBFUSCATION_TOOLKIT 개요 프로시저와함수 DES3DECRYPT DES3ENCRYPT DES3GETKEY DESDECRYPT DESENCRYPT DESGETKEY 제4장 DBMS_OUTPUT 개요 프로시저 DISABLE ENABLE GET_LINE, GET_LINES Tibero RDBMS iii

4 NEW_LINE PUT, PUT_LINE 제5장 DBMS_STATS 개요 프로시저 CREATE_STAT_TABLE DELETE_COLUMN_STATS DELETE_DATABASE_STATS DELETE_DICTIONARY_STATS DELETE_INDEX_STATS DELETE_SCHEMA_STATS DELETE_SYSTEM_STATS DELETE_TABLE_STATS DROP_STAT_TABLE EXPORT_COLUMN_STATS EXPORT_DATABASE_STATS EXPORT_INDEX_STATS EXPORT_SCHEMA_STATS EXPORT_SYSTEM_STATS EXPORT_TABLE_STATS GATHER_DATABASE_STATS GATHER_DICTIONARY_STATS GATHER_INDEX_STATS GATHER_SCHEMA_STATS GATHER_SYSTEM_STATS GATHER_TABLE_STATS IMPORT_COLUMN_STATS IMPORT_DATABASE_STATS IMPORT_INDEX_STATS IMPORT_SCHEMA_STATS IMPORT_SYSTEM_STATS IMPORT_TABLE_STATS SET_PARAM SET_SYSTEM_STATS 함수 GET_PARAM LOCAL_TRANSACTION_ID TO_BOOLEAN 제6장 DBMS_TRANSACTION 개요 프로시저 COMMIT iv Tibero RDBMS tbpsm 참조안내서

5 ROLLBACK, ROLLBACK_SAVEPOINT SAVEPOINT 제7장 UTL_RAW 개요 함수 BIT_AND BIT_COMPLEMENT BIT_OR BIT_XOR CAST_FROM_BINARY_DOUBLE CAST_FROM_BINARY_FLOAT CAST_FROM_BINARY_INTEGER CAST_FROM_NUMBER CAST_TO_BINARY_DOUBLE CAST_TO_BINARY_FLOAT CAST_TO_BINARY_INTEGER CAST_TO_NUMBER CAST_TO_RAW CAST_TO_VARCHAR COMPARE CONCAT COPIES LENGTH OVERLAY REVERSE SUBSTR TRANSLATE TRANSLITERATE XRANGE 제8장 DBMS_JOB 개요 프로시저 BROKEN CHANGE INTERVAL NEXT_DATE REMOVE RUN SUBMIT WHAT 제9장 DBMS_SQL 개요 Tibero RDBMS v

6 9.2. 타입 DESC_REC DESC_REC DESC_TAB DESC_TAB 프로시저 BIND_VARIABLE CLOSE_CURSOR COLUMN_VALUE DEFINE_COLUMN DESCRIBE_COLUMNS DESCRIBE_COLUMNS PARSE 함수 EXECUTE EXECUTE_AND_FETCH FETCH_ROWS OPEN_CURSOR IS_OPEN LAST_ERROR_POSITION LAST_ROW_COUNT 제10장 DBMS_ROWID 개요 프로시저 ROWID_INFO 함수 ROWID_CREATE ROWID_SEGMENT ROWID_BLOCK_NUMBER ROWID_ROW_NUMBER ROWID_ABSOLUTE_FNO ROWID_TO_RELATIVE_FNO 제11장 DBMS_JAVA 개요 프로시저 SET_OUTPUT 함수 LONGNAME SHORTNAME 제12장 UTL_FILE 개요 프로시저 vi Tibero RDBMS tbpsm 참조안내서

7 FCLOSE FCLOSE_ALL FCOPY FFLUSH FGETATTR FREMOVE FRENAME FSEEK GET_LINE GET_RAW NEW_LINE PUT PUTF PUT_RAW PUT_LINE 함수 FGETPOS FOPEN IS_OPEN 제13장 DBMS_REDEFINITION 개요 프로시저 ABORT_REDEF_TABLE FINISH_REDEF_TABLE START_REDEF_TABLE SYNC_INTERIM_TABLE 제14장 UTL_ENCODE 개요 함수 BASE64_DECODE BASE64_ENCODE TEXT_ENCODE 제15장 UTL_URL 개요 함수 ESCAPE UNESCAPE 제16장 UTL_HTTP 개요 함수 REQUEST Tibero RDBMS vii

8 제17장 DBMS_APM 개요 프로시저 CREATE_SNAPSHOT REPORT_TEXT 제18장 DBMS_MVIEW 개요 프로시저 EXPLAIN_REWRITE REFRESH 제19장 DBMS_SPACE 개요 프로시저 SPACE_USAGE UNUSED_SPACE 제20장 DBMS_SPACE_ADMIN 개요 프로시저 SEGMENT_DUMP 제21장 DBMS_CRYPTO 개요 암호화 / 복호화알고리즘및체인, 패딩 해시알고리즘 프로시저와함수 DECRYPT ENCRYPT HASH 제22장 DBMS_TYPES 개요 상수목록 제23장 DBMS_RANDOM 개요 프로시저와함수 NORMAL RANDOM SEED STRING VALUE 제24장 DBMS_SYSTEM 개요 viii Tibero RDBMS tbpsm 참조안내서

9 24.2. 프로시저와함수 SET_SQL_TRACE_IN_SESSION 제25장 DBMS_UTILITY 개요 프로시저와함수 COMMA_TO_TABLE GET_TIME 제26장 DBMS_ERRLOG 개요 프로시저 CREATE_ERROR_LOG 제27장 DBMS_REPAIR 개요 함수 ONLINE_INDEX_CLEAN 제28장 DBMS_APPLICATION_INFO 개요 프로시저 READ_CLIENT_INFO READ_MODULE SET_ACTION SET_CLIENT_INFO SET_MODULE SET_SESSION_LONGOPS 제29장 DBMS_LOCK 개요 프로시저 SLEEP 제30장 UTL_I18N 개요 프로시저와함수 RAW_TO_CHAR STRING_TO_RAW 제31장 DBMS_SESSION 개요 프로시저 CLEAR_IDENTIFIER UNIQUE_SESSION_ID SET_IDENTIFIER 색인 Tibero RDBMS ix

10

11 예목차 [ 예 1.1] EMP_MGMT 패키지의선언부... 2 [ 예 1.2] EMP_MGMT 패키지의구현부... 3 Tibero RDBMS xi

12

13 안내서에대하여 안내서의대상 본안내서는 Tibero RDBMS 이하 Tibero RDBMS) 에서제공하는저장프로시저모듈즉 tbpsmtibero 의 Persistent Stored Module) 패키지를참조하려는데이터베이스관리자 Database Administrator, 이하 DBA), 애플리케이션프로그램개발자를대상으로기술한다. 안내서의전제조건 본안내서를원활히이해하기위해서는다음과같은사항을미리알고있어야한다. 데이터베이스의이해 RDBMS 의이해 SQL 의이해 tbpsm 의이해 안내서의제한조건 본안내서는 Tibero RDBMS 를실무에적용하거나운용하는데필요한모든사항을포함하고있지않다. 따라서설치, 환경설정등운용및관리에대해서는각제품안내서를참고하기바란다. 참고 Tibero RDBMS 의설치및환경설정에관한내용은 "Tibero RDBMS 설치안내서 " 를참고한다. 안내서에대하여 xiii

14 안내서구성 Tibero RDBMS tbpsm 참조안내서의각장의주요내용은다음과같다. 제1장 : 패키지소개패키지의기본개념과구성을간략히소개한다. 제 2 장 : DBMS_LOB DBMS_LOB 패키지의개요와사용방법을기술한다. 제 3 장 : DBMS_OBFUSCATION_TOOLKIT DBMS_OBFUSCATION_TOOLKIT 패키지의개요와사용방법을기술한다. 제 4 장 : DBMS_OUTPUT DBMS_OUTPUT 패키지의개요와사용방법을기술한다. 제 5 장 : DBMS_STATS DBMS_STATS 패키지의개요와사용방법을기술한다. 제 6 장 : DBMS_TRANSACTION DBMS_TRANSACTION 패키지의개요와사용방법을기술한다. 제 7 장 : UTL_RAW UTL_RAW 패키지의개요와사용방법을기술한다. 제 8 장 : DBMS_JOB DBMS_JOB 패키지의개요와사용방법을기술한다. 제 9 장 : DBMS_SQL DBMS_SQL 패키지의개요와사용방법을기술한다. 제 10 장 : DBMS_ROWID DBMS_ROWID 패키지의개요와사용방법을기술한다. 제 11 장 : DBMS_JAVA DBMS_JAVA 패키지의개요와사용방법을기술한다. xiv Tibero RDBMS tbpsm 참조안내서

15 제 12 장 : UTL_FILE UTL_FILE 패키지의개요와사용방법을기술한다. 제 13 장 : DBMS_REDEFINITION DBMS_REDEFINITION 패키지의개요와사용방법을기술한다. 제 14 장 : UTL_ENCODE UTL_ENCODE 패키지의개요와사용방법을기술한다. 제 15 장 : UTL_URL UTL_URL 패키지의개요와사용방법을기술한다. 제 16 장 : UTL_HTTP UTL_HTTP 패키지의개요와사용방법을기술한다. 제 17 장 : DBMS_APM DBMS_APM 패키지의개요와사용방법을기술한다. 제 18 장 : DBMS_MVIEW DBMS_MVIEW 패키지의개요와사용방법을기술한다. 제 19 장 : DBMS_SPACE DBMS_SPACE 패키지의개요와사용방법을기술한다. 제 20 장 : DBMS_SPACE_ADMIN DBMS_SPACE_ADMIN 패키지의개요와사용방법을기술한다. 제 21 장 : DBMS_CRYPTO DBMS_CRYPTO 패키지의개요와사용방법을기술한다. 제 22 장 : DBMS_TYPES DBMS_TYPES 패키지의개요와사용방법을기술한다. 제 23 장 : DBMS_RANDOM DBMS_RANDOM 패키지의개요와사용방법을기술한다. 안내서에대하여 xv

16 제 24 장 : DBMS_SYSTEM DBMS_SYSTEM 패키지의개요와사용방법을기술한다. 제 25 장 : DBMS_UTILITY DBMS_UTILITY 패키지의개요와사용방법을기술한다. 제 26 장 : DBMS_ERRLOG DBMS_ERRLOG 패키지의개요와사용방법을기술한다. 제 27 장 : DBMS_REPAIR DBMS_REPAIR 패키지의개요와사용방법을기술한다. 제 28 장 : DBMS_APPLICATION_INFO DBMS_APPLICATION_INFO 패키지의개요와사용방법을기술한다. 제 29 장 : DBMS_LOCK DBMS_LOCK 패키지의개요와사용방법을기술한다. 제 30 장 : DBMS_SESSION DBMS_SESSION 패키지의개요와사용방법을기술한다. 제 31 장 : UTL_I18N UTL_I18N 패키지의개요와사용방법을기술한다. xvi Tibero RDBMS tbpsm 참조안내서

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

18 시스템사용환경 요구사항 Platform HP-UX 11i PA-RISC, ia64) Solaris SPARC 9/Solaris 9) AIX PPC 5L/AIX 5.3) GNU X86, 64, IA64) Linux kernel 2.6 이상 Hardware 최소 1.5GB 하드디스크공간 512MB 이상메모리공간 Compiler PSM C99 지원필요 ) tbesql/c C99 지원필요 ) xviii Tibero RDBMS tbpsm 참조안내서

19 관련안내서 안내서 Tibero RDBMS 설치안내서 Tibero RDBMS tbcli 안내서 Tibero RDBMS 애플리케이션개발자안내서 Tibero RDBMS External Procedure 안내서 Tibero RDBMS JDBC 개발자안내서 Tibero RDBMS tbesql/c 안내서 Tibero RDBMS tbesql/cobol 안내서 Tibero RDBMS tbpsm 안내서 Tibero RDBMS 관리자안내서 Tibero RDBMS tbadmin 안내서 Tibero RDBMS 유틸리티안내서 Tibero RDBMS 설치시필요한시스템요구사항과설치및제거방법을기술한안내서이다. Call Level Interface인 tbcli의개념과구성요소, 프로그램구조를소개하고 tbcli 프로그램을작성하는데필요한데이터타입, 함수, 에러메시지를기술한안내서이다. 각종애플리케이션라이브러리를이용하여애플리케이션프로그램을개발하는방법을기술한안내서이다. External Procedure를소개하고이를생성하고사용하는방법을기술한안내서이다. Tibero RDBMS에서제공하는 JDBC 기능을이용하여애플리케이션프로그램을개발하는방법을기술한안내서이다. C 프로그래밍언어를사용해데이터베이스작업을수행하는각종애플리케이션프로그램을작성하는방법을기술한안내서이다. COBOL 프로그래밍언어를사용해데이터베이스작업을수행하는각종애플리케이션프로그램을작성하는방법을기술한안내서이다. 저장프로시저모듈인 tbpsm의개념과문법, 구성요소를소개하고, tbpsm 프로그램을작성하는데필요한제어구조, 복합타입, 서브프로그램, 패키지와 SQL 문장을실행하고에러를처리하는방법을기술한안내서이다. Tibero RDBMS의동작과주요기능의원활한수행을보장하기위해 DBA 가알아야할관리방법을논리적또는물리적측면에서하고, 관리를지원하는각종도구를기술한안내서이다. SQL/PSM 처리와 DBA를위한시스템관리기능을제공하는 GUI 기반의툴인 tbadmin을소개하고, 설치및사용방법을기술한안내서이다. 데이터베이스와관련된작업을수행하기위해필요한유틸리티의설치및환경설정, 사용방법을기술한안내서이다. Tibero RDBMS를사용하는도중에발생할수있는각종에러의원인과해결방법을기술한안내서이다. 안내서에대하여 xix

20 안내서 에러참조안내서 Tibero RDBMS 참조안내서 Tibero RDBMS SQL 참조안내서 Tibero RDBMS의동작과사용에필요한초기화와데이터사전, 정적뷰, 동적뷰를기술한참조안내서이다. 데이터베이스작업을수행하거나애플리케이션프로그램을작성할때필요한 SQL 문장을기술한참조안내서이다. xx Tibero RDBMS tbpsm 참조안내서

21 연락처 Korea TIBERO Co., Ltd Tmax Building 3th floor, Seohyeon-dong, Bundang-gu, Seongnam-si, Gyeonggi-do, South Korea Tel: Fax: Web Korean): 기술지원 : USA TmaxSoft, Inc. 560 Sylvan Avenue Englewood Cliffs, NJ U.S.A Tel: Fax: info@tmaxsoft.com Web English): Japan TmaxSoft Japan Co., Ltd. 5F Sanko Bldg, Mita, Minato-Ku, Tokyo, Japan Tel: Fax: info@tmaxsoft.co.jp Web Japanese): 안내서에대하여 xxi

22 China TmaxSoft China Co., Ltd. Beijing Silver Tower, RM 1508, 2# North Rd Dong San Huan, Chaoyang District, Beijing, China, China Tel: ~8 Fax: Web Chinese): xxii Tibero RDBMS tbpsm 참조안내서

23 제 1 장패키지소개 본장에서는패키지의기본개념과구성을소개한다 개요 패키지 package) 는하나이상의 tbpsm 프로시저 procedure) 와함수 function) 등을포함하는스키마객체이다. 하나의패키지에포함되는스키마객체는프로시저와함수를비롯하여변수, 커서 cursor), 예외상황 exception) 등이있다. 패키지는프로시저, 함수와마찬가지로임의의 SQL 문장에서사용할수있다. 패키지를사용함으로써얻을수있는장점은다음과같다. 연관된프로시저와함수의개발과관리가쉽다. 예를들어, 여러프로시저와함수에서공통으로액세스하는변수를패키지에포함시킬수있다. 애플리케이션프로그램의개발이쉽다. 패키지에서지원하는여러기능을이용하면좀더강력한애플리케이션프로그램을작성할수있다. 효율적인실행이가능하다. 권한의부여와회수, 메모리로딩 memory loading) 등이패키지단위로수행되기때문에효율적인실행 이가능하다 구성 패키지는사용자정의패키지와 Tibero RDBMS 에서제공하는시스템패키지로구성된다 사용자정의패키지 사용자정의패키지는사용자가원하는목적에맞춰정의하는패키지이다. 사용자정의패키지는프로시 저, 함수와유사하게다음과같이정의할수있다. 제 1 장패키지소개 1

24 패키지선언부 외부인터페이스이며공개프로시저 public procedure) 와함수, 변수, 상수등을포함한다. 패키지선언부의세부내용은다음과같다. 문법 CREATE [OR REPLACE] PACKAGE package_name [invoker_rights] AS -- 공개프로시저의선언 -- 공개함수의선언 -- 공개변수, 상수, 예외상황의선언 END [package_name]; 특징 CREATE PACKAGE 문장을이용하여선언부를생성한다. 패키지이름 package_name) 다음에패키지를호출자권한 invoker's rights) 또는정의자권한 definer's rights) 으로실행할것인지를설정할수있다. 설정이생략되면정의자권한으로실행된다. END 다음에패키지이름은생략해도상관없다. 사용예제 [ 예 1.1] EMP_MGMT 패키지의선언부 CREATE PACKAGE EMP_MGMT AS... EMP_MGMT 패키지의선언부... FUNCTION HIREENAME VARCHAR, ADDR VARCHAR, SALARY NUMBER, DEPTNO INT) RETURN INT; PROCEDURE FIREEMPNO INT PROCEDURE RAISE_SALARYEMPNO INT, AMOUNT NUMBER EMP_NOT_FOUND EXCEPTION; END EMP_MGMT; 위의예에서는 EMP_MGMT 패키지를정의자권한으로실행하며, 공개프로시저 2 개 ) 와함수 1 개 ) 그 리고공개예외상황 1 개 ) 를포함하고있다. 패키지구현부 실제프로그램이구현되는부분이다. 공개프로시저와함수등의프로그램구현부와함께비공개프로시 저 private procedure) 와함수, 변수등을포함한다. 2 Tibero RDBMS tbpsm 참조안내서

25 패키지구현부의세부내용은다음과같다. 문법 CREATE [OR REPLACE] PACKAGE BODY package_name AS -- 공개프로시저의구현부 -- 공개함수의구현부 -- 비공개프로시저및함수의선언부 -- 비공개프로시저및함수의구현부 -- 비공개변수, 상수, 예외상황의정의 [BEGIN -- 초기화명령어의집합부 END [package_name]; 특징 CREATE PACKAGE BODY 문장을이용하여구현부를생성한다. END 다음에패키지이름은생략해도상관없다. 사용예제 [ 예 1.2] EMP_MGMT 패키지의구현부 CREATE PACKAGE BODY EMP_MGMT AS... EMP_MGMT 패키지의구현부... NUM_EMP INT; EMPNO NUMBER := 0; FUNCTION HIREENAME VARCHAR, ADDR VARCHAR, SALARY NUMBER, DEPTNO INT) RETURN INT AS BEGIN EMPNO := EMPNO + 1;... 새로운 EMPNO 생성... INSERT INTO EMP VALUES EMPNO, ENAME, ADDR, SALARY, DEPTNO NUM_EMP := NUM_EMP + 1; RETURNEMPNO END; PROCEDURE FIREEMPNO INT) AS BEGIN DELETE FROM EMP WHERE EMP.EMPNO = FIRE.EMPNO; NUM_EMP := NUM_EMP? 1; END; PROCEDURE RAISE_SALARYEMPNO INT, AMOUNT NUMBER) AS BEGIN 제 1 장패키지소개 3

26 END; UPDATE EMP SET SALARY = SALARY + AMOUNT WHERE EMP.EMPNO = RAISE_SALARY.EMPNO; END EMP_MGMT; 위의예에서는 [ 예 1.1] 에포함된모든프로시저와함수에대한정의를포함하고있으며, 비공개변수인 NUM_EMP 를선언하고있다. 패키지프로시저와함수를정의하는방법은패키지변수, 상수, 예외상황에대한내용외에는일반프로시저및함수를정의하는방법과동일하다. 프로시저또는함수내부의컬럼의이름과변수의이름이같은경우, 컬럼이포함된테이블의이름이나프로시저또는함수의이름을지정하여혼동을피할수있다. 예를들어, 프로시저 FIRE 함수의내부에서테이블 EMP에포함된컬럼 EMPNO와프로시저 FIRE로전달된변수 EMPNO가같은이름을가지므로, 각각테이블이름과프로시저이름을지정해주었다. 패키지내에포함된프로시저나함수를그패키지의소유자이외의다른사용자가호출하도록할수있다. 프로시저나함수를호출하려면해당패키지의 EXECUTE 권한을부여받아야한다. 해당패키지의소유자는항상해당패키지를호출할수있다. 뷰 view) 가패키지프로시저나함수를이용하여정의된경우에는뷰를접근하기위해 SELECT 권한을부여받아야한다. 이때, 해당패키지의 EXECUTE 권한은필요하지않다. 패키지프로시저나함수를참조하려면패키지의이름과프로시저또는함수의이름을함께써주어야한다. 다음은 [ 예 1.1] 에서정의한 EMP_MGMT 패키지내의 HIRE 함수를호출하는예이다. 이때반환값은 EMPNO 변수에저장된다. DECLARE empno NUMBER; BEGIN empno := EMP_MGMT.HIRE'John', 'New York', 45000, 5 DBMS_OUTPUT.PUT_LINE'Hired employee No. is ' empno END; 시스템패키지 시스템패키지는 Tibero RDBMS에서기본적으로제공하는패키지라이브러리로, SYS 사용자의소유로정의된다. 또한, Tibero RDBMS를설치한후에일반사용자도사용할수있도록시스템패키지와동일한이름의공용동의어 Public Synonym) 가정의된다. 그리고일반사용자가시스템패키지의프로시저또는함수를호출하면호출자권한으로실행된다. 시스템패키지는일반사용자에게여러가지의확장된기능을제공한다. 시스템패키지를 SQL 문장에서그대로사용한다거나, 다른프로시저와함수그리고패키지를정의할때도사용할수있다. 4 Tibero RDBMS tbpsm 참조안내서

27 시스템패키지의프로시저와함수를호출하는방법은사용자정의패키지와같다. 다음은 32KB 이상인대용량객체의이름과생성자를출력하는예이다. SELECT name, creator FROM image WHERE DBMS_LOB.GETLENGTHdata) >= 32768; 위예에서보듯이, data 는 image 테이블에서대용량객체형으로정의된컬럼이다. 다음은 Tibero RDBMS 에서제공하는시스템패키지이다. 시스템패키지 DBMS_LOB DBMS_OBFUSCA TION_TOOLKIT DBMS_OUTPUT DBMS_STATS DBMS_TRANSACTION UTL_RAW DBMS_JOB DBMS_SQL DBMS_ROWID DBMS_JAVA UTL_FILE DBMS_REDEFINITION UTL_ENCODE UTL_URL UTL_HTTP DBMS_MVIEW DBMS_SPACE BLOB, CLOB 타입의대용량데이터를처리하기위한패키지이다. DES, DES3 알고리즘을이용한데이터암호화및복호화패키지이다. 메시지버퍼에메시지를저장하고읽기위한패키지이다. 데이터베이스객체에대한통계정보를관리하기위한패키지이다. 트랜잭션 transaction) 문장을실행하고트랜잭션을관리하기위한패키지이다. RAW 타입의데이터를처리하기위한패키지이다. JOB을관리하기위한패키지이다. 데이터베이스에접근하는 Dynamic SQL을사용하기위한패키지이다. ROWID에담긴정보를보거나생성하기위한패키지이다. 데이터베이스에서사용하는 Java 객체에접근하기위한패키지이다. 운영체제에서관리하는파일에접근하기위한패키지이다. 온라인상태 on-line state) 에서특정테이블을재정의하기위한패키지이다. 호스트간의데이터를전송할수있도록표준인코딩기술로인코딩하기위한패키지이다. URLUniform Resource Locator) 주소를 ESCAPE 형태로변환하기위한패키지이다. 웹표준 RFC2616) 에따라웹페이지 Web page) 의요청을처리하기위한패키지이다. 실체화뷰 Materialized View) 와관련된정보를제공하고이정보를최근의것으로변경할수있는 REFRESH 기능을사용하기위한패키지이다. 세그먼트 segment) 의크기와공간사용에대한정보를제공하는패키지이다. 제 1 장패키지소개 5

28 시스템패키지 DBMS_SPACE_ADMIN DBMS_CRYPTO DBMS_TYPES DBMS_RANDOM DBMS_SYSTEM DBMS_UTILITY DBMS_ERRLOG DBMS_REPAIR DBMS_APPLICATION_INFO DBMS_LOCK DBMS_SESSION UTL_I18N 세그먼트를관리하는기능을제공하는패키지이다. 데이터를암호화및복호화하는기능을제공하는패키지이다. Tibero에서사용되는데이터타입들을숫자로정의한패키지이다. 임의의숫자및문자열을생성하는패키지이다. SYS 권한을가진관리자가시스템적인제어를위해사용하는패키지이다. 여러가지유용한기능들을제공하는패키지이다. DML의 error logging 기능을지원하는패키지이다. 테이블과인덱스내의깨진블록을검사하고복구하는기능을제공하는패키지이다. 어플리케이션정보에관련된뷰의값을변경하기위한패키지이다. 세션을대기시키는패키지이다. 세션식별자를관리하는패키지이다. 언어, 국가별설정들간의호환기능을제공하는패키지이다. 참고 위의패키지에대한자세한내용은해당패키지를하는각장을참고한다. 6 Tibero RDBMS tbpsm 참조안내서

29 제 2 장 DBMS_LOB 본장에서는 DBMS_LOB 패키지의기본개념과패키지내의프로시저와함수를사용하는방법을한 다 개요 DBMS_LOB은 BLOB 또는 CLOB 타입의컬럼데이터에여러가지연산을제공하는패키지이다. 또한, DBMS_LOB 패키지내의프로시저와함수를이용하여대용량객체형 Large OBject, 이하 LOB) 의전체또는일부에읽기, 쓰기등의작업을수행할수있다. 다음은 DBMS_LOB 패키지를사용할때유의해야할사항이다. 호출자권한 이패키지는호출자권한으로실행된다. 만약다른프로시저나함수에서호출되는경우, 해당프로시저나함수의실행자권한으로실행된다. 프로시저와함수의의길이 length) 와오프셋 offset) 단위 대상 destination) 데이터가 BLOB 타입이면바이트 byte), CLOB 타입이면문자 character) 단위이다. 함수의반환값도이와같다. 프로시저와함수의값을전달할때값의유효범위 LOB 데이터내의오프셋, 길이, 크기등을나타내는값은항상 1 이상이어야하며 LOBMAXSIZE 상 수의값보다크면안된다. LOBMAXSIZE 상수는 ^64 1) 의값을가진다. LOB 데이터내의오프셋, 길이, 크기등이 1 보다작거나 LOBMAXSIZE 보다큰값이면 IN VALID_ARGVAL 예외상황이발생한다. CLOB 타입의컬럼데이터 이타입은항상유니코드 UTF-16 문자집합의문자열이저장되며, 2byte 로하나의문자를나타낸다. 길이또는크기값은 LOBMAXSIZE 상수를 2 로나눈값보다작아야한다. 만약이값보다크면마찬 가지로 INVALID_ARGVAL 예외상황이발생한다. 제 2 장 DBMS_LOB 7

30 APPEND, COPY, TRIM, WRITE LOB 데이터를갱신하려는프로시저와함수의로크기와오프셋값의합이최댓값 LOBMAX SIZE 상수값 ) 을초과하면안된다. 만약초과하면예외상황이발생한다. 그리고, LOB 데이터를갱신하려면먼저그데이터를포함하는로우에잠금 LOCK) 을설정해야한다. 왜냐하면프로시저나함수는자동으로잠금을설정해주지않기때문이다. READ, COMPARE, INSTR, SUBSTR 읽기전용의프로시저와함수는 LOB 데이터의마지막까지만읽기를수행한다. COMPARE, INSTR, SUBSTR 문자열패턴의작업을수행하는함수의로 LIKE 함수에서사용되는퍼센트 %) 와언더바 _) 와같은와일드카드 wild card) 문자를사용할수없다. LOB 데이터를수행할때에는먼저대상 LOB 데이터를 OPEN 프로시저를이용하여열고, 작업이끝나면 CLOSE 프로시저를이용하여닫는다. 이때 OPEN 프로시저로열린 LOB 데이터를닫으면데이터베이스에갱신된내용이반영된다. 반면에, OPEN 프로시저를실행하여열지않은 LOB 데이터에대해갱신연산을수행하면바로데이터베이스에반영된다. 대개의경우 LOB 데이터를갱신하면많은디스크작업이수반되므로, 여러번에걸쳐데이터베이스에반영하는것보다한번에모든갱신을데이터베이스에반영하는것이효율적이다. OPEN 프로시저를실행하여 LOB 데이터를연경우에는 COMMIT 문장을실행하기전에반드시 CLOSE 프로시저를실행하여닫아야한다. 만약열려있는 LOB 데이터가있는데 COMMIT을실행하면, 에러가발생한다. 열려있는 LOB 데이터가있을때 ROLLBACK을실행하면모든갱신은취소되고열려있는 LOB 데이터에대한정보도없어진다. 다음은 DBMS_LOB 패키지내에정의된상수이다. LOBMAXSIZE LOB 데이터의최대크기이다. LOBMAXSIZE CONSTANT BINARY_INTEGER := 데이터타입은 BINARY_INTEGER 이고 LOB 데이터의최대크기는 이다. LOB_READONLY LOB 데이터에대한읽기전용의사용여부를설정하는모드이다. LOB_READONLY CONSTANT BINARY_INTEGER := 0 데이터타입은 BINARY_INTEGER 이고값이 0 이면읽기전용으로설정된다. 8 Tibero RDBMS tbpsm 참조안내서

31 LOB_READWRITE LOB 데이터의읽기및쓰기를설정하는모드이다. LOB_READWRITE CONSTANT BINARY_INTEGER := 1 데이터타입은 BINARY_INTEGER 이고값이 1 이면읽기및쓰기로설정된다 프로시저 본절에서는 DBMS_LOB 패키지에서제공하는프로시저를알파벳순으로한다 APPEND 원본 LOB 데이터의전체를대상 LOB 데이터의끝에붙여넣는프로시저이다. APPEND 프로시저의세부내용은다음과같다. BLOB 타입인경우 DBMS_LOB.APPEND dest_lob IN OUT NOCOPY BLOB, src_lob IN BLOB CLOB 타입인경우 DBMS_LOB.APPEND dest_lob IN OUT NOCOPY CLOB, src_lob IN CLOB CLOB 데이터를전달하는경우 dest_lob, src_lob 의 LOB 데이터의문자집합 character set) 이같아야한다. dest_lob src_lob 대상 LOB locator 이다. 원본 LOB locator 이다. 제 2 장 DBMS_LOB 9

32 예외상황 예외상황 VALUE_ERROR 대상또는원본 LOB 데이터가 NULL 인경우이다. DECLARE dest_lob CLOB := 'All''s fair in '; src_lob CLOB := 'love and war'; BEGIN DBMS_LOB.APPENDdest_lob, src_lob DBMS_OUTPUT.PUT_LINE'Result = ' dest_lob END; / Result = All's fair in love and war PSM completed SQL> COPY 원본 LOB 데이터의전체또는일부를대상 LOB 데이터에복사하는프로시저이다. 이때복사할원본 LOB 데이터의오프셋과대상 LOB 데이터의오프셋을지정할수있다. 만약대상 LOB 데이터의오프셋이대상 LOB 데이터의길이보다짧으면오프셋위치에존재하는이전데이터는갱신된다. 이와는반대로대상 LOB 데이터오프셋이대상 LOB 데이터의길이보다길면중간에 0BLOB 데이터 ) 또는공백 CLOB 데이터 ) 으로채워진다. COPY 프로시저의세부내용은다음과같다. BLOB 타입인경우 DBMS_LOB.COPY dest_lob IN OUT NOCOPY BLOB, src_lob IN BLOB, amount IN INTEGER, dest_offset IN INTEGER := 1, src_offset IN INTEGER := 1 CLOB 타입인경우 10 Tibero RDBMS tbpsm 참조안내서

33 DBMS_LOB.COPY dest_lob IN OUT NOCOPY CLOB, src_lob IN CLOB, amount IN INTEGER, dest_offset IN INTEGER := 1, src_offset IN INTEGER := 1 CLOB 데이터를전달하는경우 dest_lob, src_lob 의 LOB 데이터의문자집합이같아야한 다. dest_lob src_lob amount dest_offset 대상 LOB locator이다. 원본 LOB locator이다. 복사할 byteblob 데이터 ) 또는문자 CLOB 데이터 ) 의개수이다. 대상 LOB 데이터내의오프셋이다. 단위 : byteblob 데이터 ) 또는문자 CLOB 데이터 )) src_offset 원본 LOB 데이터내의오프셋이다. 단위 : byteblob 데이터 ) 또는문자 CLOB 데이터 )) 예외상황 예외상황 VALUE_ERROR INVALID_POS INVALID_LEN 입력중하나라도 NULL인경우이다. src_offset, dest_offset의값이 1보다작거나 LOBMAXSIZE보다큰경우이다. amount의값이 1보다작거나 LOBMAXSIZE보다큰경우이다. DECLARE dest_lob CLOB := 'It you would be loved, '; src_lob CLOB := 'be worthy to be loved'; BEGIN DBMS_LOB.COPYdest_lob, src_lob, lengthsrc_lob), lengthdest_lob) + 1, 1 DBMS_OUTPUT.PUT_LINE'Result = ' dest_lob END; 제 2 장 DBMS_LOB 11

34 / Result = It you would be loved, be worthy to be loved PSM completed SQL> CREATETEMPORARY 임시 CLOB 또는임시 BLOB 을생성하는프로시저이다. CREATETEMPORARY 프로시저의세부내용은다음과같다. BLOB 타입인경우 DBMS_LOB.CREATETEMPORARY lob IN OUT NOCOPY BLOB, cache IN BOOLEAN, dur IN PLS_INTEGER := 10 CLOB 타입인경우 DBMS_LOB.CREATETEMPORARY lob IN OUT NOCOPY CLOB, cache IN BOOLEAN, dur IN PLS_INTEGER := 10 lob cache dur 대상 LOB locator이다. LOB 데이터를읽을때버퍼캐시 buffer cache) 에저장할지여부이다. 현재이는 CREATETEMPORARY 프로시저의수명을조정하는기능을지원하지않는다. 단, 기본은세션이완료되면 CREATETEMPORARY 프로시저가자동으로삭제된다. 예외상황 12 Tibero RDBMS tbpsm 참조안내서

35 예외상황 VALUE_ERROR 캐시가 NULL 인경우이다. DECLARE lob_1 CLOB; lob_2 CLOB := 'tibero'; BEGIN DBMS_LOB.CREATETEMPORARYlob_1, false DBMS_LOB.APPENDlob_1, lob_2 DBMS_OUTPUT.PUT_LINElob_1 END; / tibero PSM completed SQL> ERASE LOB 데이터의일부또는전체를삭제하는프로시저이다. 삭제된영역은 0BLOB 데이터 ) 또는공백 CLOB 데이터 ) 으로채워진다. 대상 LOB 데이터의길이가오프셋과삭제할영역크기의합보다짧다면실제로삭제된영역의크기는삭제할영역으로입력한크기보다작을수있다. 실제로삭제된영역의크기는 amount 로출력된다. ERASE 프로시저의세부내용은다음과같다. BLOB 타입인경우 DBMS_LOB.ERASE lob IN OUT NOCOPY BLOB, amount IN OUT NOCOPY INTEGER, offset IN INTEGER := 1 CLOB 타입인경우 DBMS_LOB.ERASE lob IN OUT NOCOPY CLOB, 제 2 장 DBMS_LOB 13

36 amount IN OUT NOCOPY INTEGER, offset IN INTEGER := 1 lob amount offset 대상 LOB locator이다. 삭제할 byte 또는문자개수이다. 삭제할오프셋이다. 단위 : byteblob 데이터 ) 또는문자 CLOB 데이터 ) ) 예외상황 예외상황 VALUE_ERROR INVALID_POS INVALID_LEN 입력가하나라도 NULL인경우이다. offset의값이 1보다작거나 LOBMAXSIZE보다큰경우이다. amount의값이 1보다작거나 LOBMAXSIZE보다큰경우이다. DECLARE lob CLOB := 'Tmaxsoft Tibero'; amount NUMBER := 7; BEGIN DBMS_OUTPUT.PUT_LINE'Length of original LOB = ' lengthlob) DBMS_LOB.ERASElob, amount, 9 DBMS_OUTPUT.PUT_LINE'Value of erased LOB = ' lob DBMS_OUTPUT.PUT_LINE'Length of erased LOB = ' lengthlob) END; / Length of original LOB = 15 Value of erased LOB = Tmaxsoft Length of erased LOB = 15 PSM completed SQL> 14 Tibero RDBMS tbpsm 참조안내서

37 FREETEMPORARY 이미생성된임시 BLOB 또는임시 CLOB 을삭제하는프로시저이다. FREETEMPORARY 프로시저의세부내용은다음과같다. BLOB 타입인경우 DBMS_LOB.FREETEMPORARY lob IN OUT NOCOPY BLOB CLOB 타입인경우 DBMS_LOB.FREETEMPORARY lob IN OUT NOCOPY CLOB lob 대상 LOB locator 이다. 예외상황 예외상황 VALUE_ERROR 입력가 NULL 인경우이다. DECLARE lob CLOB; BEGIN DBMS_LOB.CREATETEMPORARYlob, false DBMS_LOB.FREETEMPORARYlob END; / PSM completed SQL> 제 2 장 DBMS_LOB 15

38 READ 대상 LOB 데이터의일부또는전체를읽어출력의버퍼에저장하는프로시저이다. 만약읽기를시작하는오프셋과읽을크기의합이대상 LOB 데이터의크기보다커서 LOB 데이터의끝을지나가게되면, 실제읽은데이터의크기는로주어진읽을크기보다작을수있다. 이때실제로읽어온데이터의크기는입출력 amount에저장되어반환된다. 만약읽을오프셋의위치가대상 LOB 데이터의크기보다크다면 NO_DATA_FOUND 예외상황이발생한다. CLOB 데이터로부터읽은데이터를클라이언트에전송하는경우, 클라이언트의문자집합으로자동변환된다. 이경우실제로읽어온데이터와달라질수있다. READ 프로시저의세부내용은다음과같다. BLOB 타입인경우 DBMS_LOB.READ lob IN BLOB, amount IN OUT NOCOPY BINARY_INTEGER, offset IN INTEGER, buffer OUT RAW CLOB 타입인경우 DBMS_LOB.READ lob IN CLOB, amount IN OUT NOCOPY BINARY_INTEGER, offset IN INTEGER, buffer OUT VARCHAR2 lob amount 읽을대상 LOB locator 이다. 읽을크기를입력하고실제로읽어온크기를출력한다. 단위 : byteblob 데이터 ) 또는문자 CLOB 데이터 ) 개수 ) offset 읽을대상 LOB 데이터내의오프셋이다. 단위 : byteblob 데이터 ) 또는문자 CLOB 데이터 )) 16 Tibero RDBMS tbpsm 참조안내서

39 buffer 읽을데이터를저장하는출력버퍼이다. 예외상황 예외상황 VALUE_ERROR INVALID_POS 입력중하나라도 NULL 인경우이다. offset 의값이 1 보다작거나 LOBMAXSIZE 보다큰경우이다. INVALID_LEN amount 의값이 1 보다작거나 MAXBUFSIZE 보다큰경우이다. amount 의값이버퍼의크기보다큰경우이다. NO_DATA_FOUND offset 이대상 LOB 데이터의크기보다큰경우이다. DECLARE lob CLOB := 'TIBERO fighting!!!'; buffer VARCHAR2256 amount BINARY_INTEGER := 8; BEGIN DBMS_LOB.READlob, amount, 8, buffer DBMS_OUTPUT.PUT_LINE'Value to be read = ' buffer END; / Value to be read = fighting PSM completed SQL> TRIM 대상 LOB 데이터의길이를지정된길이로설정하는함수이다. BLOB 데이터의경우 byte 단위로, CLOB 데이터의경우문자단위로길이를지정한다. 지정된길이를넘는데이터는소멸된다. 만약이프로시저를길이가 0인 LOB 데이터로실행하면아무런값이반환되지않는다. TRIM 프로시저의세부내용은다음과같다. BLOB 타입인경우 제 2 장 DBMS_LOB 17

40 DBMS_LOB.TRIM lob IN OUT NOCOPY BLOB, newlen IN INTEGER CLOB 타입인경우 DBMS_LOB.TRIM lob IN OUT NOCOPY CLOB, newlen IN INTEGER lob newlen 대상 LOB locator 이다. 새롭게지정된 LOB 데이터의길이이다. 단위 : byteblob 데이터 ) 또는문자 CLOB 데이터 )) 예외상황 예외상황 VALUE_ERROR INVALID_LEN 입력중하나라도 NULL 인경우이다. newlen 값이 0 보다작거나 LOBMAXSIZE 보다큰경우이다. DECLARE lob CLOB := 'A pity beyond all telling is in the heart of love'; BEGIN DBMS_LOB.TRIMlob, 25 DBMS_OUTPUT.PUT_LINE'Value = ' lob DBMS_OUTPUT.PUT_LINE'Length = ' lengthlob) END; / Value = A pity beyond all telling Length = 25 PSM completed SQL> 18 Tibero RDBMS tbpsm 참조안내서

41 WRITE 대상 LOB 데이터의지정된오프셋위치에주어진데이터를지정된크기만큼저장하는프로시저이다. 새로운데이터가저장되는위치에존재하는이전데이터는소멸된다. BLOB 데이터에대한오프셋및크기는 byte 단위이며, CLOB 데이터에대해서는문자단위이다. 주어진데이터의실제크기보다지정된크기가큰경우에는에러가발생하며, 지정된크기가작은경우에는지정된크기만큼만저장된다. 지정된오프셋이대상 LOB 데이터의크기보다큰경우에는중간에 0BLOB 데이터 ) 또는공백 CLOB 데이터 ) 으로채워진다. 이프로시저를 CLOB 데이터에대하여실행할때 CLOB 데이터의문자집합과저장할데이터의문자집합은같아야한다. 이프로시저를클라이언트쪽에서호출하는경우, 저장할데이터가클라이언트쪽의문자집합으로부터 CLOB 데이터문자집합으로변환된후에저장된다. WRITE 프로시저의세부내용은다음과같다. BLOB 타입인경우 DBMS_LOB.WRITE lob IN OUT NOCOPY BLOB, amount IN BINARY_INTEGER, offset IN INTEGER, buffer IN RAW CLOB 타입인경우 DBMS_LOB.WRITE lob IN OUT NOCOPY CLOB, amount IN BINARY_INTEGER, offset IN INTEGER, buffer IN VARCHAR lob amount 대상 LOB locator 이다. 저장할데이터의크기이다. 단위 : byteblob 데이터 ) 또는문자 CLOB 데이터 )) 제 2 장 DBMS_LOB 19

42 offset 데이터를저장할오프셋이다. 단위 : byteblob 데이터 ) 또는문자 CLOB 데이터 )) buffer 저장할데이터이다. 예외상황 예외상황 VALUE_ERROR INVALID_POS INVALID_LEN 중하나라도 NULL인경우이다. offset의값이 1보다작거나 LOBMAXSIZE보다큰경우이다. amount의값이 1보다작거나 MAXBUFSIZE보다큰경우이다. DECLARE lob CLOB; buffer VARCHAR2100 BEGIN DBMS_LOB.CREATETEMPORARYlob, false buffer := 'Love is friendship set on fire'; DBMS_LOB.WRITElob, lengthbuffer), 1, buffer DBMS_OUTPUT.PUT_LINElob END; / Love is friendship set on fire PSM completed SQL> WRITEAPPEND 대상 LOB 데이터의끝에주어진데이터를지정된크기만큼저장하는프로시저이다. 이프로시저는 WRITE 프로시저의오프셋을대상 LOB 데이터의길이로설정한것과같다. BLOB 데이터의크기는 byte 단위이며, CLOB 데이터는문자단위이다. 주어진데이터의실제크기보다지정된크기가큰경우에는에러가발생하며, 지정된크기가작은경우에는지정된크기만큼만저장된다. 이프로시저를 CLOB 데이터에대하여실행할때에 CLOB 데이터의문자집합과저장할데이터의문자집합은같아야한다. 이프로시저를클라이언트쪽에서호출하는경우, 저장할데이터가클라이언트쪽의문자집합에서 CLOB 데이터문자집합으로변환된후에저장된다. 20 Tibero RDBMS tbpsm 참조안내서

43 WRITEAPPEND 프로시저의세부내용은다음과같다. BLOB 타입인경우 DBMS_LOB.WRITEAPPEND lob IN OUT NOCOPY BLOB, amount IN BINARY_INTEGER, buffer IN RAW CLOB 타입인경우 DBMS_LOB.WRITEAPPEND lob IN OUT NOCOPY CLOB, amount IN BINARY_INTEGER, buffer IN VARCHAR2 lob amount 대상 LOB locator 이다. 저장할데이터의크기이다. 단위 : byteblob 데이터 ) 또는문자 CLOB 데이터 ) 개수 ) buffer 저장할데이터이다. 단위 : byteblob 데이터 ) 또는문자 CLOB 데이터 )) 예외상황 예외상황 VALUE_ERROR INVALID_LEN 중하나라도 NULL 인경우이다. amount 값이 1 보다작거나 MAXBUFSIZE 보다큰경우이다. DECLARE lob CLOB := 'Parting is such '; 제 2 장 DBMS_LOB 21

44 buffer VARCHAR2100) := 'sweet sorrow'; BEGIN DBMS_LOB.WRITEAPPENDlob, lengthbuffer), buffer DBMS_OUTPUT.PUT_LINE'Result = ' lob END; / Result = Parting is such sweet sorrow PSM completed SQL> 2.3. 함수 본절에서는 DBMS_LOB 패키지에서제공하는함수를알파벳순으로한다 COMPARE 두개의 LOB 데이터의전체또는일부를비교하는함수이다. 같은타입의 LOB 데이터간에만비교가가 능하다. COMPARE 함수의세부내용은다음과같다. BLOB 타입인경우 DBMS_LOB.COMPARE lob_1 IN BLOB, lob_2 IN BLOB, amount IN INTEGER := , offset_1 IN INTEGER := 1, offset_2 IN INTEGER := 1 ) RETURN INTEGER; CLOB 타입인경우 DBMS_LOB.COMPARE lob_1 IN CLOB, lob_2 IN CLOB, amount IN INTEGER := , offset_1 IN INTEGER := 1, 22 Tibero RDBMS tbpsm 참조안내서

45 offset_2 IN INTEGER := 1 ) RETURN INTEGER; CLOB 데이터를전달하는경우 lob_1, lob_2 의 LOB 데이터의문자집합이같아야한다. lob_1 lob_2 amount offset_1 비교대상인첫번째 LOB locator이다. 비교대상인두번째 LOB locator이다. 비교할 byte의크기 BLOB 데이터 ) 또는문자 CLOB 데이터 ) 개수이다. 비교를시작할첫번째 LOB 데이터오프셋이다. 단위 : byteblob 데이터 ) 또는문자 CLOB 데이터 )) offset_2 비교를시작할두번째 LOB 데이터오프셋이다. 단위 : byteblob 데이터 ) 또는문자 CLOB 데이터 )) 반환값 반환값 0 N < 0 or N > 0 lob_1, lob_2 의 LOB 데이터가동일한경우에반환한다. lob_1, lob_2 의 LOB 데이터가동일하지않은경우에반환한다. NULL amount가 1보다작은경우에반환한다. amount가 LOBMAXSIZE보다큰경우에반환한다. offset_1 또는 offset_2가 1보다작은경우에반환한다. offset_1 또는 offset_2가 LOBMAXSIZE보다큰경우에반환한다. DECLARE lob_1 CLOB := 'abcdefgh'; lob_2 CLOB := 'abcdefgg'; BEGIN IF DBMS_LOB.COMPARElob_1, lob_2) = 0 then DBMS_OUTPUT.PUT_LINE'LOB_1 equals LOB_2' ELSE DBMS_OUTPUT.PUT_LINE'LOB_1 does not equals LOB_2' 제 2 장 DBMS_LOB 23

46 END IF; END; / LOB_1 does not equals LOB_2 PSM completed SQL> GETLENGTH 대상 LOB 데이터의길이를반환하는함수이다. 이때길이는입력 LOB 데이터의타입에따라 byte 또는 문자단위의값으로반환된다. GETLENGTH 함수의세부내용은다음과같다. BLOB 타입인경우 DBMS_LOB.GETLENGTH lob IN BLOB ) RETURN INTEGER; CLOB 타입인경우 DBMS_LOB.GETLENGTH lob IN CLOB ) RETURN INTEGER; lob 대상 LOB locator 이다. 반환값 0 NULL 빈 LOB 데이터인경우에반환한다. 입력 LOB 데이터의가 NULL 인경우에반환한다. 24 Tibero RDBMS tbpsm 참조안내서

47 COPY, ERASE, WRITE 등의프로시저에의해채워진 0BLOB 데이터 ) 또는공백 CLOB 데이터 ) 문자 도대상 LOB 데이터의길이에포함된다. DECLARE lob CLOB := 'architecture'; BEGIN DBMS_OUTPUT.PUT_LINEDBMS_LOB.GETLENGTHlob) END; / 12 PSM completed SQL> INSTR 대상 LOB 데이터내에서주어진패턴이 n 번째로나타나는오프셋을반환하는함수이다. 패턴을탐색하는위치는대상 LOB 데이터의처음일수도있고입력로지정된위치일수도있다. 이때탐색할대상패턴은 LIKE 연산자에서사용되는퍼센트 %) 또는언더바 _) 와같은와일드카드문자등을포함할수없다. INSTR 함수의세부내용은다음과같다. BLOB 타입인경우 DBMS_LOB.INSTR lob IN BLOB, pattern IN RAW, offset IN INTEGER := 1, nth IN INTEGER := 1 ) RETURN INTEGER; CLOB 타입인경우 DBMS_LOB.INSTR lob IN CLOB, pattern IN VARCHAR, offset IN INTEGER := 1, 제 2 장 DBMS_LOB 25

48 ) RETURN INTEGER; nth IN INTEGER := 1 lob pattern offset 패턴을탐색할대상 LOB locator이다. 탐색할패턴이다. LOB 데이터내의탐색을시작할오프셋이다. 단위 : byteblob 데이터 ) 또는문자 CLOB 데이터 )) nth 탐색할패턴의개수이다. 1 이상의값을가지며, 1 이면첫번째패턴의오프셋을반환한다. 반환값 반환값 INTEGER 패턴과일치하는부분을찾은경우해당패턴이시작되는오프셋을반환한다. 만약찾지못한경우에는 0 을반환한다. NULL IN 중하나라도 NULL 인경우에반환한다. offset 이 1 보다작거나 LOBMAXSIZE 보다큰경우에반환한다. nth 가 1 보다작거나 LOBMAXSIZE 보다큰경우에반환한다. DECLARE lob CLOB := 'Corporate floor'; result NUMBER; BEGIN result := DBMS_LOB.INSTRlob, 'or', 3, 2 DBMS_OUTPUT.PUT_LINE'Result offset = ' result END; / Result offset = 14 PSM completed SQL> 26 Tibero RDBMS tbpsm 참조안내서

49 ISTEMPORARY 주어진 LOB 이임시 LOB 인지아닌지의여부를확인하는함수이다. ISTEMPORARY 함수의세부내용은다음과같다. BLOB 타입인경우 DBMS_LOB.ISTEMPORARY lob IN BLOB ) RETURN INTEGER; CLOB 타입인경우 DBMS_LOB.ISTEMPORARY lob IN CLOB ) RETURN INTEGER; lob 대상 LOB locator 이다. 반환값 반환값 1 0 임시 LOB 인경우에반환한다. 임시 LOB 이아닌경우에반환한다. DECLARE lob CLOB; BEGIN DBMS_LOB.CREATETEMPORARYlob, false IF DBMS_LOB.ISTEMPORARYlob) = 1THEN DBMS_OUTPUT.PUT_LINE'TRUE' ELSE 제 2 장 DBMS_LOB 27

50 DBMS_OUTPUT.PUT_LINE'FALSE' END IF; END; / TRUE PSM completed SQL> SUBSTR 대상 LOB 데이터의지정된오프셋의위치로부터지정된크기만큼의데이터를반환하는함수이다. 반환될최대크기는 32767byte이며, CLOB 데이터의경우반환될최대문자개수는 32767을 2로나눈값이다. CLOB 데이터에대하여이함수를호출하면같은문자집합의문자열이반환된다. 이함수는하나의라도 NULL이넘겨지거나, amount 또는 offset의값이 1보다작거나 LOBMAXSIZE보다큰경우에 NULL을반환한다. 이함수를 CLOB 데이터에대해클라이언트쪽에서호출한경우, 만약클라이언트쪽에설정된문자집합가 CLOB 데이터문자집합과다르다면데이터전송중에자동적으로문자집합의변환이일어난다. SUBSTR 함수의세부내용은다음과같다. BLOB 타입인경우 DBMS_LOB.SUBSTR lob IN BLOB, amount IN INTEGER := 32767, offset IN INTEGER := 1 ) RETURN RAW; CLOB 타입인경우 DBMS_LOB.SUBSTR lob IN CLOB, amount IN INTEGER := 32767, offset IN INTEGER := 1 ) RETURN VARCHAR2; 28 Tibero RDBMS tbpsm 참조안내서

51 lob amount 대상 LOB 데이터이다. 읽을데이터의크기이다. 단위 : byteblob 데이터 ) 또는문자 CLOB 데이터 ) 개수 ) offset 데이터를읽을 LOB 데이터내의오프셋이다. 단위 : byteblob 데이터 ) 또는문자 CLOB 데이터 )) 반환값 반환값 RAW/VARCHAR2 데이터 SUBSTR 함수가성공적으로종료된경우에반환한다. NULL 입력가하나라도 NULL 인경우에반환한다. amount 가 1 보다작거나 32767byte 보다큰경우에반환한다. offset 이 1 보다작거나 LOBMAXSIZE 보다큰경우에반환한다. DECLARE lob CLOB := 'Your friend is too young'; buffer VARCHAR2100 BEGIN buffer := DBMS_LOB.SUBSTRlob, 6, 6 DBMS_OUTPUT.PUT_LINE'My favorite word is ' UPPERbuffer) END; / My favorite word is FRIEND PSM completed SQL> 제 2 장 DBMS_LOB 29

52

53 제 3 장 DBMS_OBFUSCATION_TOOLKIT 본장에서는 DBMS_OBFUSCATION_TOOLKIT 패키지의기본개념과패키지내의프로시저와함수를 사용하는방법을한다 개요 DBMS_OBFUSCATION_TOOLKIT은데이터를암호화 encryption) 하고복호화 decryption) 하는패키지이다. 이패키지에서는데이터의암호화및복호화를위해 DESData Encryption Standard) 또는 3DESTriple DES) 알고리즘을이용한다. DES와 3DES 알고리즘은대칭키 symmetric key) 를사용하는알고리즘이다. 알고리즘 DES 56 bit 의키를사용하는알고리즘이다. 그동안널리사용되어왔으나최근에는보 안성이보장되지않아점차사용빈도가줄어들고있다. 대칭키를사용하는알고리즘이다. 3DES 하나의데이터에 DES 알고리즘을두번내지세번반복하여적용하는알고리즘 이다. 각각 * 2) bit 와 * 3) bit 키를사용한다. DES 알고리즘과마찬 가지로대칭키를사용하는알고리즘이다. 다른대칭키를사용하는알고리즘에비해암호화및복호화를하는시간이많이 필요하다는단점이있다. 이러한대칭키를사용하는암호화알고리즘에서는키를안전하게관리하는것이무엇보다중요하다. 암호화알고리즘에서키를관리하는방법은다음과같다. 데이터베이스에키를저장하는방법특정테이블의컬럼에키를저장하는방법이다. 이때키를저장하는테이블은암호화된데이터컬럼과같은테이블일수도있고, 다른테이블일수도있다. 같은테이블에키를저장하는경우에는해당테이블전체에대한액세스특권을부여하는대신뷰또는 tbpsm 프로그램등을통하여해당테이블에액세스해야한다. 운영체제파일에저장하는방법 제 3 장 DBMS_OBFUSCATION_TOOLKIT 31

54 키를파일에저장하고, 데이터베이스내에서 tbpsm 프로그램등을통하여운영체제파일로부터키를읽어데이터를암호화하거나복호화하는방법이다. 이때키를저장하는운영체제파일은패스워드파일과같이다른사람이직접액세스할수없도록보안을유지해야한다. 사용자가키를직접입력하는방법사용자또는애플리케이션프로그램내에서필요할때마다키를데이터베이스로전송하여암호화및복호화를수행하는방법이다. 이방법은사용자가키를항상암기하고있거나애플리케이션프로그램의소스내에키가포함되어있어야한다. 또한, 키는네트워크를통하여데이터베이스서버로전달되므로, 네트워크보안에도유의해야한다 프로시저와함수 본절에서는 DBMS_OBFUSCATION_TOOLKIT 패키지에서제공하는프로시저와함수를알파벳순으로 한다 DES3DECRYPT 3DES 알고리즘을이용하여암호화된데이터를복호화하는프로시저와함수이다. 주어진암호화된데이터에대하여두번또는세번의 DES 복호화를수행할수있다. 복호화를위해주어진키에대해복호화를두번수행한다면 16byte128bit), 세번을수행한다면 24byte192bit) 이어야하며, 그렇지않으면예외상황이발생한다. 디폴트는두번의 DES 복호화를수행한다. 암호화된데이터와같은횟수만큼 DES 알고리즘을수행해야한다. DES3DECRYPT 프로시저와함수의세부내용은다음과같다. 프로시저 DBMS_OBFUSCATION_TOOLKIT.DES3DECRYPT input IN RAW, key IN RAW, decrypted_data OUT RAW, which IN PLS_INTEGER DEFAULT 0, iv IN RAW DEFAULT NULL 32 Tibero RDBMS tbpsm 참조안내서

55 DBMS_OBFUSCATION_TOOLKIT.DES3DECRYPT input_string IN VARCHAR2, key_string IN VARCHAR2, decrypted_string OUT VARCHAR2, which IN PLS_INTEGER DEFAULT 0, iv_string IN VARCHAR2 DEFAULT NULL 함수 DBMS_OBFUSCATION_TOOLKIT.DES3DECRYPT input IN RAW, key IN RAW, which IN PLS_INTEGER DEFAULT 0, iv IN RAW DEFAULT NULL ) RETURN RAW; DBMS_OBFUSCATION_TOOLKIT.DES3DECRYPT input_string IN VARCHAR2, key_string IN VARCHAR2, which IN PLS_INTEGER DEFAULT 0, iv_string IN VARCHAR2 DEFAULT NULL ) RETURN VARCHAR2; input, input_string key decrypted_data 복호화할데이터이다. 복호화하기위해주어진키값이다. 복호화된결과데이터이다. which 0 이면 DES 복호화를 2 번수행한다. 1 이면 DES 복호화를 3 번수행한다. iv 초기화벡터이다. 예외상황 제 3 장 DBMS_OBFUSCATION_TOOLKIT 33

56 예외상황 INVALID_ARGUMENT INVALID_INPUT KEY_TOO_SHORT INVALID_DES_MODE 중하나라도 NULL인경우이다. input_data의길이가 8의배수가아닌경우이다. key 값의길이가 8보다작은경우이다. which 값이 0 또는 1이아닌경우이다. DECLARE data RAW256 key RAW16 encrypted_data RAW256 decrypted_data RAW256 BEGIN data := ' AE030D ABCDEF'; key := '0A123B8E002CD3FF01DE2389A4567BCF'; DBMS_OBFUSCATION_TOOLKIT.DES3Encryptinput => data, key => key, encrypted_data => encrypted_data data := encrypted_data; DBMS_OBFUSCATION_TOOLKIT.DES3Decryptinput => data, key => key, decrypted_data => decrypted_data END; DES3ENCRYPT 3DES 알고리즘을이용하여데이터를암호화하는프로시저와함수이다. 주어진데이터에대하여두번또는세번의 DES 암호화를수행할수있다. 암호화를위해주어진키에대해암호화를두번을수행한다면 16byte128bit), 세번을수행한다면 24byte192bit) 이어야하며, 그렇지않으면예외상황이발생한다. 디폴트는두번의 DES 암호화를수행한다. DES3ENCRYPT 프로시저와함수의세부내용은다음과같다. 프로시저 DBMS_OBFUSCATION_TOOLKIT.DES3ENCRYPT input IN RAW, key IN RAW, encrypted_data OUT RAW, 34 Tibero RDBMS tbpsm 참조안내서

57 which IN PLS_INTEGER DEFAULT 0, iv IN RAW DEFAULT NULL DBMS_OBFUSCATION_TOOLKIT.DES3ENCRYPT input_string IN VARCHAR2, key_string IN VARCHAR2, encrypted_string OUT VARCHAR2, which IN PLS_INTEGER DEFAULT 0, iv_string IN VARCHAR2 DEFAULT NULL 함수 DBMS_OBFUSCATION_TOOLKIT.DES3ENCRYPT input IN RAW, key IN RAW, which IN PLS_INTEGER DEFAULT 0, iv IN RAW DEFAULT NULL ) RETURN RAW; DBMS_OBFUSCATION_TOOLKIT.DES3ENCRYPT input_string IN VARCHAR2, key_string IN VARCHAR2, which IN PLS_INTEGER DEFAULT 0, iv_string IN VARCHAR2 DEFAULT NULL ) RETURN VARCHAR2; input, input_string key encrypted_data 암호화할데이터이다. 암호화하기위해주어진키값이다. 암호화된결과데이터이다. which 0 이면 DES 암호화를 2 번수행한다. 1 이면 DES 암호화를 3 번수행한다. iv 초기화벡터이다. 제 3 장 DBMS_OBFUSCATION_TOOLKIT 35

58 예외상황 예외상황 INVALID_ARGUMENT INVALID_INPUT KEY_TOO_SHORT INVALID_DES_MODE 중하나라도 NULL인경우이다. input_data의길이가 8의배수가아닌경우이다. key 값의길이가 8보다작은경우이다. which 값이 0 또는 1이아닌경우이다. DECLARE data RAW256 key RAW16 encrypted_data RAW256 decrypted_data RAW256 BEGIN data := ' AE030D ABCDEF'; key := '0A123B8E002CD3FF01DE2389A4567BCF'; DBMS_OBFUSCATION_TOOLKIT.DES3Encryptinput => data, key => key, encrypted_data => encrypted_data data := encrypted_data; DBMS_OBFUSCATION_TOOLKIT.DES3Decryptinput => data, key => key, decrypted_data => decrypted_data END; DES3GETKEY 임의의값을입력값으로받아 DES3 알고리즘을위한키를생성하는프로시저와함수이다. DES3GETKEY 프로시저와함수의세부내용은다음과같다. 프로시저 DBMS_OBFUSCATION_TOOLKIT.DES3GETKEY which IN PLS_INTEGER DEFAULT 0, seed IN RAW, key OUT RAW DBMS_OBFUSCATION_TOOLKIT.DES3GETKEY 36 Tibero RDBMS tbpsm 참조안내서

59 which IN PLS_INTEGER DEFAULT 0, seed_string IN VARCHAR2, key OUT VARCHAR2 함수 DBMS_OBFUSCATION_TOOLKIT.DES3GETKEY which IN PLS_INTEGER DEFAULT 0, seed IN RAW ) RETURN RAW; DBMS_OBFUSCATION_TOOLKIT.DES3GETKEY which IN PLS_INTEGER DEFAULT 0, seed_string IN VARCHAR2 ) RETURN VARCHAR2; which 0 이면 DES 암호화를 2 번수행한다. 1 이면 DES 암호화를 3 번수행한다. seed key 80 자이상의임의의값이다. 암호화하기위해주어진키값이다. 예외상황 예외상황 NO_SEED SEED_TOO_SHORT INVALID_INPUT INVALID_DES_MODE seed의값이 NULL인경우이다. seed의길이가 80보다작은경우이다. which가 NULL인경우이다. which의값이 0 또는 1이아닌경우이다. DECLARE data VARCHAR24096 제 3 장 DBMS_OBFUSCATION_TOOLKIT 37

60 key VARCHAR24096 key_seed VARCHAR24096 encrypted_data VARCHAR24096 decrypted_data VARCHAR24096 BEGIN data := ' AE030D'; key_seed := ' ' ' ' ' ' ' '; key_seed := rpadkey_seed,80 key := dbms_obfuscation_toolkit.des3getkeyseed_string => key_seed DBMS_OBFUSCATION_TOOLKIT.DES3Encryptinput_string => data, key_string => key, encrypted_string=> encrypted_data data := encrypted_data; DBMS_OBFUSCATION_TOOLKIT.DES3Decryptinput_string => data, key_string => key, decrypted_string => decrypted_data END; / DESDECRYPT DES 알고리즘을이용하여암호화된데이터를복호화하는프로시저와함수이다. 복호화를위해주어진 키는반드시 8byte64bit) 이어야하며, 그렇지않으면예외상황이발생한다. DESDECRYPT 프로시저와함수의세부내용은다음과같다. 프로시저 DBMS_OBFUSCATION_TOOLKIT.DESDECRYPT input IN RAW, key IN RAW, decrypted_data OUT RAW DBMS_OBFUSCATION_TOOLKIT.DESDECRYPT input_string IN VARCHAR2, key_string IN VARCHAR2, decrypted_string OUT VARCHAR2 함수 38 Tibero RDBMS tbpsm 참조안내서

61 DBMS_OBFUSCATION_TOOLKIT.DESDECRYPT input IN RAW, key IN RAW ) RETURN RAW; DBMS_OBFUSCATION_TOOLKIT.DESDECRYPT input_string IN VARCHAR2, key_string IN VARCHAR2 RETURN VARCHAR2; input, input_string key decrypted_data 복호화할데이터이다. 복호화하기위해주어진키값이다. 복호화된결과데이터이다. 예외상황 예외상황 INVALID_ARGUMENT INVALID_INPUT KEY_TOO_SHORT 중하나라도 NULL인경우이다. input_data의길이가 8의배수가아닌경우이다. key 값의길이가 8보다작은경우이다. DECLARE data RAW256 key RAW16 encrypted_data RAW256 decrypted_data RAW256 BEGIN data := ' AE030D'; key := '0A123B8E002CD3FF'; DBMS_OBFUSCATION_TOOLKIT.DESEncryptinput => data, key => key, encrypted_data => encrypted_data data := encrypted_data; DBMS_OBFUSCATION_TOOLKIT.DESDecryptinput => data, key => key, 제 3 장 DBMS_OBFUSCATION_TOOLKIT 39

62 END; decrypted_data => decrypted_data DESENCRYPT DES 알고리즘을이용하여데이터를암호화하는프로시저와함수이다. 암호화를위해주어진키는반드 시 8byte64bit) 이어야하며, 그렇지않으면예외상황이발생한다. DESENCRYPT 프로시저와함수의세부내용은다음과같다. 프로시저 DBMS_OBFUSCATION_TOOLKIT.DESENCRYPT input IN RAW, key IN RAW, encrypted_data OUT RAW DBMS_OBFUSCATION_TOOLKIT.DESENCRYPT input_string IN VARCHAR2, key_string IN VARCHAR2, encrypted_string OUT VARCHAR2 함수 DBMS_OBFUSCATION_TOOLKIT.DESENCRYPT input IN RAW, key IN RAW ) RETURN RAW; DBMS_OBFUSCATION_TOOLKIT.DESENCRYPT input_string IN VARCHAR2, key_string IN VARCHAR2 ) RETURN VARCHAR2; 40 Tibero RDBMS tbpsm 참조안내서

63 input, input_string key encrypted_data 암호화할데이터이다. 암호화하기위해주어진키값이다. 암호화된결과데이터이다. 예외상황 예외상황 INVALID_ARGUMENT INVALID_INPUT KEY_TOO_SHORT 중하나라도 NULL인경우이다. input_data의길이가 8의배수가아닌경우이다. key 값의길이가 8보다작은경우이다. DECLARE data RAW256 key RAW16 encrypted_data RAW256 decrypted_data RAW256 BEGIN data := ' AE030D'; key := '0A123B8E002CD3FF'; DBMS_OBFUSCATION_TOOLKIT.DESEncryptinput => data, key => key, encrypted_data => encrypted_data data := encrypted_data; DBMS_OBFUSCATION_TOOLKIT.DESDecryptinput => data, key => key, decrypted_data => decrypted_data END; DESGETKEY 임의의값을입력값으로받아 DES 알고리즘을위한키를생성하는프로시저와함수이다. DESGETKEY 프로시저와함수의세부내용은다음과같다. 프로시저 DBMS_OBFUSCATION_TOOLKIT.DESGETKEY seed IN RAW, 제 3 장 DBMS_OBFUSCATION_TOOLKIT 41

64 key OUT RAW DBMS_OBFUSCATION_TOOLKIT.DESGETKEY seed_string IN VARCHAR2, key OUT VARCHAR2 함수 DBMS_OBFUSCATION_TOOLKIT.DESGETKEY seed IN RAW ) RETURN RAW; DBMS_OBFUSCATION_TOOLKIT.DESGETKEY seed_string IN VARCHAR2 ) RETURN VARCHAR2; seed key 80 자이상의임의의값이다. 암호화하기위해주어진키값이다. 예외상황 예외상황 NO_SEED SEED_TOO_SHORT seed 의값이 NULL 인경우이다. seed 의길이가 80 보다작은경우이다. DECLARE data VARCHAR24096 key VARCHAR24096 key_seed VARCHAR24096 encrypted_data VARCHAR24096 decrypted_data VARCHAR24096 BEGIN 42 Tibero RDBMS tbpsm 참조안내서

65 data := ' AE030D'; key_seed := ' ' ' ' ' ' ' '; key_seed := rpadkey_seed,80 key := dbms_obfuscation_toolkit.desgetkeyseed_string => key_seed DBMS_OBFUSCATION_TOOLKIT.DESEncryptinput_string => data, key_string => key, encrypted_string=> encrypted_data data := encrypted_data; DBMS_OBFUSCATION_TOOLKIT.DESDecryptinput_string => data, key_string => key, decrypted_string => decrypted_data END; / 제 3 장 DBMS_OBFUSCATION_TOOLKIT 43

66

67 제 4 장 DBMS_OUTPUT 본장에서는 DBMS_OUTPUT 패키지의기본개념과패키지내의프로시저를사용하는방법을한다 개요 DBMS_OUTPUT은메시지를버퍼에저장하고버퍼로부터메시지를읽어오기위한인터페이스를제공하는패키지이다. 하나의프로시저, 함수, 트리거등에의해저장된메시지는다른프로시저, 함수, 트리거등에서읽어올수있다. DBMS_OUTPUT 패키지내의 ENABLE 프로시저를실행하여메시지를주고받기위한버퍼를지정된크기로할당한다. 만약메시지를지정된버퍼크기이상으로저장하려고하면예외상황이발생한다. 할당된버퍼는 DISABLE 프로시저를실행하여제거할수있으며, 다시 ENABLE 프로시저를실행하기전에는 GET_LINE 및 GET_LINES 또는 PUT 및 PUT_LINE, NEW_LINE 프로시저를호출해도무시된다. 버퍼의메시지는여러라인으로구성되어있으며, 라인마다라인끝 End of Line, 이하 EOL) 문자로끝난다. PUT_LINE 프로시저를통해버퍼에저장된메시지는 GET_LINE이나 GET_LINES 프로시저를실행하여읽어올수있다. 다음은 DBMS_OUTPUT 패키지내에정의된타입이다. CHARARR 메시지버퍼에서읽어온내용을저장하기위한공간이다. TYPE CHARARR IS TABLE OF VARCHAR232767) 4.2. 프로시저 본절에서는 DBMS_OUTPUT 패키지에서제공하는프로시저를알파벳순으로한다 DISABLE 할당된메시지버퍼를제거하고, DBMS_OUTPUT 패키지내의다른프로시저를사용할수없게하는프 로시저이다. 이프로서지를실행하면메시지버퍼에남아있는모든메시지가함께제거된다. 제 4 장 DBMS_OUTPUT 45

68 DISABLE 프로시저의세부내용은다음과같다. DBMS_OUTPUT.DISABLE; BEGIN DBMS_OUTPUT.PUT_LINE'Before DISABLE' DBMS_OUTPUT.DISABLE; DBMS_OUTPUT.PUT_LINE'After DISABLE' END; / PSM completed SQL> ENABLE 지정된크기의메시지버퍼를할당하고 DBMS_OUTPUT 패키지내의다른프로시저를사용할수있게하는프로시저이다. 이프로시저를여러번호출하면가장크게지정한크기로메시지버퍼를할당한다. 이때메시지버퍼의크기는최소 2KB, 최대 2MB이다. ENABLE 프로시저의세부내용은다음과같다. DBMS_OUTPUT.ENABLE buffer_size IN INTEGER DEFAULT buffer_size 할당할메시지버퍼의크기이다. 단위 : byte) BEGIN DBMS_OUTPUT.DISABLE; DBMS_OUTPUT.PUT_LINE'Before ENABLE' DBMS_OUTPUT.ENABLE32768 DBMS_OUTPUT.PUT_LINE'After ENABLE' 46 Tibero RDBMS tbpsm 참조안내서

69 END; / After ENABLE PSM completed SQL> GET_LINE, GET_LINES 메시지버퍼로부터라인단위로메시지를읽어오는프로시저이다. 이프로시저는라인단위로메시지를읽으며, 하나의라인을형성하지않은메시지는읽지않는다. GET_LINE 또는 GET_LINES 프로시저를호출한후에 PUT 또는 PUT_LINE 프로시저를호출하면, 현재까지메시지버퍼에남아있던메시지는모두제거된다. 한라인의메시지는최대 255byte의크기를가지므로, 출력의크기를충분하게설정해야한다. GET_LINE, GET_LINES 프로시저의세부내용은다음과같다. GET_LINE GET_LINE 프로시저는한번호출될때마다하나의라인만을읽어온다. DBMS_OUTPUT.GET_LINE line OUT VARCHAR, status OUT INTEGER GET_LINES GET_LINE 프로시저는지정된수만큼, 한번에여러라인의메시지를읽어온다. 이때메시지버퍼로부터실제로읽어온메시지라인의수를반환한다. 만약메시지버퍼내에충분한수의메시지라인이없어서지정된수만큼의메시지라인을가져오지못하면, 가져온메시지라인의수만큼만저장된다. DBMS_OUTPUT.GET_LINES lines OUT CHARARR, num_lines IN OUT INTEGER 제 4 장 DBMS_OUTPUT 47

70 line, lines 메시지버퍼로부터읽어온한라인또는여러라인의메시지이다. status 메시지를성공적으로읽어온경우에는 0 을반환한다. 메시지를성공적으로읽어오지못한경우에는 1 을반환한다. num_lines 읽어올메시지라인의수를입력하고, 실제로읽어온메시지라인의수를출 력한다. GET_LINE DECLARE message VARCHAR1024 status INTEGER; BEGIN DBMS_OUTPUT.PUT_LINE'A poet is the painter of the soul' DBMS_OUTPUT.PUT_LINE'Faith without deeds is useless' DBMS_OUTPUT.PUT_LINE'Forgiveness is better than revenge' DBMS_OUTPUT.GET_LINEmessage, status DBMS_OUTPUT.PUT_LINEmessage END; / A poet is the painter of the soul PSM completed SQL> GET_LINES DECLARE message_arr DBMS_OUTPUT.CHARARR; num_lines INTEGER := 4; BEGIN DBMS_OUTPUT.PUT'A poet is ' DBMS_OUTPUT.PUT'the painter of the soul' DBMS_OUTPUT.NEW_LINE; DBMS_OUTPUT.PUT_LINE'Faith without deeds is useless' DBMS_OUTPUT.PUT_LINE'Forgiveness is better than revenge' DBMS_OUTPUT.GET_LINESmessage_arr, num_lines DBMS_OUTPUT.PUT_LINEmessage_arr2) END; / Faith without deeds is useless 48 Tibero RDBMS tbpsm 참조안내서

71 PSM completed SQL> NEW_LINE 메시지버퍼에 EOL 문자를저장하는프로시저이다. PUT 프로시저로메시지를저장한경우, EOL 문자가없으므로라인단위로메시지를읽는 GET_LINE, GET_LINES 프로시저로문자열을읽어올수없다. 단, NEW_LINE 프로시저를사용하면 GET_LINE, GET_LINES 프로시저로문자열을읽어올수있다. NEW_LINE 프로시저의세부내용은다음과같다. DBMS_OUTPUT.NEW_LINE; BEGIN DBMS_OUTPUT.PUT_LINE'The will of a man is his happiness' DBMS_OUTPUT.NEW_LINE; DBMS_OUTPUT.PUT_LINE'Love your neighbor as yourself' END; / The will of a man is his happiness Love your neighbor as yourself PSM completed SQL> PUT, PUT_LINE 메시지버퍼에메시지를저장하는프로시저이다. PUT, PUT_LINE 프로시저의세부내용은다음과같다. PUT 제 4 장 DBMS_OUTPUT 49

72 PUT 프로시저는하나의라인을여러번에걸쳐저장할수있다. 버퍼에저장되는메시지의마지막라 인끝에 EOL 문자가첨부되지않는다. DBMS_OUTPUT.PUTdata IN NUMBER DBMS_OUTPUT.PUTdata IN VARCHAR PUT_LINE PUT_LINE 프로시저는 PUT 프로시저와는반대로버퍼에저장되는메시지의마지막라인끝에 EOL 문자를첨부한다. 만약 EOL 문자만을저장하려면 NEW_LINE 프로시저를호출한다. DBMS_OUTPUT.PUT_LINEdata IN NUMBER DBMS_OUTPUT.PUT_LINEdata IN VARCHAR 입력값으로주어진의데이터타입은 NUMBER, VARCHAR, DATE 세가지이며, 메시지로저장되기전에항상 VARCHAR 타입으로변환된다. NUMBER와 DATE 타입의데이터는 TO_CHAR 함수를적용하여반환된결과로저장된다. data 메시지버퍼에저장할메시지데이터이다. 예외상황 예외상황 BUF_OVERFLOW 메시지버퍼의최댓값을초과한경우이다. 50 Tibero RDBMS tbpsm 참조안내서

73 제 5 장 DBMS_STATS 본장에서는 DBMS_STATS 패키지의기본개념과패키지내의프로시저와함수를사용하는방법을 한다 개요 DBMS_STATS는데이터베이스객체의통계정보를수집하고관리하는패키지이다. 이패키지를사용하면데이터베이스에있는컬럼, 테이블, 데이터사전 DD: Data Dictionary), 인덱스, 스키마, 시스템등에대한통계정보를수집하고관리 예 : 삭제또는초기화등 ) 할수있다 프로시저 본절에서는 DBMS_STATS 패키지에서제공하는프로시저를알파벳순으로한다 CREATE_STAT_TABLE 통계정보를저장할통계테이블을생성하는프로시저이다. CREATE_STAT_TABLE 프로시저의세부내용은다음과같다. DBMS_STATS.CREATE_STAT_TABLE ownname VARCHAR2, stattab VARCHAR2, tblspace VARCHAR2 DEFAULT NULL ownname stattab tblspace 통계테이블이속한스키마의이름이다. 통계정보를저장할통계테이블의이름이다. 통계테이블이속할테이블스페이스의이름이다. 기본값 : NULL, NULL 일경우 SYSTEM 테이블스페이스에저장된다.) 제 5 장 DBMS_STATS 51

74 예외상황 예외상황 7068 잘못된스키마를입력한경우이다 DELETE_COLUMN_STATS 컬럼의통계정보를삭제하는프로시저이다. DELETE_COLUMN_STATS 프로시저의세부내용은다음과같다. DBMS_STATS.DELETE_COLUMN_STATS ownname VARCHAR2, tabname VARCHAR2, colname VARCHAR2, partname VARCHAR2 DEFAULT NULL, cascade_parts BOOLEAN DEFAULT TRUE, no_invalidate BOOLEAN DEFAULT to_booleanget_param'stat_no_invalidate')) ownname tabname colname partname 스키마의이름이다. 컬럼이속한테이블의이름이다. 컬럼의이름이다. 통계정보를삭제할파티션의이름이다. 테이블이파티션되어있고, partname 의값이 NULL 이면테이블수준의컬럼 통계정보를삭제한다. cascade_parts no_invalidate 테이블이파티션되어있고 partname 이 NULL 일때, 이를 TRUE 로 설정하면모든파티션수준의컬럼통계정보도함께삭제한다. TRUE 로설정하면관련된 Physical Plan 을삭제하지않는다. 예외상황 예외상황 OBJECT_NOT_EXISTS 객체가존재하지않는경우이다. 52 Tibero RDBMS tbpsm 참조안내서

75 DELETE_DATABASE_STATS 데이터베이스에있는모든테이블의통계정보를삭제하는프로시저이다. DELETE_DATABASE_STATS 프로시저의세부내용은다음과같다. DBMS_STATS.DELETE_DATABASE_STATS no_invalidate BOOLEAN DEFAULT to_booleanget_param'stat_no_invalidate')) no_invalidate TRUE 로설정하면관련된 Physical Plan 을삭제하지않는다 DELETE_DICTIONARY_STATS 모든데이터사전의스키마 SYS, SYSCAT) 의통계정보를삭제하는프로시저이다. DELETE_DICTIONARY_STATS 프로시저의세부내용은다음과같다. DBMS_STATS.DELETE_DICTIONARY_STATS no_invalidate BOOLEAN DEFAULT to_booleanget_param'stat_no_invalidate')) no_invalidate TRUE 로설정하면관련된 Physical Plan 을삭제하지않는다 DELETE_INDEX_STATS 인덱스의통계정보를삭제하는프로시저이다. DELETE_INDEX_STATS 프로시저의세부내용은다음과같다. 제 5 장 DBMS_STATS 53

76 DBMS_STATS.DELETE_INDEX_STATS ownname VARCHAR2, idxname VARCHAR2, partname VARCHAR2 DEFAULT NULL, cascade_parts BOOLEAN DEFAULT TRUE, no_invalidate BOOLEAN DEFAULT to_booleanget_param'stat_no_invalidate')) ownname idxname partname 스키마의이름이다. 인덱스의이름이다. 통계정보를삭제할파티션의이름이다. 인덱스가파티션으로나누어져있고, partname 의값이 NULL 이면인덱스수 준의통계정보를삭제한다. cascade_parts no_invalidate 인덱스가파티션으로나누어져있고, partname 의값이 NULL 일때, 이파라 미터를 TRUE 로설정하면모든파티션수준의통계정보도함께삭제한다. TRUE 로설정하면관련된 Physical Plan 을삭제하지않는다. 예외상황 예외상황 OBJECT_NOT_EXISTS 객체가존재하지않는경우이다 DELETE_SCHEMA_STATS 스키마전체의통계정보를삭제하는프로시저이다. DELETE_SCHEMA_STATS 프로시저의세부내용은다음과같다. DBMS_STATS.DELETE_SCHEMA_STATS ownname VARCHAR2, no_invalidate BOOLEAN DEFAULT to_booleanget_param'stat_no_invalidate')) 54 Tibero RDBMS tbpsm 참조안내서

77 ownname no_invalidate 스키마의이름이다. TRUE 로설정하면관련된 Physical Plan 을삭제하지않는다. 예외상황 예외상황 OBJECT_NOT_EXISTS 객체가존재하지않는경우이다 DELETE_SYSTEM_STATS workload 시스템의통계정보를삭제하고, noworkload 시스템의통계정보를초기화하는프로시저이다. workload 시스템의통계정보는 INTERVAL, START, STOP 옵션으로, noworkload 시스템의통계정보는 NOWORKLOAD 옵션으로수집한다. DELETE_SYSTEM_STATS 프로시저의세부내용은다음과같다. DBMS_STATS.DELETE_SYSTEM_STATS 예외상황 예외상황 DBA 권한이없는경우이다 DELETE_TABLE_STATS 테이블의통계정보를삭제하는프로시저이다. DELETE_TABLE_STATS 프로시저의세부내용은다음과같다. DBMS_STATS.DELETE_TABLE_STATS ownname VARCHAR2, tabname VARCHAR2, 제 5 장 DBMS_STATS 55

Tibero

Tibero Tibero tbpsm 참조안내서 Tibero 5 Copyright 2013 TIBERO Co., Ltd. All Rights Reserved. Copyright Notice Copyright 2013 TIBERO Co., Ltd. All Rights Reserved. 대한민국경기도성남시분당구서현동 272-6 우 ) 463-824 Restricted Rights

More information

단계

단계 본문서에서는 Tibero RDBMS 4( 이하 Tibero4) 에서기본적으로제공하는시스템패키지의종류와예제를통 해각패키지내여러프로시저와함수의사용법을알아보도록한다. Contents 1. TIBERO4 SYSTEM PACKAGE 개요... 4 2. DBMS_LOB... 5 2.1. DBMS_LOB 패키지내프로시져... 6 2.1.1. APPEND... 6 2.1.2.

More information

Tmax

Tmax Tmax JTmaxServer User Guide Tmax v5.0 SP1 Copyright 2009 TmaxSoft Co., Ltd. All Rights Reserved. Copyright Notice Copyright 2009 TmaxSoft Co., Ltd. All Rights Reserved. 대한민국경기도성남시분당구서현동 263 분당스퀘어 (AK 프라자

More information

API 매뉴얼

API 매뉴얼 PCI-DIO12 API Programming (Rev 1.0) Windows, Windows2000, Windows NT and Windows XP are trademarks of Microsoft. We acknowledge that the trademarks or service names of all other organizations mentioned

More information

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

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

More information

DBMS & SQL Server Installation Database Laboratory

DBMS & SQL Server Installation Database Laboratory DBMS & 조교 _ 최윤영 } 데이터베이스연구실 (1314 호 ) } 문의사항은 cyy@hallym.ac.kr } 과제제출은 dbcyy1@gmail.com } 수업공지사항및자료는모두홈페이지에서확인 } dblab.hallym.ac.kr } 홈페이지 ID: 학번 } 홈페이지 PW:s123 2 차례 } } 설치전점검사항 } 설치단계별설명 3 Hallym Univ.

More information

Tibero

Tibero 릴리즈노트 5 Copyright 2013 TIBERO Co., Ltd. All Rights Reserved. Copyright Notice Copyright 2013 TIBERO Co., Ltd. All Rights Reserved. 대한민국경기도성남시분당구서현동 272-6 우 ) 463-824 Restricted Rights Legend All TIBERO

More information

13주-14주proc.PDF

13주-14주proc.PDF 12 : Pro*C/C++ 1 2 Embeded SQL 3 PRO *C 31 C/C++ PRO *C NOT! NOT AND && AND OR OR EQUAL == = SQL,,, Embeded SQL SQL 32 Pro*C C SQL Pro*C C, C Pro*C, C C 321, C char : char[n] : n int, short, long : float

More information

목차 1. 보안지갑 Wallet) Data 암호화 컬럼암호화 Column Encryption) 테이블스페이스암호화 Tablespace Encryption) 암호화 Package DBMS

목차 1. 보안지갑 Wallet) Data 암호화 컬럼암호화 Column Encryption) 테이블스페이스암호화 Tablespace Encryption) 암호화 Package DBMS 기타지식 Tibero 암호화가이드 2014. 07. 28. 목차 1. 보안지갑 Wallet)... 3 2. Data 암호화... 6 2.1. 컬럼암호화 Column Encryption)... 6 2.2. 테이블스페이스암호화 Tablespace Encryption)... 9 3. 암호화 Package... 11 3.1. DBMS_CRYPTO Package...

More information

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

목차 BUG 문법에맞지않는질의문수행시, 에러메시지에질의문의일부만보여주는문제를수정합니다... 3 BUG ROUND, TRUNC 함수에서 DATE 포맷 IW 를추가지원합니다... 5 BUG ROLLUP/CUBE 절을포함하는질의는 SUBQUE ALTIBASE HDB 6.3.1.10.1 Patch Notes 목차 BUG-45710 문법에맞지않는질의문수행시, 에러메시지에질의문의일부만보여주는문제를수정합니다... 3 BUG-45730 ROUND, TRUNC 함수에서 DATE 포맷 IW 를추가지원합니다... 5 BUG-45760 ROLLUP/CUBE 절을포함하는질의는 SUBQUERY REMOVAL 변환을수행하지않도록수정합니다....

More information

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

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

More information

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

개발및운영 Tibero DB Link (Tibero To Oracle) - Local 방식 Tibero DB Link (Tibero To Oracle) - Local 방식 2014. 04. 16. 목차 1. 구성환경... 3 2. 환경설정... 3 2.1. Tibero 서버 (AIX) 에 Oracle instance Client 파일을업로드... 3 2.2. Oracle Instance Client에대한환경설정등록 (.profile)... 4 2.3.

More information

다른 JSP 페이지호출 forward() 메서드 - 하나의 JSP 페이지실행이끝나고다른 JSP 페이지를호출할때사용한다. 예 ) <% RequestDispatcher dispatcher = request.getrequestdispatcher(" 실행할페이지.jsp");

다른 JSP 페이지호출 forward() 메서드 - 하나의 JSP 페이지실행이끝나고다른 JSP 페이지를호출할때사용한다. 예 ) <% RequestDispatcher dispatcher = request.getrequestdispatcher( 실행할페이지.jsp); 다른 JSP 페이지호출 forward() 메서드 - 하나의 JSP 페이지실행이끝나고다른 JSP 페이지를호출할때사용한다. 예 ) RequestDispatcher dispatcher = request.getrequestdispatcher(" 실행할페이지.jsp"); dispatcher.forward(request, response); - 위의예에서와같이 RequestDispatcher

More information

강의 개요

강의 개요 DDL TABLE 을만들자 웹데이터베이스 TABLE 자료가저장되는공간 문자자료의경우 DB 생성시지정한 Character Set 대로저장 Table 생성시 Table 의구조를결정짓는열속성지정 열 (Clumn, Attribute) 은이름과자료형을갖는다. 자료형 : http://dev.mysql.cm/dc/refman/5.1/en/data-types.html TABLE

More information

Tibero

Tibero 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

More information

Microsoft PowerPoint 웹 연동 기술.pptx

Microsoft PowerPoint 웹 연동 기술.pptx 웹프로그래밍및실습 ( g & Practice) 문양세강원대학교 IT 대학컴퓨터과학전공 URL 분석 (1/2) URL (Uniform Resource Locator) 프로토콜, 호스트, 포트, 경로, 비밀번호, User 등의정보를포함 예. http://kim:3759@www.hostname.com:80/doc/index.html URL 을속성별로분리하고자할경우

More information

InsertColumnNonNullableError(#colName) 에해당하는메시지출력 존재하지않는컬럼에값을삽입하려고할경우, InsertColumnExistenceError(#colName) 에해당하는메시지출력 실행결과가 primary key 제약에위배된다면, Ins

InsertColumnNonNullableError(#colName) 에해당하는메시지출력 존재하지않는컬럼에값을삽입하려고할경우, InsertColumnExistenceError(#colName) 에해당하는메시지출력 실행결과가 primary key 제약에위배된다면, Ins Project 1-3: Implementing DML Due: 2015/11/11 (Wed), 11:59 PM 이번프로젝트의목표는프로젝트 1-1 및프로젝트 1-2에서구현한프로그램에기능을추가하여간단한 DML을처리할수있도록하는것이다. 구현한프로그램은 3개의 DML 구문 (insert, delete, select) 을처리할수있어야한다. 테이블데이터는파일에저장되어프로그램이종료되어도사라지지않아야한다.

More information

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

개요오라클과티베로에서 JDBC 를통해접속한세션을구분할수있도록 JDBC 접속시 ConnectionProperties 를통해구분자를넣어줄수있다. 하나의 Node 에다수의 WAS 가있을경우 DB 에서 Session Kill 등의동작수행시원하는 Session 을선택할수있다. 설치및환경설정 JDBC 접속세션구분 / 확인 2013. 11. 01 개요오라클과티베로에서 JDBC 를통해접속한세션을구분할수있도록 JDBC 접속시 ConnectionProperties 를통해구분자를넣어줄수있다. 하나의 Node 에다수의 WAS 가있을경우 DB 에서 Session Kill 등의동작수행시원하는 Session 을선택할수있다. 사용하기 JEUS 에서설정방법

More information

Microsoft PowerPoint - chap02-C프로그램시작하기.pptx

Microsoft PowerPoint - chap02-C프로그램시작하기.pptx #include int main(void) { int num; printf( Please enter an integer "); scanf("%d", &num); if ( num < 0 ) printf("is negative.\n"); printf("num = %d\n", num); return 0; } 1 학습목표 을 작성하면서 C 프로그램의

More information

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

윈백및업그레이드 Tibero Flashback 가이드 Tibero Flashback 가이드 2014. 05. 09. 목차 1. FLASHBACK 소개... 3 1.1. Flashback 개요... 3 1.2. Flashback 기능... 3 2. FLASHBACK 기능... 3 2.1. FLASHBACK QUERY... 3 2.1.1. FLASHBACK QUERY 개요... 3 2.1.2. FLASHBACK QUERY

More information

untitled

untitled Content Ⅰ. 기본방향 1. 목 적 3 2. 적용범위 3 Ⅱ. 사회복지관 운영 1. 사회복지관의 정의 7 2. 사회복지관의 목표 7 3. 사회복지관의 연혁 7 4. 사회복지관 운영의 기본원칙 8 Ⅲ. 사회복지관 사업 1. 가족복지사업 15 2. 지역사회보호사업 16 3. 지역사회조직사업 18 4. 교육 문화사업 19 5. 자활사업 20 6. 재가복지봉사서비스

More information

Microsoft Word - AnyLink Introduction v3.2.3.doc

Microsoft Word - AnyLink Introduction v3.2.3.doc Copyright 2007 Tmax Soft Co., Ltd. All Rights Reserved. AnyLInk Copyright Notice Copyright 2007 Tmax Soft Co., Ltd. All Rights Reserved. Tmax Soft Co., Ltd. 대한민국서울시강남구대치동 946-1 글라스타워 18 층우 )135-708 Restricted

More information

Tibero RDBMS

Tibero RDBMS 릴리즈노트 4 SP1 Copyright 2013 TIBERO Co., Ltd. All Rights Reserved. Copyright Notice Copyright 2013 TIBERO Co., Ltd. All Rights Reserved. 대한민국경기도성남시분당구서현동 272-6 우 ) 463-824 Restricted Rights Legend All TIBERO

More information

<BFDCB1B9C0CE20C5F5C0DAB1E2BEF7C0C720B3EBBBE7B0FCB0E82E687770>

<BFDCB1B9C0CE20C5F5C0DAB1E2BEF7C0C720B3EBBBE7B0FCB0E82E687770> 외국인 투자기업의 노사관계 요 약 i ii 외국인 투자기업의 노사관계 요 약 iii iv 외국인 투자기업의 노사관계 요 약 v vi 외국인 투자기업의 노사관계 요 약 vii viii 외국인 투자기업의 노사관계 요 약 ix x 외국인 투자기업의 노사관계 요 약 xi xii 외국인 투자기업의 노사관계 요 약 xiii xiv 외국인 투자기업의 노사관계

More information

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

인디쓔피-IOM핸돜벁닄큐1014pdf, page 59 @ Preflight ( IOM핸돜벁닄큐__1014 ) Publisher: International Organization for Migration 17, route des Morillons 1211 Geneva 19 Switzerland Tel: +41.22.717 91 11 Fax: +41.22.798 61 50 E-mail: hq@iom.int Internet: http://www.iom.int ISBN 978

More information

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션 System Software Experiment 1 Lecture 5 - Array Spring 2019 Hwansoo Han (hhan@skku.edu) Advanced Research on Compilers and Systems, ARCS LAB Sungkyunkwan University http://arcs.skku.edu/ 1 배열 (Array) 동일한타입의데이터가여러개저장되어있는저장장소

More information

chap 5: Trees

chap 5: Trees 5. Threaded Binary Tree 기본개념 n 개의노드를갖는이진트리에는 2n 개의링크가존재 2n 개의링크중에 n + 1 개의링크값은 null Null 링크를다른노드에대한포인터로대체 Threads Thread 의이용 ptr left_child = NULL 일경우, ptr left_child 를 ptr 의 inorder predecessor 를가리키도록변경

More information

MySQL-.. 1

MySQL-.. 1 MySQL- 기초 1 Jinseog Kim Dongguk University jinseog.kim@gmail.com 2017-08-25 Jinseog Kim Dongguk University jinseog.kim@gmail.com MySQL-기초 1 2017-08-25 1 / 18 SQL의 기초 SQL은 아래의 용도로 구성됨 데이터정의 언어(Data definition

More information

C# Programming Guide - Types

C# Programming Guide - Types C# Programming Guide - Types 최도경 lifeisforu@wemade.com 이문서는 MSDN 의 Types 를요약하고보충한것입니다. http://msdn.microsoft.com/enus/library/ms173104(v=vs.100).aspx Types, Variables, and Values C# 은 type 에민감한언어이다. 모든

More information

Microsoft PowerPoint - chap06-2pointer.ppt

Microsoft PowerPoint - chap06-2pointer.ppt 2010-1 학기프로그래밍입문 (1) chapter 06-2 참고자료 포인터 박종혁 Tel: 970-6702 Email: jhpark1@snut.ac.kr 한빛미디어 출처 : 뇌를자극하는 C프로그래밍, 한빛미디어 -1- 포인터의정의와사용 변수를선언하는것은메모리에기억공간을할당하는것이며할당된이후에는변수명으로그기억공간을사용한다. 할당된기억공간을사용하는방법에는변수명외에메모리의실제주소값을사용하는것이다.

More information

Tibero

Tibero 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

More information

ALTIBASE HDB Patch Notes

ALTIBASE HDB Patch Notes ALTIBASE HDB 6.5.1.5.6 Patch Notes 목차 BUG-45643 암호화컬럼의경우, 이중화환경에서 DDL 수행시 Replication HandShake 가실패하는문제가있어수정하였습니다... 4 BUG-45652 이중화에서 Active Server 와 Standby Server 의 List Partition 테이블의범위조건이다른경우에 Handshake

More information

Microsoft PowerPoint - ch07 - 포인터 pm0415

Microsoft PowerPoint - ch07 - 포인터 pm0415 2015-1 프로그래밍언어 7. 포인터 (Pointer), 동적메모리할당 2015 년 4 월 4 일 교수김영탁 영남대학교공과대학정보통신공학과 (Tel : +82-53-810-2497; Fax : +82-53-810-4742 http://antl.yu.ac.kr/; E-mail : ytkim@yu.ac.kr) Outline 포인터 (pointer) 란? 간접참조연산자

More information

Spring Boot/JDBC JdbcTemplate/CRUD 예제

Spring Boot/JDBC JdbcTemplate/CRUD 예제 Spring Boot/JDBC JdbcTemplate/CRUD 예제 오라클자바커뮤니티 (ojc.asia, ojcedu.com) Spring Boot, Gradle 과오픈소스인 MariaDB 를이용해서 EMP 테이블을만들고 JdbcTemplate, SimpleJdbcTemplate 을이용하여 CRUD 기능을구현해보자. 마리아 DB 설치는다음 URL 에서확인하자.

More information

Microsoft PowerPoint - o8.pptx

Microsoft PowerPoint - o8.pptx 메모리보호 (Memory Protection) 메모리보호를위해 page table entry에 protection bit와 valid bit 추가 Protection bits read-write / read-only / executable-only 정의 page 단위의 memory protection 제공 Valid bit (or valid-invalid bit)

More information

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

Tablespace On-Offline 테이블스페이스 온라인/오프라인 2018/11/10 12:06 1/2 Tablespace On-Offline 테이블스페이스온라인 / 오프라인 목차 Tablespace On-Offline 테이블스페이스온라인 / 오프라인... 1 일반테이블스페이스 (TABLESPACE)... 1 일반테이블스페이스생성하기... 1 테이블스페이스조회하기... 1 테이블스페이스에데이터파일 (DATA FILE) 추가

More information

개발및운영 Tibero Perl 연동

개발및운영 Tibero Perl 연동 Tibero Perl 연동 2014. 05. 27. 목차 1. Windows에서의홖경구성... 3 1.1 Tibero ODBC Driver 설치... 3 1.2. Tool 설치... 5 2. Unix에서의홖경구성... 6 2.1 iodbc 설치... 7 2.2 Tibero 설치... 7 2.3 Iodbc drvier manager 등록... 7 3. Tibero

More information

°æÁ¦Àü¸Á-µ¼º¸.PDF

°æÁ¦Àü¸Á-µ¼º¸.PDF www.keri.org i ii iii iv v vi vii viii ix x xi xii xiii xiv xv 3 4 5 6 7 8 9 10 11 12 13 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 47 48 49 50 51 52 53

More information

PowerPoint Presentation

PowerPoint Presentation Package Class 3 Heeseung Jo 목차 section 1 패키지개요와패키지의사용 section 2 java.lang 패키지의개요 section 3 Object 클래스 section 4 포장 (Wrapper) 클래스 section 5 문자열의개요 section 6 String 클래스 section 7 StringBuffer 클래스 section

More information

Microsoft PowerPoint - 04-UDP Programming.ppt

Microsoft PowerPoint - 04-UDP Programming.ppt Chapter 4. UDP Dongwon Jeong djeong@kunsan.ac.kr http://ist.kunsan.ac.kr/ Dept. of Informatics & Statistics 목차 UDP 1 1 UDP 개념 자바 UDP 프로그램작성 클라이언트와서버모두 DatagramSocket 클래스로생성 상호간통신은 DatagramPacket 클래스를이용하여

More information

C++ Programming

C++ Programming C++ Programming 예외처리 Seo, Doo-okok clickseo@gmail.com http://www.clickseo.com 목 차 예외처리 2 예외처리 예외처리 C++ 의예외처리 예외클래스와객체 3 예외처리 예외를처리하지않는프로그램 int main() int a, b; cout > a >> b; cout

More information

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

@OneToOne(cascade = = addr_id) private Addr addr; public Emp(String ename, Addr addr) { this.ename = ename; this.a 1 대 1 단방향, 주테이블에외래키실습 http://ojcedu.com, http://ojc.asia STS -> Spring Stater Project name : onetoone-1 SQL : JPA, MySQL 선택 http://ojc.asia/bbs/board.php?bo_table=lecspring&wr_id=524 ( 마리아 DB 설치는위 URL

More information

PowerPoint Presentation

PowerPoint Presentation 객체지향프로그래밍 클래스, 객체, 메소드 ( 실습 ) 손시운 ssw5176@kangwon.ac.kr 예제 1. 필드만있는클래스 텔레비젼 2 예제 1. 필드만있는클래스 3 예제 2. 여러개의객체생성하기 4 5 예제 3. 메소드가추가된클래스 public class Television { int channel; // 채널번호 int volume; // 볼륨 boolean

More information

Microsoft Word - ntasFrameBuilderInstallGuide2.5.doc

Microsoft Word - ntasFrameBuilderInstallGuide2.5.doc NTAS and FRAME BUILDER Install Guide NTAS and FRAME BUILDER Version 2.5 Copyright 2003 Ari System, Inc. All Rights reserved. NTAS and FRAME BUILDER are trademarks or registered trademarks of Ari System,

More information

Visual Basic 반복문

Visual Basic 반복문 학습목표 반복문 For Next문, For Each Next문 Do Loop문, While End While문 구구단작성기로익히는반복문 2 5.1 반복문 5.2 구구단작성기로익히는반복문 3 반복문 주어진조건이만족하는동안또는주어진조건이만족할때까지일정구간의실행문을반복하기위해사용 For Next For Each Next Do Loop While Wend 4 For

More information

API 매뉴얼

API 매뉴얼 PCI-TC03 API Programming (Rev 1.0) Windows, Windows2000, Windows NT, Windows XP and Windows 7 are trademarks of Microsoft. We acknowledge that the trademarks or service names of all other organizations

More information

윈도우시스템프로그래밍

윈도우시스템프로그래밍 데이터베이스및설계 MySQL 을위한 MFC 를사용한 ODBC 프로그래밍 2012.05.10. 오병우 컴퓨터공학과금오공과대학교 http://www.apmsetup.com 또는 http://www.mysql.com APM Setup 설치발표자료참조 Department of Computer Engineering 2 DB 에속한테이블보기 show tables; 에러발생

More information

학습목차 2.1 다차원배열이란 차원배열의주소와값의참조

학습목차 2.1 다차원배열이란 차원배열의주소와값의참조 - Part2- 제 2 장다차원배열이란무엇인가 학습목차 2.1 다차원배열이란 2. 2 2 차원배열의주소와값의참조 2.1 다차원배열이란 2.1 다차원배열이란 (1/14) 다차원배열 : 2 차원이상의배열을의미 1 차원배열과다차원배열의비교 1 차원배열 int array [12] 행 2 차원배열 int array [4][3] 행 열 3 차원배열 int array [2][2][3]

More information

학습목표 함수프로시저, 서브프로시저의의미를안다. 매개변수전달방식을학습한다. 함수를이용한프로그래밍한다. 2

학습목표 함수프로시저, 서브프로시저의의미를안다. 매개변수전달방식을학습한다. 함수를이용한프로그래밍한다. 2 학습목표 함수프로시저, 서브프로시저의의미를안다. 매개변수전달방식을학습한다. 함수를이용한프로그래밍한다. 2 6.1 함수프로시저 6.2 서브프로시저 6.3 매개변수의전달방식 6.4 함수를이용한프로그래밍 3 프로시저 (Procedure) 프로시저 (Procedure) 란무엇인가? 논리적으로묶여있는하나의처리단위 내장프로시저 이벤트프로시저, 속성프로시저, 메서드, 비주얼베이직내장함수등

More information

JVM 메모리구조

JVM 메모리구조 조명이정도면괜찮조! 주제 JVM 메모리구조 설미라자료조사, 자료작성, PPT 작성, 보고서작성. 발표. 조장. 최지성자료조사, 자료작성, PPT 작성, 보고서작성. 발표. 조원 이용열자료조사, 자료작성, PPT 작성, 보고서작성. 이윤경 자료조사, 자료작성, PPT작성, 보고서작성. 이수은 자료조사, 자료작성, PPT작성, 보고서작성. 발표일 2013. 05.

More information

Microsoft PowerPoint - 3ÀÏ°_º¯¼ö¿Í »ó¼ö.ppt

Microsoft PowerPoint - 3ÀÏ°_º¯¼ö¿Í »ó¼ö.ppt 변수와상수 1 변수란무엇인가? 변수 : 정보 (data) 를저장하는컴퓨터내의특정위치 ( 임시저장공간 ) 메모리, register 메모리주소 101 번지 102 번지 변수의크기에따라 주로 byte 단위 메모리 2 기본적인변수형및변수의크기 변수의크기 해당컴퓨터에서는항상일정 컴퓨터마다다를수있음 short

More information

슬라이드 1

슬라이드 1 -Part3- 제 4 장동적메모리할당과가변인 자 학습목차 4.1 동적메모리할당 4.1 동적메모리할당 4.1 동적메모리할당 배울내용 1 프로세스의메모리공간 2 동적메모리할당의필요성 4.1 동적메모리할당 (1/6) 프로세스의메모리구조 코드영역 : 프로그램실행코드, 함수들이저장되는영역 스택영역 : 매개변수, 지역변수, 중괄호 ( 블록 ) 내부에정의된변수들이저장되는영역

More information

- i - - ii - - iii - - iv - - v - - vi - - vii - - viii - - ix - - x - - xi - - xii - - xiii - - xiv - - xv - - xvi - - xvii - - xviii - - xix - - xx - - xxi - - xxii - - xxiii - - xxiv - - 3 - - 4 -

More information

슬라이드 1

슬라이드 1 Pairwise Tool & Pairwise Test NuSRS 200511305 김성규 200511306 김성훈 200614164 김효석 200611124 유성배 200518036 곡진화 2 PICT Pairwise Tool - PICT Microsoft 의 Command-line 기반의 Free Software www.pairwise.org 에서다운로드후설치

More information

BMP 파일 처리

BMP 파일 처리 BMP 파일처리 김성영교수 금오공과대학교 컴퓨터공학과 학습내용 영상반전프로그램제작 2 Inverting images out = 255 - in 3 /* 이프로그램은 8bit gray-scale 영상을입력으로사용하여반전한후동일포맷의영상으로저장한다. */ #include #include #define WIDTHBYTES(bytes)

More information

<4D F736F F F696E74202D20B8AEB4AABDBA20BFC0B7F920C3B3B8AEC7CFB1E22E BC8A3C8AF20B8F0B5E55D>

<4D F736F F F696E74202D20B8AEB4AABDBA20BFC0B7F920C3B3B8AEC7CFB1E22E BC8A3C8AF20B8F0B5E55D> 리눅스 오류처리하기 2007. 11. 28 안효창 라이브러리함수의오류번호얻기 errno 변수기능오류번호를저장한다. 기본형 extern int errno; 헤더파일 라이브러리함수호출에실패했을때함수예 정수값을반환하는함수 -1 반환 open 함수 포인터를반환하는함수 NULL 반환 fopen 함수 2 유닉스 / 리눅스 라이브러리함수의오류번호얻기 19-1

More information

Microsoft PowerPoint - 3장-MS SQL Server.ppt [호환 모드]

Microsoft PowerPoint - 3장-MS SQL Server.ppt [호환 모드] MS SQL Server 마이크로소프트사가윈도우운영체제를기반으로개발한관계 DBMS 모바일장치에서엔터프라이즈데이터시스템에이르는다양한플랫폼에서운영되는통합데이터관리및분석솔루션 2 MS SQL Server 개요 3.1 MS SQL Server 개요 클라이언트-서버모델을기반으로하는관계 DBMS로서윈도우계열의운영체제에서만동작함 오라클관계 DBMS보다가격이매우저렴한편이고,

More information

Microsoft Word - PLSQL.doc

Microsoft Word - PLSQL.doc PL/SQL 2008 DB system and programming 보충자료 PL/SQL의실행절 BEGIN 절에서의몇가지규칙 - 실행문은여러라인에걸쳐사용할수있다. - 변수명의명명규칙은오라클의일반적인명명규칙과동일하다. PL/SQL 블록내에서 SQL 문을사용할때에는컬럼명과같은변수명은피해야한다. - SQL에서와마찬가지로날짜와문자는홑따옴표 ( ) 를사용하여인용하여야한다.

More information

WINDOW FUNCTION 의이해와활용방법 엑셈컨설팅본부 / DB 컨설팅팀정동기 개요 Window Function 이란행과행간의관계를쉽게정의할수있도록만든함수이다. 윈도우함수를활용하면복잡한 SQL 들을하나의 SQL 문장으로변경할수있으며반복적으로 ACCESS 하는비효율역

WINDOW FUNCTION 의이해와활용방법 엑셈컨설팅본부 / DB 컨설팅팀정동기 개요 Window Function 이란행과행간의관계를쉽게정의할수있도록만든함수이다. 윈도우함수를활용하면복잡한 SQL 들을하나의 SQL 문장으로변경할수있으며반복적으로 ACCESS 하는비효율역 WINDOW FUNCTION 의이해와활용방법 엑셈컨설팅본부 / DB 컨설팅팀정동기 개요 Window Function 이란행과행간의관계를쉽게정의할수있도록만든함수이다. 윈도우함수를활용하면복잡한 SQL 들을하나의 SQL 문장으로변경할수있으며반복적으로 ACCESS 하는비효율역시쉽게해결할수있다. 이번화이트페이퍼에서는 Window Function 중순위 RANK, ROW_NUMBER,

More information

<C1A62038B0AD20B0ADC0C7B3EBC6AE2E687770>

<C1A62038B0AD20B0ADC0C7B3EBC6AE2E687770> 제 8강 SQL: 관계데이터베이스언어 강의목표 관계데이타베이스언어로서상용 DBMS에서가장널리사용되는 SQL의동작원리에관하여학습하고, 이를이용하여다양한질의문을작성하는방법을습득한다 기대효과 SQL의데이터정의기능을이해한다 SQL의데이터조작기능중질의기능을이해한다 SQL의데이터조작기능중데이터갱신기능을이해한다 SQL의데이터조작기능중뷰및인덱스관련기능을이해한다 SQL 의개요

More information

<322EBCF8C8AF28BFACBDC0B9AEC1A6292E687770>

<322EBCF8C8AF28BFACBDC0B9AEC1A6292E687770> 연습문제해답 5 4 3 2 1 0 함수의반환값 =15 5 4 3 2 1 0 함수의반환값 =95 10 7 4 1-2 함수의반환값 =3 1 2 3 4 5 연습문제해답 1. C 언어에서의배열에대하여다음중맞는것은? (1) 3차원이상의배열은불가능하다. (2) 배열의이름은포인터와같은역할을한다. (3) 배열의인덱스는 1에서부터시작한다. (4) 선언한다음, 실행도중에배열의크기를변경하는것이가능하다.

More information

목차 1. 제품 소개... 4 1.1 특징... 4 1.2 개요... 4 1.3 Function table... 5 2. 기능 소개... 6 2.1 Copy... 6 2.2 Compare... 6 2.3 Copy & Compare... 6 2.4 Erase... 6 2

목차 1. 제품 소개... 4 1.1 특징... 4 1.2 개요... 4 1.3 Function table... 5 2. 기능 소개... 6 2.1 Copy... 6 2.2 Compare... 6 2.3 Copy & Compare... 6 2.4 Erase... 6 2 유영테크닉스( 주) 사용자 설명서 HDD014/034 IDE & SATA Hard Drive Duplicator 유 영 테 크 닉 스 ( 주) (032)670-7880 www.yooyoung-tech.com 목차 1. 제품 소개... 4 1.1 특징... 4 1.2 개요... 4 1.3 Function table... 5 2. 기능 소개... 6 2.1 Copy...

More information

11장 포인터

11장 포인터 Dynamic Memory and Linked List 1 동적할당메모리의개념 프로그램이메모리를할당받는방법 정적 (static) 동적 (dynamic) 정적메모리할당 프로그램이시작되기전에미리정해진크기의메모리를할당받는것 메모리의크기는프로그램이시작하기전에결정 int i, j; int buffer[80]; char name[] = data structure"; 처음에결정된크기보다더큰입력이들어온다면처리하지못함

More information

- i - - ii - - i - - ii - - i - - ii - - iii - - iv - - v - - vi - - vii - - viii - - ix - - x - - xi - - 1 - - 2 - - 3 - - 4 - - 5 - - 6 - - 7 - - 8 - - 9 - - 10 - - 11 - - 12 - - 13 - - 14 - - 15 -

More information

CONTENTS.HWP

CONTENTS.HWP i ii iii iv v vi vii viii ix x xi - 1 - - 2 - - 3 - - 4 - - 5 - - 6 - - 7 - - 8 - - 9 - - 10 - - 11 - - 12 - - 13 - - 14 - - 15 - - 16 - - 17 - - 18 - - 19 - - 20 - - 21 - - 22 - - 23 - - 24 - - 25 -

More information

INDUS-8.HWP

INDUS-8.HWP i iii iv v vi vii viii ix x xi 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64

More information

배치프로그램에서튜닝대상 SQL 추출하기 엑셈컨설팅본부 /DB 컨설팅팀박성호 배치프로그램의성능문제를진단하기위해트레이스를사용할수없고, 개별 SQL 에대한성 능점검은비효율적인경우에어떻게배치프로그램의성능문제를제대로파악하고개선안을도 출할것인가? 복잡한로직을가지고있는프로그램 (

배치프로그램에서튜닝대상 SQL 추출하기 엑셈컨설팅본부 /DB 컨설팅팀박성호 배치프로그램의성능문제를진단하기위해트레이스를사용할수없고, 개별 SQL 에대한성 능점검은비효율적인경우에어떻게배치프로그램의성능문제를제대로파악하고개선안을도 출할것인가? 복잡한로직을가지고있는프로그램 ( 배치프로그램에서튜닝대상 SQL 추출하기 엑셈컨설팅본부 /DB 컨설팅팀박성호 배치프로그램의성능문제를진단하기위해트레이스를사용할수없고, 개별 SQL 에대한성 능점검은비효율적인경우에어떻게배치프로그램의성능문제를제대로파악하고개선안을도 출할것인가? 복잡한로직을가지고있는프로그램 ( 이후배치프로그램 ) 에대한성능문제를파악하기위해수행되는모든 SQL 에대한개별수행내역을정확히판단할수있어야한다.

More information

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

마리오와 소닉 리우 올림픽™ 마리오와 소닉 리우 올림픽 1 사용하기 전에 준비하기 2 유저 콘텐츠에 대하여 3 인터넷으로 이용 가능한 기능 4 보호자 여러분께 5 amiibo란 시작하기 전에 6 게임 소개 7 게임 시작 방법 8 조작 방법 9 데이터 저장과 삭제 통신으로 더욱 즐기기 10 대전 모드 11 포켓 마라톤 12 기록 기타 13 사용 곡명과 작곡자 소개 14 플레이 정보 송신

More information

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

다양한 예제로 쉽게 배우는 오라클 SQL 과 PL/SQL 다양핚예제로쉽게배우는 오라클 SQL 과 PL/SQL 서진수저 10 장 view 를배웁니다 1 - View 란가상의테이블이다! 2 1. 단순 View (Simple View) SCOTT>CONN / AS SYSDBA; SYS>GRANT CREATE VIEW TO scott ; CREATE [OR REPLACE] [ FORCE NOFORCE] VIEW view

More information

JAVA 프로그래밍실습 실습 1) 실습목표 - 메소드개념이해하기 - 매개변수이해하기 - 새메소드만들기 - Math 클래스의기존메소드이용하기 ( ) 문제 - 직사각형모양의땅이있다. 이땅의둘레, 면적과대각

JAVA 프로그래밍실습 실습 1) 실습목표 - 메소드개념이해하기 - 매개변수이해하기 - 새메소드만들기 - Math 클래스의기존메소드이용하기 (   ) 문제 - 직사각형모양의땅이있다. 이땅의둘레, 면적과대각 JAVA 프로그래밍실습 실습 1) 실습목표 - 메소드개념이해하기 - 매개변수이해하기 - 새메소드만들기 - Math 클래스의기존메소드이용하기 ( http://java.sun.com/javase/6/docs/api ) 문제 - 직사각형모양의땅이있다. 이땅의둘레, 면적과대각선의길이를계산하는메소드들을작성하라. 직사각형의가로와세로의길이는주어진다. 대각선의길이는 Math클래스의적절한메소드를이용하여구하라.

More information

CD-RW_Advanced.PDF

CD-RW_Advanced.PDF HP CD-Writer Program User Guide - - Ver. 2.0 HP CD-RW Adaptec Easy CD Creator Copier, Direct CD. HP CD-RW,. Easy CD Creator 3.5C, Direct CD 3.0., HP. HP CD-RW TEAM ( 02-3270-0803 ) < > 1. CD...3 CD...5

More information

임베디드시스템설계강의자료 6 system call 2/2 (2014 년도 1 학기 ) 김영진 아주대학교전자공학과

임베디드시스템설계강의자료 6 system call 2/2 (2014 년도 1 학기 ) 김영진 아주대학교전자공학과 임베디드시스템설계강의자료 6 system call 2/2 (2014 년도 1 학기 ) 김영진 아주대학교전자공학과 System call table and linkage v Ref. http://www.ibm.com/developerworks/linux/library/l-system-calls/ - 2 - Young-Jin Kim SYSCALL_DEFINE 함수

More information

<4D F736F F F696E74202D20BBB7BBB7C7D15F FBEDFB0A3B1B3C0B05FC1A638C0CFC2F72E BC8A3C8AF20B8F0B5E55D>

<4D F736F F F696E74202D20BBB7BBB7C7D15F FBEDFB0A3B1B3C0B05FC1A638C0CFC2F72E BC8A3C8AF20B8F0B5E55D> 뻔뻔한 AVR 프로그래밍 The Last(8 th ) Lecture 유명환 ( yoo@netplug.co.kr) INDEX 1 I 2 C 통신이야기 2 ATmega128 TWI(I 2 C) 구조분석 4 ATmega128 TWI(I 2 C) 실습 : AT24C16 1 I 2 C 통신이야기 I 2 C Inter IC Bus 어떤 IC들간에도공통적으로통할수있는 ex)

More information

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

Eclipse 와 Firefox 를이용한 Javascript 개발 발표자 : 문경대 11 년 10 월 26 일수요일 Eclipse 와 Firefox 를이용한 Javascript 개발 발표자 : 문경대 Introduce Me!!! Job Jeju National University Student Ubuntu Korean Jeju Community Owner E-Mail: ned3y2k@hanmail.net Blog: http://ned3y2k.wo.tc Facebook: http://www.facebook.com/gyeongdae

More information

[Brochure] KOR_TunA

[Brochure] KOR_TunA LG CNS LG CNS APM (TunA) LG CNS APM (TunA) 어플리케이션의 성능 개선을 위한 직관적이고 심플한 APM 솔루션 APM 이란? Application Performance Management 란? 사용자 관점 그리고 비즈니스 관점에서 실제 서비스되고 있는 어플리케이션의 성능 관리 체계입니다. 이를 위해서는 신속한 장애 지점 파악 /

More information

PowerPoint Presentation

PowerPoint Presentation FORENSIC INSIGHT; DIGITAL FORENSICS COMMUNITY IN KOREA SQL Server Forensic AhnLab A-FIRST Rea10ne unused6@gmail.com Choi Jinwon Contents 1. SQL Server Forensic 2. SQL Server Artifacts 3. Database Files

More information

문서 템플릿

문서 템플릿 HDSI 툴분석 [sql injection 기술명세서 ] Sql injection 기술명세서 Ver. 0.01 이문서는 sql injection 기술명세가범위입니다. Copyrights Copyright 2009 by CanvasTeam@SpeeDroot( 장경칩 ) All Rights Reserved. 장경칩의사전승인없이본내용의전부또는일부에대한복사, 전재,

More information

Microsoft PowerPoint - chap06-1Array.ppt

Microsoft PowerPoint - chap06-1Array.ppt 2010-1 학기프로그래밍입문 (1) chapter 06-1 참고자료 배열 박종혁 Tel: 970-6702 Email: jhpark1@snut.ac.kr 한빛미디어 출처 : 뇌를자극하는 C프로그래밍, 한빛미디어 -1- 배열의선언과사용 같은형태의자료형이많이필요할때배열을사용하면효과적이다. 배열의선언 배열의사용 배열과반복문 배열의초기화 유연성있게배열다루기 한빛미디어

More information

C++ Programming

C++ Programming C++ Programming 연산자다중정의 Seo, Doo-okok clickseo@gmail.com http://www.clickseo.com 목 차 연산자다중정의 C++ 스타일의문자열 2 연산자다중정의 연산자다중정의 단항연산자다중정의 이항연산자다중정의 cin, cout 그리고 endl C++ 스타일의문자열 3 연산자다중정의 연산자다중정의 (Operator

More information

11장 포인터

11장 포인터 누구나즐기는 C 언어콘서트 제 9 장포인터 이번장에서학습할내용 포인터이란? 변수의주소 포인터의선언 간접참조연산자 포인터연산 포인터와배열 포인터와함수 이번장에서는포인터의기초적인지식을학습한다. 포인터란? 포인터 (pointer): 주소를가지고있는변수 메모리의구조 변수는메모리에저장된다. 메모리는바이트단위로액세스된다. 첫번째바이트의주소는 0, 두번째바이트는 1, 변수와메모리

More information

목차 JEUS EJB Session Bean가이드 stateful session bean stateful sample 가이드 sample source 결과확인 http session에

목차 JEUS EJB Session Bean가이드 stateful session bean stateful sample 가이드 sample source 결과확인 http session에 개념정리및샘플예제 EJB stateful sample 문서 2016. 01. 14 목차 JEUS EJB Session Bean가이드... 3 1. stateful session bean... 3 1.1 stateful sample 가이드... 3 1.1.1 sample source... 3 1.1.2 결과확인... 6 1.2 http session에서사용하기...

More information

Microsoft PowerPoint - 알고리즘_5주차_1차시.pptx

Microsoft PowerPoint - 알고리즘_5주차_1차시.pptx Basic Idea of External Sorting run 1 run 2 run 3 run 4 run 5 run 6 750 records 750 records 750 records 750 records 750 records 750 records run 1 run 2 run 3 1500 records 1500 records 1500 records run 1

More information

FY2005 LIG

FY2005 LIG FY2005 LIG www.lig.co.kr FY2005 LIG 2005 LIG 7-44 "Profitable Growth" 14.5% 3 3,849 0.6%p 14.8% 3 355 306 7,300 5 3,691 2006 4 CI 2 "Profitable Growth 15.2% 2 1,000 VISION LIG LIG Leading Company 482006331

More information

개발문서 Oracle - Clob

개발문서 Oracle - Clob 개발문서 ORACLE CLOB 2008.6.9 ( 주 ) 아이캔매니지먼트 개발팀황순규 0. clob개요 1. lob과 long의비교와 clob와 blob 2. 테이블생성쿼리 ( 차이점-추가사항 ) 3. select 쿼리 4. insert 쿼리및 jdbc프로그래밍 5. update 쿼리및 jdbc프로그래밍 (4, 5). putclobdata() 클래스 6. select

More information

Data Sync Manager(DSM) Example Guide Data Sync Manager (DSM) Example Guide DSM Copyright 2003 Ari System, Inc. All Rights reserved. Data Sync Manager

Data Sync Manager(DSM) Example Guide Data Sync Manager (DSM) Example Guide DSM Copyright 2003 Ari System, Inc. All Rights reserved. Data Sync Manager Data Sync Manager (DSM) Example Guide DSM Copyright 2003 Ari System, Inc. All Rights reserved. Data Sync Manager are trademarks or registered trademarks of Ari System, Inc. 1 Table of Contents Chapter1

More information

untitled

untitled Push... 2 Push... 4 Push... 5 Push... 13 Push... 15 1 FORCS Co., LTD A Leader of Enterprise e-business Solution Push (Daemon ), Push Push Observer. Push., Observer. Session. Thread Thread. Observer ID.

More information

<5BC6EDC1FD5DBEEEBEF7C0CCC1D6B3EBB5BFC0DAC0CEB1C7BBF3C8B2BDC7C5C2C1B6BBE7C3D6C1BEBAB8B0EDBCAD28BAB8C0CCBDBABEC6C0CC292E687770>

<5BC6EDC1FD5DBEEEBEF7C0CCC1D6B3EBB5BFC0DAC0CEB1C7BBF3C8B2BDC7C5C2C1B6BBE7C3D6C1BEBAB8B0EDBCAD28BAB8C0CCBDBABEC6C0CC292E687770> 어업 이주노동자 인권상황 실태조사 2012년도 국가인권위원회 인권상황 실태조사 연구용역보고서를 제출합니다 2012. 10. 연구수행기관 한양대학교 글로벌다문화연구원 연구책임자 오경석 연 구 원 이한숙 김사강 김민정 류성환 윤명희 정정훈 연구보조원 최상일 이 보고서는 연구용역수행기관의 결과물로서, 국가인권위원회의 입장과 다를 수 있습니다 연구요약 이 연구는 연근해

More information

09 강제근로의 금지 폭행의 금지 공민권 행사의 보장 38 10 중간착취의 금지 41 - 대판 2008.9.25, 2006도7660 [근로기준법위반] (쌍용자동차 취업알선 사례) 11 균등대우의 원칙 43 - 대판 2003.3.14, 2002도3883 [남녀고용평등법위

09 강제근로의 금지 폭행의 금지 공민권 행사의 보장 38 10 중간착취의 금지 41 - 대판 2008.9.25, 2006도7660 [근로기준법위반] (쌍용자동차 취업알선 사례) 11 균등대우의 원칙 43 - 대판 2003.3.14, 2002도3883 [남녀고용평등법위 01 노동법 법원으로서의 노동관행 15 - 대판 2002.4.23, 2000다50701 [퇴직금] (한국전력공사 사례) 02 노동법과 신의성실의 원칙 17 - 대판 1994.9.30, 94다9092 [고용관계존재확인등] (대한조선공사 사례) 03 퇴직금 청구권 사전 포기 약정의 효력 19 - 대판 1998.3.27, 97다49732 [퇴직금] (아시아나 항공

More information

5장. JSP와 Servlet 프로그래밍을 위한 기본 문법(완성-0421).hwp

5장. JSP와 Servlet 프로그래밍을 위한 기본 문법(완성-0421).hwp 1 0 1.7 6 5 'A ' '/ u 4 4 2 2 ' " JS P 프로그래밍 " A ', 'b ', ' 한 ', 9, \ u d 6 5 4 ' c h a r a = 'A '; 0 1 0 2 0 3 0 4 0 5 0 6 0 7 0 8 0 9 1 0 1 1 1 2 1 3 1 4 1 5 1 6 1 7 1 8 1 9 < % @ p a g e c o n te n

More information

JDBC 소개및설치 Database Laboratory

JDBC 소개및설치 Database Laboratory JDBC 소개및설치 JDBC } What is the JDBC? } JAVA Database Connectivity 의약어 } 자바프로그램안에서 SQL 을실행하기위해데이터베이스를연결해주는응용프로그램인터페이스 } 연결된데이터베이스의종류와상관없이동일한방법으로자바가데이터베이스내에서발생하는트랜잭션을제어할수있도록하는환경을제공 2 JDBC Driver Manager }

More information

Microsoft Word - 05_SUBPROGRAM.doc

Microsoft Word - 05_SUBPROGRAM.doc ORACLE SUBPROGRAM INTRODUCTION PLSQL 은오라클에서제공하는프로그래밍언어이다. 이는데이터베이스언어인 SQL 과함께효과적으로데이터베이스에접근할수있는방법을제공하고있다. Procedural LanguageSQL 의약자에서볼수있듯이절차적인기능을기본적으로가지는프로그래밍언어이다. PLSQL 은기본적으로블록 (BLOCK) 구조를가지고있다. 블록의기본적인구성은선언부

More information

Spotlight on Oracle V10.x 트라이얼프로그램설치가이드 DELL SOFTWARE KOREA

Spotlight on Oracle V10.x 트라이얼프로그램설치가이드 DELL SOFTWARE KOREA Spotlight on Oracle V10.x DELL SOFTWARE KOREA 2016-11-15 Spotlight on Oracle 목차 1. 시스템요구사항... 2 1.1 지원하는데이터베이스...2 1.2 사용자설치홖경...2 2. 프로그램설치... 3 2.1 설치프로그램실행...3 2.2 라이선스사용관련내용확인및사용동의...3 2.3 프로그램설치경로지정...4

More information

iOS ÇÁ·Î±×·¡¹Ö 1205.PDF

iOS ÇÁ·Î±×·¡¹Ö 1205.PDF iphone ios 5 DEVELOPMENT ESSENTIALS Copyright 2011 Korean Translation Copyright 2011 by J-Pub. co. The Korean edition is published by arrangement with Neil Smyth through Agency-One, Seoul. i iphone ios

More information

Microsoft PowerPoint - additional01.ppt [호환 모드]

Microsoft PowerPoint - additional01.ppt [호환 모드] 1.C 기반의 C++ part 1 함수 오버로딩 (overloading) 디폴트매개변수 (default parameter) 인-라인함수 (in-line function) 이름공간 (namespace) Jong Hyuk Park 함수 Jong Hyuk Park 함수오버로딩 (overloading) 함수오버로딩 (function overloading) C++ 언어에서는같은이름을가진여러개의함수를정의가능

More information

Tibero

Tibero Tibero 대용량이관가이드 Copyright 2013 TIBER Co., Ltd. All Rights Reserved. Copyright Notice Copyright 2013 TIBER Co., Ltd. All Rights Reserved. 대한민국경기도성남시분당구서현동 272-6 우 ) 463-824 Restricted Rights Legend All

More information

untitled

untitled PowerBuilder 連 Microsoft SQL Server database PB10.0 PB9.0 若 Microsoft SQL Server 料 database Profile MSS 料 (Microsoft SQL Server database interface) 行了 PB10.0 了 Sybase 不 Microsoft 料 了 SQL Server 料 PB10.0

More information

컴파일러

컴파일러 YACC 응용예 Desktop Calculator 7/23 Lex 입력 수식문법을위한 lex 입력 : calc.l %{ #include calc.tab.h" %} %% [0-9]+ return(number) [ \t] \n return(0) \+ return('+') \* return('*'). { printf("'%c': illegal character\n",

More information

튜닝및모니터링 HP JVM 튜닝옵션

튜닝및모니터링 HP JVM 튜닝옵션 HP JVM 튜닝옵션 2013. 11. 01 목차 1. 개요... 3 2. JVM 특징소개... 3 3. JVM 주요옵션소개... 3 4. 분석기술... 16 2 1. 개요 HP JVM 의특징을살펴보고, TroubleShooting 방법과, 실제 Site 튜닝사례를살펴보도록한다. 2. JVM 특징소개 JVM 메모리영역. 3. JVM 주요옵션소개 GC command-line

More information

CONTENTS C U B A I C U B A 8 Part I Part II Part III Part IV Part V Part VI Part VII Part VIII Part IX 9 C U B A 10 Part I Part II Part III Part IV Part V Part VI Part VII Part VIII Part IX 11 C U B

More information

13Åë°è¹é¼Ł

13Åë°è¹é¼Ł 이면은빈공간입니다. National Statistics White Paper 2012 National Statistics White Paper ii _ STATISTICS KOREA 2012 _ iii 2012 National Statistics White Paper 1 26 2 27 3 28 4 29 5 30 6 31 7 32 8 33 9 34 10 35

More information