Nothing Special   »   [go: up one dir, main page]

KR100898228B1 - Tablespace automatic allocation device and thereof method - Google Patents

Tablespace automatic allocation device and thereof method Download PDF

Info

Publication number
KR100898228B1
KR100898228B1 KR1020020056162A KR20020056162A KR100898228B1 KR 100898228 B1 KR100898228 B1 KR 100898228B1 KR 1020020056162 A KR1020020056162 A KR 1020020056162A KR 20020056162 A KR20020056162 A KR 20020056162A KR 100898228 B1 KR100898228 B1 KR 100898228B1
Authority
KR
South Korea
Prior art keywords
table space
database
transaction
error message
error
Prior art date
Application number
KR1020020056162A
Other languages
Korean (ko)
Other versions
KR20040024732A (en
Inventor
박순향
석승학
박매화
한유수
김종우
Original Assignee
주식회사 케이티
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 주식회사 케이티 filed Critical 주식회사 케이티
Priority to KR1020020056162A priority Critical patent/KR100898228B1/en
Publication of KR20040024732A publication Critical patent/KR20040024732A/en
Application granted granted Critical
Publication of KR100898228B1 publication Critical patent/KR100898228B1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/22Indexing; Data structures therefor; Storage structures
    • G06F16/2282Tablespace storage structures; Management thereof

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

본 발명은 테이블스페이스 자동할당 장치 및 방법에 관한 것으로서, 트랜잭션을 포함하며 상기 트랜잭션을 수행중에 테이블스페이스 부족시 발생하는 오류에 대한 오류정보를 트랜잭션 로그에 저장하고, 상기 트랜잭션을 보류시키는 데이터베이스 응용 프로그램부와, 상기 트랜잭션을 수행하기 위한 데이터를 제공하는 작업용 데이터베이스와, 상기 데이터베이스 응용 프로그램부로부터 상기 트랜잭션의 오류 정보를 전달받아, 상기 트랜잭션에 대한 테이블스페이스 오류메시지를 생성하는 테이블스페이스 오류메시지 생성모듈와, 상기 테이블스페이스 오류메시지를 저장하는 테이블스페이스 오류메시지 데이터베이스와, 상기 테이블스페이스 오류메시지 데이터베이스를 검색하여 테이블스페이스 오류메시지가 있을 경우에 테이블스페이스 오류메시지를 수신하는 테이블스페이스 오류메시지 수신부와, 상기 테이블스페이스 오류메시지 수신부를 통해 수신된 테이블스페이스 오류메시지에 해당하는 테이블스페이스를 자동확장하는 테이블스페이스 자동확장부와, 상기 테이블스페이스 자동확장부를 통해 해당 테이블스페이스의 확장이 완료되면 확장완료신호를 발생하는 테이블스페이스 오류회복 신호부와, 상기 확장 완료신호를 수신하면 상기 트랜잭션을 상기 오류부분부터 계속 진행하도록 제어하는 트랜잭션 계속진행 제어부를 포함하는 것을 특징으로 한다.The present invention relates to an apparatus and method for automatically allocating a tablespace, comprising: a database application program including a transaction and storing error information on an error occurring when a tablespace is insufficient while executing the transaction in a transaction log and suspending the transaction. And a working database providing data for executing the transaction, a table space error message generating module receiving error information of the transaction from the database application program unit, and generating a table space error message for the transaction; A table space error message database that stores table space error messages, and a table space error message if a table space error message is found by searching the table space error message database. A table space error message receiving unit for receiving a message, a table space auto-expansion unit for automatically expanding a table space corresponding to a table space error message received through the table space error message receiving unit, and a corresponding table through the table space auto-expansion unit. And a table space error recovery signal unit generating an expansion completion signal when the expansion of the space is completed, and a transaction continuation control unit for controlling the transaction to continue from the error portion upon receiving the expansion completion signal. .

Description

테이블스페이스 자동할당 장치 및 그 방법{Tablespace automatic allocation device and thereof method}Table space automatic allocation device and method

도 1은 본 발명의 실시예에 따른 테이블스페이스 자동 할당 장치의 구성도.1 is a block diagram of an automatic table space allocation apparatus according to an embodiment of the present invention.

도 2a는 도 1의 파일시스템 데이터베이스(28)의 구조를 나타낸 도면.FIG. 2A shows the structure of the file system database 28 of FIG.

도 2b는 도 1의 데이터파일 데이터베이스(29)의 구조를 나타낸 도면.FIG. 2B shows the structure of the data file database 29 of FIG.

도 2c는 도 1의 테이블스페이스 데이터베이스(30)의 구조를 나타낸 도면.2C is a diagram showing the structure of the table space database 30 of FIG.

도 3은 작업용 데이터베이스(23)의 논리구조와 물리적인 디스크장치간의 매핑관계를 설명하는 도면.3 is a diagram illustrating a mapping relationship between a logical structure of a working database 23 and a physical disk device.

도 4는 본 발명의 실시예에 따른 테이블스페이스 자동 할당 장치의 동작 흐름도.4 is a flowchart illustrating an operation of automatically allocating a table space according to an embodiment of the present invention.

도 5는 도 4의 테이블스페이스의 자동확장의 세부 흐름도.5 is a detailed flowchart of automatic expansion of the table space of FIG.

본 발명은 테이블스페이스 자동할당장치 및 그 방법에 관한 것으로서, 특히 데이터베이스의 트랜잭션 수행 중에 테이블스페이스가 부족하여 오류가 발생하면 해당 트랜잭션을 보류하고, 해당 테이블스페이스를 자동으로 확장시켜 여유공간이 확보되면 보류되었던 트랜잭션을 오류부분부터 계속 진행하도록 하는 테이블스페이스 자동할당장치 및 그 방법에 관한 것이다.The present invention relates to a table space automatic allocating device and a method thereof, and more particularly, to suspend a transaction when an error occurs due to insufficient table space during a transaction of a database, and to suspend a transaction by automatically expanding the table space to secure free space. Tablespace auto-allocator and method to continue the transaction that has been processed from the error part.

컴퓨터 프로그램에서 트랜잭션(transaction)은 정보의 교환이나 데이터베이스 갱신 등 연관되는 작업들에 대한 일련의 연속이며, 데이터 베이스의 요청된 작업을 완수하기 위한 작업의 기본단위이다. 여러개의 작업 단계를 하나의 트랜잭션으로 보았을 때, 모든 단계가 수행되어야만 갱신된 데이터가 실제로 데이터베이스에서 반영되고, 하나의 작업단계에서라도 오류가 발생하면 롤백(rollback)이 되며, 즉 데이터베이스에는 아무런 갱신이 이루어지지 않고 트랜잭션이 시작되기 이전의 상태를 유지한다. In a computer program, a transaction is a series of related tasks, such as exchanging information or updating a database, and is the basic unit of work for accomplishing the requested work in the database. When viewing multiple job steps as one transaction, all steps must be performed before the updated data is actually reflected in the database, and if an error occurs in one job step, it rolls back. No updates are made to the database and the state is maintained before the transaction begins.

이러한 트랜잭션의 오류는 일예로 정보를 가공하기 위해 필요한 임시 테이블스페이스나 최종 정보를 저장하기 위한 작업용 테이블스페이스가 미리 설정된 용량을 초과 할 경우에 발생하며, 이 경우 운영자는 트랜잭션 오류 메시지에 따라 해당하는 테이블스페이스를 구성하는 데이터 파일의 크기를 수동으로 확장하는 등의 조치를 취한 후 오류가 발생한 트랜잭션을 처음부터 다시 실행시켜야 한다. An error in such a transaction occurs, for example, when the temporary tablespace required to process the information or the working tablespace to store the final information exceeds the preset capacity, in which case the operator can choose the corresponding table according to the transaction error message. After taking measures such as manually increasing the size of the data files that make up the space, you must rerun the failed transaction from the beginning.

이와같이, 종래의 트랜잭션 운영에 있어서, 트랜잭션이 오류가 나면 트랜잭션을 처음부터 재실행함으로 인한 시간적 손실 및 관련 업무의 처리 지연 등의 문제점이 발생하였다. 또한, 트랜잭션 오류시에 해당하는 테이블스페이스를 구성하는 데이터 파일의 크기를 수동으로 확장하는데 따른 노동력의 손실이 있었다. As such, in the conventional transaction management, when a transaction fails, problems such as time loss and delay in processing related tasks due to re-executing the transaction from the beginning have occurred. In addition, there was a loss of labor in manually expanding the size of the data file constituting the tablespace in case of a transaction error.

상기와 같은 문제점을 해결하기 위한 본 발명의 목적은, 데이터 베이스의 트 랜잭션의 오류가 발생되면 자동으로 테이블스페이스를 확보한 후에 재실행하도록 하여, 소비되는 시간을 절감하고, 그에 따른 관련 업무 지연을 방지하는 데 있다.An object of the present invention for solving the above problems is to automatically rerun the table space after the error occurs in the transaction of the database, to reduce the time spent, and to reduce the associated delay To prevent it.

본 발명의 다른 목적은 파일시스템 데이터베이스, 데이터파일 데이터베이스, 테이블스페이스 데이터베이스를 이용하여 데이터베이스 테이블스페이스를 확충할 수 있도록 데이터베이스 스페이스를 자동 확장하는 테이블스페이스 자동확장 모듈을 구비하는 데 있다. Another object of the present invention is to provide a table space auto-expansion module for automatically expanding a database space so that a database table space can be expanded using a file system database, a data file database, and a table space database.

상기 과제를 달성하기 위한 본 발명에 따른 테이블스페이스 자동할당장치는 트랜잭션을 포함하며 상기 트랜잭션을 수행중에 테이블스페이스 부족시 발생하는 오류에 대한 오류정보를 트랜잭션 로그에 저장하고, 상기 트랜잭션을 보류시키는 데이터베이스 응용 프로그램부와, 상기 트랜잭션을 수행하기 위한 데이터를 제공하는 작업용 데이터베이스와, 상기 데이터베이스 응용 프로그램부로부터 상기 트랜잭션의 오류 정보를 전달받아, 상기 트랜잭션에 대한 테이블스페이스 오류메시지를 생성하는 테이블스페이스 오류메시지 생성모듈와, 상기 테이블스페이스 오류메시지를 저장하는 테이블스페이스 오류메시지 데이터베이스와, 상기 테이블스페이스 오류메시지 데이터베이스를 검색하여 테이블스페이스 오류메시지가 있을 경우에 테이블스페이스 오류메시지를 수신하는 테이블스페이스 오류메시지 수신부와, 상기 테이블스페이스 오류메시지 수신부를 통해 수신된 테이블스페이스 오류메시지에 해당하는 테이블스페이스를 자동확장하는 테이블스페이스 자동확장부와, 상기 테이블스페이스 자동확장부를 통해 해당 테이블스페이스의 확장이 완료되면 완료되었음을 알리는 상기 확장 완료신호를 발생하는 테이블스페이스 오류회복 신호부와, 상기 확장 완료신호를 수신하면 상기 트랜잭션을 상기 트랜잭션 로그를 이용하여 상기 오류부분부터 계속 진행하도록 제어하는 트랜잭션 계속진행 제어부를 포함하는 것을 특징으로 한다.The automatic table space allocation apparatus according to the present invention for achieving the above object includes a transaction, the database application for storing the error information about the error occurred when the table space is insufficient during the transaction in the transaction log, and withholding the transaction A program database, a work database providing data for executing the transaction, a table space error message generation module receiving error information of the transaction from the database application program unit, and generating a table space error message for the transaction; A table space error message database that stores the table space error message, and a table space when the table space error message database is searched and there is a table space error message. A table space error message receiving unit for receiving an error message, a table space auto-expansion unit for automatically expanding a table space corresponding to a table space error message received through the table space error message receiving unit, and a corresponding table space auto-expansion unit. When the expansion of the table space is completed, the table space error recovery signal for generating the expansion completion signal indicating that the completion, and receiving the expansion completion signal to control the transaction to continue from the error portion using the transaction log And a transaction continuation control unit.

또한, 테이블스페이스 자동할당 방법은 트랜잭션을 수행하는 중에 테이블스페이스의 오류를 감지하고, 수행중인 트랜잭션을 블러킹하고, 상기 오류에 대한 정보를 트랜잭션 로그에 기록하는 감지단계와, 상기 감지된 오류정보를 이용하여 테이블스페이스 오류메시지를 생성하는 오류메시지 생성단계와, 상기 테이블스페이스 오류메시지에 해당하는 테이블스페이스를 자동확장하는 자동확장단계와, 상기 자동확장이 완료되면 상기 블러킹된 트랜잭션을 해제하고, 상기 트랜잭션 로그를 이용하여 상기 트랜잭션을 오류부분부터 계속 진행하는 진행단계로 구성되는 것을 특징으로 한다.In addition, the automatic table space allocation method detects an error in a table space while performing a transaction, blocks a transaction in execution, and records information about the error in a transaction log, and uses the detected error information. An error message generation step of generating a table space error message, an automatic expansion step of automatically expanding a table space corresponding to the table space error message, and releasing the blocked transaction when the automatic expansion is completed, and the transaction log. It is characterized by consisting of a process of continuing the transaction from the error portion using.

상술한 목적 및 기타의 목적과 본 발명의 특징 및 이점은 첨부도면과 관련한 다음의 상세한 설명을 통해 보다 분명해 질 것이다.The above and other objects and features and advantages of the present invention will become more apparent from the following detailed description taken in conjunction with the accompanying drawings.

이하, 첨부된 도면을 참조하여 본 발명의 실시예를 상세히 설명하면 다음과 같다.Hereinafter, exemplary embodiments of the present invention will be described in detail with reference to the accompanying drawings.

도 1은 본 발명의 실시예에 따른 테이블스페이스 자동할당 장치의 구성도로서, 테이블스페이스 자동할당 장치는 데이터베이스 트랜잭션을 포함하는 데이터베이스 응용 프로그램부(20), 데이터베이스 인터페이스(21, 22)와, 작업용 데이터베이스(23), 테이블스페이스 오류메시지 생성모듈(24), 테이블스페이스 오류메시지 데이터베이스(25), 테이블스페이스 오류메시지 수신부(26), 테이블스페이스 자동확장모듈(27), 파일시스템 데이터베이스(28), 데이터파일 데이터베이스(29), 테이블스페이스 데이터베이스(30), 테이블스페이스 오류회복 신호부(31), 트랜잭션 계속진행 제어부(32)로 구성함을 개시한다.1 is a block diagram of an apparatus for automatically allocating a table space according to an embodiment of the present invention, wherein the apparatus for automatically allocating a table space includes a database application program unit 20, database interfaces 21 and 22, and a working database including database transactions. (23), table space error message generation module (24), table space error message database (25), table space error message receiving unit (26), table space automatic expansion module (27), file system database (28), data file A database 29, a table space database 30, a table space error recovery signal unit 31, and a transaction continuation control unit 32 are disclosed.

데이터베이스 트랜잭션을 포함하는 데이터베이스 응용 프로그램부(20)는 트랜잭션을 수행 중에 테이블스페이스가 부족하여 오류가 발생하는 경우에, 해당 트랜잭션을 블러킹시키고, 오류가 발생한 시간, 오류가 발생한 부분 등의 오류정보를 트랜잭션 로그에 저장한 후, 테이블스페이스 오류메시지 생성모듈에 오류정보를 제공한다.The database application unit 20 including the database transaction, if an error occurs due to insufficient table space during the transaction, blocks the transaction and transmits error information such as the time when the error occurred and the part where the error occurred. After saving the log, provide error information to the tablespace error message generation module.

데이터베이스 인터페이스(21, 22)는 데이터베이스 응용프로그램부(20)와 테이블스페이스 자동확장모듈(27)이 작업용 데이터베이스(23)를 이용하기 위해 필요하다.The database interfaces 21 and 22 are required for the database application program unit 20 and the table space auto-expansion module 27 to use the working database 23.

작업용 데이터베이스(23)는 데이터베이스 응용프로그램부(20)의 데이터베이스 연산을 수행하기 위한 정보를 저장하고, 데이터베이스 연산을 수행하는 경우 정보를 제공한다.The working database 23 stores information for performing a database operation of the database application program unit 20 and provides information when performing a database operation.

테이블스페이스 오류메시지 생성모듈(24)은 데이터베이스 연산 수행중에 테이블스페이스가 부족하여 공간초과 오류가 발생하는 경우에 해당 테이블스페이스에 대한 테이블스페이스 오류메시지를 생성한다. The table space error message generation module 24 generates a table space error message for a corresponding table space when a space over error occurs due to insufficient table space during a database operation.

테이블스페이스 오류메시지 데이터베이스(25)는 테이블스페이스 오류메시지 생성모듈(24)로부터 생성된 테이블스페이스 오류메시지를 저장한다.The table space error message database 25 stores the table space error message generated from the table space error message generation module 24.

테이블스페이스 오류메시지 수신부(26)는 테이블스페이스 오류메시지 데이터베이스(25)에 새로운 테이블스페이스 오류메시지가 저장되었는지를 수시로 검색하여, 테이블스페이스 오류메시지가 있으면 해당 테이블스페이스 오류메시지를 수신하여 테이블스페이스 자동확장모듈(27)로 전송한다.The table space error message receiving unit 26 frequently searches whether a table space error message is stored in the table space error message database 25, and receives a table space error message if there is a table space error message, and automatically expands the table space. Transfer to (27).

테이블스페이스 자동확장모듈(27)은 테이블시스템 데이터베이스(28), 데이터파일 데이터베이스(29), 테이블스페이스 데이터베이스(30)를 이용하여, 수신된 테이블스페이스 오류메시지에 해당하는 오류가 발생한 테이블스페이스를 자동확장을 수행한다.The table space auto expansion module 27 automatically extends a table space in which an error corresponding to the received table space error message is generated by using the table system database 28, the data file database 29, and the table space database 30. Do this.

여기서, 파일시스템 데이터베이스(28)는 파일시스템 정보를 저장하며, 도 2a를 통해 파일시스템 데이터베이스(28)의 구조를 더 상세히 설명하고자 한다. 파일시스템 데이터베이스(28)는 파일 시스템 설치지점, 파일시스템의 총크기, 사용가능한 가용크기, 용도 우선순위 포인터, 현재 데이터베이스 할당내역 등의 물리디스크의 파일시스템에 관한 정보를 저장한다.Here, the file system database 28 stores file system information, and the structure of the file system database 28 will be described in more detail with reference to FIG. 2A. The file system database 28 stores information about the file system of the physical disk, such as the file system installation point, the total size of the file system, the available size available, the use priority pointer, and the current database allocation.

따라서, 테이블스페이스 자동확장모듈(27)이 자동확장을 시작할 때, 오류가 발생한 트랜잭션이 필요로 하는 테이블스페이스의 크기와 이후 사용하리라 예측되는 테이블스페이스의 크기를 추정하여, 두 크기의 합산한 크기를 만족시킬 수 있는 디스크 가용공간을 갖는 파일시스템을 파일시스템 데이터베이스(28)로부터 검색한다.Therefore, when the table space auto-expansion module 27 starts auto-expansion, it estimates the size of the table space required by the failed transaction and the size of the table space that is expected to be used later. The file system having a free disk space that can be satisfied is retrieved from the file system database 28.

한편, 데이터파일 데이터베이스(29)는 데이터베이스의 테이블스페이스를 구성하는 데이터파일 정보를 저장하며, 도 2b를 통해 데이터파일 데이터베이스(29)의 구조를 설명하고자 한다. 데이터파일 데이터베이스(29)는 파일명, 파일시스템명, 테이블스페이스명, 총크기, 자동확장여부 등의 데이터파일 생성정보를 저장하여, 테이블스페이스 자동확장모듈(27)이 데이터파일 생성정보를 이용하여 해당 데이터파일을 생성하고, 그 데이터파일을 테이블스페이스 데이터베이스(30)에 저장한다.Meanwhile, the data file database 29 stores data file information constituting a table space of the database, and the structure of the data file database 29 will be described with reference to FIG. 2B. The data file database 29 stores data file generation information such as a file name, a file system name, a table space name, a total size, and auto-expansion, so that the table space auto-expansion module 27 uses the data file generation information. A data file is generated and stored in the table space database 30.

테이블스페이스 데이터베이스(30)는 도 2c를 참조하여 설명하면, 데이터베이스의 테이블스페이스명, 할당된 블록크기, 초기 할당치, 한도내에서 확장 시 다음 할당치, 데이터파일 정보 등 데이터베이스의 테이블스페이스에 대한 정보를 저장한다. 여기서 데이터파일 목록에는 데이터파일 데이터베이스를 통해 생성된 데이터파일명을 입력한다. 따라서, 테이블스페이스 자동확장모듈(27)은 상술한 테이블스페이스 데이터베이스(30)의 정보를 이용하여 해당 테이블스페이스의 자동확장을 한다.When the table space database 30 is described with reference to FIG. 2C, information about a table space of the database, such as a table space name of the database, an allocated block size, an initial allocation value, a next allocation value when expanded within a limit, and data file information Save it. In the data file list, enter the data file name created through the data file database. Therefore, the table space auto-expansion module 27 automatically expands the table space by using the information of the table space database 30 described above.

테이블스페이스 오류회복 신호부(31)는 상술한 테이블스페이스 자동확장모듈(27)에 의해 오류가 발생한 테이블스페이스가 모두 확장되면 오류가 복구되었음을 트랜잭션 계속진행 제어부(32)로 트랜잭션 계속진행신호를 전송한다.The table space error recovery signal unit 31 transmits a transaction progress progress signal to the transaction continuation control unit 32 indicating that the error has been recovered when all of the table spaces in which the error has been extended by the aforementioned table space auto-expansion module 27 are expanded. .

트랜잭션 계속진행 제어부(32)는 테이블스페이스 오류회복 신호부(31)로부터 트랜잭션 계속진행신호를 수신하면, 블러킹되어 있던 해당 트랜잭션을 포함하는 데이터베이스 응용프로그램이 트랜잭션 로그를 참조하여 오류가 발생했던 부분부터 계속 진행하게 한다.When the transaction progress control unit 32 receives the transaction progress signal from the table space error recovery signal unit 31, the database application program including the corresponding transaction that has been blocked continues from the portion where the error occurred by referring to the transaction log. Let's proceed.

도 3은 작업용 데이터베이스(23)의 논리구조와 물리적인 디스크장치(300)간 의 매핑관계를 설명하는 도면으로서, 작업용 데이터베이스(23)와 물리 디스크 장치를 개시한다.FIG. 3 is a diagram illustrating a mapping relationship between the logical structure of the working database 23 and the physical disk device 300, and discloses the working database 23 and the physical disk device.

도 3에서 도시한 바와 같이, 작업용 데이터베이스(23)는 여러개의 작업용 테이블스페이스(200), 임시 테이블스페이스(201)와 기타 테이블스페이스(202)로 구성되며, 각각의 테이블스페이스(200 내지 20N)는 응용 프로그램을 통해 테이터 읽기 및 쓰기 동작을 위해 사용되는 테이블(1-1, 1-2,‥‥ 1-N)들을 구비한다.As shown in FIG. 3, the working database 23 is composed of a plurality of working table spaces 200, temporary table spaces 201 and other table spaces 202, each table space (200 to 20N) Tables (1-1, 1-2, ... 1-N) are used for reading and writing data through an application program.

이러한 각각의 테이블스페이스(200 내지 20N)는 물리적인 디스크 장치에 매핑되는데, 물리 디스크장치(300)는 도 2와 같이 다양한 도형(301 내지 307)모양으로 표시된 디스크 영역을 구비하고, 각 도형(301 내지 307)모양으로 표현된 디스크 영역은 아직 사용되지 않은 사용가능공간과, 현재 작업용 데이터베이스(23)에 할당되어 사용되고 있는 사용공간(A, B, C, D, E, F, G)으로 나뉘어져 있다.Each of the table spaces 200 to 20N is mapped to a physical disk device. The physical disk device 300 includes a disk area represented by various shapes 301 to 307 as shown in FIG. The disk area represented by the shape is divided into usable space which has not been used yet, and used spaces A, B, C, D, E, F, and G which are currently allocated to the working database 23 and used. .

한 개의 테이블스페이스(200 내지 20N)는 여러개의 물리 디스크 조각들의 모임으로 구성되거나, 하나의 물리디스크 조각으로 구성 될 수 있다. 즉, 도 2에 도시한 바와 같이, 한 개의 작업용 테이블스페이스(200)가 두개의 물리 디스크 조각(A, B)들의 모임으로 구성되고, 임시 테이블스페이스(201)는 세 개의 물리 디스크 조각(C, F, G)로 구성되며, 기타 테이블스페이스(202, 20N)가 각각 한 개의 디스크 조각(D, E)으로 구성됨을 알 수 있다.One table space 200 to 20N may be composed of a collection of several physical disk fragments, or one physical disk fragment. That is, as shown in Figure 2, one working table space 200 is composed of a collection of two physical disk fragments (A, B), the temporary table space 201 is three physical disk fragments (C, F, G), it can be seen that the other tablespaces (202, 20N) each consists of one disk fragment (D, E).

이와같이, 응용 프로그램이 작업을 수행하던 데이터베이스의 테이블스페이스(200 내지 20N)가 부족하여 테이블스페이스 오류가 발생하는 경우에, 본 발명은 작업용 데이터베이스(23)에 아직 할당되지 않아 사용가능한 디스크 공간으로부터 적절한 크기의 디스크 공간을 할당받아 자동으로 테이블스페이스를 확장하도록 하는 것이다.As such, when a table space error occurs due to a lack of table spaces (200 to 20N) of the database in which the application is performing the operation, the present invention is not allocated to the working database 23 yet, and thus the appropriate size from the available disk space. It allocates disk space for the table space automatically.

도 4는 본 발명의 실시예에 따른 테이블스페이스 자동 할당 장치의 동작 흐름도이다.4 is a flowchart illustrating an operation of automatically allocating a table space according to an embodiment of the present invention.

먼저, 트랜잭션을 포함하는 데이터베이스의 응용프로그램이 시작되면(S400), 데이터베이스 인터페이스를 호출하고(S401), 데이터베이스 연산을 수행하고자 관련 작업 데이터베이스(23)의 테이블스페이스(200 내지 20N)에 읽기 및 쓰기를 수행한다(S402).First, when an application of a database including a transaction is started (S400), the database interface is called (S401), and reads and writes are made to the table spaces 200 to 20N of the related working database 23 to perform database operations. It performs (S402).

상술한 읽기 및 쓰기를 수행중에 테이블스페이스(200 내지 20N)가 부족한지를 판단하여(S403), 테이블스페이스(200 내지 20N)가 부족하지 않으면 트랜잭션 로그파일에 오류 시간과 오류가 발생된 부분 등의 오류 관련상태를 기록한다(S411). 데이터 베이스 연산이 존재하는 동안 상술한 과정(S402, 403, S411)을 반복한다.It is determined whether the table spaces (200 to 20N) are insufficient during the above-described read and write operations (S403). Record the related state (S411). The above-described processes (S402, 403, S411) are repeated while the database operation exists.

반면, 데이터 베이스 연산수행(S402) 중에 테이블스페이스(200 내지 20N)가 부족하면, 테이블스페이스 오류메시지 생성모듈(24)에서 테이블스페이스 오류메시지를 생성하여(S404), 데이터베이스 테이블스페이스 오류메시지를 테이블스페이스 오류메시지 데이터베이스(25)로 전송하고, 해당 트랜잭션을 블러킹(Blocking)시켜 해당 테이블스페이스를 잠근다(S405).On the other hand, if the table space (200 to 20N) is insufficient during the database operation (S402), the tablespace error message generation module 24 generates a tablespace error message (S404), the database tablespace error message tablespace The error message is sent to the database 25, and the corresponding table space is locked by blocking the transaction (S405).

그 후, 테이블스페이스 오류메시지 수신부(26)가 작동하다가 테이블스페이스 오류메시지 데이터베이스(25)에 테이블스페이스 오류메시지가 전송된 것을 탐지하면, 데이터베이스 테이블스페이스 오류메시지 데이터베이스(25)로부터 테이블스페이스 오류메시지를 수신하여(S406), 수신된 테이블스페이스 오류메시지에 해당하는 테이블스페이스(200 내지 20N)를 자동확장 한다. 이때, 테이블스페이스 오류메시지가 여러개인 경우에는 복구 우선순위가 높은 테이블스페이스부터 자동확장을 시작한다(S407).Then, when the table space error message receiver 26 operates and detects that the table space error message has been sent to the table space error message database 25, the table space error message is received from the database table space error message database 25. (S406), the tablespace 200 to 20N corresponding to the received tablespace error message is automatically extended. In this case, when there are a plurality of table space error messages, automatic expansion starts from a table space having a high recovery priority (S407).

자동확장을 완료한 후 자동확장을 요하는 테이블스페이스가 더 존재하는지 여부를 판단하고(S408), 자동확장을 요하는 테이블스페이스가 더 존재하면 상술한 단계(S407)를 다시 수행하고, 자동확장을 요하는 테이블스페이스가 없을 때까지 반복 수행한다.After completion of auto-expansion, it is determined whether there are more table spaces requiring auto-expansion (S408). If there are more table spaces requiring auto-expansion, the above-described step (S407) is performed again, and auto-expansion is performed. Repeat until no tablespace is required.

반면, 자동확장을 요하는 테이블스페이스가 더 이상 없으면 테이블스페이스 오류회복 신호부(31)가 트랜잭션 계속진행신호를 트랜잭션 계속진행 제어부(32)로 송신하고, S405 단계에서 블러킹시켰던 해당 트랜잭션의 잠금 상태를 해제하고(S409), 해당 트랜잭션을 계속해서 수행한다(S410). On the other hand, if there is no more tablespace requiring automatic expansion, the tablespace error recovery signal unit 31 transmits a transaction progress signal to the transaction progress control unit 32, and locks the lock state of the corresponding transaction blocked in step S405. Release (S409), and continues the transaction (S410).

테이블스페이스 오류회복 신호부(31)로부터 트랜잭션 계속진행신호를 수신하면, 블러킹되어 있던 해당 트랜잭션을 포함하는 데이터베이스 응용프로그램이 트랜잭션 로그를 참조하여 오류가 발생했던 부분부터 계속 진행하게 한다.When the transaction progress signal is received from the table space error recovery signal unit 31, the database application program including the corresponding transaction that has been blocked is referred to the transaction log to continue from the point where the error occurred.

도 5는 도 4의 테이블스페이스(200 내지 20N)의 자동확장의 세부 흐름도로서, 파일시스템 정보 데이터베이스(28), 데이터파일 데이터베이스(29), 테이블스페이스 데이터베이스(30)를 이용하여 테이블스페이스(200 내지 20N)의 자동확장을 수행하는 흐름도를 개시한다.FIG. 5 is a detailed flowchart of automatic expansion of the table spaces 200 to 20N of FIG. 4, using the file system information database 28, the data file database 29, and the table space database 30. A flowchart for performing automatic expansion of 20N) is disclosed.

먼저, 테이블스페이스 오류메시지에 따라 테이블스페이스의 자동확장이 시작되면, First, if the tablespace auto-expansion starts with a tablespace error message,                     

오류가 발생한 트랜잭션이 필요로 하는 테이블스페이스의 크기(A-size)를 추정하고(S500), 이후에 사용될 테이블스페이스의 크기(B-size)를 추정한다(S501).The size (A-size) of the table space required by the errored transaction is estimated (S500), and the size of the table space (B-size) to be used later is estimated (S501).

그 후, 오류가 발생한 트랜잭션이 필요로 하는 테이블스페이스의 크기(A-size)와 이후에 사용될 테이블스페이스의 크기(B-size)를 합산한 크기를 만족시킬 수 있는 디스크 가용공간을 가지는 파일시스템을 파일시스템 데이터베이스(28)로부터 검색한다.After that, a file system with disk free space that can satisfy the sum of the size (A-size) of the tablespace required by the failed transaction and the size (B-size) of the tablespace to be used later is created. Retrieve from file system database 28.

데이터파일을 생성하기 위한 파일명, 파일시스템명, 테이블스페이스명, 총크기, 자동확장여부 등의 정보를 데이터파일 데이터베이스(29)에 저장하고, 해당 정보를 이용하여 데이터파일을 생성한다.Information such as a file name, file system name, table space name, total size, auto-expansion or not, etc. for generating a data file is stored in the data file database 29, and a data file is generated using the information.

테이블스페이스 데이터베이스(30)의 데이터파일 목록에 생성된 데이터파일을 저장한다.The generated data file is stored in the data file list of the table space database 30.

자동확장을 요하는 테이블스페이스가 존재하는 동안 상술한 과정을 반복하여 수행하고, 테이블스페이스 오류가 발생한 모든 테이블스페이스의 자동확장을 완료한다.Repeat the above procedure while the tablespaces require automatic expansion, and complete the automatic expansion of all tablespaces that have a tablespace error.

이상에서 살펴본 바와 같이, 본 발명에 따른 테이블스페이스 자동 할당 장치 및 그 방법은 트랜잭션의 오류 시에 블러킹했다가 오류가 해결되면 오류부분부터 계속 진행하게 함으로써, 전체 트랜잭션을 수행하는 데 소비되는 시간을 절감하고, 그에 따른 관련 업무 지연을 방지하는 효과가 있다.As described above, the apparatus for automatically allocating a table space and a method thereof according to the present invention block the error at the time of a transaction and continue from the error part when the error is resolved, thereby reducing the time spent performing the entire transaction. In addition, there is an effect to prevent the delay associated with the work.

또한, 테이블스페이스의 오류가 발생 시에 자동으로 확장함으로써, 수작업 에 의한 노동력을 줄일 수 있는 효과가 있다. In addition, by automatically expanding when a table space error occurs, it is possible to reduce the labor of manual labor.

아울러 본 발명의 바람직한 실시예는 예시의 목적을 위한 것으로, 당업자라면 첨부된 특허청구범위의 기술적 사상과 범위를 통해 다양한 수정, 변경, 대체 및 부가가 가능할 것이며, 이러한 수정 변경 등은 이하의 특허청구범위에 속하는 것으로 보아야 할 것이다.In addition, a preferred embodiment of the present invention is for the purpose of illustration, those skilled in the art will be able to various modifications, changes, substitutions and additions through the spirit and scope of the appended claims, such modifications and changes are the following claims It should be seen as belonging to a range.

Claims (7)

트랜잭션을 포함하며 상기 트랜잭션을 수행중에 테이블스페이스 부족시 발생하는 오류에 대한 오류정보를 트랜잭션 로그에 저장하고, 상기 트랜잭션을 보류시키는 데이터베이스 응용 프로그램부;A database application program including a transaction and storing error information on an error occurring when a table space is insufficient while executing the transaction in a transaction log and suspending the transaction; 상기 트랜잭션을 수행하기 위한 데이터를 제공하는 작업용 데이터베이스;A working database for providing data for performing the transaction; 상기 데이터베이스 응용 프로그램부로부터 상기 트랜잭션의 오류 정보를 전달받아, 상기 트랜잭션에 대한 테이블스페이스 오류메시지를 생성하는 테이블스페이스 오류메시지 생성모듈;A table space error message generation module for receiving error information of the transaction from the database application program unit and generating a table space error message for the transaction; 상기 테이블스페이스 오류메시지를 저장하는 테이블스페이스 오류메시지 데이터베이스;A table space error message database for storing the table space error message; 상기 테이블스페이스 오류메시지 데이터베이스를 검색하여 테이블스페이스 오류메시지가 있을 경우에 테이블스페이스 오류메시지를 수신하는 테이블스페이스 오류메시지 수신부;A table space error message receiving unit searching the table space error message database and receiving a table space error message when there is a table space error message; 상기 테이블스페이스 오류메시지 수신부를 통해 수신된 테이블스페이스 오류메시지에 해당하는 테이블스페이스를 자동확장하는 테이블스페이스 자동확장부;A table space auto-expansion unit for automatically expanding a table space corresponding to a table space error message received through the table space error message receiving unit; 상기 테이블스페이스 자동확장부를 통해 해당 테이블스페이스의 확장이 완료되면 완료되었음을 알리는 확장 완료신호를 발생하는 테이블스페이스 오류회복 신호부;A table space error recovery signal unit generating an expansion completion signal informing that the table space has been expanded when the expansion of the corresponding table space is completed; 상기 확장 완료신호를 수신하면 상기 트랜잭션을 상기 트랜잭션 로그를 이용하여 상기 오류부분부터 계속 진행하도록 제어하는 트랜잭션 계속진행 제어부를 포함하는 것을 특징으로 하는 테이블스페이스 자동 할당 장치.And a transaction continuation control unit for controlling the transaction to continue from the error part by using the transaction log when receiving the extension completion signal. 제 1 항에 있어서, 상기테이블스페이스 자동확장부는,The method of claim 1, wherein the table space automatic expansion unit, 파일시스템에 대하 정보를 가지는 파일시스템 데이터베이스;A file system database having information about the file system; 데이터파일에 대한 정보를 가지는 데이터파일 데이터베이스;A data file database having information about the data file; 테이블스페이스의 정보를 가지는 테이블스페이스 데이터베이스;A table space database having table space information; 상기 파일시스템 데이터베이스를 이용하여, 테이블스페이스의 사용크기와 사용할 크기의 합산한 크기만큼의 가용공간을 갖는 파일시스템을 검색하고, 상기 데이터파일 데이터베이스를 이용하여 테이블스페이스를 구성하는 데이터파일을 생성하며, 상기 테이블스페이스 데이터베이스에 저장된 테이블스페이스의 자동확장정보를 이용하여 테이블스페이스 자동확장을 하는 테이블스페이스 자동확장모듈을 구비하는 것을 특징으로 하는 테이블스페이스 자동 할당 장치.Using the file system database, search for a file system having an available space equal to the combined size of the table space usage size and the size to be used, and create a data file constituting the table space using the data file database; And a table space auto-expansion module for automatically expanding a table space by using auto-expansion information of the table spaces stored in the table space database. 제 2 항에 있어서, 상기 파일시스템 데이터베이스는3. The system of claim 2, wherein said file system database is 파일시스템의 설치지점, 총크기, 사용 가능한 가용크기, 용도 우선순위 포인터, 데이터베이스 할당 내역을 가지는 것을 특징으로 하는 테이블스페이스 자동 할당 장치.Table space auto-allocation device, characterized in that the file system installation point, total size, available size available, usage priority pointer, database allocation history. 제 2 항에 있어서, 상기 데이터파일 데이터베이스는The method of claim 2, wherein the data file database is 테이블스페이스명, 파일명, 총크기, 자동확장여부의 정보를 저장하는 것을 특징으로 하는 테이블스페이스 자동 할당 장치.An apparatus for automatically allocating a table space, which stores tablespace name, file name, total size, and autoexpandability information. 제 2 항에 있어서, 상기 테이블스페이스 데이터베이스는3. The database of claim 2, wherein the table space database is 사용중인 테이블스페이스명, 할당된 크기, 초기 할당치, 다음 할당치, 상기 데이터파일 데이터베이스를 통해 생성된 데이터파일 목록 정보를 가지는 것을 특징으로 하는 테이블스페이스 자동 할당 장치.And a table space name being used, an allocated size, an initial allocation value, a next allocation value, and data file list information generated through the data file database. 트랜잭션을 수행하는 중에 테이블스페이스의 오류를 감지하고, 수행중인 트랜잭션을 블러킹하고, 상기 오류에 대한 정보를 트랜잭션 로그에 기록하는 감지단계;Detecting an error of a table space while performing a transaction, blocking a transaction being performed, and recording information on the error in a transaction log; 상기 감지된 오류정보를 이용하여 테이블스페이스 오류메시지를 생성하는 오류메시지 생성단계;An error message generating step of generating a table space error message using the detected error information; 상기 테이블스페이스 오류메시지에 해당하는 테이블스페이스를 자동확장하는 자동확장단계;An automatic expansion step of automatically expanding a table space corresponding to the table space error message; 상기 자동확장이 완료되면 상기 블러킹된 트랜잭션을 해제하고, 상기 트랜잭션 로그를 이용하여 상기 트랜잭션을 오류부분부터 계속 진행하는 진행단계로 구성되는 것을 특징으로 하는 테이블스페이스 자동 할당 방법.And releasing the blocked transaction when the auto-expansion is completed, and continuing the transaction from an error part using the transaction log. 제 6 항에 있어서, 상기 자동확장단계는,The method of claim 6, wherein the automatic expansion step, (a) 테이블스페이스 오류가 발생한 사용중인 테이블스페이스의 크기를 추정하는 단계;(a) estimating the size of the active tablespace in which the tablespace error occurred; (b) 사용할 테이블스페이스의 크기를 추정하는 단계;(b) estimating the size of the tablespace to use; (c) 상기 (a)단계에서 추정된 사용중인 테이블스페이스의 크기와 상기 (b) 단계에서 추정된 사용할 테이블스페이스의 크기를 합산한 크기만큼의 가용공간을 갖는 파일시스템을 검색하는 단계;(c) searching for a file system having an available space equal to the size of the used tablespace estimated in the step (a) and the size of the used tablespace estimated in the step (b); (d) 상기 파일시스템을 이용하여 테이블스페이스 자동확장에 이용할 데이터파일을 생성하는 단계;(d) generating a data file to be used for automatically expanding a table space using the file system; (e) 상기 데이터파일을 이용하여 테이블스페이스를 자동확장하는 단계로 구성되는 것을 특징으로 하는 테이블스페이스 자동 할당 방법.(e) automatically expanding a table space using the data file.
KR1020020056162A 2002-09-16 2002-09-16 Tablespace automatic allocation device and thereof method KR100898228B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020020056162A KR100898228B1 (en) 2002-09-16 2002-09-16 Tablespace automatic allocation device and thereof method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020020056162A KR100898228B1 (en) 2002-09-16 2002-09-16 Tablespace automatic allocation device and thereof method

Publications (2)

Publication Number Publication Date
KR20040024732A KR20040024732A (en) 2004-03-22
KR100898228B1 true KR100898228B1 (en) 2009-05-18

Family

ID=37327775

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020020056162A KR100898228B1 (en) 2002-09-16 2002-09-16 Tablespace automatic allocation device and thereof method

Country Status (1)

Country Link
KR (1) KR100898228B1 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100690587B1 (en) * 2007-02-05 2007-03-12 김정연 Fixing bracket

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH096655A (en) * 1995-06-21 1997-01-10 Oki Electric Ind Co Ltd System management device
KR19990068337A (en) * 1999-04-10 1999-09-06 정구집 Database Transaction Recovery with transaction completion key
KR20020018158A (en) * 2000-08-30 2002-03-07 포만 제프리 엘 Transaction support on logical disks

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH096655A (en) * 1995-06-21 1997-01-10 Oki Electric Ind Co Ltd System management device
KR19990068337A (en) * 1999-04-10 1999-09-06 정구집 Database Transaction Recovery with transaction completion key
KR20020018158A (en) * 2000-08-30 2002-03-07 포만 제프리 엘 Transaction support on logical disks

Also Published As

Publication number Publication date
KR20040024732A (en) 2004-03-22

Similar Documents

Publication Publication Date Title
US6732123B1 (en) Database recovery to any point in time in an online environment utilizing disaster recovery technology
JP4557975B2 (en) Reassign ownership in a non-shared database system
US9053003B2 (en) Memory compaction mechanism for main memory databases
US6182241B1 (en) Method and apparatus for improved transaction recovery
CN108363806B (en) Multi-version concurrency control method and device for database, server and storage medium
KR101343212B1 (en) Online storage volume shrink
EP0303231B1 (en) Method and device for enabling concurrent access of indexed sequential data files
JP3386823B2 (en) File management method and device
US7831783B2 (en) Effective wear-leveling and concurrent reclamation method for embedded linear flash file systems
US7293145B1 (en) System and method for data transfer using a recoverable data pipe
US6647510B1 (en) Method and apparatus for making available data that was locked by a dead transaction before rolling back the entire dead transaction
US6920447B2 (en) Concurrent data recall in a hierarchical storage environment using plural queues
EP3800558A1 (en) Database transaction processing method, client, and server
US6119209A (en) Backup directory for a write cache
US8560500B2 (en) Method and system for removing rows from directory tables
US20020083037A1 (en) Instant snapshot
EP0501180A2 (en) Dynamic, finite versioning for concurrent transaction and query processing
JPH0778098A (en) File management system
JPH04337850A (en) Data base transaction and collation processing system
JPH06139120A (en) File updating system
US8380663B2 (en) Data integrity in a database environment through background synchronization
US8151079B2 (en) Computer system, storage area allocation method, and management computer
JP2005309828A (en) Backup processing method, execution device and processing program
US10761936B2 (en) Versioned records management using restart era
US7032085B2 (en) Storage system with a data sort function

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
LAPS Lapse due to unpaid annual fee