KR101054026B1 - Index rebuild automation system and method - Google Patents

Index rebuild automation system and method Download PDF

Info

Publication number
KR101054026B1
KR101054026B1 KR1020090042950A KR20090042950A KR101054026B1 KR 101054026 B1 KR101054026 B1 KR 101054026B1 KR 1020090042950 A KR1020090042950 A KR 1020090042950A KR 20090042950 A KR20090042950 A KR 20090042950A KR 101054026 B1 KR101054026 B1 KR 101054026B1
Authority
KR
South Korea
Prior art keywords
index
rebuild
target
capacity
oracle database
Prior art date
Application number
KR1020090042950A
Other languages
Korean (ko)
Other versions
KR20100123957A (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 KR1020090042950A priority Critical patent/KR101054026B1/en
Publication of KR20100123957A publication Critical patent/KR20100123957A/en
Application granted granted Critical
Publication of KR101054026B1 publication Critical patent/KR101054026B1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions

Landscapes

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

Abstract

오라클 데이터베이스의 인덱스 리빌드(Index Rebuild) 작업을 엑셀 프로그램의 함수와 프로그래밍 기능을 이용하여 자동화하고, 리빌드 필요성이 없는 인덱스를 별도 보관하여 인덱스 리빌드 재작업시 리빌드를 하지 않도록 함으로써 리빌드 소요시간을 단축시킬 수 있는, 인덱스 리빌드 자동화 시스템 및 그 방법이 제공된다. 인덱스 리빌드 자동화 시스템은, 한 개 이상의 테이블 스페이스를 구비한 오라클 데이터베이스; 오라클 데이터베이스에 접속하여 테이블 스페이스 단위로 인덱스 사전용량 전체를 조회하고, 인덱스 리빌드 작업기록에 근거하여 인덱스 리빌드 작업 전후 인덱스의 디스크 사용량을 비교하여 인덱스 리빌드 작업후의 디스크 사용량이 줄어들지 않은 인덱스를 리빌드 제외 등록하며, 인덱스 리빌드 작업시 리빌드 제외 등록된 인덱스를 제외시키고 인덱스를 수행하는 인덱스 리빌드 시스템; 및 인덱스 리빌드를 수행할 때의 인덱스 용량 증감과 인덱스 리빌드 처리시간을 기록한 엑셀 파일 형식의 인덱스 리빌드 작업기록을 포함하되, 인덱스 리빌드 시스템은, 함수와 프로그래밍 기능을 구비한 엑셀(EXCEL) 프로그램으로 오라클 데이터베이스에 액세스하여 자동으로 인덱스 리빌드를 수행하는 것을 특징으로 한다.Reduce the time required for rebuilding by automating the index rebuild of the Oracle database using functions and programming functions of the Excel program, and by storing the indexes that do not need to be rebuilt, so as not to rebuild when rebuilding the index. An index rebuild automation system and method are provided. An index rebuild automation system includes an Oracle database having one or more table spaces; Accesses the entire index preliminary capacity in table space units by accessing the Oracle database, compares the disk usage of the index before and after the index rebuild operation based on the index rebuild operation record, and registers the index that does not reduce the disk usage after the index rebuild operation. An index rebuild system for excluding a registered index and performing an index during the index rebuild operation; And an index rebuild operation record in an Excel file format that records the increase and decrease of the index capacity and the index rebuild processing time when performing the index rebuild, wherein the index rebuild system is an EXCEL program having functions and programming functions. Access to perform index rebuild automatically.

Description

인덱스 리빌드 자동화 시스템 및 그 방법 {System for automatically performing index rebuild, and method for the same}System for automatically performing index rebuild, and method for the same}

본 발명은 인덱스 리빌드에 관한 것으로, 보다 구체적으로, 오라클 데이터베이스에서 인덱스를 자동으로 리빌드하는 인덱스 리빌드 자동화 시스템 및 그 방법에 관한 것이다.The present invention relates to index rebuild, and more particularly, to an index rebuild automation system and method for automatically rebuilding an index in an Oracle database.

데이터베이스에서, 인덱스가 있는 테이블에 데이터의 변경이 많다면 인덱스가 쌓이게 된다. 즉, 데이터를 삽입(Insert), 삭제(Delete)를 하게 되면 인덱스는 삭제되고 쌓이는 게 아니라 무조건 쌓이게 된다. 이러한 인덱스가 너무 많이 쌓이게 되면 검색속도도 떨어지게 되고, 디스크 공간도 많이 차지하게 된다. In a database, indexes build up if there is a lot of data in the table with the index. In other words, when inserting or deleting data, indexes are not deleted and accumulated, but are accumulated unconditionally. Too many of these indexes can slow down search and take up a lot of disk space.

이를 해결하기 위하여 인덱스 리빌드(Index Rebuild)를 수행하며, 인덱스 리빌드를 수행하게 되면 현재의 데이터와 맞는 인덱스만 남고 인덱스 구조를 최적화시킬 수 있다. 이러한 인덱스 리빌드를 수행하지 않을 경우, 불필요하게 데이터베이스의 속도가 저하될 우려가 있다. 따라서 통상적으로 1~2달의 주기로 인덱스 리빌드를 수행하고 있다.In order to solve this problem, Index Rebuild is performed. When Index Rebuild is performed, only the index that matches the current data remains and the index structure can be optimized. If you do not perform such index rebuild, there is a possibility that the speed of the database unnecessarily decreases. Therefore, index rebuilds are typically performed at intervals of one to two months.

종래의 데이터베이스 프로그램에는 인덱스를 리빌드하는 기능이 있는데, 도 1을 참조하여 설명한다.A conventional database program has a function of rebuilding an index, which will be described with reference to FIG. 1.

도 1은 종래의 기술에 따른 인덱스 리빌드 방법의 동작흐름도이다.1 is a flowchart of an index rebuild method according to the related art.

도 1을 참조하면, 종래의 기술에 따른 인덱스 리빌드 방법은, 먼저 오라클 데이터베이스에 접속하고(S10), 건별로 사전 인덱스 용량을 조회한다(S20).Referring to FIG. 1, the index rebuild method according to the related art first connects to an Oracle database (S10), and inquires a prior index capacity for each case (S20).

다음으로, DB 서버별로 스크립트를 작성하고(S30), 이때, 작업시마다 DB 서버별로 스크립트의 정당성 여부를 확인한다(S40). 다음으로, 인덱스 리빌드를 수행하게 된다(S50).Next, write a script for each DB server (S30), and at this time, check whether the script is valid for each DB server (S40). Next, index rebuild is performed (S50).

인덱스 리빌드 작업은 디스크 여유공간 확보 또는 검색속도 향상을 위해 필요하다고 판단될 때 수행한다. 그러나 관리자는 인덱스 리빌드 작업이 필요한 인덱스인지 혹은 인덱스 리빌드가 불필요한 인덱스인지를 미리 확인할 수는 없으며, 다만 인덱스 리빌드 후 그 용량 감소를 통하여 인덱스 리빌드가 필요하였는지 혹은 불필요한지를 판단할 수 있을 뿐이다.Index rebuild is performed when it is necessary to free up disk space or improve search speed. However, the administrator cannot determine in advance whether the index needs to be rebuilt or if the index is not needed. However, the administrator can only determine whether or not the index needs to be rebuilt by reducing its capacity.

따라서 금융기관인 은행의 데이터베이스에는, 레코드 삭제가 아예 발생하지 않거나 혹은 거의 발생하지 않는 데이터베이스가 있으며, 이러한 경우에도 하나의 데이터베이스에 수많은 인덱스가 존재하는데, 데이터베이스 관리자에 의해 인덱스 리빌드를 수행할 경우, 데이터베이스 관리자는 인덱스 리빌드의 필요 여부에 대한 사전 정보를 가지고 있지 않으므로 모든 인덱스에 대하여 리빌드 작업을 수행하여야 한다.Therefore, there is a database in a bank that is a financial institution that records deletion rarely or rarely occurs, and even in this case, many indexes exist in one database. Since there is no prior information on whether index rebuild is necessary, rebuild must be performed for all indexes.

다시 말하면, 인덱스 리빌드 작업은 디스크 여유공간 확보 또는 검색속도 향상을 위해 필요하다고 판단될 때 수행하는데, 통상 오라클 DB 관리 소프트웨어(Orange, Toad 등)를 이용하여 수행하나, 인덱스 리빌드 작업 처리 전후의 디스크 사용량 비교를 위해서는 인덱스 리빌드 작업 후 별도의 조회문장을 실행해야 하고, 인덱스 리빌드를 위하여는 DB 서버별로 인덱스 리빌드 스크립트를 작성해야 하며, 인덱스 리빌드 작업시마다 스크립트의 정당성(예를 들면, 인덱스 리빌드 작업후 추가/삭제된 인덱스의 적용) 여부를 일일이 확인해야 하는 불편함과 이로 인한 시간이 낭비되는 문제점이 있다. 또한, 재작업시 인덱스 리빌드 작업을 할 필요성이 없는 인덱스(일괄 입력 후 조회용으로 사용하는 인덱스 등)도 관련 정보가 없기 때문에 인덱스 리빌드 작업을 다시 할 수 밖에 없다.In other words, index rebuild is performed when it is necessary to free up disk space or improve search speed. It is usually performed using Oracle DB management software (Orange, Toad, etc.), but disk usage before and after index rebuild processing is performed. For comparison, a separate query statement must be executed after the index rebuild operation, an index rebuild script must be written for each DB server to rebuild the index, and the validity of the script for each index rebuild operation (for example, after the index rebuild operation is added / There is a problem that it is inconvenient to check whether the deleted index is applied) and waste time. In addition, indexes that do not need to be rebuilt during rework (such as indexes used for searching after a batch input) do not have any relevant information, so they have to rebuild the indexes.

전술한 문제점을 해결하기 위한 본 발명이 이루고자 하는 기술적 과제는, 인덱스 리빌드(Index Rebuild) 작업을 엑셀 프로그램의 함수와 프로그래밍 기능을 이용하여 자동화할 수 있는 인덱스 리빌드 자동화 시스템 및 그 방법을 제공하기 위한 것이다.SUMMARY OF THE INVENTION The present invention has been made in an effort to provide an index rebuild automation system and method for automating an index rebuild operation using functions and programming functions of an Excel program. .

본 발명이 이루고자 하는 다른 기술적 과제는, 리빌드 필요성이 없는 인덱스를 별도 보관하여 인덱스 리빌드 재작업시 리빌드를 하지 않도록 함으로써 소요시간을 단축시킬 수 있는 인덱스 리빌드 자동화 시스템 및 그 방법을 제공하기 위한 것이다.Another object of the present invention is to provide an index rebuild automation system and method that can shorten the time required by separately storing an index that does not need to be rebuilt so as not to rebuild when rebuilding the index.

본 발명이 이루고자 하는 다른 기술적 과제는, 인덱스 리빌드 작업시 스크립트 작성 과정 및 사후 인덱스 용량 조회를 자동화할 수 있는 인덱스 리빌드 자동화 시스템 및 그 방법을 제공하기 위한 것이다.Another object of the present invention is to provide an index rebuild automation system and method for automating a script creation process and post-index index inquiry during an index rebuild operation.

전술한 기술적 과제를 달성하기 위한 수단으로서, 본 발명에 따른 인덱스 리빌드 자동화 시스템은, 오라클 데이터베이스의 인덱스를 리빌드하는 인덱스 리빌드 시스템에 있어서, 한 개 이상의 테이블 스페이스-여기서 테이블 스페이스 각각은 한 개 이상의 데이터 파일로 이루어지며, 하나 이상의 데이터 파일을 사용시 디스크 입출력(I/O)을 줄일 수 있음-를 구비한 오라클 데이터베이스; 상기 오라클 데이터베이스에 접속하여 상기 테이블 스페이스 단위로 인덱스 사전용량 전체를 조회 하고, 인덱스 리빌드 작업기록에 근거하여 인덱스 리빌드 작업 전후 인덱스의 디스크 사용량을 비교하여 인덱스 리빌드 작업후의 디스크 사용량이 줄어들지 않은 인덱스를 리빌드 제외 등록하며, 인덱스 리빌드 작업시 리빌드 제외 등록된 인덱스를 제외시키고 인덱스를 수행하는 인덱스 리빌드 시스템; 및 상기 인덱스 리빌드를 수행할 때의 인덱스 용량 증감과 인덱스 리빌드 처리시간을 기록한 엑셀 파일 형식의 인덱스 리빌드 작업기록을 포함하되, 상기 인덱스 리빌드 시스템은, 함수와 프로그래밍 기능을 구비한 엑셀(EXCEL) 프로그램으로 상기 오라클 데이터베이스에 액세스하여 자동으로 인덱스 리빌드를 수행하는 것을 특징으로 한다.As a means for achieving the above-described technical problem, the index rebuild automation system according to the present invention is an index rebuild system for rebuilding an index of an Oracle database, wherein at least one table space, where each table space is at least one data file. An Oracle database comprising a plurality of data files, which can reduce disk input / output (I / O) when using one or more data files; Access the Oracle database and query the entire index pre-capacity by the table space unit, and compare the disk usage of the index before and after the index rebuild operation based on the index rebuild operation record, and exclude the rebuild index that does not reduce the disk usage after the index rebuild operation. An index rebuild system that registers and excludes a rebuild during the index rebuild operation and excludes the registered index and performs the index; And an index rebuild operation record in an Excel file format that records an index capacity increase and decrease when the index rebuild is performed, and an index rebuild processing time. The index rebuild system is an Excel program having a function and a programming function. It is characterized in that the index is rebuilt automatically by accessing the Oracle database.

여기서, 상기 인덱스 리빌드 시스템은 상기 엑셀 파일 형식의 인덱스 리빌드 작업기록에 근거하여 스크립트 작성과 인덱스 리빌드, 인덱스 리빌드 작업후 인덱스의 디스크 사용량, 작업 소요시간 표기를 자동으로 수행하는 것을 특징으로 한다.Here, the index rebuild system automatically performs script creation, index rebuild, and index usage of the index after the index rebuild operation based on the index rebuild work record of the Excel file format.

여기서, 상기 인덱스 리빌드 시스템은 인덱스 리빌드 이전과 수행후의 인덱스 용량을 비교하여 해당 인덱스에 대한 용량 감소를 기록하고, 상기 용량 감소가 일정 범위 이하이면 인덱스 리빌드가 불필요한 인덱스로 등록하는 것을 특징으로 한다.Here, the index rebuild system records the capacity decrease for the corresponding index by comparing the index capacity before and after the index rebuild, and if the capacity decrease is less than or equal to a predetermined range, the index rebuild registers as an unnecessary index.

여기서, 상기 인덱스 리빌드 시스템은, 상기 오라클 데이터베이스에 접속하여 테이블 스페이스 단위로 전체 인덱스의 사전 용량을 조회하는 인덱스 사전용량 전체 조회부; 건별로 리빌드 대상을 확인하는 건별 리빌드 대상 확인부; 리빌드 제외대상 테이블을 조회하는 리빌드 제외대상 테이블 조회부; 리빌드 대상 여부를 판 단하는 리빌드 대상 판단부; 상기 리빌드 대상에 대해 인덱스 리빌드를 수행하는 인덱스 리빌드 수행부; 건별로 인덱스 사후 용량을 조회하는 건별 인덱스 사후용량 조회부; 데이터베이스 관리자가 설정한 임계치에 근거하여 상기 사후 조회된 용량 감소가 일정 범위 이하이면, 인덱스 리빌드가 불필요한 리빌드 제외대상으로 판단하는 리빌드 제외대상 판단부; 상기 리빌드 제외대상을 상기 리빌드 제외대상 테이블에 등록하는 리빌드 제외대상 등록부; 및 상기 리빌드 제외대상이 등록되어 저장되는 리빌드 제외대상 테이블을 포함할 수 있다.Here, the index rebuild system, the index pre-capacity full query unit for accessing the Oracle database to query the dictionary capacity of the entire index in table space units; A rebuild target confirmation unit for confirming a rebuild target for each case; A rebuild exclude table lookup unit for searching a rebuild exclude target table; A rebuild object determination unit determining whether to rebuild; An index rebuild performing unit for performing an index rebuild on the target of rebuilding; Index post-capacity inquiry unit for querying the index post-capacity by case; A rebuild exclusion target determination unit determining that an index rebuild is an unnecessary rebuild exclusion target when the post-retrieved capacity reduction is less than a predetermined range based on a threshold set by a database administrator; A rebuild exclusion target registration unit for registering the rebuild exclusion target in the rebuild exclusion target table; And a rebuild exclusion target table in which the rebuild exclusion target is registered and stored.

전술한 기술적 과제를 달성하기 위한 다른 수단으로서, 본 발명에 따른 인덱스 리빌드 방법은, 오라클 데이터베이스의 인덱스를 리빌드하는 인덱스 리빌드 방법에 있어서, a) 상기 오라클 데이터베이스로부터 테이블 스페이스 단위로 전체 인덱스의 사전 용량을 조회하는 단계; b) 건별로 리빌드 대상을 확인하는 단계; c) 리빌드 제외대상 테이블을 조회하는 단계; d) 리빌드 대상 여부를 판단하는 단계; e) 상기 리빌드 대상에 대해 인덱스 리빌드를 수행하는 단계; f) 건별로 인덱스 사후 용량을 조회하는 단계; g) 데이터베이스 관리자가 설정한 임계치에 근거하여 상기 사후 조회된 용량 감소가 일정 범위 이하이면, 인덱스 리빌드가 불필요한 리빌드 제외대상으로 판단하는 단계; 및 h) 상기 리빌드 제외대상을 상기 리빌드 제외대상 테이블에 등록하는 단계를 포함하되, 상기 인덱스 리빌드는 함수와 프로그래밍 기능을 구비한 엑셀(EXCEL) 프로그램으로 오라클 데이터베이스에 액세스하여 자동으로 수행되는 것을 특징으로 한다.As another means for achieving the above-described technical problem, the index rebuild method according to the present invention, in the index rebuild method for rebuilding the index of the Oracle database, a) the prior capacity of the entire index in table space units from the Oracle database Querying; b) checking the rebuild target on a case-by-case basis; c) querying the rebuild exclusion table; d) determining whether to be rebuilt; e) performing an index rebuild on the rebuild target; f) querying the index post capacity on a case-by-case basis; g) determining that the index rebuild is an unnecessary rebuild exclusion target when the post-retrieved capacity decrease is less than a predetermined range based on a threshold set by a database administrator; And h) registering the rebuild exclusion target in the rebuild exclusion target table, wherein the index rebuild is performed automatically by accessing an Oracle database with an EXCEL program having a function and a programming function. do.

여기서, 상기 a) 단계는 인덱스 리빌드 작업 전에 인덱스의 사전 용량 전체 조회시 상기 오라클 데이터베이스에 접속하는 것을 특징으로 한다.Here, the step a) is characterized in that before the index rebuild operation, access to the Oracle database at the time of querying the full capacity of the index.

여기서, 상기 g) 단계의 리빌드 제외대상은, 데이터를 한꺼번에 입력한 후 수시로 조회만 하는 인덱스, 데이터 삭제는 하지 않고 수시로 입력 및 조회만 하는 인덱스, 또는 데이터 삭제가 있더라도 그 수치가 아주 적은 인덱스인 것을 특징으로 한다.Here, the rebuild exclusion target of step g) is an index which only frequently searches after inputting data at a time, an index which only inputs and queries frequently without deleting data, or an index whose number is very small even if there is data deletion. It features.

여기서, 상기 g) 단계에서 인덱스 리빌드가 불필요한 인덱스로 등록되면, 인덱스 리빌드를 수행할 때, 인덱스 리빌드가 필요한 인덱스인지 아니면 불필요한 인덱스인지를 판단하여 해당되는 인덱스에 대해서 인덱스 리빌드를 수행하는 것을 특징으로 한다.In this case, when the index rebuild is registered as an unnecessary index in step g), when the index rebuild is performed, it is determined whether the index rebuild is a necessary index or an unnecessary index, and the index rebuild is performed on the corresponding index. .

본 발명에 따르면, 오라클 데이터베이스의 인덱스 리빌드(Index Rebuild) 작업을 엑셀 프로그램의 함수와 프로그래밍 기능을 이용하여 자동화함으로써 효율성과 편리성을 향상시킬 수 있다.According to the present invention, efficiency and convenience can be improved by automating the index rebuild operation of an Oracle database using functions and programming functions of an Excel program.

본 발명에 따르면, 리빌드 필요성이 없는 인덱스를 별도 보관하여 인덱스 리빌드 재작업시 리빌드를 하지 않도록 함으로써 소요시간을 단축시킬 수 있다.According to the present invention, it is possible to shorten the time required by separately storing the index that does not need to be rebuilt so as not to rebuild when rebuilding the index.

본 발명에 따르면, 인덱스 리빌드 작업시 스크립트 작성 과정 및 사후 인덱스 용량 조회가 자동화됨으로써, 조회 시간을 절약할 수 있고, 분석정보로 활용할 수 있다.According to the present invention, the script creation process and the post index index inquiry are automated during the index rebuild operation, so that the query time can be saved and used as analysis information.

아래에서는 첨부한 도면을 참조하여 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 본 발명의 실시예를 상세히 설명한다. 그러나 본 발명은 여러 가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시예에 한정되지 않는다. 그리고 도면에서 본 발명을 명확하게 설명하기 위해서 설명과 관계없는 부분은 생략하였으며, 명세서 전체를 통하여 유사한 부분에 대해서는 유사한 도면 부호를 붙였다.DETAILED DESCRIPTION Hereinafter, exemplary embodiments of the present invention will be described in detail with reference to the accompanying drawings so that those skilled in the art may easily implement the present invention. The present invention may, however, be embodied in many different forms and should not be construed as limited to the embodiments set forth herein. In the drawings, parts irrelevant to the description are omitted in order to clearly describe the present invention, and like reference numerals designate like parts throughout the specification.

명세서 전체에서, 어떤 부분이 다른 부분과 "연결"되어 있다고 할 때, 이는 "직접적으로 연결"되어 있는 경우뿐 아니라, 그 중간에 다른 소자를 사이에 두고 "전기적으로 연결"되어 있는 경우도 포함한다. 또한 어떤 부분이 어떤 구성요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있는 것을 의미한다.Throughout the specification, when a part is "connected" to another part, this includes not only "directly connected" but also "electrically connected" with another element in between. . In addition, when a part is said to "include" a certain component, which means that it may further include other components, except to exclude other components unless otherwise stated.

먼저, 일반적인 오라클 데이터베이스의 구조를 도 2를 참조하여 설명한다.First, the structure of a general Oracle database will be described with reference to FIG.

도 2는 일반적인 오라클 데이터베이스의 구조를 설명하기 위한 도면이다.2 is a view for explaining the structure of a typical Oracle database.

도 2를 참조하면, 일반적인 오라클 데이터베이스 구조는 기본적인 정보의 측면의 데이터베이스(Database)와 시스템 측면의 인스턴스(Instance)로 구분된다. 여기서, 오라클 데이터베이스(DB)는 미국 오라클(ORACLE)사의 관계형 데이터베이스 관리 시스템(RDBMS)을 말하며, 현재 유닉스 환경에서 가장 널리 사용되는 RDBMS로서, 검색이나 업데이트용 언어로는 국제표준화기구의 표준 구조화 조회 언어와 PL/SQL을 지원한다.Referring to FIG. 2, a general Oracle database structure is divided into a database in terms of basic information and an instance in terms of a system. Here, the Oracle database (DB) refers to the relational database management system (RDBMS) of the United States Oracle (ORACLE), the most widely used RDBMS in the Unix environment, and the standard structured query language of the International Organization for Standardization as the language for searching and updating. And PL / SQL are supported.

오라클 데이터베이스는 논리적인 층과 물리적인 층을 가지고 있으며, 물리적인 층은 디스크상의 파일로 구성되고, 논리적인 층은 데이터를 물리적인 층과 매핑 시킨다.The Oracle database has a logical layer and a physical layer. The physical layer consists of files on disk, and the logical layer maps data to the physical layer.

구체적으로, 물리적인 층은 하나 이상의 데이터 파일(Data Files)로 이루어지며, 데이터베이스에서 저장된 정보를 저장한다. 또한, 물리적인 층은 두개 이상의 Redo 로그 파일(Redo Log Files)을 포함하는데, Redo 로그 파일은 시스템 장애시 복구를 위해 사용되는 정보를 갖는다. 이때, Redo 로그 파일은 데이터베이스에 만들어진 모든 변화의 로그를 저장하며, 완전한 데이터베이스 복구를 위해 반드시 필요하다.Specifically, the physical layer consists of one or more data files and stores the information stored in the database. The physical layer also contains two or more Redo Log Files, which contain information used for recovery in the event of a system failure. At this time, the Redo log file stores a log of all changes made to the database and is necessary for a complete database recovery.

또한, 물리적인 층은 하나 이상의 컨트롤 파일(Control File)을 구비하며, Redo 로그 파일의 위치 등의 인스턴스 시작에 적용되는 정보를 포함한다. 또한, 물리적인 층은 파라미터 파일을 포함한다.In addition, the physical layer has one or more control files, and includes information that is applied to instance startup, such as the location of the Redo log file. The physical layer also includes a parameter file.

한편, 논리적인 층은 하나 이상의 테이블 스페이스로 이루어지며, 테이블, 클러스터, 뷰, 내장 프로시저, 트리거, 시퀀스 등의 아이템으로 구성되는 데이터베이스 스키마이다.On the other hand, the logical layer consists of one or more table spaces and is a database schema that consists of items such as tables, clusters, views, stored procedures, triggers, sequences, and so on.

데이터베이스는 테이블 스페이스라는 하나 이상의 논리적 조각으로 분리되어 있다. 이때, 테이블 스페이스는 하나 이상의 데이터 파일로 구성되며, 여러 개의 데이터 파일을 사용시 디스크 입출력(I/O)을 줄이고 성능을 향상시킬 수 있다.A database is divided into one or more logical fragments called table spaces. At this time, the table space is composed of one or more data files, and when using multiple data files, disk I / O can be reduced and performance can be improved.

또한, 데이터베이스 스키마는 스키마 객체라고 불리는 논리적 구조 객체의 집합으로서, 데이터베이스의 데이터를 어떻게 볼 것인지를 정의한다.A database schema is also a collection of logical structured objects called schema objects that define how the data in the database is to be viewed.

테이블은 테이블명, 로우, 컬럼으로 구성되며, 기본적인 논리적 저장 단위이다. 또한, 클러스터는 공통적인 컬럼을 공유하는 하나의 테이블로 물리적으로 저 장되는 테이블의 집합이다. 또한, 인덱스(Index)는 데이터를 더 빠르고 효과적으로 가져오기 위해 생성된 구조이다. 또한, 뷰(View)는 하나 이상의 테이블에 대한 투영본이다. 내장 프로시저는 데이터 딕셔너리에 미리 정의된 SQL 쿼리를 말한다. 트리거는 이벤트 발생시 자동으로 구동되는 프로시저이다.A table consists of table names, rows, and columns, and is a basic logical storage unit. A cluster is also a collection of tables that are physically stored as a table that shares common columns. In addition, an index is a structure created to bring data more quickly and effectively. Also, a view is a projection of one or more tables. Stored procedures are SQL queries that are predefined in the data dictionary. A trigger is a procedure that runs automatically when an event occurs.

한편, 본 발명의 실시예로서, 오라클 데이터베이스의 인덱스 리빌드(Index Rebuild) 작업을 엑셀 프로그램의 함수와 프로그래밍 기능을 이용하여 자동화할 수 있는 인덱스 리빌드 자동화 시스템 및 그 방법이 제공된다.Meanwhile, as an embodiment of the present invention, an index rebuild automation system and method for automating an index rebuild operation of an Oracle database using functions and programming functions of an Excel program are provided.

도 3은 본 발명의 실시예에 따른 오라클 데이터베이스의 인덱스 리빌드 자동화 시스템의 구성도이다.3 is a block diagram of an index rebuild automation system of an Oracle database according to an embodiment of the present invention.

도 3을 참조하면, 본 발명의 실시예에 따른 오라클 데이터베이스의 인덱스 리빌드 자동화 시스템은, 인덱스 리빌드 시스템(100), 오라클 데이터베이스(200) 및 인덱스 리빌드 작업기록(300)을 포함하며, 이때, 상기 인덱스 리빌드 시스템(100)은 인덱스 사전용량 전체 조회부(110), 건별 리빌드 대상 확인부(120), 리빌드 제외대상 테이블 조회부(130), 리빌드 대상 판단부(140), 인덱스 리빌드 수행부(150), 건별 인덱스 사후용량 조회부(160), 리빌드 제외대상 판단부(170), 리빌드 제외대상 등록부(180) 및 리빌드 제외대상 테이블(190)을 포함한다.Referring to FIG. 3, an index rebuild automation system of an Oracle database according to an embodiment of the present invention includes an index rebuild system 100, an Oracle database 200, and an index rebuild work record 300, wherein the index The rebuild system 100 includes the index pre-capacity full inquiry unit 110, the rebuild target confirmation unit 120, the rebuild exclusion target table inquiry unit 130, the rebuild target determination unit 140, and the index rebuild execution unit 150. , The index post-capacity inquiry unit 160, the rebuild exclusion target determination unit 170, the rebuild exclusion target registration unit 180, and the rebuild exclusion target table 190.

오라클 데이터베이스(200)는 한 개 이상의 테이블 스페이스(210)를 구비하며, 여기서, 테이블 스페이스(210) 각각은 한 개 이상의 데이터 파일(220)로 이루어지며, 하나 이상의 데이터 파일(220)을 사용시 디스크 입출력(I/O)을 줄일 수 있게 한다.The Oracle database 200 includes one or more table spaces 210, where each of the table spaces 210 includes one or more data files 220, and disk I / O when one or more data files 220 are used. Allows you to reduce I / O.

인덱스 리빌드 작업기록(300)은 인덱스 리빌드에 관한 각각의 인덱스 마다의 처리 시간과 인덱스 용량 증감을 별도로 기록한 파일이다. The index rebuild operation record 300 is a file that separately records processing time and index capacity increase and decrease for each index related to the index rebuild.

인덱스 리빌드 시스템(100)은 상기 오라클 데이터베이스(200)에 접속하여 상기 테이블 스페이스(210) 단위로 인덱스 사전용량 전체를 조회하고, 리빌드 제외대상 테이블(190)에 근거하여 인덱스 리빌드를 수행하며, 아울러 인덱스 리빌드 후 리빌드 제외대상 테이블(190)에 인덱스 리빌드 제외대상 여부를 등록하게 된다.The index rebuild system 100 accesses the Oracle database 200 to query the entire index preliminary capacity in units of the table space 210, performs an index rebuild based on the rebuild exclusion target table 190, and indexes. After rebuilding, the index rebuild exclude target is registered in the rebuild exclude target table 190.

또한, 상기 인덱스 리빌드 시스템(100)은, 함수와 프로그래밍 기능을 구비한 엑셀(EXCEL) 프로그램으로 상기 오라클 데이터베이스(200)에 액세스하여 자동으로 인덱스 리빌드를 수행한다.In addition, the index rebuild system 100 automatically accesses the Oracle database 200 using an Excel program having a function and a programming function to automatically rebuild the index.

또한, 상기 인덱스 리빌드 시스템(100)은 스크립트 작성과 인덱스 리빌드, 인덱스 리빌드 작업후 인덱스의 디스크 사용량, 작업 소요시간 표기를 자동으로 수행한다.In addition, the index rebuild system 100 automatically performs script writing, index rebuilding, and index rebuilding after the disk usage of the index and the operation time.

여기서, 상기 인덱스 리빌드 시스템(100)은 인덱스 리빌드 이전과 수행후의 인덱스 용량을 비교하여 해당 인덱스에 대한 용량 감소를 기록하고, 상기 용량 감소가 일정 범위 이하이면 인덱스 리빌드가 불필요한 인덱스로 등록한다.Here, the index rebuild system 100 records the capacity decrease for the corresponding index by comparing the index capacity before and after the index rebuild, and registers the index rebuild as an unnecessary index when the capacity decrease is less than a predetermined range.

구체적으로, 상기 인덱스 리빌드 시스템(100)의 인덱스 사전용량 전체 조회부(110)는 상기 오라클 데이터베이스(200)에 접속하여 테이블 스페이스(210) 단위로 전체 인덱스의 사전 사용 용량을 조회한다.In detail, the index pre-capacity inquiry unit 110 of the index rebuild system 100 accesses the Oracle database 200 to query the pre-use capacity of all indexes in table space 210 units.

건별 리빌드 대상 확인부(120)는 건별로 리빌드 대상을 확인하며, 리빌드 제외대상 테이블 조회부(130)는 리빌드 제외대상 테이블(210)을 조회한다.The rebuild target confirmation unit 120 for each case checks the rebuild target for each case, and the rebuild exclusion target table inquiry unit 130 inquires the rebuild exclusion target table 210.

리빌드 대상 판단부(140)는 리빌드 대상 여부를 판단하고, 인덱스 리빌드 수행부(150)는 상기 리빌드 대상에 대해 인덱스 리빌드를 수행하도록 오라클 데이트베이스(200)에 명령을 전달하여 인덱스 리빌드를 수행한다.The rebuild target determination unit 140 determines whether the rebuild target is performed, and the index rebuild performer 150 transmits a command to the Oracle database 200 to perform the index rebuild on the rebuild target to perform the index rebuild.

건별 인덱스 사후용량 조회부(160)는 건별로 인덱스 사후 용량을 조회하고, 리빌드 제외대상 판단부(170)는 데이터베이스 관리자가 설정한 임계치에 근거하여 상기 사후 조회된 용량 감소가 일정 범위 이하이면, 인덱스 리빌드가 불필요한 리빌드 제외대상으로 판단한다. 구체적으로, 인덱스 리빌드가 불필요한 리빌드 제외대상은, 데이터를 한꺼번에 입력한 후 수시로 조회만 하는 인덱스, 데이터 삭제는 하지 않고 수시로 입력 및 조회만 하는 인덱스, 또는 데이터 삭제가 있더라도 그 수치가 아주 적은 인덱스를 포함할 수 있다.Index post-capacity inquiry unit 160 for each case inquires the index post-capacity for each case, and the rebuild exclusion target determination unit 170 indexes the post-inquiry capacity reduction based on a threshold set by a database administrator, if it is less than a predetermined range. Rebuilds are considered excluded from unnecessary rebuilds. Specifically, rebuild exclusion targets that do not require index rebuilding include indexes that are frequently searched after entering data at once, indexes that are frequently entered and searched without deleting data, or indexes that have very few numbers even if data is deleted. can do.

리빌드 제외대상 등록부(180)는 상기 리빌드 제외대상을 상기 리빌드 제외대상 테이블(190)에 등록한다. 따라서 인덱스 리빌드가 불필요한 인덱스로 등록되면, 인덱스 리빌드를 수행할 때, 인덱스 리빌드가 필요한 인덱스인지 아니면 불필요한 인덱스인지를 판단하여 해당되는 인덱스에 대해서 인덱스 리빌드를 수행할 수 있다.The rebuild exclusion target registration unit 180 registers the rebuild exclusion target in the rebuild exclusion target table 190. Therefore, when index rebuilding is registered as an unnecessary index, when rebuilding indexes, it may be determined whether index rebuilding is necessary or unnecessary, and index rebuilding may be performed on a corresponding index.

결국, 본 발명의 실시예에 따른 오라클 데이터베이스의 인덱스 리빌드 자동화 시스템은 하나의 엑셀 파일을 이용하여 여러 대의 데이터베이스 서버에 접속할 수 있도록 자동화하고, 스크립트 작성이나 인덱스 리빌드 작업후 인덱스의 디스크 사용량 조회, 작업소요시간 수기 계산 과정이 자동화되고, 리빌드 제외 등록 정보를 검색하여 불필요한 인덱스 리빌드 작업을 하지 않게 함으로써 인덱스 리빌드 작 업시간을 크게 줄일 수 있다.As a result, the index rebuild automation system of the Oracle database according to an embodiment of the present invention automates access to multiple database servers using a single Excel file, and inquires disk usage of the index after writing a script or rebuilding an index. The time-consuming calculation process can be automated, and index rebuild time can be significantly reduced by retrieving the rebuild exclusion property to avoid unnecessary index rebuilds.

한편, 도 4는 본 발명의 실시예에 따른 오라클 데이터베이스에서 인덱스 리빌드 방법의 동작흐름도이고, 도 5a 및 도 5b는 본 발명의 실시예에 따른 인덱스 리빌드 작업기록을 예시하는 도면들이다.4 is an operation flowchart of an index rebuild method in an Oracle database according to an embodiment of the present invention, and FIGS. 5A and 5B are diagrams illustrating an index rebuild operation record according to an embodiment of the present invention.

도 4를 참조하면, 본 발명의 실시예에 따른 오라클 데이터베이스에서 인덱스 리빌드 방법은, 오라클 데이터베이스의 인덱스를 리빌드하는 인덱스 리빌드 방법으로서, 먼저, 상기 오라클 데이터베이스로부터 테이블 스페이스 단위로 전체 인덱스의 사전 사용 용량을 조회한다(S110). 이때, 인덱스 리빌드 작업 전에 인덱스의 사전 사용 용량 전체 조회시 상기 오라클 데이터베이스에 접속하게 된다.Referring to FIG. 4, an index rebuilding method in an Oracle database according to an exemplary embodiment of the present invention is an index rebuilding method for rebuilding an index of an Oracle database. First, the pre-use capacity of all indexes in table space units is determined from the Oracle database. Inquiry (S110). In this case, the entire Oracle database is accessed when the entire used capacity of the index is searched before the index rebuild operation.

다음으로, 건별로 리빌드 대상을 확인하고(S120), 이후, 리빌드 제외대상 테이블을 조회한다(S130).Next, the rebuild target is checked for each case (S120), and then, the rebuild exclude target table is retrieved (S130).

다음으로, 리빌드 대상 여부를 판단하고(S140), 이후, 상기 리빌드 대상에 대해 인덱스 리빌드를 수행한다(S150). 이때, 인덱스 리빌드 수행시, 스크립트 작성 과정이 자동화되어 스크립트 작성 시간이 절약될 수 있다. 이때, 상기 인덱스 리빌드는 함수와 프로그래밍 기능을 구비한 엑셀(EXCEL) 프로그램으로 오라클 데이터베이스에 액세스하여 자동으로 인덱스 리빌드 작업을 수행하게 된다.Next, it is determined whether or not the target is to be rebuilt (S140), and thereafter, index rebuilding is performed on the target to be rebuilt (S150). In this case, when the index rebuild is performed, the script creation process may be automated, thereby saving the script creation time. In this case, the index rebuild automatically accesses the Oracle database using an Excel program having a function and a programming function to automatically perform the index rebuild.

다음으로, 건별로 인덱스 사후 용량을 조회하고(S160), 이에 따라 사후 인덱스 용량 조회가 자동화되어, 후속 인덱스 리빌드 작업을 수행할 경우, 사후 인덱스 용량 조회 시간 절약 및 분석정보로 활용할 수 있다.Next, the index post capacity is searched for each case (S160), and accordingly, the post index capacity inquiry is automated, and when the subsequent index rebuild operation is performed, it may be used as post index index time saving time and analysis information.

다음으로, 데이터베이스 관리자가 설정한 임계치에 근거하여 상기 사후 조회 된 용량 감소가 일정 범위 이하이면, 인덱스 리빌드가 불필요한 리빌드 제외대상으로 판단한다(S170). 여기서, 상기 리빌드 제외대상은, 데이터를 한꺼번에 입력한 후 수시로 조회만 하는 인덱스, 데이터 삭제는 하지 않고 수시로 입력 및 조회만 하는 인덱스, 또는 데이터 삭제가 있더라도 그 수치가 아주 적은 인덱스일 수 있다.Next, based on the threshold set by the database manager, if the post-retrieved capacity decrease is less than or equal to a certain range, it is determined that index rebuild is an unnecessary rebuild exclusion target (S170). Here, the object to be rebuilt may be an index that is frequently searched after inputting data at once, an index that is only input and searched without deleting data, or an index whose number is very small even if there is data deletion.

다음으로, 상기 리빌드 제외대상을 상기 리빌드 제외대상 테이블에 등록한다(S180). 여기서, 상기 인덱스 리빌드가 불필요한 인덱스로 등록되면, 인덱스 리빌드를 수행할 때, 인덱스 리빌드가 필요한 인덱스인지 아니면 불필요한 인덱스인지를 판단하여 해당되는 인덱스에 대해서 인덱스 리빌드를 수행할 수 있다.Next, the rebuild exclusion target is registered in the rebuild exclusion target table (S180). In this case, when the index rebuild is registered as an unnecessary index, when rebuilding the index, it may be determined whether the index is required to be rebuilt or unnecessary, and the index rebuild may be performed on the corresponding index.

결국, 본 발명의 실시예에 따른 오라클 데이터베이스의 인덱스 리빌드 자동화 시스템 및 그 방법은, 엑셀의 탁월한 함수기능과 프로그래밍 기능을 이용하여 대부분의 수작업을 자동화함으로써 데이터베이스 관리자(DBA)의 업무효율성과 생산성을 향상시킬 수 있다. 또한, 금융기관뿐 아니라 오라클 DB를 대량으로 사용하는 기업에 적용할 수 있다.As a result, the index rebuild automation system and method of the Oracle database according to the embodiment of the present invention improves the work efficiency and productivity of the database manager (DBA) by automating most of manual tasks using Excel's excellent functional and programming functions. You can. In addition, it can be applied not only to financial institutions but also to companies that use Oracle DB in large quantities.

전술한 본 발명의 설명은 예시를 위한 것이며, 본 발명이 속하는 기술분야의 통상의 지식을 가진 자는 본 발명의 기술적 사상이나 필수적인 특징을 변경하지 않고서 다른 구체적인 형태로 쉽게 변형이 가능하다는 것을 이해할 수 있을 것이다. 그러므로 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며 한정적이 아닌 것으로 이해해야만 한다. 예를 들어, 단일형으로 설명되어 있는 각 구성 요소는 분산되어 실시될 수도 있으며, 마찬가지로 분산된 것으로 설명되어 있는 구성 요소들도 결합된 형태로 실시될 수 있다.The foregoing description of the present invention is intended for illustration, and it will be understood by those skilled in the art that the present invention may be easily modified in other specific forms without changing the technical spirit or essential features of the present invention. will be. It is therefore to be understood that the above-described embodiments are illustrative in all aspects and not restrictive. For example, each component described as a single type may be implemented in a distributed manner, and similarly, components described as distributed may be implemented in a combined form.

본 발명의 범위는 상기 상세한 설명보다는 후술하는 특허청구범위에 의하여 나타내어지며, 특허청구범위의 의미 및 범위 그리고 그 균등 개념으로부터 도출되는 모든 변경 또는 변형된 형태가 본 발명의 범위에 포함되는 것으로 해석되어야 한다.The scope of the present invention is shown by the following claims rather than the above description, and all changes or modifications derived from the meaning and scope of the claims and their equivalents should be construed as being included in the scope of the present invention. do.

도 1은 종래의 기술에 따른 오라클 데이터베이스의 인덱스 리빌드 방법의 동작흐름도이다.1 is a flowchart illustrating a method of rebuilding an index of an Oracle database according to the related art.

도 2는 일반적인 오라클 데이터베이스의 구조를 설명하기 위한 도면이다.2 is a view for explaining the structure of a typical Oracle database.

도 3은 본 발명의 실시예에 따른 오라클 데이터베이스의 인덱스 리빌드 자동화 시스템의 구성도이다.3 is a block diagram of an index rebuild automation system of an Oracle database according to an embodiment of the present invention.

도 4는 본 발명의 실시예에 따른 오라클 데이터베이스의 인덱스 리빌드 방법의 동작흐름도이다.4 is a flowchart illustrating an index rebuilding method of an Oracle database according to an embodiment of the present invention.

< 도면부호의 간단한 설명 ><Brief Description of Drawings>

100: 인덱스 리빌드 시스템100: index rebuild system

200: 오라클 데이터베이스200: Oracle database

300: 인덱스 작업기록(엑셀 파일)300: index work record (Excel file)

110: 인덱스 사전용량 전체 조회부110: index full capacity query section

120: 건별 리빌드 대상 확인부120: rebuild target confirmation unit by case

130: 리빌드 제외대상 테이블 조회부130: rebuild exclusion target table lookup unit

140: 리빌드 대상 판단부140: rebuild target judgment unit

150: 인덱스 리빌드 수행부150: index rebuild execution unit

160: 건별 인덱스 사후용량 조회부160: index post-capacity inquiry unit

170: 리빌드 제외대상 판단부170: Rebuild exclusion target judging unit

180: 리빌드 제외대상 등록부180: Rebuild Exclusion Register

190: 리빌드 제외대상 테이블190: Rebuild Excluded Table

210: 테이블 스페이스210: table space

220: 데이터 파일220: data file

Claims (5)

한 개 이상의 테이블 스페이스를 구비한 오라클 데이터베이스 ;Oracle database with one or more table spaces; 상기 오라클 데이터베이스에 접속하여 테이블 스페이스 단위로 전체 인덱스의 사전 용량을 조회하는 인덱스 사전용량 전체 조회부, 건별로 리빌드 대상를 확인하는 건별 리빌드 대상 확인부, 리빌드 제외대상이 등록 및 저장된 리빌드 제외대상 테이블에 상기 확인된 리빌드 대상의 등록 여부를 조회하는 리빌드 제외대상 테이블 조회부, 상기 리빌드 제외대상 테이블에 상기 확인된 리빌드 대상의 등록 여부에 따라 리빌드 대상 여부를 판단하는 리빌드 대상 판단부, 상기 리빌드 대상으로 판단된 인덱스에 대하여 인덱스 리빌드가 수행되도록 상기 오라클 데이터베이스에 명령하는 인덱스 리빌드 수행부, 건별로 인덱스 사후 용량을 조회하는 건별 인덱스 사후용량 조회부, 데이터베이스 관리자가 설정한 임계치에 근거하여 상기 조회된 사후 용량이 상기 사전 용량의 일정 범위 이상이면, 인덱스 리빌드가 불필요한 리빌드 제외대상으로 판단하는 리빌드 제외대상 판단부, 및 상기 리빌드 제외대상으로 판단된 인덱스를 상기 리빌드 제외대상 테이블에 등록하는 리빌드 제외대상 등록부를 포함하여 이루어지는 인덱스 리빌드 시스템 ;The index pre-capacity full query unit for querying the pre-capacity of all indexes in table space units by accessing the Oracle database; Rebuild exclusion target table query unit for inquiring whether or not the confirmed rebuild target is registered, Rebuild target determination unit for determining whether to rebuild based on whether the rebuild target is registered in the rebuild exclusion target table, The rebuild target determined An index rebuild execution unit for instructing the Oracle database to perform an index rebuild on an index, an index post capacity inquiry unit for querying index post capacity by case, and the post-captured post capacity based on a threshold set by a database administrator Rebuild exclusion target determination unit for determining that the index rebuild is an unnecessary rebuild exclusion target, and a rebuild exclusion target registration unit for registering the index determined to be the rebuild exclusion target in the rebuild exclusion target table if the preset capacity is more than a predetermined range. Index rebuild system; 을 포함하는 것을 특징으로 하는 인덱스 리빌드 자동화 시스템.Index rebuild automation system comprising a. 오라클 데이터베이스의 인덱스를 리빌드하는 인덱스 리빌드 방법에 있어서,In the index rebuild method for rebuilding an index of an Oracle database, a) 상기 오라클 데이터베이스로부터 테이블 스페이스 단위로 전체 인덱스의 사전 용량을 조회하는 단계;a) querying a prior capacity of all indexes in table space units from the Oracle database; b) 건별로 리빌드 대상을 확인하는 단계;b) checking the rebuild target on a case-by-case basis; c) 리빌드 제외대상 테이블에 상기 확인된 리빌드 대상의 등록 여부를 조회하는 단계;c) querying whether or not the identified rebuild target is registered in the rebuild exclude target table; d) 상기 리빌드 제외대상 테이블에 상기 확인된 리빌드 대상의 등록 여부에 따라 리빌드 대상 여부를 판단하는 단계;d) determining whether to rebuild the target or not according to whether the checked rebuild target is registered in the rebuild exclusion target table; e) 상기 리빌드 대상 여부로 판단된 인덱스에 대하여 인덱스 리빌드를 수행하는 단계;e) performing an index rebuild on the index determined to be the target to be rebuilt; f) 건별로 인덱스 사후 용량을 조회하는 단계;f) querying the index post capacity on a case-by-case basis; g) 데이터베이스 관리자가 설정한 임계치에 근거하여 상기 조회된 사후 용량이 상기 사전 용량의 일정 범위 이상이면, 인덱스 리빌드가 불필요한 리빌드 제외대상으로 판단하는 단계; 및g) determining that an index rebuild is an unnecessary rebuild exclusion target if the requested post-capacity is more than a predetermined range of the pre-capacity based on a threshold set by a database administrator; And h) 상기 리빌드 제외대상을 상기 리빌드 제외대상 테이블에 등록하는 단계h) registering the rebuild exclusion object in the rebuild exclusion table 를 포함하여 이루어지는 것을 특징으로 하는 인덱스 리빌드 방법.Index rebuilding method comprising a. 제 2 항에 있어서, The method of claim 2, 상기 인덱스 리빌드는 함수와 프로그래밍 기능을 구비한 엑셀(EXCEL) 프로그램으로 상기 오라클 데이터베이스에 액세스하여 자동으로 수행되는 것을 특징으로 하는 인덱스 리빌드 방법.The index rebuild method is performed automatically by accessing the Oracle database with an Excel program having a function and a programming function. 제 2 항에 있어서, The method of claim 2, 상기 a) 단계는 인덱스 리빌드 작업 전에 인덱스의 사전 용량 전체 조회시 상기 오라클 데이터베이스에 접속하는 것을 특징으로 하는 인덱스 리빌드 방법.The step a) of the index rebuild method, characterized in that to access the Oracle database when the full capacity of the index query before the index rebuild operation. 제 2 항에 있어서, The method of claim 2, 상기 g) 단계의 리빌드 제외대상은, 데이터를 한꺼번에 입력한 후 수시로 조회만 하는 인덱스, 데이터 삭제는 하지 않고 수시로 입력 및 조회만 하는 인덱스, 또는 데이터 삭제가 있더라도 그 수치가 아주 적은 인덱스인 것을 특징으로 하는 인덱스 리빌드 방법.The rebuild exclusion target of step g) is an index that only frequently searches after inputting data at a time, an index that only inputs and queries frequently without deleting data, or an index whose number is very small even if data is deleted. How to rebuild an index.
KR1020090042950A 2009-05-18 2009-05-18 Index rebuild automation system and method KR101054026B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020090042950A KR101054026B1 (en) 2009-05-18 2009-05-18 Index rebuild automation system and method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020090042950A KR101054026B1 (en) 2009-05-18 2009-05-18 Index rebuild automation system and method

Publications (2)

Publication Number Publication Date
KR20100123957A KR20100123957A (en) 2010-11-26
KR101054026B1 true KR101054026B1 (en) 2011-08-03

Family

ID=43408326

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020090042950A KR101054026B1 (en) 2009-05-18 2009-05-18 Index rebuild automation system and method

Country Status (1)

Country Link
KR (1) KR101054026B1 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105373566B (en) * 2014-08-30 2018-01-23 华为技术有限公司 It is online to rebuild indexing means and device

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6591269B1 (en) * 1999-05-19 2003-07-08 Sybase, Inc. Database system with methodology for online index rebuild
KR20040017321A (en) * 2001-07-19 2004-02-26 컴퓨터 어소시에이츠 싱크, 인코포레이티드 Method and system for reorganizing a tablespace in a database

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6591269B1 (en) * 1999-05-19 2003-07-08 Sybase, Inc. Database system with methodology for online index rebuild
KR20040017321A (en) * 2001-07-19 2004-02-26 컴퓨터 어소시에이츠 싱크, 인코포레이티드 Method and system for reorganizing a tablespace in a database

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
논문1(2005.12)

Also Published As

Publication number Publication date
KR20100123957A (en) 2010-11-26

Similar Documents

Publication Publication Date Title
US11429641B2 (en) Copying data changes to a target database
US10261862B2 (en) Data replication in a database management system
US10725987B2 (en) Forced ordering of a dictionary storing row identifier values
US10762071B2 (en) Value-ID-based sorting in column-store databases
US9547685B2 (en) Halloween protection in a multi-version database system
US8825604B2 (en) Archiving data in database management systems
US20160147786A1 (en) Efficient Database Undo / Redo Logging
US9910877B2 (en) Query handling in a columnar database
US20160147447A1 (en) N-bit Compressed Versioned Column Data Array for In-Memory Columnar Stores
US7836022B2 (en) Reduction of join operations when archiving related database tables
US10157211B2 (en) Method and system for scoring data in a database
CN111259004B (en) Method for indexing data in storage engine and related device
KR101054026B1 (en) Index rebuild automation system and method
US20060085464A1 (en) Method and system for providing referential integrity constraints
US10838947B2 (en) Consistency check for foreign key definition
Jota et al. A physical design strategy on a nosql dbms
CN117555906B (en) Data processing method, device, electronic equipment and storage medium
Korotkevitch et al. In-Memory OLTP Concurrency Model
Dewson et al. In-Memory Tables
Antognini et al. Optimizing Data Access
Antognini et al. Execution Plans
Kuhn et al. Chapter 12 Partitioning: Divide and Conquer
Alapati et al. Choosing and Optimizing Indexes
Woch Microsoft SQL server optimization for Microsoft Dynamics NAV

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
FPAY Annual fee payment

Payment date: 20140728

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20150813

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20160826

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20170705

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20190822

Year of fee payment: 9