[go: up one dir, main page]

KR20030056540A - 데이터베이스 관리 시스템에서 시스템 고장에 대비한 파일삭제 및 회복 방법 - Google Patents

데이터베이스 관리 시스템에서 시스템 고장에 대비한 파일삭제 및 회복 방법 Download PDF

Info

Publication number
KR20030056540A
KR20030056540A KR1020010086768A KR20010086768A KR20030056540A KR 20030056540 A KR20030056540 A KR 20030056540A KR 1020010086768 A KR1020010086768 A KR 1020010086768A KR 20010086768 A KR20010086768 A KR 20010086768A KR 20030056540 A KR20030056540 A KR 20030056540A
Authority
KR
South Korea
Prior art keywords
file
transaction
file deletion
log record
deletion
Prior art date
Application number
KR1020010086768A
Other languages
English (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 KR1020010086768A priority Critical patent/KR20030056540A/ko
Priority to US10/175,098 priority patent/US6944635B2/en
Publication of KR20030056540A publication Critical patent/KR20030056540A/ko

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/40Data acquisition and logging
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1415Saving, restoring, recovering or retrying at system level
    • G06F11/1435Saving, restoring, recovering or retrying at system level using file system or storage system metadata
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1471Saving, restoring, recovering or retrying involving logging of persistent data for recovery
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99931Database or file accessing
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99951File or database maintenance
    • Y10S707/99952Coherency, e.g. same view to multiple users
    • Y10S707/99953Recoverability

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Library & Information Science (AREA)
  • Quality & Reliability (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Computer Hardware Design (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Retry When Errors Occur (AREA)

Abstract

본 발명은 데이터베이스 관리 시스템에서 시스템 고장에 대비한 파일 삭제 및 회복 방법에 관한 것으로, 트랜잭션 완료 처리시 대기 작업 리스트에 존재하는 모든 파일들을 삭제하고 비원자적 파일 삭제 수행을 원자적으로 로그에 기록하는 단계와, 기록된 로그 레코드를 이용하여 재시작 회복시 미완료된 파일 삭제를 회복시키는 단계를 포함하며, 데이터베이스 관리 시스템에서 파일을 삭제하는 도중 시스템 고장이 발생하였을 경우 회복 단계에서 고장에 의해 반납이 중단된 모든 자원을 완전하게 반납해 주도록 하여 자료에 일관성 문제가 발생하지 않도록 하고 저장 장치 효율을 높이는 이점이 있다.

Description

데이터베이스 관리 시스템에서 시스템 고장에 대비한 파일 삭제 및 회복 방법{FILE DESTROY AND RECOVERY METHOD AGAINST SYSTEM FAILURES IN A DATABASE MANAGEMENT SYSTEM}
본 발명은 데이터베이스 관리 시스템(DataBase Management System; DBMS)에서 시스템 고장에 대비한 파일 삭제 및 회복 방법에 관한 것으로, 특히 다수 사용자 환경의 트랜잭션 처리 시스템에서 정전 등과 같은 시스템 고장(System Failure)및 디스크가 깨지는 등의 미디어 고장(Media Failure)에 대한 회복 기능에 관한 것이다.
종래의 트랜잭션 처리 시스템은 시스템 고장 및 미디어 고장 등에 대한 회복을 위해 주로 WAL(Write Ahead Logging)을 기반한 회복을 수행한다. 이는 트랜잭션 처리 시스템이 트랜잭션의 요청이 모두 수행되거나 전혀 수행되지 않아야 하는 트랜잭션 원자성(Atomicity)을 지원하기 위한 중요한 기술이다. 즉, 트랜잭션이 고장에 의해 철회될 경우 트랜잭션의 원자성을 유지하기 위해 해당 트랜잭션이 변경한 모든 내용을 철회한다.
이러한 트랜잭션 시스템은 회복 성능을 높이기 위해 파일 삭제와 같은 요청을 특수하게 처리한다. 이는 파일 삭제 연산이 포함된 트랜잭션이 철회할 경우 파일 삭제에 의한 변경도 철회해야 하며 이는 비용이 아주 큰 연산이기 때문이다.
ARIES(Algorithm for Recovery and Isolation Exploiting Semantics)에서 제시하고 있는 회복 기법에서는 파일 삭제 요청을 트랜잭션의 완료가 확정된 이후로 그 처리를 연기한다. 이를 위해 대부분의 트랜잭션 시스템은 트랜잭션 테이블에 대기 작업 리스트(Pending Action List)를 유지하고 트랜잭션 완료 이전에 파일 삭제 요청이 발생하면 파일 삭제를 수행하지 않고 단순히 이 리스트에 등록한다. 실제적인 파일 삭제는 트랜잭션이 완료된 후 트랜잭션 관리기에 의해 대기 작업 리스트를 참조하여 이루어진다.
그러나, ARIES에서는 트랜잭션이 완료된 후 파일 삭제 처리 도중 시스템 고장이 발생하는 경우에 대한 어떠한 방법도 제시하고 있지 않다. 만약 파일 삭제가진행되고 있는 동안에 시스템 고장이 발생할 경우 제대로 반납되지 못한 저장 공간이 발생하게 되며 이 때문에 시스템의 저장 공간의 일부분을 활용하지 못하게 되거나 심한 경우 저장 공간의 일관성이 심각하게 파괴될 수 있다.
파일 삭제에 대한 이와 같은 문제는 대한민국 특허 제142525호의 "DBMS상에서의 시스템 고장에 대비한 파일 삭제 방법"에서 해결 방안이 제시되었다.
동호에 제시된 파일 삭제 방법은 파일 삭제가 중단되더라도 해당 파일을 재삭제 함으로서 미반납된 파일 영역을 반납할 수 있도록 파일 삭제를 구현하여야 함을 밝히고 있다.
시스템 고장에 의해 파일 반납이 중단되더라도 동일 파일 반납을 재시도하여 미반납된 할당 영역을 반납하기 위한 기술은 시스템 고장시 파일 반납과 관련된 회복을 단순화한다는 장점을 가지고 있다.
그러나, 여러 개의 저장 장치상의 할당 단위(블록)로 이루어진 파일에 대한 삭제를 위와 같은 특성을 만족하도록 구현하기 위해서는 파일 반납 절차가 어떤 순간에 중단되더라도 중단 시점에서 시스템은 일관성을 유지하고 있어야 한다. 즉 파일에 할당된 각각의 할당 단위를 반납하기 위해서는 저장 장치 상의 다수의 자료 구조에 대한 연계 변경이 필요한 경우가 많으며 이들 변경은 모두 반영되거나 하나도 반영되지 말아야 시스템이 일관성을 유지할 수 있다.
다시 말해서, 이들 연산중 한가지라도 고장에 의해 중단 될 경우 할당 단위를 관리하는 자료 구조간의 연계 관계에 불일치가 발생하여 자료의 일관성을 파괴하게 되는 문제가 있다. 이러한 문제는 파일 삭제가 다수의 연산으로 이루어진 연속된 절차로 구성되는 비원자적(Not Atomic) 특성을 가지기 때문에 발생한다.
본 발명은 이와 같은 종래의 문제점을 해결하기 위하여 제안한 것으로, 파일 삭제 처리 도중 발생한 시스템 고장에 대비하여 파일을 안전하게 삭제하고 이 과정을 기록하기 위한 방법 및 이와 같은 고장이 발생하였을 경우 비원자적인 연산의 반복으로 구성된 파일 반납에 있어서 미완료된 파일 반납 오류를 회복하기 위한 방법을 제공하는데 그 목적이 있다.
이와 같은 목적을 실현하기 위한 본 발명에 따른 데이터베이스 관리 시스템에서 시스템 고장에 대비한 파일 삭제 및 회복 방법은, 트랜잭션 완료 처리시 대기 작업 리스트에 존재하는 모든 파일들을 삭제하고 비원자적 파일 삭제 수행을 원자적으로 로그에 기록하는 제 1 단계와, 상기 기록된 로그 레코드를 이용하여 재시작 회복시 미완료된 파일 삭제를 회복시키는 제 2 단계를 포함한다.
도 1은 발명이 적용되는 데이터베이스 관리 시스템의 구성도,
도 2는 본 발명에 따른 시스템 고장에 대비한 파일 삭제 및 회복 방법을 수행하기 위한 모듈 구성도,
도 3은 본 발명에 따른 시스템 고장에 대비한 파일 삭제 및 회복 방법을 수행하기 위한 트랜잭션 관리기의 세부 구성도,
도 4는 본 발명이 적용되는 트랜잭션 완료 처리 모듈의 동작 과정을 설명하기 위한 흐름도,
도 5는 본 발명이 적용되는 비원자적 다수 파일 삭제의 원자적 기록 방식의 처리 과정을 설명하기 위한 흐름도,
도 6은 본 발명이 적용되는 비원자적 단일 파일 삭제의 원자적 기록 방식의 처리 과정을 설명하기 위한 흐름도,
도 7은 본 발명이 적용되는 비원자적 할당 단위 반납의 원자적 기록 방식의 처리 과정을 설명하기 위한 흐름도,
도 8은 본 발명이 적용되는 재시작 회복기의 처리 과정을 설명하기 위한 흐름도,
도 9는 본 발명이 적용되는 재시작 회복기에 의한 재시작 분석 단계의 상세 흐름도,
도 10은 본 발명이 적용되는 재시작 회복기에 의한 재시작 철회 단계의 상세 흐름도,
도 11은 본 발명이 적용되는 재시작 회복기에 의한 미완성 파일 삭제 처리 단계의 상세 흐름도.
<도면의 주요 부분에 대한 부호의 설명>
11 : 중앙처리장치 12 : 주기억장치
13 : 보조기억장치 14 : 입출력장치
100 : 트랜잭션 관리기 110 : 트랜잭션 시작 처리 모듈
120 : 요청 처리 모듈 130 : 파일 식별자 등록 모듈
140 : 트랜잭션 완료 처리 모듈 200 : 재시작 회복기
300 : 파일 400 : 로그
본 발명의 실시예로는 다수개가 존재할 수 있으며, 이하에서는 첨부한 도면을 참조하여 바람직한 실시예에 대하여 상세히 설명하기로 한다. 이 실시예를 통해 본 발명의 목적, 특징 및 이점들을 보다 잘 이해할 수 있게 된다.
도 1은 본 발명에 따른 시스템 고장에 대비한 파일 삭제 및 회복 방법이 적용되는 데이터베이스 관리 시스템의 구성도이다.
본 발명이 적용되는 장치는, 전체적인 동작을 제어하고 관리하는 중앙처리장치(11)와, 중앙처리장치(11)에서 수행되는 프로그램을 저장하고 작업 수행 중 이용되는 또는 작업 수행 중에 발생되는 각종 데이터를 저장하는 주기억장치(12) 및 보조기억장치(13)와, 사용자와의 데이터 입출력을 위한 입출력장치(14)를 포함한다.
도 2는 본 발명에 따른 시스템 고장에 대비한 파일 삭제 및 회복 방법을 수행하기 위한 모듈 구성도이다.
본 모듈은 크게 트랜잭션 관리기(100), 재시작 회복기(200), 파일(300), 로그(400)로 구성된다.
트랜잭션 관리기(100)는 시스템이 정상 작동할 경우 다수의 트랜잭션 처리 요구를 수행한다. 트랜잭션의 처리 요구는 트랜잭션 시작 요구(BOT)로 시작하여 다수의 파일 생성 요구(CREATE), 파일 삭제 요구(DESTROY), 파일 읽기 요구(READ), 파일 쓰기 요구(WRITE) 등을 반복 한 후 트랜잭션 완료 요구(COMMIT)를 수행한다. 트랜잭션 관리기(100)는 이같이 여러 개의 처리 요구의 모임으로 구성되어 있는 트랜잭션 처리에 원자성을 보장하기 위하여 처리 요구 자체를 수행하여 그 결과를 파일(300)에 저장함과 동시에 수행 과정을 로그(400)에 기록한다.
재시작 회복기(200)는 시스템에 고장이 발생한 경우에 기동되며 시스템의 일관성을 회복시키는 기능을 수행한다. 재시작 회복기(200)는 트랜잭션 관리기(100)가 기록한 로그를 참조하여 시스템에 고장이 발생하기 전에 완료된 트랜잭션의 결과중 파일(300)에 미반영된 내용을 재반영(Redo)시켜 주고 고장에 의해 중단된 트랜잭션의 결과는 파일(300)로부터 철회(Undo) 한다.
도 3은 본 발명에 따른 시스템 고장에 대비한 파일 삭제 및 회복 방법을 수행하기 위한 트랜잭션 관리기의 세부 구성도이다.
트랜잭션의 시작 요구(BOT)가 발생하면 트랜잭션 시작 처리 모듈(110)은 해당 트랜잭션에 트랜잭션 식별자(TID)를 할당받아 기타 관련 정보와 같이 트랜잭션 테이블에 등록한다.
트랜잭션이 기동되면 완료 요청(COMMIT) 전까지 파일 삭제 요청을 제외한 모든 처리 요청은 요청 처리 모듈(120)에 의해 처리된다. 이러한 요청은 파일 생성, 읽기, 쓰기 요청이며 파일(300)의 내용에 변경을 유발하는 요청은 처리 이전에 시스템 고장시 회복을 대비하기 위해 로그(400)에 기록된다.
파일 삭제 요청은 트랜잭션의 완료가 확정되기 전까지는 실제 처리가 연기된다. 트랜잭션 완료가 확정되기 이전의 모든 파일 삭제 요청은 파일 식별자 등록 모듈(130)에 의해 대기 작업 리스트에 보관된 후 트랜잭션 완료 요청이 수행될 때 실제 삭제 작업이 진행된다.
트랜잭션 완료 요청은 트랜잭션 완료 처리 모듈(140)에 의해 처리된다. 이 모듈은 본 발명의 대상인 비원자적 파일 삭제의 원자적 기록을 수행한다.
도 4는 본 발명이 적용되는 트랜잭션 완료 처리 모듈(140)의 동작 과정을 설명하기 위한 흐름도이다.
트랜잭션 완료 처리 모듈(140)은 먼저 트랜잭션이 완료되었다는 것을 확정하기 위해 완료 로그 레코드를 로그(400)에 기록한다(S501). 완료 로그 레코드 기록은 대기 작업 리스트에 보관된 삭제할 파일 식별자들을 포함한다.
완료 로그 레코드를 로그에 기록한 후 트랜잭션이 획득한 잠금 반납, 트랜잭션 테이블 반납 등과 같은 기존의 완료 처리를 수행한다(S502).
다음으로 대기 작업 리스트에 등록되어 있는 모든 파일에 대해 파일 삭제 및 이 행위에 대한 원자적 로그 기록을 수행한다(S503). 이 절차는 반드시 완료 로그 레코드 기록 후 행해져야만 시스템 고장시 회복 관리기 모듈에 의해 성공적인 회복이 가능하다. 즉 파일 삭제와 관련된 모든 로그 레코드는 완료 로그 레코드보다 이후에 로그(400)에 기록되어 있어야 한다. 비원자적 파일 삭제를 원자적으로 기록하기 위해 본 발명에서는 총 세 가지 방법을 제공한다.
마지막으로 완료 요청의 종료를 의미하는 LG_END 로그를 기록한다(S504).
도 5, 도 6 , 도 7은 본 발명이 적용되는 비원자적 파일 삭제의 원자적 기록 방식의 처리 과정을 설명하기 위한 흐름도이다. 각각의 방식은 본 발명이 목적으로 하는 바를 달성하기 위한 각기 다른 방식의 구현 방법으로서 구현의 복잡도와 회복 속도에 차이가 있으므로 실제 적용 업무에 따른 기술적 선택이 필요하다.
도 5는 본 발명이 적용되는 비원자적 다수 파일 삭제의 원자적 기록 방식의 처리 과정을 설명하기 위한 흐름도이다.
먼저, NTA를 설정하여 현 시점의 마지막 로그 레코드의 주소를 주기억장치에 저장한다(S601).
다음으로 대기 작업 리스트에 보관되어 있는 모든 삭제할 파일을 통상적인 방법으로 로그 기록과 함께 삭제한다(S602). 이때 파일 삭제 방법은 원자적으로 구현될 필요가 없다.
마지막으로 NTA 설정 당시에 저장해 놓은 로그 레코드 주소를 이용하여 DummyCLR 로그 레코드를 구성하고 로그에 기록한다(S603).
이러한 방법(S601∼S603)은 비원자적 다수 파일 삭제를 원자적으로 기록함으로서 본 발명의 목적을 단일 DummyCLR 로그 레코드를 이용하여 달성한다. 따라서 본 발명의 목적을 위한 로그량의 증가 및 구현의 복잡도는 최소로 한정된다. 그러나 만일 NTA 설정(S601)과 DummyCLR 로그 레코드 기록(S603) 사이에서 시스템 고장이 발생할 경우 그 시점까지 수행된 모든 파일 반납을 철회하고 처음부터 다시 시작해야 함으로 인해 재시작 회복 비용은 가장 크다.
도 6은 본 발명이 적용되는 비원자적 단일 파일 삭제의 원자적 기록 방식의 처리 과정을 설명하기 위한 흐름도이다.
대기 작업 리스트에 삭제할 파일이 남아 있는 가를 판단한다(S701). 여기서 삭제할 파일이 남아 있을 경우 식별자를 하나 할당받아 단일 파일 삭제를 원자적으로 기록하는 것을 반복하게 된다(S702∼S704).
먼저, NTA를 설정하여 현 시점의 마지막 로그 레코드의 주소를 주기억장치에 저장한다(S702).
다음으로 삭제할 파일을 통상적인 방법으로 로그 기록과 함께 삭제한다(S703). 이때 파일 삭제 방법은 원자적으로 구현될 필요가 없다.
마지막으로 NTA 설정 당시에 저장해 놓은 로그 레코드 주소를 이용하여 DummyCLR 로그 레코드를 구성하고 로그에 기록한다(S704).
이 작업을 대기 작업 리스트에 삭제할 파일이 존재하지 않을 때까지 계속한다.
상기 방법은 비원자적 다수 파일 삭제의 원자적 기록 방식에 비해 생성되는로그의 개수가 증가하고 구현의 복잡도가 다소 높아지지만 이에 비하여 시스템 고장 발생시 중단된 파일 삭제만을 철회하고 해당 파일부터 삭제를 계속할 수 있으므로 회복 시간이 단축되는 장점이 있다.
도 7은 본 발명이 적용되는 비원자적 할당 단위 반납의 원자적 기록 방식의 처리 과정을 설명하기 위한 흐름도이다.
삭제할 파일이 대기 작업 리스트에 존재하는지 검사(S801)하여 삭제할 파일이 존재하면 비원자적 파일 삭제의 할당 단위별 원자적 기록(S802∼S816)을 수행한다.
삭제할 파일이 존재할 경우 대기 작업 리스트에서 삭제할 파일을 할당받은 다음 NTA를 설정하여 현 시점의 마지막 로그 레코드의 주소를 주기억장치에 저장한다(S802).
다음으로 현재 삭제가 진행중인 파일에 더 이상 반납할 할당 단위가 없을 때까지 할당 단위의 원자적 기록 단계(S811∼S814)를 반복한다.
반납할 할당 단위가 존재할 경우 파일에서 반납할 할당 단위를 선택하고 NTA를 설정하여 현 시점의 마지막 로그 레코드의 주소를 주기억장치에 저장한다(S812).
다음으로 현재 반납할 할당 단위를 반납한다(S813). 이때 할당 단위 반납 절차는 원자적일 필요가 없다.
다음으로 가장 최근의 NTA 설정에 의해 기억된 로그 레코드 주소를 이용하여 DummyCLR 로그 레코드를 구성하고 로그에 기록한다(S814).
만약 파일에 모든 할당 단위가 반납되었으면 파일 식별자를 포함하는 파일 삭제 로그(LG_DESTROY)를 로그에 기록하고 해당 식별자를 시스템에 반납한다(S811,S815).
최종적으로 DummyCLR을 기록하고 다음 파일에 대한 삭제를 계속하기 위해 단계 S801를 계속한다(S816).
상기 방법은 단일 및 다수 파일 삭제의 원자적 기록 방법에 비해 기록해야 하는 로그의 양 및 구현의 복잡도는 가장 높으나 시스템 고장에 의한 재시작 회복시 중단된 할당 단위 반납만을 철회하고 그 이후만을 재반영 하기 때문에 회복이 가장 효율적이라는 장점을 가진다.
도 8은 본 발명이 적용되는 재시작 회복기의 처리 과정을 설명하기 위한 흐름도이다.
재시작 회복기(200)는 미완성 파일 삭제 검출을 포함하는 재시작 분석 단계(S901), 재시작 리두 단계(S902), 미완성 파일 삭제 철회를 포함하는 재시작 철회 단계(S903), 미완성 파일 삭제 처리 단계(S904)의 순서로 수행된다.
도 9는 본 발명이 적용되는 재시작 회복기에 의한 재시작 분석 단계의 상세 흐름도이다.
분석 단계의 시작을 위해 성공적으로 수행한 직전의 체크포인트 로그 레코드로 로그 읽기 위치를 설정한다(S1001).
다음으로 현재 설정된 위치에서 로그를 읽는다(S1002). 만약 현재 위치가 마지막 로그 레코드가 아니라면 현재 로그 레코드를 분석한다(S1011).
먼저 현재 로그 레코드가 완료 로그 레코드인지 검사한다(S1021). 만약 완료 로그 레코드라면 기존의 완료 로그 레코드 처리 절차(S1022)에 덧붙여서 트랜잭션 테이블에 현재 로그 레코드에 포함되어 있는 대기 작업 리스트의 모든 파일 식별자를 추가하는 작업을 부가적으로 수행하고(S1023) 다음 로그 레코드 분석을 계속 한다(S1002).
만약 현재 로그 레코드가 파일 삭제 로그 레코드이면서 파일 삭제 방법이 다수 파일의 원자적 기록 방법(도 5)이 아니라면 트랜잭션 테이블에서 로그 레코드에 저장되어 있는 파일 식별자를 트랜잭션 테이블의 해당 트랜잭션 엔트리의 대기 작업 리스트에서 삭제한다. 이는 다수 파일의 원자적 기록 방법 이외의 경우 재시작 철회 단계에서 완료된 파일 삭제에 대해서는 철회를 하지 않으므로 미완성 파일 삭제 처리 단계에서 이미 삭제된 파일을 삭제하지 않도록 방지하기 위함이다. 삭제 로그 레코드에 대한 모든 처리를 마치면 다음 로그 레코드 분석을 계속 한다(S1002).
만약 현재 로그 레코드가 그 이외의 로그 레코드라면 기존의 재시작 분석 작업 과정과 동일한 과정을 수행한다(S1026).
도 10은 본 발명이 적용되는 재시작 회복기에 의한 재시작 철회 단계의 상세 흐름도이다.
먼저 재시작 분석 단계에서 구축한 트랜잭션 테이블에 철회할 트랜잭션이 있는지 검사한다(S1101).
만약 철회할 트랜잭션들이 존재한다면 그들로부터 가장 주소값이 큰 철회 로그 레코드를 선정하여 로그를 읽는다(S1102).
그 다음 로그의 유형이 완료 로그 레코드인지 검사한다(S1103). 만약 완료 로그 레코드라면 트랜잭션 테이블에서 해당 트랜잭션의 철회가 완료되었음을 표시한다(S1104). 이때 트랜잭션 테이블에서 해당 트랜잭션 정보를 삭제하지 않아야 한다. 이 작업을 완료 후 다음 로그 레코드의 철회 작업을 반복한다(S1101).
만약 로그의 유형이 완료 로그 레코드가 아니라면 그 이하의 철회 과정은 기존의 방법과 동일하다(S1105). 철회 작업을 마치면 다음 로그 레코드의 철회 작업을 반복한다(S1101).
도 11은 본 발명이 적용되는 재시작 회복기에 의한 미완성 파일 삭제 처리 단계의 상세 흐름도이다.
먼저 트랜잭션 테이블에 미완성 파일 삭제 대상인 트랜잭션의 존재를 검사한다(S1201). 만약 존재한다면 처리할 트랜잭션을 트랜잭션 테이블로부터 할당받고(S1202), 해당 파일을 상기의 등록된 파일 삭제 및 원자적 기록 방식중의 한가지 방식으로 삭제하고(S1203), LG_END 로그 레코드를 구성하여 로그에 기록한다(S1204).
이와 같은 작업을 트랜잭션 테이블에 미완성 파일 삭제 대상인 트랜잭션이 더 이상 존재하지 않을 때까지 반복 수행한다.
상기에서는 본 발명의 일 실시예에 국한하여 설명하였으나 본 발명의 기술이 당업자에 의하여 용이하게 변형 실시될 가능성이 자명하다. 이러한 변형된 실시예들은 본 발명의 특허청구범위에 기재된 기술사상에 포함된다고 하여야 할 것이다.
전술한 바와 같은 본 발명은 DBMS상에서 파일을 삭제하는 도중 시스템 고장이 발생하였을 경우 재시작 회복 단계에서 미반납된 모든 자원을 완전하게 반납해 주도록 하여 자료에 일관성 문제가 발생하지 않도록 하고 저장 장치 효율을 높이는 효과를 가진다.

Claims (7)

  1. 데이터베이스 관리 시스템(DBMS)에서 시스템 고장에 대비한 파일 삭제 및 회복 방법에 있어서,
    트랜잭션 완료 처리시 대기 작업 리스트에 존재하는 모든 파일들을 삭제하고 비원자적 파일 삭제 수행을 원자적으로 로그에 기록하는 제 1 단계와,
    상기 기록된 로그 레코드를 이용하여 재시작 회복시 미완료된 파일 삭제를 회복시키는 제 2 단계를 포함하는 데이터베이스 관리 시스템에서 시스템 고장에 대비한 파일 삭제 및 회복 방법.
  2. 제 1 항에 있어서, 상기 제 2 단계는,
    상기 미완성 파일 삭제 검출을 포함하는 재시작 분석을 수행하는 제 21 단계와, 상기 미완성 파일 삭제 철회를 포함하는 재시작 철회를 수행하는 제 22 단계와, 상기 미완성 파일 삭제를 처리하는 제 23 단계를 포함하는 데이터베이스 관리 시스템에서 시스템 고장에 대비한 파일 삭제 및 회복 방법.
  3. 제 2 항에 있어서, 상기 제 21 단계는,
    마지막 체크포인트 위치에서부터 로그 레코드를 읽어 분석을 수행할 때 완료 로그 레코드를 읽은 경우 트랜잭션 테이블에 해당 로그에 포함된 파일 식별자 리스트를 해당 트랜잭션 항목에 추가하는 제 211 단계와, 파일 삭제 로그 레코드를 읽은 경우 트랜잭션 테이블의 해당 트랜잭션 항목에서 로그 레코드에 저장되어 있는 파일 식별자를 제거하는 제 212 단계를 포함하는 데이터베이스 관리 시스템에서 시스템 고장에 대비한 파일 삭제 및 회복 방법.
  4. 제 2 항에 있어서, 상기 제 22 단계는,
    트랜잭션 테이블에 존재하는 철회 대상 트랜잭션의 로그 레코드를 읽어 철회를 수행할 때 완료 로그 레코드를 읽은 경우 트랜잭션 테이블에 해당 트랜잭션의 철회 완료를 표시하고 해당 트랜잭션의 철회를 중단하는 것을 특징으로 한 데이터베이스 관리 시스템에서 시스템 고장에 대비한 파일 삭제 및 회복 방법.
  5. 제 2 항에 있어서, 상기 제 23 단계는,
    트랜잭션 테이블에 존재하는 각각의 트랜잭션 별 미완성 파일 삭제 처리 파일들의 삭제를 수행한 후 LG_END 로그를 기록하는 것을 특징으로 한 데이터베이스 관리 시스템에서 시스템 고장에 대비한 파일 삭제 및 회복 방법.
  6. 제 1 항 또는 제 5 항에 있어서, 상기 제 1 단계 또는 제 23 단계의 파일 삭제는,
    NTA를 시작 한 후 모든 파일의 삭제 과정을 수행하고 DummyCLR을 기록 하는 제 11 단계와, 상기 NTA를 시작한 후 단일 파일 삭제 과정을 수행하고 DummyCLR을 기록하는 작업을 각각의 파일에 대해 반복하는 제 12 단계를 포함하는 데이터베이스 관리 시스템에서 시스템 고장에 대비한 파일 삭제 및 회복 방법.
  7. 제 6 항에 있어서, 상기 제 12 단계는,
    상기 단일 파일 삭제 과정에서 상기 NTA를 시작한 후 파일에 속하는 할당 단위를 반납하고 DummyCLR을 기록하는 작업을 각각의 할당단위에 대해 반복하는 것을 특징으로 한 데이터베이스 관리 시스템에서 시스템 고장에 대비한 파일 삭제 및 회복 방법.
KR1020010086768A 2001-12-28 2001-12-28 데이터베이스 관리 시스템에서 시스템 고장에 대비한 파일삭제 및 회복 방법 KR20030056540A (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020010086768A KR20030056540A (ko) 2001-12-28 2001-12-28 데이터베이스 관리 시스템에서 시스템 고장에 대비한 파일삭제 및 회복 방법
US10/175,098 US6944635B2 (en) 2001-12-28 2002-06-20 Method for file deletion and recovery against system failures in database management system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020010086768A KR20030056540A (ko) 2001-12-28 2001-12-28 데이터베이스 관리 시스템에서 시스템 고장에 대비한 파일삭제 및 회복 방법

Publications (1)

Publication Number Publication Date
KR20030056540A true KR20030056540A (ko) 2003-07-04

Family

ID=19717765

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020010086768A KR20030056540A (ko) 2001-12-28 2001-12-28 데이터베이스 관리 시스템에서 시스템 고장에 대비한 파일삭제 및 회복 방법

Country Status (2)

Country Link
US (1) US6944635B2 (ko)
KR (1) KR20030056540A (ko)

Families Citing this family (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4290975B2 (ja) * 2002-12-19 2009-07-08 株式会社日立製作所 データベース処理方法及び装置並びにその処理プログラム及びディザスタリカバリ方法及びシステム
JP4301849B2 (ja) * 2003-03-31 2009-07-22 株式会社日立製作所 情報処理方法及びその実施システム並びにその処理プログラム並びにディザスタリカバリ方法およびシステム並びにその処理を実施する記憶装置およびその制御処理方法
JP4452533B2 (ja) 2004-03-19 2010-04-21 株式会社日立製作所 システムおよび記憶装置システム
US7831561B2 (en) * 2004-05-18 2010-11-09 Oracle International Corporation Automated disk-oriented backups
WO2006057061A1 (ja) * 2004-11-29 2006-06-01 Fujitsu Limited 分散トランザクション処理方法、装置、及びプログラム
US20060182417A1 (en) * 2005-02-16 2006-08-17 Satoru Sugishita Image processor and file data management therein
US7475281B2 (en) * 2005-03-10 2009-01-06 International Business Machines Corporation Method for synchronizing replicas of a database
US8145686B2 (en) * 2005-05-06 2012-03-27 Microsoft Corporation Maintenance of link level consistency between database and file system
US8799680B2 (en) 2005-09-15 2014-08-05 Microsoft Corporation Transactional sealed storage
US8352448B2 (en) * 2007-01-23 2013-01-08 International Business Machines Corporation Securely deleting data in a transactionally consistent manner
US9020905B2 (en) * 2009-10-31 2015-04-28 International Business Machines Corporation Synchronizing database and non-database resources without a commit coordinator
CN103164765A (zh) * 2011-12-16 2013-06-19 苏州威世博知识产权服务有限公司 专利管理方法及系统
US9298387B2 (en) * 2013-07-17 2016-03-29 International Business Machines Corporation Recovering from a pending uncompleted reorganization of a data set
US9665432B2 (en) 2014-08-07 2017-05-30 Microsoft Technology Licensing, Llc Safe data access following storage failure
CN107241370A (zh) * 2016-03-29 2017-10-10 西门子公司 IaaS云环境下资源操作的回滚方法及系统
CN106648977A (zh) * 2016-12-05 2017-05-10 武汉斗鱼网络科技有限公司 一种安卓系统文件的恢复方法及装置
US11134119B1 (en) * 2021-03-30 2021-09-28 Dropbox, Inc. Intent tracking for asynchronous operations
US11768741B2 (en) * 2021-07-30 2023-09-26 International Business Machines Corporation Replicating changes written by a transactional virtual storage access method
CN116594961B (zh) * 2023-07-19 2023-09-22 安徽华云安科技有限公司 文件处理方法、装置、设备以及存储介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5381545A (en) * 1991-06-04 1995-01-10 International Business Machines Corporation Data backup and recovery in a data processing system
KR970059930A (ko) * 1996-01-31 1997-08-12 니시무로 타이조 입출력 제어 장치 및 방법
US5724581A (en) * 1993-12-20 1998-03-03 Fujitsu Limited Data base management system for recovering from an abnormal condition
KR20020030223A (ko) * 2000-10-16 2002-04-24 주식회사 알라딘소프트 주기억장치 데이터베이스 시스템에서 고성능 트랜잭션을지원하기 위한 로깅 및 회복 방법

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5469562A (en) * 1992-06-26 1995-11-21 Digital Equipment Corporation Durable atomic storage update manager
GB2276737A (en) * 1993-03-30 1994-10-05 Ibm Fault-tolerant transaction-oriented data processing
KR960024068A (ko) 1994-12-27 1996-07-20 구자홍 이동식 축열형 공기조화기
US5712971A (en) * 1995-12-11 1998-01-27 Ab Initio Software Corporation Methods and systems for reconstructing the state of a computation

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5381545A (en) * 1991-06-04 1995-01-10 International Business Machines Corporation Data backup and recovery in a data processing system
US5724581A (en) * 1993-12-20 1998-03-03 Fujitsu Limited Data base management system for recovering from an abnormal condition
KR970059930A (ko) * 1996-01-31 1997-08-12 니시무로 타이조 입출력 제어 장치 및 방법
KR20020030223A (ko) * 2000-10-16 2002-04-24 주식회사 알라딘소프트 주기억장치 데이터베이스 시스템에서 고성능 트랜잭션을지원하기 위한 로깅 및 회복 방법

Also Published As

Publication number Publication date
US20030126163A1 (en) 2003-07-03
US6944635B2 (en) 2005-09-13

Similar Documents

Publication Publication Date Title
KR20030056540A (ko) 데이터베이스 관리 시스템에서 시스템 고장에 대비한 파일삭제 및 회복 방법
US11429641B2 (en) Copying data changes to a target database
US10235375B1 (en) Persistent file system objects for management of databases
US11132350B2 (en) Replicable differential store data structure
JP4522170B2 (ja) リレーショナルデータベースのインデックス追加プログラム,インデックス追加装置及びインデックス追加方法
JP4237354B2 (ja) トランザクション処理方法及びトランザクション処理システム
US10042910B2 (en) Database table re-partitioning using two active partition specifications
US9626394B2 (en) Method for mass-deleting data records of a database system
KR100862661B1 (ko) 지연된 로깅 방법 및 그 장치
US10437662B2 (en) Crash recovery using non-volatile memory
US9507841B2 (en) Consistent backup of a distributed database system
EP2562657B1 (en) Management of update transactions and crash recovery for columnar database
CN105630863A (zh) 用于多版本并发提交状态的事务控制块
JP6445049B2 (ja) ログの管理方法及び計算機システム
US10983709B2 (en) Methods for improving journal performance in storage networks and devices thereof
US5953728A (en) System for modifying a database using a transaction log
CN108271420A (zh) 管理文件的方法、文件系统和服务器系统
KR100501414B1 (ko) 파일 시스템의 메타 데이터 회복을 위한 로깅과 회복 방법및 장치
JP4390618B2 (ja) データベース再編成プログラム、データベース再編成方法、及びデータベース再編成装置
KR100449419B1 (ko) 데이터 크기에 따른 선별적 공간데이터 관리방법
CN117076147B (zh) 死锁检测方法、装置、设备和存储介质
US10360145B2 (en) Handling large writes to distributed logs
JPH09330254A (ja) データ格納領域管理方法

Legal Events

Date Code Title Description
A201 Request for examination
PA0109 Patent application

Patent event code: PA01091R01D

Comment text: Patent Application

Patent event date: 20011228

PA0201 Request for examination
PG1501 Laying open of application
E902 Notification of reason for refusal
PE0902 Notice of grounds for rejection

Comment text: Notification of reason for refusal

Patent event date: 20031030

Patent event code: PE09021S01D

E601 Decision to refuse application
PE0601 Decision on rejection of patent

Patent event date: 20040707

Comment text: Decision to Refuse Application

Patent event code: PE06012S01D

Patent event date: 20031030

Comment text: Notification of reason for refusal

Patent event code: PE06011S01I