Top Banner
Tibero HiDB 안내서 Tibero/HiDB v3.3 Copyright © 2010 TmaxSoft Co., Ltd. All Rights Reserved.
64

티맥스소프트 -TmaxSoft - Tibero HiDB 안내서 · 2019. 4. 9. · 계층적 데이터베이스 관리 시스템으로 고객의 업무 데이터를 구조적으로 저장하고

Mar 26, 2021

Download

Documents

dariahiddleston
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: 티맥스소프트 -TmaxSoft - Tibero HiDB 안내서 · 2019. 4. 9. · 계층적 데이터베이스 관리 시스템으로 고객의 업무 데이터를 구조적으로 저장하고

Tibero

HiDB 안내서

Tibero/HiDB v3.3

Copyright © 2010 TmaxSoft Co., Ltd. All Rights Reserved.

Page 2: 티맥스소프트 -TmaxSoft - Tibero HiDB 안내서 · 2019. 4. 9. · 계층적 데이터베이스 관리 시스템으로 고객의 업무 데이터를 구조적으로 저장하고

Copyright Notice

Copyright © 2010 TmaxSoft Co., Ltd. All Rights Reserved.

대한민국 경기도 성남시 분당구 서현동 272-6 우)463-721

Restricted Rights Legend

All TmaxSoft Software(Tmax OpenFrame®) and Content are protected by copyright laws and the Protection Act

of Computer Programs, and international convention. TmaxSoft software and documents are made available under

the terms of the TmaxSoft 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, reproduced in any form or by any

means, electronic, mechanical, without the prior written consent of TmaxSoft Co., Ltd.

이 소프트웨어(Tmax OpenFrame®)사용설명서의 내용과 프로그램은 저작권법, 컴퓨터프로그램보호법 및 국제

조약에 의해서 보호받고 있습니다. 사용설명서의 내용과 여기에 설명된 프로그램은 TmaxSoft Co., Ltd.와의 사용

권 계약 하에서만 사용이 가능하며, 사용권 계약을 준수하는 경우에만 사용 또는 복제할 수 있습니다. 이 사용설명

서의 전부 또는 일부분을 Tmaxsoft의 사전 서면 동의 없이 전자, 기계, 녹음 등의 수단을 사용하여 전송, 복제, 배

포, 2차적 저작물작성 등의 행위를 하여서는 안 됩니다.

Trademarks

Tmax®, Tmax WebtoB®, WebT, JEUS® and Tmax OpenFrame® are registered trademarks of TmaxSoft Co.,

Ltd. All other product names may be trademarks of the respective companies with which they are associated.

Tmax®, Tmax WebtoB®, WebT, JEUS®, Tmax OpenFrame®은 TmaxSoft Co., Ltd.의 등록 상표입니다. 기타 모

든 제품들과 회사 이름은 각각 해당 소유주의 상표로서 참조용으로만 사용됩니다.

Open Source Software Notice

This product includes open source software developed and/or licensed by "OpenSSL", "RSA Data Security, Inc.",

"Apache Foundation", and "Jean-loup Gailly and Mark Adler". Information about the aforementioned 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”에 의

해 개발 또는 라이선스된 오픈 소스 소프트웨어를 포함합니다. 관련 상세 정보는 제품의 디렉터리 “${IN

STALL_PATH}/license/oss_licenses”에 기재된 사항을 참고해 주십시오.

안내서 정보

안내서 제목: Tibero HiDB 안내서

발행일: 2010-06-25

소프트웨어 버전: Tibero/HiDB v3.3

안내서 버전: v2.1.1

Page 3: 티맥스소프트 -TmaxSoft - Tibero HiDB 안내서 · 2019. 4. 9. · 계층적 데이터베이스 관리 시스템으로 고객의 업무 데이터를 구조적으로 저장하고

내용 목차

안내서에 대하여 .......................................................................................................................... vii

제1장 HiDB 소개 ........................................................................................................................ 1

1.1. IMS 시스템 .................................................................................................................. 1

1.2. 데이터베이스 기초 ....................................................................................................... 1

1.3. 계층적 데이터베이스 .................................................................................................... 3

1.4. 액세스 메소드 .............................................................................................................. 4

1.5. HiDB 지원 범위 ............................................................................................................ 5

제2장 데이터베이스 관리 ............................................................................................................. 7

2.1. 개요 ............................................................................................................................ 7

2.2. DBD ............................................................................................................................ 8

2.3. PSB ........................................................................................................................... 10

2.4. ACB .......................................................................................................................... 12

제3장 DL/I 함수 호출 ................................................................................................................. 13

3.1. DL/I 함수 .................................................................................................................... 13

3.2. DL/I 기능 .................................................................................................................... 14

3.3. PCB Mask ................................................................................................................. 15

3.4. SSA ........................................................................................................................... 17

제4장 액세스 메소드 ................................................................................................................. 23

4.1. HSAM ........................................................................................................................ 23

4.2. HISAM(SHISAM) ........................................................................................................ 24

4.3. HDAM/HIDAM ............................................................................................................ 25

4.4. DEDB ........................................................................................................................ 26

제5장 고급 기능 ........................................................................................................................ 27

5.1. Logical Relationship ................................................................................................... 27

5.2. Secondary Indices ...................................................................................................... 30

제6장 HiDB 마이그레이션 ......................................................................................................... 33

6.1. HiDB 마이그레이션 과정 ............................................................................................. 33

6.2. DBD 생성 ................................................................................................................... 34

6.3. HiDB 스키마 생성 ....................................................................................................... 35

6.4. HiDB 표준 데이터 포맷 변환 ........................................................................................ 36

6.5. 코드 변환 ................................................................................................................... 37

6.6. VSAM 데이터 셋 생성 ................................................................................................. 37

6.7. HiDB 데이터 Load ...................................................................................................... 38

6.8. Prefix Resolution ........................................................................................................ 39

6.9. Prefix Update ............................................................................................................. 39

Appendix A. DL/I Status Code ................................................................................................. 41

A.1. Status Code 상세 ....................................................................................................... 41

Appendix B. HiDB 시스템 설정 ................................................................................................. 45

Tibero iii

Page 4: 티맥스소프트 -TmaxSoft - Tibero HiDB 안내서 · 2019. 4. 9. · 계층적 데이터베이스 관리 시스템으로 고객의 업무 데이터를 구조적으로 저장하고

B.1. ims.conf ..................................................................................................................... 45

B.2. hidb.conf .................................................................................................................... 46

색인 ............................................................................................................................................ 49

iv Tibero HiDB 안내서

Page 5: 티맥스소프트 -TmaxSoft - Tibero HiDB 안내서 · 2019. 4. 9. · 계층적 데이터베이스 관리 시스템으로 고객의 업무 데이터를 구조적으로 저장하고

그림 목차

[그림 1.1] Hierarchical Data Structure ........................................................................................... 3

[그림 2.1] DBD Generation Process ............................................................................................. 8

[그림 2.2] PSB Generation Process ............................................................................................ 10

[그림 2.3] ACB Generation Process ............................................................................................ 12

[그림 3.1] Unqualified SSA Format ............................................................................................. 17

[그림 3.2] Qualified SSA Format ................................................................................................ 18

[그림 3.3] Unqualified SSA Format with a single Command Code ................................................ 20

[그림 3.4] Qualified SSA Format with a single Command Code .................................................... 20

[그림 5.1] Relationship Between Two Physical Databases ............................................................ 27

[그림 5.2] Two Logically Related Physical Databases .................................................................. 28

[그림 5.3] Two Additional Logical Databases ............................................................................... 28

[그림 5.4] A Database with secondary index database ................................................................. 30

[그림 6.1] HiDB 마이그레이션 순서도 ......................................................................................... 33

[그림 6.2] Tibero HiDB 표준 데이터 포맷 .................................................................................... 36

Tibero v

Page 6: 티맥스소프트 -TmaxSoft - Tibero HiDB 안내서 · 2019. 4. 9. · 계층적 데이터베이스 관리 시스템으로 고객의 업무 데이터를 구조적으로 저장하고
Page 7: 티맥스소프트 -TmaxSoft - Tibero HiDB 안내서 · 2019. 4. 9. · 계층적 데이터베이스 관리 시스템으로 고객의 업무 데이터를 구조적으로 저장하고

안내서에 대하여

안내서의 대상

본 안내서는 리호스팅 솔루션인 Tmax OpenFrame®(이하 OpenFrame) 및 계층 데이터베이스 Tibero HiDB

를 사용하는 사용자를 대상으로 기술한다. Tibero HiDB는 Hierarchical Database 또는 High Performance

Database의 약자로, IBM Mainframe의 IMS/DB 또는 Hitachi Mainframe의 ADM/DB에 대응되는 OpenFrame

제품이다.

안내서의 전제 조건본 안내서를 정확히 사용하려면 OpenFrame Batch 및 Mainframe의 IMS(또는 ADM) 시스템의 개념을 이

해하고 있어야 한다. Mainframe의 IMS(또는 ADM)에 대한 이해를 돕기 위해 관련 안내서를 먼저 숙지할

것을 권장한다.

안내서의 제한 조건

본 안내서에서는 Tibero HiDB에서 현재 지원하지 않는 기능/옵션/파라미터에 대해서 별도로 표기하였으

며 이에 대한 설명은 생략한다.

안내서에 대하여 vii

Page 8: 티맥스소프트 -TmaxSoft - Tibero HiDB 안내서 · 2019. 4. 9. · 계층적 데이터베이스 관리 시스템으로 고객의 업무 데이터를 구조적으로 저장하고

안내서 구성

HiDB 안내서는 총 6개의 장과 Appendix로 구성되어 있다.

각 장의 주요 내용은 다음과 같다.

● 제1장: HiDB 소개

IBM Mainframe의 IMS 시스템, 데이터베이스의 기초, 계층적 데이터베이스, 액세스 메소드에 대해서 기

술하고, HiDB의 지원 범위에 대해 알아본다.

● 제2장: 데이터베이스 관리

DBD, PSB, ACB 스크립트를 코딩하고 컴파일하여 HiDB 데이터베이스를 구현하는 방법에 대해서 기술

한다.

● 제3장: DL/I 함수 호출

DL/I 기능과 PCB Mask, SSA (Segment Search Argument)에 대해서 기술한다.

● 제4장: 액세스 메소드

HiDB 시스템에서 지원하는 데이터베이스 액세스 메소드 (HSAM, HISAM, HDAM, HIDAM, DEDB)에 대

해서 기술한다.

● 제5장: 고급 기능

HiDB의 부가적인 기능인 Logical Relationship과 Secondary Indices에 대해서 기술한다.

● 제6장: HiDB 마이그레이션

HiDB의 마이그레이션의 절차와 각 단계별로 수행하는 작업 내용에 대해서 기술한다.

● Appendix. A: DL/I 상태 코드

애플리케이션에서 DL/I 함수를 호출한 후 반환되는 상태 코드의 종류별로 오류사항과 원인 그리고 원인

별 조치사항에 대해서 기술한다.

● Appendix. B: HiDB 시스템 설정

HiDB 시스템에서 설정해야 하는 파일에 대해 기술한다.

viii Tibero HiDB 안내서

Page 9: 티맥스소프트 -TmaxSoft - Tibero HiDB 안내서 · 2019. 4. 9. · 계층적 데이터베이스 관리 시스템으로 고객의 업무 데이터를 구조적으로 저장하고

안내서 규약

의미표기

프로그램 소스 코드의 파일명, 디렉터리<AaBbCc123>

Ctrl과 C를 동시에 누름<Ctrl>+C

GUI의 버튼 또는 메뉴 이름[Button]

강조진하게

다른 관련 안내서 또는 안내서 내의 다른 장 및 절 언급" "(따옴표)

화면 UI에서 입력 항목에 대한 설명'입력항목'

메일 계정, 웹 사이트, 다른 장 및 절 참고하이퍼링크

메뉴의 진행 순서>

하위 디렉터리 또는 파일 있음+----

하위 디렉터리 또는 파일 없음|----

참조 또는 주의사항참고

그림 이름[그림 1.1]

표 이름[표 1.1]

명령어, 명령어 수행 후 화면에 출력된 결과물, 예제코드AaBbCc123

안내서에 대하여 ix

Page 10: 티맥스소프트 -TmaxSoft - Tibero HiDB 안내서 · 2019. 4. 9. · 계층적 데이터베이스 관리 시스템으로 고객의 업무 데이터를 구조적으로 저장하고

시스템 사용 환경

요구 사항

IBM AIX 5.x (32bit, 64bit)Platform

HP-UX ia64 11.xx (32bit, 64bit)

HP-UX PA-RISC 11.xx (32bit, 64bit)

Solaris 9 (SunOS 5.9) (32bit, 64bit)

Linux x86 2.6 (32bit, 64bit)

Linux ia64 2.6 (32bit, 64bit)

최소 120MB 하드디스크 공간Hardware

256MB 이상 메모리 공간

1GB 이상 하드디스크와 512MB 이상 메모리 공간 권장

Tibero 3.0Database

Oracle 9i 또는 10g

x Tibero HiDB 안내서

Page 11: 티맥스소프트 -TmaxSoft - Tibero HiDB 안내서 · 2019. 4. 9. · 계층적 데이터베이스 관리 시스템으로 고객의 업무 데이터를 구조적으로 저장하고

관련 안내서

설명안내서

OpenFrame 솔루션의 개괄적인 설명과 OpenFrame의 모든 안내서에

관한 설명을 기술한 안내서이다.

OpenFrame

시작하기 안내서

OpenFrame/Base를 구성하는 요소와 전반적인 기능에 대해 기술한 안

내서이다.

OpenFrame

Base 안내서

OpenFrame/Batch를 구성하는 요소와 전반적인 기능에 대해 기술한 안

내서이다.

OpenFrame

Batch 안내서

OpenFrame 데이터 셋에 대한 소개와 데이터 셋 종류 및 카탈로그 방법

등에 대해 기술한 안내서이다.

OpenFrame

데이터 셋 안내서

VSAM에 대응하는 제품인 TSAM에 대한 소개와 데이터 셋 종류 및 관

리 방법, 데이터 셋 처리 방법에 대해 기술한 안내서이다.

Tibero

TSAM 안내서

OpenFrame 시스템의 Batch JOB을 관리하는 내용에 대해 기술한 안내

서이다.

OpenFrame

TJES 안내서

OpenFrame 시스템을 운용하는데 사용하는 다양한 툴 프로그램에 대해

기술한 안내서이다.

OpenFrame

툴 참조 안내서

Tibero HiDB와 함께 제공되는 다양한 유틸리티 프로그램에 대해 기술

한 안내서이다.

Tibero

HiDB 유틸리티 참조 안내서

Tibero HiDB 시스템을 운용하는데 사용하는 다양한 툴 프로그램에 대

해 기술한 안내서이다.

Tibero

HiDB 툴 참조 안내서

안내서에 대하여 xi

Page 12: 티맥스소프트 -TmaxSoft - Tibero HiDB 안내서 · 2019. 4. 9. · 계층적 데이터베이스 관리 시스템으로 고객의 업무 데이터를 구조적으로 저장하고

참고 문헌

안내서제품

IMS for the COBOL programmerIBM Mainframe

IMS Primer

IMS V7 Administration Guide: Database Manager

IMS V7 Administration Guide: System

IMS V7 Application Programming: Database Manager

IMS V7 Application Programming: Transaction Manager

IMS V7 Utilities Reference: System

IMS V7 Utilities Reference: Database and Transaction Manager

ADM 개설Hitachi Mainframe

ADM 오퍼레이터 가이드 시스템 운용편

ADM 시스템 관리 책임자 가이드 시스템 설계편

ADM 시스템 관리 책임자 가이드 정의 유틸리티편

ADM 시스템 관리 책임자 가이드 유지 유틸리티편

ADM 시스템 관리 책임자 가이드 지원 유틸리티편

ADM 프로그래머 가이드

xii Tibero HiDB 안내서

Page 13: 티맥스소프트 -TmaxSoft - Tibero HiDB 안내서 · 2019. 4. 9. · 계층적 데이터베이스 관리 시스템으로 고객의 업무 데이터를 구조적으로 저장하고

연락처

Korea

TmaxSoft Co., Ltd

272-6 Seohyeon-dong, Bundang-gu,

Seongnam-si, Gyeonggi-do, 463-721

South Korea

Tel: +82-31-8018-1000

Fax: +82-31-8018-1115

Email: [email protected]

Web (Korean): http://www.tmax.co.kr

기술지원: http://technet.tmaxsoft.com

USA

TmaxSoft, Inc.

560 Sylvan Avenue Englewood Cliffs, NJ 07632

U.S.A

Tel: +1-201-567-8266

Fax: +1-201-567-7339

Email: [email protected]

Web (English): http://www.tmaxsoft.com

Japan

TmaxSoft Japan Co., Ltd.

5F Sanko Bldg, 3-12-16 Mita, Minato-Ku, Tokyo, 108-0073

Japan

Tel: +81-3-5765-2550

Fax: +81-3-5765-2567

Email: [email protected]

Web (Japanese): http://www.tmaxsoft.co.jp

안내서에 대하여 xiii

Page 14: 티맥스소프트 -TmaxSoft - Tibero HiDB 안내서 · 2019. 4. 9. · 계층적 데이터베이스 관리 시스템으로 고객의 업무 데이터를 구조적으로 저장하고

China

TmaxSoft China Co., Ltd.

Beijing Silver Tower, RM 1508, 2# North Rd Dong San Huan,

Chaoyang District, Beijing, China, 100027

China

Tel: +86-10-6410-6145~8

Fax: +86-10-6410-6144

Email: [email protected]

Web (Chinese): http://www.tmaxsoft.com.cn

xiv Tibero HiDB 안내서

Page 15: 티맥스소프트 -TmaxSoft - Tibero HiDB 안내서 · 2019. 4. 9. · 계층적 데이터베이스 관리 시스템으로 고객의 업무 데이터를 구조적으로 저장하고

제1장 HiDB 소개

이번 장에서는 IBM Mainframe의 IMS 시스템에 대해 간략하게 소개하고, Tibero HiDB 제품의 지원범위에

대해서 설명한다.

1.1. IMS 시스템Tibero HiDB는 Hierarchical Database 또는 High Performance Database의 약자로, IBM Mainframe의

IMS/DB 또는 Hitachi Mainframe의 ADM/DB에 대응되는 OpenFrame 제품이다.

IMS 시스템은 1968년에 소개된 IBM의 Mainframe 소프트웨어로 대형 비즈니스 시스템을 위한 트랜잭션

관리 기능과 데이터베이스 관리 기능을 제공한다. IMS 시스템은 크게 데이터 통신 관리(DC)와 데이터베

이스 관리(DB)의 2개 주요 제품으로 구성되어 있다.

● IMS/DC 제품

메시지 기반의 트랜잭션 처리 시스템이다. 트랜잭션이란 특정 업무를 실행시키기 위해 준비된 입력 데

이터 패킷을 의미한다. IMS/DC 제품은 네트워크 터미널에서 전달되거나 다른 애플리케이션에서 생성

된 트랜잭션 메시지를 처리할 수 있도록 하는 기반 서비스를 제공한다.

● IMS/DB 제품

계층적 데이터베이스 관리 시스템으로 고객의 업무 데이터를 구조적으로 저장하고 관리하는 기능을 제

공한다. 이 제품은 IMS/DC에서 실행되는 애플리케이션이나 순수 Batch 애플리케이션에서 데이터베이

스에 쉽게 접근할 수 있도록 하는 인터페이스를 제공한다.

애플리케이션이 IMS 시스템에서 관리되는 트랜잭션 메시지나 데이터베이스에 접근하기 위해서는 표준

IMS 함수를 호출해야 한다. 애플리케이션은 각 프로그램 언어에서 제공되는 표준 애플리케이션 인터페이

스를 통해 이런 IMS 함수를 사용할 수 있다. 일반적으로 이런 인터페이스를 DL/I(Data Language One)이

라고 부른다.

1.2. 데이터베이스 기초컴퓨터 시스템이 처음 개발되었을 당시, 데이터는 특정 애플리케이션에 종속된 개별 데이터 셋에 저장되

거나 혹은 개별 프로그램의 일부분으로 작성되었다. 따라서 같은 내용의 데이터가 서로 다른 데이터 셋에

중복 저장되는 일이 빈번하게 발생했다. 예를 들어, 고객에 대한 세부 정보는 주문 프로그램과 배송 프로

그램에 동시에 사용되어야 한다.

제1장 HiDB 소개 1

Page 16: 티맥스소프트 -TmaxSoft - Tibero HiDB 안내서 · 2019. 4. 9. · 계층적 데이터베이스 관리 시스템으로 고객의 업무 데이터를 구조적으로 저장하고

이런 경우 다음과 같은 문제가 발생한다.

● 데이터가 프로그램마다 독립적으로 처리되기 때문에 동일해야 하는 데이터의 내용이 다를 수 있다. 예

를 들면 주문 프로그램에서 사용되는 데이터 셋에 저장된 고객의 주소 정보와 배송 프로그램에서 사용

되는 데이터 셋에 저장된 고객의 주소 정보가 다를 수 있다.

● 공통적인 데이터 내용이 변경되어야 한다면, 여러 장소에 저장되어 있는 데이터 내용이 바뀌어야 하므

로 변경범위가 크고 처리시간이 오래 걸린다.

● 데이터 제어에 대한 중앙 집중적인 장치가 없기 때문에 불법적인 데이터 접근이나 데이터 유실에 대한

관리가 어렵다.

● 중복되는 데이터의 내용 때문에 저장장치의 저장공간이 낭비된다.

반면에 고객의 업무 데이터를 구조적으로 저장하고 관리해주는 데이터베이스 관리 시스템을 사용하게 되

면 다음과 같은 추가적인 효과를 얻을 수 있다.

● 데이터의 정합성을 유지하면서 동시에 여러 개의 애플리케이션이 데이터에 접근하고 변경할 수 있도록

해준다.

● 애플리케이션이 실행에 실패하더라도 여러 데이터베이스 레코드에 걸쳐서 존재하는 애플리케이션 데

이터의 정합성을 유지시켜 준다.

● 데이터 백업 및 복구 유틸리티를 제공해서 고객의 중요 비즈니스 데이터의 유실에 대비한다.

● 데이터에 대한 모니터링 및 성능 튜닝을 할 수 있는 유틸리티를 제공해 준다.

2 Tibero HiDB 안내서

Page 17: 티맥스소프트 -TmaxSoft - Tibero HiDB 안내서 · 2019. 4. 9. · 계층적 데이터베이스 관리 시스템으로 고객의 업무 데이터를 구조적으로 저장하고

1.3. 계층적 데이터베이스IBM의 IMS/DB 또는 Hitachi의 ADM/DB는 데이터를 저장하는 방식으로 계층 모델(Hierarchical Model)을

사용했다. 계층 모델에서 개별 데이터 항목은 계층 구조에서의 세그먼트로 관리된다.

[그림 1.1] Hierarchical Data Structure

계층 모델의 데이터 구조는 세그먼트 유형과 세그먼트 인스턴트로 설명할 수 있다.

세그먼트 유형은 세그먼트의 종류를 의미하고 세그먼트 인스턴스는 세그먼트 유형의 실제 데이터 내용이

다.

계층 데이터 구조에서 각 세그먼트들은 부모/자식 관계로 연결된다. 부모 세그먼트 인스턴스는 0개 혹은

1개 이상의 자식 세그먼트 인스턴스를 가질 수 있다. 하지만, 자식 세그먼트 인스턴스는 오직 1개의 부모

세그먼트 인스턴스를 가진다. 같은 부모 세그먼트 인스턴스를 가지는 같은 세그먼트 유형의 자식 세그먼

트 인스턴스들을 트윈 세그먼트라고 한다. 하지만, 같은 부모 세그먼트 인스턴스를 가지는 다른 세그먼트

유형의 자식 세그먼트 인스턴스들은 형제 세그먼트라고 한다.

부모 세그먼트는 여러 자식 세그먼트 유형을 가질 수 있다. 그리고 자식 세그먼트는 동시에 부모 세그먼트

가 될 수 있고 자식 세그먼트도 자식 세그먼트를 가질 수 있다. 부모 세그먼트가 없는 세그먼트를 루트 세

그먼트라고 한다. 루트 세그먼트는 최상위에 하나만 존재한다.

하나의 루트 세그먼트 인스턴스 아래에 있는 모든 세그먼트 인스턴스를 묶어서 DL/I 데이터베이스 레코드

라고 한다. 이런 DL/I 데이터베이스 레코드를 모두 모아놓은 집합이 DL/I 데이터베이스가 된다.

DL/I 데이터베이스 안에 저장되어 있는 특정 세그먼트를 찾기 위해 루트 세그먼트부터 조상 세그먼트들을

연속적으로 나열한 순서를 세그먼트 계층경로(Hierarchical Path)라고 말한다. DL/I 데이터베이스에 있는

특정 세그먼트를 다른 세그먼트와 구분하고 직접 접근하기 위해서 DL/I는 순차 필드를 사용한다. 일반적

으로 각 세그먼트에는 순차 필드로 표시된 필드를 하나 가지고 있다. 같은 부모 인스턴스를 갖는 트윈 세

그먼트 인스턴스들은 유일한 값의 순차 필드를 가지고 있어야 한다.

앞에서 설명한 세그먼트 계층경로 이외에, IMS/DB에서는 다음과 같은 추가적인 2가지의 데이터베이스

세그먼트 접근경로를 제공한다. 2가지 방법은 모두 애플리케이션이 물리 데이터베이스에 접근하는 색다

제1장 HiDB 소개 3

Page 18: 티맥스소프트 -TmaxSoft - Tibero HiDB 안내서 · 2019. 4. 9. · 계층적 데이터베이스 관리 시스템으로 고객의 업무 데이터를 구조적으로 저장하고

른 접근경로를 제공하고 이미 정의되어 있는 기본적인 데이터베이스 계층 구조 위에 추가적으로 정의되

어 사용된다.

● Logical Relationship

하나 이상의 물리 데이터베이스를 논리적으로 연결해서 사용할 수 있도록 해준다. 애플리케이션은 하

나의 데이터베이스를 사용하는 것처럼 접근이 가능하다.

● Secondary Indices

하나의 물리 데이터베이스에서 루트 세그먼트 또는 루트 세그먼트가 아닌 다른 세그먼트를 통해 데이

터베이스 레코드에 접근할 수 있는 접근경로를 제공한다.

1.4. 액세스 메소드데이터베이스, 세그먼트 그리고 데이터베이스 레코드는 HSAM, HDAM, DEDB 등과 같은 데이터베이스

액세스 메소드에 따라 물리적으로 구성된다. 데이터베이스 액세스 메소드의 하부에서는 물리적인 디스크

에 데이터 I/O를 하기 위해 Mainframe의 데이터 셋 액세스 메소드가 사용된다.

계층적 데이터베이스의 구조와 애플리케이션에서의 접근 방식은 DBD, PSB, ACB 등의 컨트롤 블록에 의

해 정의된다. 해당 컨트롤 블록들은 데이터베이스 관리자에 의해 매크로 스크립트 문장으로 기술되고, 이

소스 스크립트 파일을 컴파일하면 컨트롤 블록으로 만들어진다. 만들어진 컨트롤 블록들은 데이터베이스

시스템과 애플리케이션에 의해 사용된다.

데이터 세그먼트와 레코드를 구성하고 저장하는데 사용되는 데이터베이스 액세스 메소드는 여러 종류가

있다. 특정 액세스 메소드를 선택해서 사용하는 것은 애플리케이션의 필요조건을 충분히 분석한 뒤에 결

정되어야 한다. 왜냐하면 액세스 메소드를 결정함에 따라 애플리케이션에서 사용할 수 있는 기능이나 성

능이 영향을 받기 때문이다.

다음은 가장 많이 사용되는 계층적 데이터베이스 구성에 대한 데이터베이스 유형에 대한 분류이다.

데이터베이스 유형데이터베이스 구성

HDAMHierarchical Direct Access Method

HIDAMHierarchical Indexed Direct Access Method

HSAMHierarchical Sequential Access Method

HISAMHierarchical Indexed Sequential Access Method

DEDBData Entry Database

계층적 데이터베이스 액세스 메소드들은 다음과 같다.

● Hierarchical Direct

HDAM과 HIDAM의 2가지 액세스 메소드를 의미한다.

4 Tibero HiDB 안내서

Page 19: 티맥스소프트 -TmaxSoft - Tibero HiDB 안내서 · 2019. 4. 9. · 계층적 데이터베이스 관리 시스템으로 고객의 업무 데이터를 구조적으로 저장하고

Hierarchical Direct 구조는 물리적인 데이터베이스 레코드가 각 세그먼트의 PREFIX에 저장되어 있는

주소 포인터에 의해 서로 연결되어 있는 저장구조를 의미한다. HDAM은 Hierarchical Direct 구조에서

루트 세그먼트를 찾기 위해 Randomizer 알고리즘을 이용하고, HIDAM은 Hierarchical Direct 구조에서

루트 세그먼트를 찾기 위해 인덱스를 사용한다.

● Hierarchical Sequential

HSAM과 HISAM의 2가지 액세스 메소드를 의미한다.

Hierarchical Sequential 구조는 데이터베이스 세그먼트들의 관계가 물리적인 데이터베이스 레코드들의

인접성으로 표시되는 저장구조를 의미한다. Hierarchical Direct Access Method가 많은 장점을 가지고

있기 때문에 요즘에는 Hierarchical Sequential Access Method는 많이 사용되지 않는다.

● Data Entry Database (DEDB)

DEDB는 대용량 고성능 애플리케이션에 적합하게 만들어졌다. 하지만 애플리케이션에서 이 기능을 사

용하려면 데이터베이스가 이 기능을 사용하도록 특별하게 설계되어야 한다.

Hierarchical Direct 구조와 Hierarchical Sequential 구조의 데이터베이스는 종종 Full Function 데이터베

이스라고 불린다. 반면에 DEDB는 Fast Path 데이터베이스라고 불린다. IBM Mainframe에서는 Main

Storage Database(MSDB)라고 불리는 Fast Path 데이터베이스가 하나 더 있는데, 최근에는 VSO(Virtual

Storage Option) 옵션을 사용하는 DEDB에 의해 대체되었다.

● Index Database

인덱스 데이터베이스는 Secondary Index나 HIDAM의 Primary Index를 물리적으로 구현하기 위해 사용

되는 데이터베이스이다.

● Generalized Sequential Access Method (GSAM)

Batch 프로그램이나 BMP 프로그램에서 계층구조 데이터베이스가 아닌 순차 데이터 셋에 대해 간단한

데이터베이스 액세스 API를 제공하기 위해 만들어진 액세스 메소드이다.

1.5. HiDB 지원 범위Tibero HiDB는 IBM Mainframe의 IMS/DB 또는 Hitachi Mainframe의 ADM/DB에 대응되는 OpenFrame 제

품이다. Tibero HiDB는 추가적인 기능을 계속해서 개발 중이며 현재 다음과 같은 데이터베이스 액세스 메

소드를 지원한다.

● Hierarchical Sequential Access Method (HSAM)

● Hierarchical Indexed Sequential Access Method (HISAM)

● Simple HISAM (SHISAM)

제1장 HiDB 소개 5

Page 20: 티맥스소프트 -TmaxSoft - Tibero HiDB 안내서 · 2019. 4. 9. · 계층적 데이터베이스 관리 시스템으로 고객의 업무 데이터를 구조적으로 저장하고

● Hierarchical Indexed Direct Access Method (HIDAM)

● Data Entry Database (DEDB)

Tibero HiDB에서 데이터 셋 액세스 메소드로는 VSAM 액세스 메소드를 사용하고, OSAM 액세스 메소드

는 지원하지 않는다.

참고

Mainframe의 VSAM 액세스 메소드는 OpenFrame의 TSAM 제품으로 지원한다. VSAM 액세스 메소

드에 대한 자세한 내용은 OpenFrame 안내서 중에 “데이터 셋 안내서”를 참고한다.

Tibero HiDB에서는 부가적인 데이터베이스 레코드 접근 방법으로 다음과 같은 기능을 일부 제공한다.

● Logical Relationship

● Secondary Indices

Tibero HiDB에서 지원되는 고급 기능에 대한 자세한 내용은 본 안내서 “제5장 고급 기능”을 참고한다.

6 Tibero HiDB 안내서

Page 21: 티맥스소프트 -TmaxSoft - Tibero HiDB 안내서 · 2019. 4. 9. · 계층적 데이터베이스 관리 시스템으로 고객의 업무 데이터를 구조적으로 저장하고

제2장 데이터베이스 관리

본 장에서는 설계된 HiDB 데이터베이스를 구현하기 위해 필요한 작업에 대해서 설명한다.

2.1. 개요HiDB 데이터베이스를 관리하는 일은 데이터베이스를 설계, 구현, 유지하는 작업을 말한다.

HiDB 데이터베이스의 각 관리 업무와 그에 대한 설명은 다음과 같다.

● 데이터베이스 설계

사이트의 업무 요건을 분석해서 데이터 구조를 만든다. 데이터 구조는 새로운 데이터베이스 안에 어떤

데이터가 저장될 것인지 그리고 어떻게 데이터가 구조적으로 서로 연결될 것인지를 보여준다.

데이터 구조가 결정되면, 데이터베이스를 설계할 수 있다. 데이터베이스 설계 단계에서 데이터베이스

관리자는 구체적인 데이터베이스 정의 항목과 옵션들을 결정한다.

● 데이터베이스 구현

데이터베이스가 설계되면 설계된 데이터베이스의 특징과 애플리케이션이 데이터베이스를 사용하는 방

법을 매크로 어셈블러로 코딩함으로써 데이터베이스를 구현한다.

데이터 베이스 구현은 DBD(Database Description) 스크립트와 PSB(Program Specification Block) 스크

립트를 코딩하고 컴파일하는 업무로 이루어져 있다. 데이터베이스 구현의 또 다른 업무는 ACB(Application

Control Block)를 정의하는 일이다.

● 데이터베이스 적재

데이터베이스가 정의되면 데이터베이스에 데이터를 적재하기 위해 초기 적재 프로그램을 작성해야 한

다.

데이터베이스에 데이터가 적재되고 나면 애플리케이션은 데이터베이스를 사용해서 작업을 수행할 수

있다. Mainframe에서 사용하던 계층 데이터베이스의 데이터를 HiDB에서 사용하기 위해서는 데이터베

이스 마이그레이션 작업을 수행한다.

● 데이터베이스 유지

데이터베이스가 운용에 들어가면 데이터베이스의 성능을 모니터링하고 튜닝하기 위한 작업이 계속되

어야 한다. 정기적인 모니터링 작업은 언제 데이터베이스를 튜닝해야 하는지 결정하는데 도움을 준다.

제2장 데이터베이스 관리 7

Page 22: 티맥스소프트 -TmaxSoft - Tibero HiDB 안내서 · 2019. 4. 9. · 계층적 데이터베이스 관리 시스템으로 고객의 업무 데이터를 구조적으로 저장하고

2.2. DBDHiDB 데이터베이스에 대한 설계가 끝나면, 데이터베이스를 사용하는 애플리케이션을 실행하기 전에, 데

이터베이스 관리자는 DBD(Database Description)를 코딩하고 컴파일함으로써 데이터베이스에 대한 물

리적인 또는 논리적인 특징들을 HiDB 시스템에 알려주어야 한다.

DBD는 데이터베이스의 구조나 액세스 메소드, 데이터베이스 레코드 내의 세그먼트와 필드, 그리고 각각

의 세그먼트 유형간의 관계에 대해 기술하는 매크로 어셈블러 명령어의 집합이다.

다음은 DBDGEN 유틸리티 프로그램을 사용해서 DBD 컨트롤 블록을 생성하는 방법에 대한 설명이다.

[그림 2.1] DBD Generation Process

작성된 DBD 매크로 어셈블러 스크립트는 DBDGEN 유틸리티 프로그램의 입력으로 사용된다. 이 유틸리

티 프로그램은 어셈블리 컴파일 프로그램으로 DBD 컨트롤 블록을 생성해서 IMS.DBDLIB 시스템 라이브

러리로 복사해 준다. 복사된 DBD 컨트롤 블록은 이후에 데이터베이스를 처리할 때 사용된다.

참고

DBD 컨트롤 블록을 생성하는 방법으로는 DBDGEN 유틸리티 이외에도 ADMDBD 유틸리티 및 db

dgen 프로그램을 사용하는 방법이 있다.

정의되는 각각의 데이터베이스마다 하나씩 별개의 입력 스크립트가 필요하다.

다음은 입력 스크립트 문장에 대한 설명이다.

설명구분

DBDGEN 프로그램의 입력으로 주어진 스크립트에서 DBD 문장은 현재 기술

하고 있는 데이터베이스의 이름과 DL/I 액세스 메소드를 지정한다.

DBD 문장

8 Tibero HiDB 안내서

Page 23: 티맥스소프트 -TmaxSoft - Tibero HiDB 안내서 · 2019. 4. 9. · 계층적 데이터베이스 관리 시스템으로 고객의 업무 데이터를 구조적으로 저장하고

설명구분

데이터베이스의 물리적인 데이터 저장소로 사용되는 데이터 셋에 대한 속성

을 지정한다. 데이터베이스의 유형에 따라 최대 10개까지의 데이터 셋 그룹

DATASET 문장

이 정의될 수 있고, 데이터베이스에 있는 데이터 셋 그룹 하나 당 하나의

DATASET 문장이 사용된다.

각각의 DATASET 문장 뒤에는 SEGM 문장이 따라오며 SEGM 문장에 정의

된 모든 세그먼트는 해당 데이터 셋 그룹에 저장된다.

DEDB 데이터베이스의 경우에는 DATASET 문장 대신 AREA 문장이 사용되

고, AREA 문장은 DEDB의 데이터 영역을 정의한다. 한 데이터베이스 안에

AREA 문장

여러 개의 데이터 영역을 정의하기 위해 최대 240개까지의 AREA 문장이 사

용된다.

모든 AREA 문장은 DBD 문장과 첫 번째 SEGM 문장 사이에 존재해야 한다.

SEGM 문장은 데이터베이스에 하나의 세그먼트 유형을 정의하기 위해 사용

된다. SEGM 문장에는 해당 세그먼트에 대한 계층 구조에서의 위치, 물리적

인 속성, 다른 세그먼트와의 관계 등의 정보가 기술된다.

SEGM 문장

세그먼트는 계층 구조에서의 순서대로 정의되어야 하며, 최대 15개 깊이까지

의 계층 레벨이 허용된다.

FIELD 문장은 한 세그먼트 안에서의 특정 필드를 정의한다. FIELD 문장은

자신이 속한 세그먼트의 SEGM 문장 바로 다음에 정의되어야 한다. 한 세그

FIELD 문장

먼트 안에 있는 순차 필드와 DL/I 호출 시 사용되는 SSA에 언급된 필드들은

모두 FIELD 문장으로 정의되어야 한다.

LCHILD 문장은 두 개 세그먼트 유형 사이의 Secondary Index나 Logical Re

lationship를 정의한다. 또는 HIDAM 데이터베이스 유형에서 인덱스 데이터

베이스와 루트 세그먼트 사이의 관계를 정의한다.

LCHILD 문장

XDFLD 문장은 Secondary index가 사용될 경우에만 사용된다. XDFLD 문장

은 소스 세그먼트와 타깃 세그먼트를 연결시켜 준다. XDFLD 문장에는 인덱

XDFLD 문장

스 필드의 이름, 소스 세그먼트의 이름, secondary index의 키를 만드는데 사

용되는 필드명의 정보가 지정된다.

DBDGEN 문장과 END 문장은 DBD 생성 스크립트의 마지막에 추가되며, 각

각은 다음과 같은 의미를 갖는다.

DBDGEN 문장,

END 문장

- DBDGEN: DBD를 정의하는 마지막 문장

- END: 입력 스크립트의 마지막 문장

제2장 데이터베이스 관리 9

Page 24: 티맥스소프트 -TmaxSoft - Tibero HiDB 안내서 · 2019. 4. 9. · 계층적 데이터베이스 관리 시스템으로 고객의 업무 데이터를 구조적으로 저장하고

참고

각각의 DBD 생성 스크립트에 대한 보다 자세한 문법적인 설명은 OpenFrame 안내서 중에 “Tibero

HiDB 유틸리티 참조 안내서”의 “DBDGEN”의 내용을 참고한다.

2.3. PSB특정 애플리케이션은 데이터베이스에 저장되어 있는 모든 세그먼트와 필드를 다 사용할 필요가 없다. 그

리고 특정 애플리케이션은 보안상의 이유나 통합 관리의 목적으로 특정 세그먼트나 필드에 접근이 허용

되지 않아야 하는 경우도 있다.

데이터베이스 관리자는 PSB(Program Specification Block)를 코딩하고 컴파일 함으로써 특정 애플리케이

션이 데이터베이스의 어떤 세그먼트와 필드는 읽을 수 있고, 또 해당 세그먼트에 대해 어떤 작업을 수행할

수 있는지에 대한 통제를 할 수 있다. PSB는 데이터베이스의 세그먼트에 대한 애플리케이션의 접근방법

을 기술하는 매크로 어셈블러 명령어의 집합이다. 하나의 PSB는 하나 이상의 PCB(Program Communication

Block)로 구성되어 있고, 각각의 PCB는 관련된 데이터베이스를 읽거나 사용할 수 있는 애플리케이션의

권한을 기술한다.

애플리케이션은 애플리케이션이 사용하는 PSB에 여러 개의 PCB를 가짐에 따라, 같은 데이터베이스에

대한 여러 가지 다른 뷰를 가질 수 있고, 동시에 여러 데이터베이스에 대한 접근을 할 수도 있다.

참고

데이터베이스에 대한 애플리케이션의 권한을 기술하는 데이터베이스 PCB 이외에 Alternate PCB라

고 불리는 다른 종류의 PCB가 있다. Alternate PCB는 온라인 프로그램에서 Alternate Message

Destination을 기술하는 데에 사용된다.

다음은 PSBGEN 유틸리티 프로그램을 사용해서 PSB 컨트롤 블록 생성 과정에 대한 설명이다.

[그림 2.2] PSB Generation Process

10 Tibero HiDB 안내서

Page 25: 티맥스소프트 -TmaxSoft - Tibero HiDB 안내서 · 2019. 4. 9. · 계층적 데이터베이스 관리 시스템으로 고객의 업무 데이터를 구조적으로 저장하고

작성된 PSB 매크로 어셈블러 스크립트는 PSBGEN 유틸리티 프로그램의 입력으로 사용된다. 이 유틸리

티 프로그램은 어셈블리 컴파일 프로그램으로 PSB 컨트롤 블록을 생성해서 IMS.PSBLIB 시스템 라이브

러리로 복사해 준다. 복사된 PSB 컨트롤 블록은 이후에 데이터베이스를 처리할 때 사용된다.

참고

PSB 컨트롤 블록을 생성하는 방법으로는 PSBGEN 유틸리티 이외에도 ADMPAS 유틸리티 및 psbgen

프로그램을 사용하는 방법이 있다.

다음은 입력 스크립트 문장에 대한 설명이다.

설명구분

2종류의 다른 PCB 문장이 입력 스크립트에 기술될 수 있다. 그 중 1번째 PCB

유형인 Alternate PCB는 온라인 트랜잭션 메시지가 처음에 생성된 장소와는

다른 장소로 보내지기 위한 목적지를 기술한다.

Alternate PCB 문장

Alternate PCB 문장은 입력 스크립트의 맨 앞에 위치해야 한다.

2번째 PCB 유형인 데이터베이스 PCB 문장은 애플리케이션이 접근하려고

하는 데이터베이스의 DBD 이름을 지정해 준다. 더불어 PCB 문장에서는 애

데이터베이스 PCB 문장

플리케이션에서 데이터베이스에 저장되어 있는 세그먼트에 대해 실행 가능

한 작업, 예를 들어 GET, INSERT 또는 REPLACE 등에 대해 정의한다.

이 문장에서 기술되는 데이터베이스는 물리 데이터베이스 혹은 논리 데이터

베이스가 될 수 있다. 애플리케이션에서 접근하는 모든 데이터베이스에 대해

서 독립적인 데이터베이스 PCB가 필요하다.

SENSEG 문장은 애플리케이션에서 볼 수 있는 데이터베이스의 세그먼트 유

형을 정의한다. 각각의 세그먼트에 대해 독립적인 SENSEG 문장이 필요하

다.

SENSEG 문장

SENFLD 문장은 Field-Level Sensitivity 기능과 같이 사용되어야 한다. SENFLD

문장은 애플리케이션에서 볼 수 있는 세그먼트의 필드를 정의한다.

SENFLD 문장

PSBGEN 문장은 PSB의 이름을 지정하고 애플리케이션에 대한 여러 가지

속성을 정의한다. 애플리케이션에 사용된 프로그램 언어 및 I/O 버퍼의 최대

PSBGEN 문장

크기 등의 속성이 정의된다. 입력 스크립트에는 한 개의 PSBGEN 문장이 존

재해야 한다.

PSB 생성 스크립트의 마지막에는 END 문장이 있어야 한다. END 문장은

PSBGEN 어셈블리 컴파일 프로그램에게 입력 스크립트의 마지막이라는 것

을 알려준다.

END 문장

참고

각각의 PSB 생성 스크립트에 대한 보다 자세한 문법적인 설명은 OpenFrame 안내서 중에 “Tibero

HiDB 유틸리티 참조 안내서”의 “PSBGEN”의 내용을 참고한다.

제2장 데이터베이스 관리 11

Page 26: 티맥스소프트 -TmaxSoft - Tibero HiDB 안내서 · 2019. 4. 9. · 계층적 데이터베이스 관리 시스템으로 고객의 업무 데이터를 구조적으로 저장하고

2.4. ACBACBGEN 유틸리티 프로그램은 PSB 컨트롤 블록과 DBD 컨트롤 블록에 있는 정보를 취합하여 ACB(Ap

plication Control Block) 컨트롤 블록을 만들어 낸다. 온라인 애플리케이션에서 HiDB 데이터베이스를 사

용하려면 온라인 서버를 기동하기 전에 반드시 ACB 컨트롤 블록을 생성해야 한다.

참고

Tibero HiDB에서 ACB 컨트롤 블록은 acbgen 프로그램을 사용해서 생성한다.

다음은 ACBGEN 유틸리티 프로그램을 사용해서 ACB 컨트롤 블록 생성 과정에 대한 설명이다.

[그림 2.3] ACB Generation Process

ACB 관리 유틸리티인 ACBGEN 프로그램은 ACB 컨트롤 블록 관리에 필요한 PSB 정보와 DBD 정보를

IMS.PSBLIB 시스템 라이브러리와 IMS.DBDLIB 시스템 라이브러리에서 얻는다.

ACBGEN 유틸리티 프로그램을 사용하면 IMS.PSBLIB 안에 들어있는 모든 PSB에 대해 ACB 컨트롤 블록

을 생성할 수 있다. 또는 특정한 PSB 이름을 지정하거나 특정한 DBD 이름을 지정해서 해당하는 PSB에

대한 ACB 컨트롤 블록을 생성할 수도 있다. 생성된 ACB 컨트롤 블록은 IMS.ACBLIB 시스템 라이브러리

에 저장된다.

특정 온라인 프로그램의 실행이 스케줄 되면 해당 온라인 프로그램에서 사용하는 PSB에 해당하는 ACB

컨트롤 블록이 바로 메모리로 로딩된다. 이렇게 함으로써 특정 온라인 프로그램의 실행을 스케줄 하는 시

간이 절약된다.

12 Tibero HiDB 안내서

Page 27: 티맥스소프트 -TmaxSoft - Tibero HiDB 안내서 · 2019. 4. 9. · 계층적 데이터베이스 관리 시스템으로 고객의 업무 데이터를 구조적으로 저장하고

제3장 DL/I 함수 호출

본 장에서는 DL/I 함수의 사용법에 대해 설명한다.

3.1. DL/I 함수DL/I(Data Language/I)는 COBOL 또는 PL/I 언어로 작성된 애플리케이션에서 HiDB 데이터베이스에 접근

하기 위해 호출하는 인터페이스 모듈이다. 다시 말해, 일반 애플리케이션이 HiDB의 데이터를 조회하거나

갱신하기 위해서는 반드시 DL/I가 제공하는 기능과 형식을 따라 호출하여야 한다.

다음은 COBOL에서 사용하는 DL/I 호출 문장형식이다.

CALL 'CBLTDLI' USING DLI-function

PCB-mask

Segment-io-area

Segment-search-arguments

"CBLTDLI"는 COBOL에서 DL/I를 호출할 때 사용하는 인터페이스 모듈 이름으로 CBLTDA 라는 이름으로

도 동일하게 사용할 수 있으며, 만약 사용언어가 PL/I이라면 PLITDLI 또는 PLITDA로 기술하여 사용한다.

호출과 함께 넘기는 파라미터들은 DL/I 호출 전에 사용할 함수에 적합한 값들로 설정하게 된다. DL/I 호출

은 호출문장과 호출에 필요한 각종 정보를 담고 있는 파라미터들로 구성된다.

다음은 DL/I 호출에 사용되는 파라미터에 대한 설명이다.

설명구분

세그먼트 조회, 삽입, 삭제, 갱신 등 DL/I에서 제공하는 여러 가지 기능 중 애

플리케이션에서 사용하기 원하는 기능을 정의하는 파라미터이다.

DLI-function

애플리케이션에서 DL/I 호출 후 반환되는 상태코드, 세그먼트 이름 등을 담기

위해 정의된 데이터 구조체 파라미터이다.

PCB-mask

세그먼트 조회 후 반환된 데이터가 담기거나 세그먼트의 삽입 또는 갱신을

위한 데이터를 DL/I에 전달하기 위해 사용하는 파라미터 영역이다.

Segment-io-area

조회 또는 처리하기 원하는 특정 세그먼트의 검색 조건을 기술하는 파라미터

로 한 개 이상의 세그먼트 이름과 조건 문장으로 구성된다.

Segment-search-argu

ments

제3장 DL/I 함수 호출 13

Page 28: 티맥스소프트 -TmaxSoft - Tibero HiDB 안내서 · 2019. 4. 9. · 계층적 데이터베이스 관리 시스템으로 고객의 업무 데이터를 구조적으로 저장하고

3.2. DL/I 기능DL/I 호출문장의 첫 번째 파라미터로 DL/I에서 제공하는 여러 가지 기능 중 사용하기 원하는 기능을 설정

한다.

DL/I에서 제공하는 기능은 크게 3가지로 구분할 수 있는데, 세그먼트의 데이터를 조회하는 Get 기능, 데이

터의 내용을 조작하는 Update 기능, 시스템 서비스에 관련한 기타 기능이 있다.

● Get

데이터베이스로부터 세그먼트의 데이터를 조회하기 위해서 사용하는 기능으로 특정 세그먼트 인스턴

스를 조회하는 GU, 순차적 조회를 하는 GN, 부모 세그먼트에 종속된 세그먼트만을 순차적으로 조회하

는 GNP 등이 있다.

설명기능

특정 세그먼트를 직접 조회하여, 순차적 처리의 첫 번째 세그먼트 인

스턴스 위치를 선정할 때 사용한다. 조회대상 조건은 SSA 파라미터

에 기술한다.

GU (Get Unique)

*GHU (Get Hold Unique)

현재 위치에서 계층경로를 따라 다음 세그먼트 인스턴스로 이동하

여 조회한다.

GN (Get Next)

*GHN (Get Hold Next)

GN과 같은 기능을 하며, 설정된 부모 세그먼트의 종속된 세그먼트

내에서만 조회가 이루어진다. 부모 세그먼트는 GU 기능에 의해 조

회된 세그먼트로 사전에 설정된다.

GNP (Get Next in Parent)

*GHNP (Get Hold Next in Parent)

● Update

데이터베이스에 데이터를 삽입하거나 수정 또는 삭제하기 위해서 사용하는 기능으로 특정 데이터를 추

가하는 ISRT, 삭제하는 DELT, 수정하는 REPL가 있다.

설명기능

세그먼트에 새로운 데이터를 추가할 때 사용한다.ISRT (Insert)

세그먼트의 데이터를 삭제할 때 사용한다.DLET (Delete)

세그먼트의 데이터를 변경할 때 사용한다.REPL (Replace)

● 기타

시스템 서비스 관련 기능으로 애플리케이션에서 데이터 체크 포인트를 지정하는 CHKP 기능이 있다.

설명기능

RDB의 부분 Commit과 같은 개념으로 프로그램에서 복구를 위한 시

점을 지정할 때 사용한다. OpenFrame에서는 지원하지 않는다.

CHKP (Symbolic Checkpoint)

14 Tibero HiDB 안내서

Page 29: 티맥스소프트 -TmaxSoft - Tibero HiDB 안내서 · 2019. 4. 9. · 계층적 데이터베이스 관리 시스템으로 고객의 업무 데이터를 구조적으로 저장하고

참고

*H(Hold)문자가 붙은 Get 기능은 세그먼트를 수정(REPL) 또는 삭제(DLET)하기 전 사용되는 기능으

로 REPL과 DLET 기능을 호출하기 전에 반드시 H문자가 붙은 Get 기능을 사용하여 세그먼트를 조

회해야 한다. 왜냐하면 다른 사용자로 인해 해당 데이터가 수정 또는 삭제되지 않도록 Lock을 설정

하기 위해서이다.

3.3. PCB MaskIMS 시스템에서는 애플리케이션의 DL/I 함수 호출에 대한 여러 가지 결과정보를 PCB에 설정한다. 애플

리케이션은 PCB 구조를 담고 있는 PCB Mask를 포함하여 PCB Mask의 각 필드를 참조함으로써 DL/I 호

출에 대한 성공 또는 실패 여부를 확인할 수 있다.

DL/I 호출의 두 번째 파라미터인 PCB Mask는 Database name, Segment level number, Status Code 등

총 9개의 항목으로 구성되며 그 중 5개의 항목을 개발자가 참조하게 된다. 특히 Status Code는 DL/I 호출

에 대한 처리결과 코드가 저장되는 항목으로 애플리케이션에서 처리결과에 따른 작업을 분기할 때 비교

대상으로 빈번하게 사용되는 항목이다.

나머지 segment level number 또는 segment name 항목은 DL/I가 최종적으로 작업한 세그먼트의 정보가

담기게 되므로 unqualified GN 또는 GNP 호출에서 마지막으로 조회한 세그먼트를 알 수 있으며, 에러가

발생한 경우에도 이를 참조하여 에러 대상 세그먼트를 파악할 수 있다.

다음은 COBOL 프로그램에서 구현한 PCB Mask의 한 예를 보여준다.

01 SEGMENT1-PCB-MASK.

05 SPCB-DBD-NAME PIC X(8).

05 SPCB-SEGMENT-LEVEL PIC X(2).

05 SPCB-STATUS-CODE PIC X(2).

05 SPCB-PROC-OPTIOINS PIC X(4).

05 FILLER PIC S9(5) COMP.

05 SPCB-SEGMENT-NAME PIC X(8).

05 SPCB-KEY-LENGTH PIC S9(5) COMP.

05 SPCB-NUMB-SENS-SEGS PIC S9(5) COMP.

05 SPCB-KEY PIC X(11).

다음은 PCB Mask의 필드 구성에 대한 내용을 정리한 표이다.

설명길이(Byte)필드명

접근한 세그먼트가 속해 있는 데이터베이스의 이름이 담긴다.8Database name

데이터베이스 내의 현재 세그먼트 레벨 번호이다. 접근한 세그

먼트가 루트 세그먼트일 경우 "01"이 담긴다.

2Segment level number

DL/I 호출 후 function 처리결과에 대한 상태코드가 설정된다.

자세한 내용은 "Status Code"를 참고한다.

2Status Code

제3장 DL/I 함수 호출 15

Page 30: 티맥스소프트 -TmaxSoft - Tibero HiDB 안내서 · 2019. 4. 9. · 계층적 데이터베이스 관리 시스템으로 고객의 업무 데이터를 구조적으로 저장하고

설명길이(Byte)필드명

프로그램이 발생시킬 수 있는 호출 타입에 대한 코드가 설정된

다. 프로그램이 어떤 처리가 가능한지 알려주는 코드로 PSBGEN

시 PROCOPT 파라미터로 지정한 값이 전달된다.

4Processing options

IMS가 내부적으로 사용하는 필드로 애플리케이션에서는 사용

하지 않는다.

4Reserved for IMS

정상적으로 호출이 종료된 경우 접근했던 세그먼트 중 가장 마

지막 세그먼트 이름이 설정된다. 호출이 실패한 경우는 요청한

세그먼트의 가장 마지막 세그먼트 이름이 담긴다.

8Segment name

Key feedback area의 현재 길이가 담긴다.4Length of key

바이너리 필드로 애플리케이션이 감지할 수 있는 세그먼트 타

입의 번호가 담긴다.

4Number of sensitive seg

ments

조회 또는 삽입될 때 접근한 세그먼트의 연쇄키(Concatenated

key)가 담긴다.

var lengthKey feedback area

연쇄키는 접근한 모든 레벨의 세그먼트 키 필드 값을 순차적으

로 조합한 키를 의미한다.

Status Code

Status Code는 DL/I 호출의 처리 결과에 대한 정보를 알려주는 Code로서 애플리케이션에서 이를 참조하

여 적절한 처리를 진행한다. DL/I 호출이 정상적으로 처리를 완료하면 공백의 값을 반환한다.

다음은 주요 Status Code에 대한 설명이다.

● GA

최하위 레벨의 세그먼트 레코드를 다 읽고 다음 상위 세그먼트를 읽기 전에 반환되는 코드로 Qualified

호출에서는 발생하지 않는다. 최하위 계층 세그먼트의 인스턴스가 더 이상 존재하지 않는 경우 발생하

며 처리에는 영향이 없는 정보성 Code이다.

● GB

순차적 조회될 때 계층경로를 따라 모든 데이터를 조회하고 데이터베이스 끝에 다다른 경우 반환되는

Code이다. 데이터베이스의 끝을 알리는 Code로 GN에서는 발생하나 GNP에서는 발생하지 않는다.

● GE

제시한 조건에 일치하는 세그먼트 인스턴스를 찾지 못한다.

● GK

16 Tibero HiDB 안내서

Page 31: 티맥스소프트 -TmaxSoft - Tibero HiDB 안내서 · 2019. 4. 9. · 계층적 데이터베이스 관리 시스템으로 고객의 업무 데이터를 구조적으로 저장하고

Unqualified GN 또는 GNP를 호출하는 경우 동일한 계층 레벨에서 다른 세그먼트 타입이 발견되었을

때 반환되는 코드이다. 동일 레벨에서 다른 타입의 세그먼트가 조회된 경우에 발생하며 처리에는 영향

을 주지 않는 정보성 Code이다.

여기서 GA와 GK는 처리가 성공적으로 완료된 경우에 반환되는 정보성 Status Code이다. Status Code 중

GA와 GB는 자주 반환되는 Code이므로 개념을 잘 이해할 필요가 있다.

다음은 각 함수별로 반환되는 주요 Status Code를 정리한 표이다.

ISRTREPL/DLETGNP/GHNPGN/GHNGU/GHU

−−○○−GA

−−−○−GB

−−○○○GE

−−○○−GK

참고

Status Code에 대한 더 자세한 사항은 앞의 "Status Code"를 참고한다.

3.4. SSASSA(Segment search argument)는 DL/I 호출에 대한 처리과정에서 필요한 조건 정보를 담고 있는 파라미

터로 RDB의 WHERE 절과 같은 기능을 하는 것으로 이해하면 된다.

DL/I이 호출될 때 SSA 내에 1개 이상의 조건문장 존재여부에 따라 Unqualified 호출과 Qualified 호출로 분

류된다.

Unqualified SSAs

접근하기 원하는 세그먼트의 이름만 지정한 경우이다. 세그먼트 이름의 최대 길이는 8Byte로 끝에 1개의

공백을 추가로 붙인다. 만약 세그먼트 이름이 8Byte보다 작으면 나머지 부분은 공백으로 채운다.

형식은 아래와 같다.

[그림 3.1] Unqualified SSA Format

제3장 DL/I 함수 호출 17

Page 32: 티맥스소프트 -TmaxSoft - Tibero HiDB 안내서 · 2019. 4. 9. · 계층적 데이터베이스 관리 시스템으로 고객의 업무 데이터를 구조적으로 저장하고

다음은 COBOL 프로그램에서 구현한 Unqualified SSA의 예이다.

01 UNQUALIFIED-SSA.

05 UNQUAL-SSA-SEGMENT-NAME PIC X(08).

05 FILLER PIC X VALUE SPACE.

Qualified SSAs

특정한 값을 가진 세그먼트에 접근하기 위해서는 필드에 대한 조건문을 기술한 Qualified SSA를 사용한

다. 형식은 아래와 같다.

[그림 3.2] Qualified SSA Format

● 세그먼트 이름

접근하려는 세그먼트의 이름을 지정한다.

● 필드 이름

조건의 비교 대상이 되는 세그먼트의 필드 이름을 지정한다. 필드 이름은 DBD 스크립트의 FIELD에 기

술한 필드명과 일치해야 한다.

● 관계 연산자

지정한 필드와 검색 값 간의 관계를 나타내는 연산자를 지정한다.

연산자의 길이는 2Byte이며 지정할 수 있는 연산자는 다음과 같다.

연산자관계

EQ일치 (Equal to)

=□

□=

NE불일치 (Not equal to)

^=

=^

GT초과 (Greater than)

>□

18 Tibero HiDB 안내서

Page 33: 티맥스소프트 -TmaxSoft - Tibero HiDB 안내서 · 2019. 4. 9. · 계층적 데이터베이스 관리 시스템으로 고객의 업무 데이터를 구조적으로 저장하고

연산자관계

□>

GE이상 (Greater than or equal to)

>=

=>

LT미만 (Less than)

<□

□<

LE이하 (Less than or equal to)

<=

=<

참고

□는 1Byte의 공백을 의미한다.

● 검색 값

필드명에 대응되는 값으로 지정한 값을 기준으로 하여 관계연산처리를 하게 된다.

다음은 COBOL 프로그램에서 구현한 Qualified SSA의 예이다.

01 SEGMENT-SSA.

05 FILLER PIC X(9) VALUE 'SEGMENT1('.

05 FILLER PIC X(10) VALUE 'SEG1CODE ='.

05 SEG1-SSA-CODE PIC X(3).

05 FILLER PIC X VALUE ')'.

Command Code

SSA 내의 지정된 위치에 Command Code를 설정하면 DL/I 함수의 다양한 기능을 확장하여 사용할 수 있

다. Command Code는 1개의 문자로 나타내며 SSA 내의 세그먼트 이름 다음 위치인 9Byte위치에 Command

Code 지시자인 애스터리스크(*)를 설정하고 나서 10Byte 위치에 사용하기 원하는 Command Code를 설

정한다. Command Code는 unqualified SSA와 qualified SSA에 모두 사용할 수 있으며 사용형식은 아래와

같다.

제3장 DL/I 함수 호출 19

Page 34: 티맥스소프트 -TmaxSoft - Tibero HiDB 안내서 · 2019. 4. 9. · 계층적 데이터베이스 관리 시스템으로 고객의 업무 데이터를 구조적으로 저장하고

[그림 3.3] Unqualified SSA Format with a single Command Code

[그림 3.4] Qualified SSA Format with a single Command Code

다음은 COBOL 프로그램에서 Command Code를 사용하여 unqualified SSA를 구현한 예이다.

01 UNQUALIFIED-SSA.

05 UNQUAL-SSA-SEGMENT-NAME PIC X(08).

05 FILLER PIC X VALUE “*”.

05 UNQUAL-SSA-COMMAND-CODE PIC X VALUE “-”.

05 FILLER PIC X VALUE SPACE.

다음은 사용 가능한 Command Code의 목록이다.

설명코드

여러 세그먼트의 키 필드 값을 연속적으로 지정한 연쇄키를 사용하여 데이터를 조회하거

나 또는 삽입 처리를 한다.

C

Path call이라고도 불리며, 계층 경로를 따라 지정한 세그먼트에 순차적으로 접근하고 접

근한 모든 세그먼트의 데이터를 I/O 영역에 차례로 반환한다.

D

세그먼트의 1번째 위치를 의미하며 조회나 삽입 처리의 경우 세그먼트의 맨 처음 위치에

서 지정한 작업을 수행한다.

F

세그먼트의 마지막 위치를 의미하며 조회나 삽입 처리의 경우 세그먼트의 맨 마지막 위

치에서 지정한 작업을 수행한다.

L

Subset 포인터를 다음 세그먼트 인스턴스로 이동시킨다.*M

REPL를 호출하는 경우 사용되는 Command Code로 D Command Code에 의해 path call

로 조회된 데이터의 갱신 방지를 목적으로 사용된다.

N

20 Tibero HiDB 안내서

Page 35: 티맥스소프트 -TmaxSoft - Tibero HiDB 안내서 · 2019. 4. 9. · 계층적 데이터베이스 관리 시스템으로 고객의 업무 데이터를 구조적으로 저장하고

설명코드

특정 세그먼트에 parentage를 설정하여 GNP 호출 시 사용할 수 있도록 해준다. 일반적

으로 접근한 세그먼트 중 최하위 레벨의 세그먼트가 parentage로 설정되나 P Command

Code를 사용하여 그보다 상위 레벨의 세그먼트를 parentage로 설정할 수 있다.

P

조회한 세그먼트의 내용을 다른 프로그램에서 갱신하는 것을 방지하는 목적으로 쓰인다.Q

1번째 subset이 가리키는 세그먼트 데이터를 조회한다.*R

현재 위치를 무조건적으로 subset 포인터에 설정한다.*S

현재의 세그먼트 위치를 유지시킨다. 세그먼트를 조회할 경우 원하는 데이터가 나오거나

더 이상의 데이터가 존재하지 않을 때까지 현재 세그먼트 위치가 계층구조에 따라 움직

이게 되나 U Command Code를 지정한 세그먼트는 현재 위치를 유지한다.

U

U Command Code와 기본적으로 동일한 기능을 하나 V Command Code를 지정한 세그

먼트의 상위레벨 세그먼트의 위치도 유지시킨다.

V

Subset 포인터가 아직 설정되지 않은 경우 현재위치로 설정한다.*W

Subset 포인터를 0으로 초기화하여 재사용될 수 있도록 한다.*Z

Null Command Code로 Command Code를 하이픈(-)으로 설정하게 되면 Unqualified SSA

로 처리한다. 프로그램 중간에 Command Code를 재설정하여 원하는 작업을 처리할 수

도 있다.

참고

애스터리스크(*)가 붙은 코드는 DEDB에서만 사용된다.

다음의 표는 Command Code별로 사용 가능한 DL/I 함수를 정리한 것이다.

DLETISRTREPLGNP/GHNPGN/GHNGU/GHU

−○−○○○C

−○−○○○D

−○−○○○F

−○○○○○L

−○○○○○M

−−○−−−N

−○−○○○P

−○−○○○Q

−−−−−○R

−○○○○○S

−○−○○○U

−○−○○○V

제3장 DL/I 함수 호출 21

Page 36: 티맥스소프트 -TmaxSoft - Tibero HiDB 안내서 · 2019. 4. 9. · 계층적 데이터베이스 관리 시스템으로 고객의 업무 데이터를 구조적으로 저장하고

DLETISRTREPLGNP/GHNPGN/GHNGU/GHU

−○○○○○W

○○○○○○Z

○○○○○○―

다중 조건 문장

SSA 내에서 Boolean 연산자를 각 조건문 사이에 넣어 여러 개의 조건문들을 연결하여 사용할 수 있다.

연산자관계

& 또는 *AND (2개 이상의 조건에 만족하는 경우)

| 또는 +OR (1개 이상의 조건에 만족하는 경우)

다음은 COBOL 프로그램에서 다중 조건 문장을 사용한 SSA를 구현한 예이다.

01 SEGMENT1-SSA.

05 FILLER PIC X(9) VALUE ‘SEGMENT1(‘.

05 FILLER PIC X(10) VALUE ‘SEG1CODE>=‘.

05 SEG1-SSA-LOW-CODE PIC X(3).

05 FILLER PIC X VALUE ‘&‘.

05 FILLER PIC X(10) VALUE ‘SEG1CODE<=‘.

05 SEG1-SSA-HIGH-CODE PIC X(3).

05 FILLER PIC X VALUE ‘)‘.

22 Tibero HiDB 안내서

Page 37: 티맥스소프트 -TmaxSoft - Tibero HiDB 안내서 · 2019. 4. 9. · 계층적 데이터베이스 관리 시스템으로 고객의 업무 데이터를 구조적으로 저장하고

제4장 액세스 메소드

HiDB 데이터베이스를 구성하는 세그먼트 인스턴스, 데이터베이스 레코드 등은 HSAM, HDAM, DEDB 등

과 같은 데이터베이스 액세스 메소드에 따라 물리적으로 다르게 구성된다. 이 중에 하나의 액세스 메소드

를 선택하는 것은 애플리케이션에서 사용할 수 있는 기능과 순차적으로 데이터가 획득되는 순서, 그리고

애플리케이션의 데이터 처리 성능 등에 영향을 미치게 된다.

본 장에서는 HiDB 시스템에서 지원하는 데이터베이스 액세스 메소드에 대해서 설명한다.

4.1. HSAMHSAM(Hierarchical Sequential Access Method) 데이터베이스는 순차적인 방법을 사용해서 데이터에 접

근한다. 모든 데이터베이스 레코드들과 세그먼트 인스턴스들은 스토리지에 저장될 때 계층 순서대로 물

리적으로 인접하게 저장된다.

HSAM 데이터베이스는 테이프 디바이스나 디스크 디바이스 어떤 곳에도 저장될 수 있고, 데이터 셋 액세

스 메소드로 BSAM(Basic Sequential Access Method)이나 QSAM(Queued Sequential Access Method)을

사용한다.

HSAM 데이터 셋은 루트 세그먼트의 오름차순 키 순서대로 그리고 하위 세그먼트의 계층 순서대로 로딩

된다. HSAM 데이터베이스의 루트 세그먼트 키 필드는 꼭 정의할 필요는 없다. 하지만, 데이터베이스 로

딩 프로그램에게 로드되는 순서대로 세그먼트 데이터를 전달해 주어야 한다.

HSAM 데이터베이스는 데이터베이스의 전체 내용을 다시 작성함으로써 데이터베이스 내용을 갱신할 수

있다. 세그먼트 삭제(DLET)와 변경(REPL) 함수는 허용되지 않고, 삽입(ISRT) 함수는 데이터베이스가 로

딩될 때에만 사용이 허용된다.

다음과 같은 기능은 HSAM 데이터베이스에서 허용되지 않는다.

● Multiple Data Set Groups

● Logical Relationship

● Secondary Indexing

● Variable-Length Segments

HSAM 데이터베이스는 원시적인 데이터 처리 특성 때문에 사용에 많은 제약이 있지만, 순차 처리만을 요

구하는 간단한 애플리케이션에서 사용될 수 있다. 예를 들면 자주 사용되지 않는 감사 정보, 통계 보고 등

의 데이터 저장을 위해서나 삭제된 메인 데이터베이스의 데이터 백업 용도로 사용될 수 있다.

제4장 액세스 메소드 23

Page 38: 티맥스소프트 -TmaxSoft - Tibero HiDB 안내서 · 2019. 4. 9. · 계층적 데이터베이스 관리 시스템으로 고객의 업무 데이터를 구조적으로 저장하고

4.2. HISAM(SHISAM)HSAM 데이터베이스와 같이 HISAM(Hierarchical Indexed Sequential Access Method) 데이터베이스도

각각의 데이터베이스 레코드 안에서 세그먼트 인스턴스들은 스토리지에 저장될 때, 계층 순서대로 물리

적으로 인접하게 저장된다. 하지만 각각의 HISAM 데이터베이스 레코드에는 인덱스가 걸려 있어, 데이터

베이스 레코드에 대한 직접 접근이 가능하다.

HISAM 데이터베이스를 정의할 때에는 루트 세그먼트에 유일한 값을 가지는 순차 필드를 정의해야 한다.

이 순차 필드의 값을 가지고 루트 세그먼트를 찾을 수 있는 인덱스를 구성하게 된다.

HISAM 데이터베이스는 디스크 디바이스에만 저장되고, 데이터 셋 액세스 메소드로는 VSAM 기술이 사

용된다. HSAM 데이터베이스와는 달리 HISAM 데이터베이스에서는 모든 DL/I 함수를 사용할 수 있고, 아

래와 같은 기능을 사용할 수 있다.

● Logical Relationship (지원예정)

● Secondary Indexing (지원예정)

● Variable-Length Segments

● Field-Level Sensitivity

HISAM 데이터베이스는 데이터베이스 레코드에 대한 직접 접근이 필요하면서 데이터베이스 레코드 안에

있는 세그먼트들은 순차적으로 처리하는 업무 프로그램에 가장 잘 맞는다.

SHISAM(Simple HISAM)데이터베이스는 HISAM 데이터베이스의 기능적 서브셋이라 할 수 있다. 기본적

인 작동 방식은 HISAM 데이터베이스와 동일하나 SHISAM 데이터베이스의 경우 오직 하나의 루트 세그

먼트 타입만 가진다. SHISAM 데이터베이스의 세그먼트는 HISAM과 달리 세그먼트 코드나 삭제 바이트

같은 Prefix 정보를 가지지 않으며 VSAM KSDS로만 구성된다.

다음의 특성을 갖는 업무에는 HISAM 데이터베이스를 사용하는 것이 좋다.

● 대부분의 데이터베이스 레코드가 같은 크기를 갖는 경우

● 루트 세그먼트 아래에 연결된 하위 세그먼트의 개수가 적은 경우

● 적재되고 나서 루트 세그먼트가 빈번하게 추가되지 않는 경우

● 데이터베이스 레코드의 삭제가 많지 않은 경우

24 Tibero HiDB 안내서

Page 39: 티맥스소프트 -TmaxSoft - Tibero HiDB 안내서 · 2019. 4. 9. · 계층적 데이터베이스 관리 시스템으로 고객의 업무 데이터를 구조적으로 저장하고

4.3. HDAM/HIDAMHDAM(Hierarchical Direct Access Method) 데이터베이스와 HIDAM(Hierarchical Indexed Direct Access

Method) 데이터베이스는 서로 비슷한 점이 많아, 둘 다 HD 데이터베이스라고 불린다. HD 데이터베이스

는 2가지 측면에서 순차적으로 구성된 데이터베이스와 구분된다.

1. 데이터를 저장할 때 직접적인 방법을 사용한다.

데이터베이스 안에 있는 세그먼트들의 계층 순서를 관리하는데 다른 세그먼트를 가리키는 포인터를 사

용한다. 각각의 세그먼트는 세그먼트 데이터의 앞 부분에 여러 개의 주소 포인터를 가지고 있다. 세그

먼트 인스턴스는 한번 스토리지에 저장되면 그 이후의 데이터 프로세싱 과정에서 저장된 위치가 변경

되지 않는다. 대신 프로세싱 결과를 반영하기 위해 포인터의 값이 변경된다.

2. HD 데이터베이스는 HD 데이터베이스에 사용된 스토리지 공간이 재사용될 수 있다는 점에서 순차적으

로 구성된 데이터베이스와 구분된다. 만약 특정 데이터베이스 레코드가 삭제되면 삭제된 데이터베이스

레코드 스페이스는 다른 데이터베이스 레코드가 삽입될 때 재사용될 수 있다.

HD 데이터베이스는 디스크 디바이스에만 저장되고, 데이터 셋 액세스 메소드로는 VSAM ESDS 데이터

셋이 사용된다.

스토리지 관리 기법은 HDAM 데이터베이스나 HIDAM 데이터베이스와 비슷하다. 두 데이터베이스의 가장

큰 차이점은 루트 세그먼트가 접근되는 방식이다. HDAM 데이터베이스에서는 Randomizer 라고 불리는

모듈을 사용해서 루트 세그먼트의 위치를 찾는다. 하지만, HIDAM 데이터베이스에서는 인덱스를 검색함

으로써 루트 세그먼트의 위치를 찾는다. HDAM 데이터베이스의 장점은 인덱스를 검색하기 위한 I/O 작업

을 하지 않아도 된다는 점이다.

HD 데이터베이스를 사용하는 경우에 모든 DL/I 함수를 사용할 수 있고, 다음과 같은 기능도 사용할 수 있

다.

● Multiple Data Set Group

● Logical Relationship

● Secondary Indexing

● Variable-Length Segments

● Field-Level Sensitivity

HDAM 데이터베이스는 데이터베이스 레코드에 대한 직접적인 접근이 요구될 때 사용된다. HDAM 데이터

베이스에서 사용되는 Randomizer 모듈은 루트 세그먼트에 접근하는 가장 빠른 방법을 제공한다.

HIDAM 데이터베이스는 데이터베이스 레코드에 대한 직접적인 접근과 순차적인 접근이 모두 필요할 때

사용된다. 루트 세그먼트에 대한 접근은 HDAM 데이터베이스처럼 빠르지는 않지만 인덱스에 루트 세그

제4장 액세스 메소드 25

Page 40: 티맥스소프트 -TmaxSoft - Tibero HiDB 안내서 · 2019. 4. 9. · 계층적 데이터베이스 관리 시스템으로 고객의 업무 데이터를 구조적으로 저장하고

먼트의 키 순서대로 루트 세그먼트의 주소가 관리되기 때문에 데이터베이스 레코드들을 순차적으로 처리

할 수 있다.

4.4. DEDBDEDB(Data Entry Database)는 127개까지의 세그먼트 유형을 지원하는 계층형 데이터베이스이다. 선택

적으로 사용할 수 있는 순차 종속 세그먼트가 정의되면, 최대 125개의 직접 종속 세그먼트 유형이 한 DEDB

에 정의될 수 있다. DEDB 데이터베이스는 15개 깊이의 계층 레벨을 지원한다.

특정 AREA에 추가되는 순차 종속 세그먼트는 자신이 속한 루트 세그먼트와는 상관없이 입력된 순서대로

저장된다. 나머지 직접 종속 세그먼트는 빠른 접근을 위해 HD 데이터베이스와 마찬가지로 계층적인 방법

으로 저장된다.

원래 Mainframe DEDB 데이터베이스는 대용량 데이터에 대한 효율적인 스토리지 기법과 해당 데이터에

대한 고 가용성을 제공하기 위해 개발되었다.

Mainframe DEDB 데이터베이스는 다음과 같은 3가지 특징을 갖는다.

● Area Format

DEDB에서는 AREA라고 불리는 다중 데이터 셋을 사용할 수 있다. 하나의 DEDB 레코드는 여러 AREA

에 걸쳐서 저장되지 않는다. 즉, 루트 세그먼트와 모든 하위 세그먼트는 하나의 AREA에 지정되어 저장

된다. 하나의 DEDB는 최대 240개까지의 AREA로 나뉘어 질 수 있다. Tibero HiDB에서도 Area Format

을 지원한다.

● Area Data Set Replication (미지원)

DEDB에서는 고가용성을 위해 하나의 AREA를 구성하는 데이터 셋을 최대 7개까지 동시에 같은 데이

터를 유지하도록 관리할 수 있다. 이 기능은 Tibero HiDB에서는 지원하지 않는다.

● Record Deactivation (미지원)

애플리케이션이 DEDB를 갱신하다가 오류가 발생한 경우에, DEDB는 오류가 발생한 해당 데이터 블록

만 다른 애플리케이션이 사용하지 못하게 함으로써, 굳이 데이터베이스를 중단하거나, 특정 AREA를

중단하지 않아도 계속 시스템을 운용할 수 있게 할 수 있다. Tibero HiDB에서는 이 기능을 지원하지 않

는다.

아래는 데이터베이스 유형에 따른 데이터 셋 액세스 메소드를 정리한 표이다.

데이터 셋 액세스 메소드데이터베이스 유형

BSAM, QSAMHSAM

VSAM KSDS (VSAM ESDS)HISAM(SHISAM)

VSAM ESDSHDAM/HIDAM

VSAM ESDSDEDB

26 Tibero HiDB 안내서

Page 41: 티맥스소프트 -TmaxSoft - Tibero HiDB 안내서 · 2019. 4. 9. · 계층적 데이터베이스 관리 시스템으로 고객의 업무 데이터를 구조적으로 저장하고

제5장 고급 기능

사용자 애플리케이션의 처리에 가장 잘 맞는 HiDB 데이터베이스 유형을 결정했다면, 이번 장에서는 HiDB

의 부가적인 고급 기능을 사용할 것인지에 대해 결정해야 한다.

이번 장에서는 HiDB의 고급 기능인 Logical Relationship과 Secondary Indices에 대해서 설명한다.

5.1. Logical RelationshipHiDB 시스템에서는 Logical Relationship을 통해서 물리적으로 서로 다른 2개의 데이터베이스를 같이 연

결해서 사용할 수 있는 기능을 제공한다. 이렇게 함으로써 Logical Relationship에 포함되어 있는 특정 세

그먼트에 대해 부가적인 접근 방법을 제공하는 새로운 계층 구조가 정의된다.

데이터베이스 관리자는 Logical Relationship에 참여하는 물리 데이터베이스를 사용해서 논리 데이터베이

스라고 불리는 새로운 데이터베이스를 정의한다. 논리 데이터베이스는 애플리케이션에게 앞서 언급한 새

로운 계층 구조에 대한 형식을 제공한다.

다음은 데이터베이스를 애플리케이션에서 자주 사용하는 데이터 접근 방법에 따라 설계 단계에서 PART

데이터베이스와 ORDER 데이터베이스 2개의 물리적인 데이터베이스로 구현한 예이다.

[그림 5.1] Relationship Between Two Physical Databases

하지만 특정 애플리케이션에서는 PART 데이터베이스의 PART 세그먼트와 ORDER 데이터베이스의

DETAIL 세그먼트 사이의 관계를 사용할 필요가 있을 것이다. 따라서 PART 데이터베이스와 ORDER 데

이터베이스 사이에 Logical Relationship을 정의한다.

Logical Relationship을 정의하는 기본적인 방법은 양쪽 데이터베이스에 모두 관계가 있는 특정 세그먼트

를 다른 데이터베이스에 있는 논리 부모 세그먼트와 연결함으로써 논리 자식 세그먼트로 지정하는 것이

다. 이렇게 지정하면 논리 자식 세그먼트는 부모 세그먼트로 물리 부모 세그먼트와 논리 부모 세그먼트의

2개의 부모 세그먼트를 갖게 된다.

제5장 고급 기능 27

Page 42: 티맥스소프트 -TmaxSoft - Tibero HiDB 안내서 · 2019. 4. 9. · 계층적 데이터베이스 관리 시스템으로 고객의 업무 데이터를 구조적으로 저장하고

다음 그림에서 보면 논리 자식 세그먼트인 DETAIL 세그먼트의 인스턴스가 1개 추가되면, 2개의 계층 구

조에 모두 참여하게 된다. DETAIL 세그먼트 인스턴스는 동시에 물리 부모 세그먼트인 ORDER 세그먼트

그리고 논리 부모 세그먼트인 PART 세그먼트를 갖는다.

[그림 5.2] Two Logically Related Physical Databases

부가적인 2개의 논리 데이터베이스를 정의함으로써, 다음 그림과 같이 새로운 2개의 논리 데이터 구조를

얻을 수 있다. 이 새로운 데이터 구조는 한 애플리케이션에서 동시에 같이 사용될 수도 있다.

[그림 5.3] Two Additional Logical Databases

[그림 5.3]에 표시된 DETAIL/PART 세그먼트는 연쇄 세그먼트(Concatenated Segment)라고 불린다. 이

세그먼트는 논리 자식 세그먼트와 논리 부모 세그먼트를 연결해서 만들어진 세그먼트이다. [그림 5.3]에

표시된 DETAIL/ORDER 세그먼트도 역시 연쇄 세그먼트이다. 하지만 이번에는 논리 자식 세그먼트와 물

리 부모 세그먼트를 연결해서 만들어진 세그먼트이다. 같은 논리 부모 세그먼트 인스턴스를 갖는 논리 자

식 세그먼트 인스턴스들을 논리 트윈 세그먼트라고 부른다.

28 Tibero HiDB 안내서

Page 43: 티맥스소프트 -TmaxSoft - Tibero HiDB 안내서 · 2019. 4. 9. · 계층적 데이터베이스 관리 시스템으로 고객의 업무 데이터를 구조적으로 저장하고

논리 자식 세그먼트는 2가지 다른 접근경로를 통해 접근될 수 있다. 하나는 물리 부모 세그먼트를 통해서

접근하는 방식이고, 다른 하나는 논리 부모 세그먼트를 통해서 접근하는 방식이다.

HiDB 시스템에서 Logical Relationship을 사용하는 이유는 다음과 같다.

● Logical Relationship은 애플리케이션에게 특정한 세그먼트를 접근하는 기본 접근경로 이외의 다른 접

근경로를 제공해 준다. 예를 들면, 한 물리 데이터베이스의 특정 세그먼트에서 다른 물리 데이터베이스

의 연관된 세그먼트로 바로 접근할 수 있는 방법을 제공한다.

● Logical Relationship은 애플리케이션을 위한 대체 계층 데이터 구조를 제공한다. 그래서 애플리케이션

은 자신의 목적에 적합하게 물리 데이터베이스의 데이터를 바라보는 관점을 가지고 데이터를 처리할

수 있다.

● Logical Relationship은 HiDB로 하여금 물리적으로 분리된 2개의 데이터베이스의 연관된 세그먼트의

관계를 강제적으로 유지시켜 준다. 예를 들면, 논리 자식 세그먼트가 있는 경우, 논리 부모 세그먼트를

삭제할 수 없게 설정하거나, 논리 부모 세그먼트가 없는데, 논리 자식 세그먼트를 삽입하지 못하게 설정

할 수 있다.

하지만 Logical Relationship을 사용하면, Logical Relationship에 사용되는 포인터를 관리하는데 성능지연

사유가 발생할 수 있고, 데이터베이스를 재편성하는 경우에 논리적으로 연결된 다른 데이터베이스도 같

이 재편성되어야 한다.

따라서, Logical Relationship을 사용하기 전에 Logical Relationship을 사용함으로써 발생하는 성능 문제

와 관리업무 증가 등을 충분히 고려해서 사용을 결정해야 한다.

제5장 고급 기능 29

Page 44: 티맥스소프트 -TmaxSoft - Tibero HiDB 안내서 · 2019. 4. 9. · 계층적 데이터베이스 관리 시스템으로 고객의 업무 데이터를 구조적으로 저장하고

5.2. Secondary IndicesHiDB 시스템은 Secondary Index 데이터베이스를 사용해서 특정 세그먼트에 접근하는 부가적인 방법을

제공한다. 각각의 Secondary Index는 루트 세그먼트 키를 이용해서 데이터베이스 레코드에 접근하는 방

식 이외의 서로 다른 접근방식을 제공한다. 이렇게 접근하는 방식은 일반적으로 데이터를 보다 빨리 얻을

수 있도록 해준다.

다음 그림과 같이 PART 세그먼트와 ORDER 세그먼트는 ORDER 세그먼트에 저장되어 있는 ORDER

NUMBER를 기준으로 빨리 접근될 수 있다.

[그림 5.4] A Database with secondary index database

Secondary Index는 HiDB 시스템에 Secondary Index 데이터베이스를 정의함으로써 구현할 수 있다. 이

데이터베이스에는 Secondary Index 키를 주요 키로 하고 메인 데이터베이스에 있는 특정 세그먼트를 가

리키는 포인터가 저장된다.

Secondary Index를 구현하는데 사용되는 용어는 다음과 같다.

설명용어

Index Source 세그먼트는 ORDER NUMBER 등과 같은 인덱스 키가 데이터

필드로 저장되어 있는 메인 데이터베이스 세그먼트를 의미한다.

Index Source

Index Pointer 세그먼트는 메인 데이터베이스의 Index Target 세그먼트를 가

리키는 인덱스 데이터베이스의 세그먼트를 의미한다. Index Pointer 세그먼

트는 Index Source 세그먼트에서 취한 필드 데이터를 키로 저장한다.

Index Pointer

Index Target 세그먼트는 Secondary Index 기능에 의해 처음으로 접근되는

메인 데이터베이스의 세그먼트를 의미한다.

Index Target

Secondary Index의 키는 한 개에서 다섯 개까지의 Index Source 세그먼트의

필드로 구성된다. 이렇게 조합되는 검색 필드는 반드시 유일할 필요는 없지

만, 오버헤드를 줄이기 위해 유일한 값을 가지도록 만드는 것을 권장한다.

30 Tibero HiDB 안내서

Page 45: 티맥스소프트 -TmaxSoft - Tibero HiDB 안내서 · 2019. 4. 9. · 계층적 데이터베이스 관리 시스템으로 고객의 업무 데이터를 구조적으로 저장하고

아래는 검색 필드의 뒤에 붙여져서 검색 필드가 유일한 값을 갖도록 만들어주는 시스템 필드들이다.

설명필드

Index Source 세그먼트를 유일하게 정의해 주는 시스템 변수이다./SX 변수

Index Source 세그먼트의 연쇄 키(Concatenated Key)이다./CX 변수

HiDB 시스템에서 Secondary Indices를 사용하는 이유는 다음과 같다.

● 데이터베이스가 정의될 때에 지정된 주요키 이외의 키로 데이터베이스 레코드에 접근할 때 빨리 접근

할 수 있다.

● Index Target 세그먼트에 접근할 때, 데이터베이스 계층을 전체적으로 따라가지 않아도 바로 접근할 수

있다.

● 검색 필드 정보만 가지고 처리하는 배치 프로그램에서 인덱스 데이터베이스를 별도로 사용할 수 있는

장점이 있다.

하지만 Secondary Indices를 사용하면, 메인 데이터베이스의 Index Source 세그먼트가 변경될 때마다 인

덱스 데이터베이스를 같이 갱신해 주어야 하는 부담이 있다. 그리고 Secondary Index 데이터베이스를 메

인 데이터베이스와 같이 모니터링하고 백업하고 튜닝을 해야 하는 관리업무가 증가된다.

Logical Relationship과 마찬가지로 Secondary Indices를 사용하기 위해서는 Secondary Indices를 사용해

서 얻어지는 장점과 함께 성능 문제와 관리업무 증가 등의 단점을 충분히 고려해서 사용을 결정해야 한다.

제5장 고급 기능 31

Page 46: 티맥스소프트 -TmaxSoft - Tibero HiDB 안내서 · 2019. 4. 9. · 계층적 데이터베이스 관리 시스템으로 고객의 업무 데이터를 구조적으로 저장하고
Page 47: 티맥스소프트 -TmaxSoft - Tibero HiDB 안내서 · 2019. 4. 9. · 계층적 데이터베이스 관리 시스템으로 고객의 업무 데이터를 구조적으로 저장하고

제6장 HiDB 마이그레이션

이번 장에서는 Mainframe 환경에서 운용하던 IMS/DB 또는 ADM/DB의 데이터를 OpenFrame 환경의 HiDB

에서 운용하기 위한 데이터 마이그레이션 작업의 절차와 각 절차에 따른 실제 작업방법 및 주의사항에 대

해 설명한다.

6.1. HiDB 마이그레이션 과정다음의 그림은 OpenFrame환경에서의 일반적인 HiDB 마이그레이션 작업 순서와 각 작업단계별로 필요

한 툴 프로그램의 내용을 나타낸 것이다.

[그림 6.1] HiDB 마이그레이션 순서도

제6장 HiDB 마이그레이션 33

Page 48: 티맥스소프트 -TmaxSoft - Tibero HiDB 안내서 · 2019. 4. 9. · 계층적 데이터베이스 관리 시스템으로 고객의 업무 데이터를 구조적으로 저장하고

다음은 각 단계에서 사용되는 툴에 대한 설명이다.

설명툴

DBD Generation Tooldbdgen1

HiDB Schema file Generation Toolhdgensch2

HiDB Pre-conversion Toolhdpcdf013

Data set Import Migration Tooldsmigin4

Access Method Services for CatalogsIDCAMS5

HiDB Data Load Toolhdload6

HiDB Prefix Resolution Toolhdpxres7

HiDB Prefix Update Toolhdpxup8

다음은 HiDB 마이그레이션의 각 단계별로 실행하는 작업 내용에 관한 상세 설명이다.

6.2. DBD 생성HiDB 마이그레이션의 첫 단계로 마이그레이션 대상 데이터베이스의 DBD(Database Description Block)

를 생성한다. DBD 생성은 배치환경에서 DBDGEN 유틸리티 프로그램을 이용하거나 UNIX Command Line

에서 dbdgen 툴 프로그램을 통해 실시한다. 여기에는 Mainframe에서 사용한 DBD 생성용 스크립트나

JCL이 필요하다. DBD를 생성하기 전에 ims.conf에서 지정한 디폴트 DBDLIB 또는 사용자가 정의한 DBDLIB

의 PDS 데이터 셋이 이미 생성되어 있어야 한다.

다음은 Unix Command Line에서 dbdgen 툴 프로그램을 사용하여 실행하는 예이다.

$ dbdgen TMAXDB01

위의 명령에서 "TMAXDB01"은 DBD 생성용 스크립트 파일의 이름이다. 명령이 정상적으로 종료하면

TMAXDB01 DBD 생성 스크립트에서 정의한 DBD 이름으로 디폴트 DBDLIB에 해당 DBD가 생성된다.

참고

1. dbdgen 툴 프로그램의 자세한 사용법은 OpenFrame 안내서 중에 "Tibero HiDB 툴 참조 안내서"를

참조한다.

2. DBD 스크립트와 Batch 환경에서의 DBDGEN 유틸리티 프로그램 사용에 대한 자세한 내용은

OpenFrame 안내서 중에 "Tibero HiDB 유틸리티 참조 안내서"를 참조한다.

34 Tibero HiDB 안내서

Page 49: 티맥스소프트 -TmaxSoft - Tibero HiDB 안내서 · 2019. 4. 9. · 계층적 데이터베이스 관리 시스템으로 고객의 업무 데이터를 구조적으로 저장하고

6.3. HiDB 스키마 생성Mainframe의 EBCDIC 코드로 구성된 데이터를 OpenFrame의 ASCII 코드의 데이터로 변환하려는 경우

일반적으로 OpenFrame에서 제공하는 dsmigin 툴 프로그램을 사용한다. 이때 데이터 레코드의 필드별

속성을 정의한 스키마 파일이 필요하다. HiDB 스키마 생성단계에서는 dsmigin 툴 프로그램에서 입력으로

사용할 HiDB 데이터를 위한 스키마 파일을 생성하게 된다.

일반적으로 데이터 셋의 코드 변환을 위한 스키마 파일을 생성하는 경우 cobgensch 툴 프로그램을 사용

하게 되는데, HiDB의 경우는 hdgensch 툴 프로그램을 사용하여야 한다. hdgensch 툴 프로그램을 사용

하는 이유는 코드를 변환할 때 일반 데이터 셋의 경우 보통 하나의 레코드 형태를 정의한 단일 스키마를

이용하는 데 HiDB 데이터의 경우는 각 세그먼트별 필드 구성이 다르므로 여러 개의 레코드 형태를 정의한

복합 스키마를 이용하기 때문이다.

hdgensch 툴 프로그램은 각각의 세그먼트별 필드구조를 정의한 1개 이상의 Copybook 파일을 읽어들여

내부적으로 cobgensch 툴 프로그램을 호출하고, 생성된 각각의 스키마파일들을 세그먼트 이름별 조건문

을 추가하여 하나의 스키마파일 형태로 재구성한다.

다음은 hdgensch 툴 프로그램의 실행 명령 예이다.

$ hdgensch TMAXDB01 ./cpybook

위의 명령에서 "TMAXDB01"은 스키마의 대상이 되는 데이터베이스의 등록된 DBD 이름이며 "./cpybook"은

세그먼트의 필드정보가 들어 있는 COBOL Copybook이 존재하는 디렉터리의 이름이다. 여기서 주의할

점은 디렉터리에 들어 있는 COBOL Copybook 파일의 이름이 반드시 DBD에서 지정한 세그먼트 이름과

동일해야 하며 파일의 확장자는 '.cpy' 이어야 한다.

위의 명령이 정상적으로 종료하면 ds.conf의 SCHEMA_DIR 항목에서 지정한 디폴트 스키마 디렉터리에

DBD 이름과 '.conv'의 확장자로 구성된 스키마 파일이 생성된다.

참고

1. hdgensch 툴 프로그램의 자세한 사용법은 OpenFrame 안내서 중에 "Tibero HiDB 툴 참조 안내

서"를 참조한다.

2. cobgensch 툴 프로그램에 관한 자세한 내용은 OpenFrame 안내서 중에 "OpenFrame 툴 참조 안

내서"를 참조한다.

제6장 HiDB 마이그레이션 35

Page 50: 티맥스소프트 -TmaxSoft - Tibero HiDB 안내서 · 2019. 4. 9. · 계층적 데이터베이스 관리 시스템으로 고객의 업무 데이터를 구조적으로 저장하고

6.4. HiDB 표준 데이터 포맷 변환HiDB 데이터베이스로 데이터를 로드(Load)하기 위해서는 로드 대상 원본(Source) 데이터의 포맷이 반드

시 사전에 Tibero HiDB에서 정한 형태로 구성되어 있어야 한다.

Tibero HiDB에서 정한 데이터 포맷을 Tibero HiDB 표준 데이터 포맷이라 칭하며 그 형태는 다음의 그림과

같다.

[그림 6.2] Tibero HiDB 표준 데이터 포맷

Mainframe의 데이터베이스 데이터가 위의 형식으로 구성되어 있다면 별도의 추가 작업없이 Tibero HiDB

의 데이터베이스로 로드작업이 가능하다. 그러나 위의 형식으로 구성하기 위하여 MainFrame에서 별도의

추가 작업이 필요할 수 있다.

IBM Mainframe의 IMS/DB에서는 데이터베이스의 데이터를 언로드(Unload)할 때 일반적으로 IMS/DB에

서 제공하는 DFSURGU0 유틸리티를 사용하게 된다. Tibero HiDB에서는 DFSURGU0에서 생성한 언로드

데이터 셋을 HiDB 표준 데이터 포맷으로 변환하는 hdpcdf01툴 프로그램을 제공한다. 따라서 DFSURGU0

유틸리티로 데이터를 언로드한 경우라면 Mainframe에서는 별도의 추가 작업이 필요없으며 OpenFrame

에서 hdpcdf01 툴 프로그램을 실행하여 표준 데이터 포맷으로 변환하면 된다.

다음은 hdpcdf01 툴 프로그램의 실행 명령 예이다.

$ hdpcdf01 if=tmaxdb01.dat of=tmax01db.hdb dbd=TMAX01DB

위 명령에서 "if"는 입력파일을 의미하며 IBM MainFrame의 IMS/DB에서 DFSURGU0 유틸리티로 생성한

언로드 데이터 셋의 파일명을 지정한다. "of"는 HiDB 표준 포맷으로 변환할 출력 파일명이고 "dbd"는 로드

대상 데이터 베이스를 정의한 DBD 이름으로 지정한다.

참고

1. hdpcdf01 툴 프로그램의 자세한 사용법은 OpenFrame 안내서 중에 "Tibero HiDB 툴 참조 안내

서"를 참조한다.

2. DFSURGU0 유틸리티에 관한 자세한 내용은 OpenFrame 안내서 중에 "Tibero HiDB 유틸리티 참

조 안내서"를 참조한다.

36 Tibero HiDB 안내서

Page 51: 티맥스소프트 -TmaxSoft - Tibero HiDB 안내서 · 2019. 4. 9. · 계층적 데이터베이스 관리 시스템으로 고객의 업무 데이터를 구조적으로 저장하고

6.5. 코드 변환Mainframe 환경에서의 데이터 셋은 EBCDIC 코드를 사용하고 OpenFrmae환경에서는 ASCII 코드를 사용

하고 있다. 따라서 Mainframe의 데이터 셋을 UNIX 환경의 OpenFrame 데이터 셋으로 마이그레이션 할

때 코드 변환 작업이 필요하게 된다. OpenFrame에서는 코드 변환 작업을 위해 dsmigin 툴 프로그램을

제공한다.

dsmigin을 사용하기 위해서는 마이그레이션 대상 원본 파일과 해당 데이터 셋의 필드별 속성정보가 들어

있는 스키마 파일이 필요한데 HiDB 마이그레이션 작업 시에는 HiDB 표준 포맷의 원본 파일과 hdgensch

툴 프로그램으로 생성한 스키마 파일을 준비해야 한다.

다음은 HiDB 마이그레이션 작업을 수행할 때 dsmigin 툴 프로그램의 실행 명령 예이다.

$ dsmigin MYDATA MYHIDBDATA -s MYSCHEMA.conv -C -n

위의 명령에서 "MYDATA"는 HiDB 표준 포맷으로 구성된 코드 변환 전 입력 파일명이고 "MYHIDBDATA"는

코드 변환 후의 출력 파일명이다. "-s" 옵션 후의 "MYSCHEMA.conv"는 hdgensch 툴 프로그램으로 생성

한 HiDB 스키마 파일명이다. "-C" 옵션은 카탈로그 등의 작업없이 데이터 코드 변환만 실행하는 것을 의

미하며 "-n" 옵션은 레코드의 마지막마다 뉴라인 문자를 첨부하는 것을 의미한다.

참고

dsmigin 툴 프로그램에 관한 자세한 사용법은 OpenFrame 안내서 중에 "OpenFrame 툴 참조 안내

서"를 참조한다.

6.6. VSAM 데이터 셋 생성이번 작업 단계에서는 데이터베이스의 내용이 실제 물리적으로 들어가게 될 VSAM 데이터 셋을 생성한

다. Mainframe에서는 일반적으로 Batch 환경에서 IDCAMS 유틸리티를 사용하여 VSAM 데이터 셋을 생

성한다.

OpenFrame에서도 동일한 작업이 필요하므로 Mainframe에서 VSAM 데이터 셋을 생성할 때 사용했던

IDCAMS의 스크립트 또는 JCL을 준비해야 한다. OpenFrame에서는 Batch 환경에서 IDCAMS를 호출하

는 JCL을 실행하거나 UNIX Command Line에서 IDCAMS 스크립트를 리다이렉트하여 VSAM 데이터 셋

을 간편하게 생성할 수 있다.

다음은 UNIX Command Line에서 IDCAMS 스크립트를 리다이렉트하여 VSAM 데이터 셋을 생성하는 명

령의 예이다.

$ IDCAMS < TMAXDB01_IDCAMS

위의 명령에서 "TMAXDB01_IDCAMS"는 생성할 VSAM 데이터셋을 정의한 IDCAMS 스크립트로서 다음

과 같은 유형의 내용이 들어 있다.

제6장 HiDB 마이그레이션 37

Page 52: 티맥스소프트 -TmaxSoft - Tibero HiDB 안내서 · 2019. 4. 9. · 계층적 데이터베이스 관리 시스템으로 고객의 업무 데이터를 구조적으로 저장하고

DEL (HDBISRT1.TESTDD0) CL ;

DEFINE CLUSTER (NAME (HDBISRT1.TMAX01) NONINDEXED -

UNIQUE -

VOL (DEFVOL) -

CYL(500 70) -

RECSZ (8185 8185) -

SHAREOPTIONS (2 3) -

SPEED -

CISZ (8192)) -

DATA (NAME (HDBISRT1.TMAX01.DATA));

참고

1. Hitachi ADM/DB의 경우 IDCAMS 유틸리티 대신 VOS3의 JSCVSUT 유틸리티를 사용한다.

2. IDCAMS(혹은 JSCVSUT) 유틸리티에 관한 자세한 사용법은 OpenFrame 안내서 중 "OpenFrame

유틸리티 참조 안내서"를 참조한다.

6.7. HiDB 데이터 Load이번 작업은 코드 변환이 완료된 HiDB 표준 포맷의 데이터를 Tibero HiDB로 로드하는 단계이다. 이때 사

용하는 툴 프로그램은 hdload 이다. 처음으로 로드 작업을 하는 경우 해당 VSAM 데이터 셋이 초기화되

어 있는지 확인한다.

다음은 hdload 툴 프로그램의 실행 명령 예이다.

$ hdload TMAX01DB tmax01db.hdb ./ddlist/TMAX01DB.dd res_out

위의 명령에서 "TMAX01DB"는 로드 대상 데이터베이스의 DBD 이름이다. "tmax01db.hdb"는 코드 변환이

완료된 HiDB 표준 포맷의 데이터 파일 이름이다. "./ddlist/TMAX01DB.dd"는 로드 대상 데이터베이스의 데

이터 셋을 동적으로 할당할 때 필요한 ddlist 파일 이름이다. "res_out"은 Logical Relationship을 가진 데이

터베이스인 경우에만 지정하는 파일명으로 Prefix Resolution 툴인 hdpxres 툴 프로그램에서 입력으로 사

용된다. ddlist 파일의 내용은 로드 대상 데이터베이스를 구성하는 모든 데이터 셋들의 DD명과 IDCAMS

로 생성한 물리적 데이터 셋의 이름으로 구성된다. 둘 사이는 공백문자로 구분 한다. 여기서 주의할 점은

ddlist 파일에서 기술한 DD명은 해당 데이터베이스의 DBD에서 기술한 DD명과 반드시 일치해야 한다.

일반적인 ddlist 파일의 내용은 다음과 같다.

TMAX01I1 TMAX.TMAX01IX1

TMAX01D1 TMAX.TMAX01DD1

TMAX01D2 TMAX.TMAX01DD2

38 Tibero HiDB 안내서

Page 53: 티맥스소프트 -TmaxSoft - Tibero HiDB 안내서 · 2019. 4. 9. · 계층적 데이터베이스 관리 시스템으로 고객의 업무 데이터를 구조적으로 저장하고

HiDB 데이터 로드 작업중 <Ctrl>+C키를 이용하여 강제로 중단한 경우 해당 데이터 셋에 대한 Lock이 해

제되지 않을 수 있다. 그런 상태에서 로드 작업을 재실행하는 경우 정상적인 동작을 하지 않게 되므로 반

드시 해당 데이터 셋에 대한 Lock 해제 처리를 해주어야 한다.

참고

hdload 툴 프로그램에 관한 자세한 사용법은 OpenFrame 안내서 중 "Tibero HiDB 툴 참조 안내서"를

참조한다.

6.8. Prefix Resolution이번 작업 단계는 로드 대상 데이터베이스가 Logical Relationship 기능을 사용하는 경우에만 해당한다.

물리적으로 분리된 데이터베이스를 리로드하고 나면 각 데이터베이스의 Logical Relationship을 가진 세

그먼트 상호간의 연결 포인터 정보가 새롭게 변경된다. 따라서 변경된 정보로 각 세그먼트 인스턴스의

Prefix 부분의 포인터 정보를 갱신해야 한다.

Prefix Resolution 단계에서는 hdload 툴에서 생성한 포인터 정보 파일을 hdpxres 툴을 실행하여 Sort 처

리하고 Prefix Resolution 파일을 생성한다. Prefix Resolution 파일은 다음 작업 단계의 실행 툴인 hdpxup

에서 입력으로 사용하게 된다.

다음은 hdpxres 툴 프로그램의 실행 명령 예이다.

$ hdpxres res_in res_out

위의 명령에서 "res_in"은 hdload 툴에서 생성한 파일명이고 "res_out"은 Prefix Update 툴인 hdpxup에서

입력으로 사용할 파일 이름이다.

참고

hdpxres 툴 프로그램에 관한 자세한 사용법은 OpenFrame 안내서 중에 "Tibero HiDB 툴 참조 안내

서"를 참조한다.

6.9. Prefix Update이번 단계에서는 Prefix Resolution 툴인 hdpxres에서 생성한 출력 파일을 입력받아 Logical Relationship

을 가진 논리 부모 및 자식 관계를 가지는 세그먼트 인스턴스 간의 Prefix 부분을 갱신하는 작업으로 hdpxup

툴 프로그램을 사용한다.

다음은 hdpxup 툴 프로그램의 실행 명령 예이다.

$ hdpxup res_out ../ddlist/TMAXDB01.dd

제6장 HiDB 마이그레이션 39

Page 54: 티맥스소프트 -TmaxSoft - Tibero HiDB 안내서 · 2019. 4. 9. · 계층적 데이터베이스 관리 시스템으로 고객의 업무 데이터를 구조적으로 저장하고

위의 명령에서 "res_out"은 hdpxres 툴에서 출력한 파일이름이고 "../ddlist/TMAXDB01.dd"는 Prefix Update

대상 데이터베이스들을 구성하는 모든 데이터 셋들의 정보가 들어 있는 파일명으로 파일내용의 형식은

HiDB 데이터 Load단계에서 설명한 형식과 동일하다.

참고

hdpxup 툴 프로그램에 관한 자세한 사용법은 OpenFrame 안내서 중에 "Tibero HiDB 툴 참조 안내

서"를 참조한다.

40 Tibero HiDB 안내서

Page 55: 티맥스소프트 -TmaxSoft - Tibero HiDB 안내서 · 2019. 4. 9. · 계층적 데이터베이스 관리 시스템으로 고객의 업무 데이터를 구조적으로 저장하고

Appendix A. DL/I Status Code

본 장에서는 애플리케이션이 DL/I 함수 호출 후 반환되는 DL/I Status Code에 대하여 설명한다.

애플리케이션에서는 DL/I Status Code를 참조하여 사용자가 원하는 처리를 진행할 수 있다.

A.1. Status Code 상세● AC

GU, GHU, GN, GHN, GNP, GHNP, ISRT, DLET, REPL 등 DL/I 함수를 호출할 때 넘겨

준 SSA의 오류이다.

설명

- DL/I가 SSA에 기술한 세그먼트 이름을 데이터베이스 PCB에서 찾지 못했다.원인

- 데이터베이스 PCB에 세그먼트 이름은 기술되었으나 접근한 Hierarchical sequence에

세그먼트 이름이 들어있지 않다.

- 동일한 계층레벨의 SSA를 2번 기술했다.

SSA에 기술한 세그먼트 이름을 확인하여 수정한다.대응방법

● AD

함수의 파라미터가 유효하지 않거나 지원하지 않는 함수 타입이다.설명

- 함수의 파라미터가 유효하지 않다.원인

- 시스템의 서비스를 호출할 때 I/O PCB를 이용하지 않았다.

- 데이터베이스를 호출할 때 데이터베이스 PCB를 이용하지 않았다.

기술한 함수가 유효한지 확인한다.대응방법

● AH

1개 이상의 SSA 파라미터가 필요한 함수를 호출한 경우이다.설명

ISRT 호출 시 SSA 파라미터를 포함하지 않았다.원인

ISRT 호출인 경우 SSA 파라미터의 포함여부를 확인한다.대응방법

Appendix A. DL/I Status Code 41

Page 56: 티맥스소프트 -TmaxSoft - Tibero HiDB 안내서 · 2019. 4. 9. · 계층적 데이터베이스 관리 시스템으로 고객의 업무 데이터를 구조적으로 저장하고

● AI

데이터 셋을 open할 때 오류가 발생했다.설명

- DD 문장에서 오류가 있다.원인

- Open 시점에서 읽은 레코드가 버퍼의 크기보다 크다.

- Block size 또는 Logical record 길이 정보가 잘못되었다.

DBD에 기술한 데이터 셋의 DDNAME과 JCL에 기술한 DD 문장에서의 DDNAME이 일치

하는지 확인한다.

대응방법

● AJ

SSA에 기술한 형식이 유효하지 않다.설명

- SSA가 잘못된 Command Code를 포함하고 있다.원인

- 조건문의 관계연산자가 유효하지 않다.

- 조건문에 괄호 문자가 빠졌거나 짝을 이루지 않는다.

- DLET, REPL, ISRT에서 Qualified SSA를 사용하였다.

SSA의 잘못된 형식을 수정한다.대응방법

● AK

SSA에 유효하지 않은 필드 이름이 발견되었다.설명

- SSA에 잘못된 필드 이름을 기술하였다.원인

- SSA에 기술한 필드 이름이 DBD에 정의 되어있지 않다.

SSA의 잘못된 필드 이름을 수정한다.대응방법

● AM

호출한 함수가 PCB에 정의된 Processing option과 적합하지 않다.설명

- D Command Code를 사용하여 조회하는 경우 PCB의 Processing option이 P가 아니다.원인

- ISRT 호출에서 Processing option이 L로 정의되어있지 않다.

요청한 함수를 수정하거나 PCB의 내용을 수정한다.대응방법

42 Tibero HiDB 안내서

Page 57: 티맥스소프트 -TmaxSoft - Tibero HiDB 안내서 · 2019. 4. 9. · 계층적 데이터베이스 관리 시스템으로 고객의 업무 데이터를 구조적으로 저장하고

● DA

수정할 수 없는 세그먼트의 필드를 변경하려 시도했다.설명

- DLET 또는 REPL 호출에서 세그먼트의 키 변경을 시도했다.원인

- PSB의 REPL 옵션이 NO로 기술된 필드를 수정하려 했다.

요청사항을 수정한다.대응방법

● DJ

현재 hold 상태가 아닌 세그먼트에서 DLET 또는 REPL을 수행했다.설명

- GHU, GHN, GHNP 호출로 조회하지 않고 DLET 또는 REPL을 수행했다.원인

- 이미 삭제된 세그먼트 내용으로 DLET를 호출했다.

요청사항을 확인 후 수정한다.대응방법

● DX

요청한 DLET 호출이 세그먼트 삭제 규칙에 위배된다.설명

프로그램이 세그먼트 삭제 규칙에 위배된 DLET를 요청하였다.원인

DBA에게 세그먼트 삭제 규칙을 확인하도록 한다.대응방법

● GP

설정된 parentage가 없다.설명

- 프로그램이 parentage가 설정되지 않은 상태에서 GNP를 요청했다.원인

- GNP 요청 시 기술한 세그먼트 레벨이 설정된 parent 보다 높은 경우이다.

GNP 호출 전 parentage를 설정하고 GNP시 기술한 세그먼트의 레벨을 확인한다.대응방법

● II

세그먼트를 삽입할 때 데이터베이스에 중복된 세그먼트가 존재한다.설명

- ISRT를 호출할 때 이미 데이터베이스에 존재하는 세그먼트를 삽입하려 했다.원인

- 동일한 물리 트윈 순차 필드를 가진 세그먼트가 존재한다.

- 동일한 논리 트윈 순차 필드를 가진 세그먼트가 존재한다.

중복된 세그먼트의 값을 배제한 후에 처리한다.대응방법

Appendix A. DL/I Status Code 43

Page 58: 티맥스소프트 -TmaxSoft - Tibero HiDB 안내서 · 2019. 4. 9. · 계층적 데이터베이스 관리 시스템으로 고객의 업무 데이터를 구조적으로 저장하고

● IX

요청한 ISRT 호출이 세그먼트 삽입 규칙에 위배된다.설명

- Logical child 세그먼트의 삽입을 시도한 경우 그에 대응하는 Logical 또는 Physical parent

세그먼트가 존재하지 않는다.

원인

- Concatenated 세그먼트의 삽입을 시도한 경우 Physical 경로로 삽입을 시도했을 때

Logical 또는 Physical parent 세그먼트가 존재하지 않는다.

- Logical 경로로 삽입을 시도했을 때 I/O Area의 Logical 또는 Physical parent의 키에 해

당하는 세그먼트가 존재하지 않는다.

ISRT 또는 프로그램을 수정한다.대응방법

● LB

세그먼트 로드 시 데이터베이스에 중복된 세그먼트가 존재한다.설명

- 동일한 물리 트윈 순차 필드를 가진 트윈 세그먼트가 존재한다.원인

- 물리 트윈 포워드 포인터를 가지고 있지 않는 트윈 세그먼트에서 같은 타입의 두 번째

세그먼트를 삽입하려고 한다.

ISRT 호출 또는 LOAD 명령을 수정한다.대응방법

● LC

로드된 세그먼트의 키 필드가 계층적 순서에서 벗어났다.설명

입력한 데이터가 계층적 순서에 어긋난다.원인

세그먼트를 체크하고 어디에 로드되어야 하는지 결정한다.대응방법

● NI

유일한 Secondary Index에 중복된 세그먼트가 존재한다.설명

유일한 순차 필드인 Secondary Index가 정의된 세그먼트에서 삽입 또는 갱신하는 동안,

같은 키를 가진 인덱스 세그먼트를 찾았다.

원인

업무요건에 따라 결정한다. 만약 중복된 Secondary Index에서 발생하면 유일하지 않는

Index를 기술하고 overflow entry-sequenced dataset을 제공한다.

대응방법

참고

특정 상태 코드에 대한 더 자세한 정보가 필요하다면 IBM 안내서 중 "IMS V7 Application Programming:

Database Manager"의 "Chapter 17. DL/I Status Codes"를 참고하거나 Hitachi 안내서 중 "ADM 프로

그래머 가이드"의 "2.8 스테이터스 코드"를 참고한다.

44 Tibero HiDB 안내서

Page 59: 티맥스소프트 -TmaxSoft - Tibero HiDB 안내서 · 2019. 4. 9. · 계층적 데이터베이스 관리 시스템으로 고객의 업무 데이터를 구조적으로 저장하고

Appendix B. HiDB 시스템 설정

본 장에서는 HiDB 시스템에서 설정해야 하는 파일에 대해 설명한다.

해당 파일의 종류는 다음과 같다.

설명파일

DB/DC 시스템에서 공통으로 사용되는 컨트롤 블록 데이터 셋에 대한 설정이 저장된다.ims.conf

HiDB 시스템에 대한 전반적인 설정을 저장하는 설정파일이다.hidb.conf

B.1. ims.confims.conf 설정파일에는 DB/DC 시스템에서 공통으로 사용되는 컨트롤 블록 데이터 셋에 대한 설정이 저장

된다.

다음은 ims.conf 설정파일의 예이다.

################################################################################

# TMAX HIERARCHICAL DB/DC SYSTEM CONFIGURATION #

# - ims.conf #

################################################################################

[IMS_DEFAULT]

DBDLIB_NAME=IMS.DBDLIB,DEFVOL

PSBLIB_NAME=IMS.PSBLIB,DEFVOL

RESLIB_NAME=IMS.RESLIB,DEFVOL

ACBLIB_NAME=IMS.ACBLIB,DEFVOL

ims.conf 설정파일은 [IMS_DEFAULT] 절로 구성된다.

● [IMS_DEFAULT] 절

DB/DC 시스템에서 공통으로 사용하는 컨트롤 블록 데이터 셋에 대한 정보를 지정하는 절로, 각 항목에

대한 설명은 다음과 같다.

설명항목

DBD 컨트롤 블록을 저장하는 기본 라이브러리 데이터 셋 이름과 볼륨 시리얼을

지정한다.

DBDLIB_NAME

데이터 셋이 카탈로깅 되어 있으면 볼륨 시리얼은 지정하지 않아도 된다.

Appendix B. HiDB 시스템 설정 45

Page 60: 티맥스소프트 -TmaxSoft - Tibero HiDB 안내서 · 2019. 4. 9. · 계층적 데이터베이스 관리 시스템으로 고객의 업무 데이터를 구조적으로 저장하고

설명항목

PSB 컨트롤 블록을 저장하는 기본 라이브러리 데이터 셋 이름과 볼륨 시리얼을

지정한다.

PSBLIB_NAME

데이터 셋이 카탈로깅 되어 있으면 볼륨 시리얼은 지정하지 않아도 된다.

DAB 컨트롤 블록을 저장하는 기본 라이브러리 데이터 셋 이름과 볼륨 시리얼을

지정한다.

RESLIB_NAME

데이터 셋이 카탈로깅 되어 있으면 볼륨 시리얼은 지정하지 않아도 된다.

ACB 컨트롤 블록을 저장하는 기본 라이브러리 데이터 셋 이름과 볼륨 시리얼을

지정한다.

ACBLIB_NAME

데이터 셋이 카탈로깅 되어 있으면 볼륨 시리얼은 지정하지 않아도 된다.

B.2. hidb.confhidb.conf 설정파일은 HiDB 시스템에 대한 전반적인 설정을 저장하는 설정파일이다.

다음은 hidb.conf 설정파일의 예이다.

################################################################################

# TMAX HIERARCHICAL DATABASE CONFIGURATION #

# - hidb.conf #

################################################################################

[MULTI_BUFFERS]

VSRBF00=1024,10

VSRBF01=2048,10

VSRBF02=4096,10

VSRBF03=8192,10

hidb.conf 설정파일은 [MULTI_BUFFER] 절로 구성된다.

● [MULTI_BUFFER] 절

HiDB에서 사용하는 기본 데이터 버퍼에 대한 설정을 지정한다.

VSRBFXX=SizeOfBuffer,NumberOfBuffers

설명항목

HiDB에서 사용하는 버퍼의 크기와 개수를 지정한다. 최대 16개까지의 Subpool

을 지정할 수 있다.

VSRBFXX

46 Tibero HiDB 안내서

Page 61: 티맥스소프트 -TmaxSoft - Tibero HiDB 안내서 · 2019. 4. 9. · 계층적 데이터베이스 관리 시스템으로 고객의 업무 데이터를 구조적으로 저장하고

설명항목

버퍼의 크기를 바이트 단위로 지정한다. 1024의 배수로 32768까지 지정할 수 있

다.

SizeOfBuffer

버퍼의 개수를 지정한다. 최소 3개에서 최대 512개까지 지정할 수 있다.NumberOfBuffer

Appendix B. HiDB 시스템 설정 47

Page 62: 티맥스소프트 -TmaxSoft - Tibero HiDB 안내서 · 2019. 4. 9. · 계층적 데이터베이스 관리 시스템으로 고객의 업무 데이터를 구조적으로 저장하고
Page 63: 티맥스소프트 -TmaxSoft - Tibero HiDB 안내서 · 2019. 4. 9. · 계층적 데이터베이스 관리 시스템으로 고객의 업무 데이터를 구조적으로 저장하고

색인

Symbols*GHN, 14

*GHNP, 14

*GHU, 14

AACB, 12

Alternate PCB 문장, 11

AREA 문장, 9

BBSAM, 23

CCHKP, 14

Command Code, 19

Command Code 목록, 20

DData Entry Database (DEDB), 5

DATASET 문장, 9

DBD, 8

DBD 문장, 8

dbdgen, 34

DBDGEN 문장, 9

DEDB, 26

DL/I, 1, 13

DL/I 데이터베이스, 3

DL/I 데이터베이스 레코드, 3

DLET, 14

DLI-function, 13

dsmigin, 35, 37

EEND 문장, 9, 11

FFIELD 문장, 9

GGeneralized Sequential Access Method (GSAM), 5

GN, 14

GNP, 14

GU, 14

HHD 데이터베이스, 25

HDAM, 25

hdgensch, 35

hdload, 38

hdpcdf01, 36

hdpxres, 39

hdpxup, 39

HIDAM, 25

Hierarchical Direct, 4

Hierarchical Sequential, 5

HISAM, 24

HSAM, 23

IIDCAMS, 37

IMS/DB, 1

IMS/DC, 1

Index Database, 5

Index Pointer, 30

Index Source, 30

Index Target, 30

ISRT, 14

LLCHILD 문장, 9

Logical Relationship, 4, 27

PPCB, 10

PCB Mask 필드 구성, 15

PCB-mask, 13

색인 49

Page 64: 티맥스소프트 -TmaxSoft - Tibero HiDB 안내서 · 2019. 4. 9. · 계층적 데이터베이스 관리 시스템으로 고객의 업무 데이터를 구조적으로 저장하고

PSB, 10

PSBGEN 문장, 11

QQSAM, 23

Qualified SSAs, 18

RREPL, 14

SSecondary Indices, 4

SEGM 문장, 9

Segment-io-area, 13

Segment-search-arguments, 13

SENFLD 문장, 11

SENSEG 문장, 11

SHISAM, 24

SSA, 17

UUnqualified SSAs, 17

XXDFLD 문장, 9

계층 모델, 3

논리 트윈 세그먼트, 28

다중 조건 문장, 22

데이터베이스 PCB 문장, 11

데이터베이스 구현, 7

데이터베이스 설계, 7

데이터베이스 유지, 7

데이터베이스 적재, 7

루트 세그먼트, 3

마이그레이션 단계 사용 툴 목록, 34

세그먼트 계층경로, 3

세그먼트 유형, 3

세그먼트 인스턴스, 3

시스템 필드, 31

연쇄 세그먼트, 28

연쇄키, 16

트윈 세그먼트, 3

형제 세그먼트, 3

50 Tibero HiDB 안내서