KR20020035093A - 데이타베이스 테이블 복구 시스템 - Google Patents

데이타베이스 테이블 복구 시스템 Download PDF

Info

Publication number
KR20020035093A
KR20020035093A KR1020027000214A KR20027000214A KR20020035093A KR 20020035093 A KR20020035093 A KR 20020035093A KR 1020027000214 A KR1020027000214 A KR 1020027000214A KR 20027000214 A KR20027000214 A KR 20027000214A KR 20020035093 A KR20020035093 A KR 20020035093A
Authority
KR
South Korea
Prior art keywords
space
backup copy
log record
data
data page
Prior art date
Application number
KR1020027000214A
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 엘그레시 도론
Publication of KR20020035093A publication Critical patent/KR20020035093A/ko

Links

Classifications

    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/80Database-specific techniques
    • 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/99941Database schema or data structure
    • Y10S707/99948Application of database or data structure, e.g. distributed, multimedia, or image

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

테이블스페이스에 종속하고 있는 데이타베이스 테이블을 복구하는 시스템 및 방법은 상기 테이블스페이스의 백업 카피를 수용하여 상기 테이블과 관련된 로그 레코드를 읽는 시스템 및 방법이다. 이어서, 이 시스템은 상기 로그 레코드를 상기 백업 카피에 적용하고 상기 백업 카피로부터 새로운 테이블 데이타 페이지를 작성한다. 최종적으로, 이 시스템은 상기 새로운 테이블 데이타 페이지를 스캔하여 제1 테이블에 레코드하고, 상기 레코드로부터 상기 테이블을 업데이트한다.

Description

데이타베이스 테이블 복구 시스템{DATABASE TABLE RECOVERY SYSTEM}
데이타베이스, 예컨대 IBM사의 DB2는 테이블을 이용하는데, 이 테이블은 테이블스페이스(tablespace)에 종속되어 있다. 이 테이블스페이스에는 데이타베이스 의 모든 반영구적인 데이타가 담겨지며, 테이블에는 반영구적인 데이타에 대한 사용자의 업데이트 데이타와 수정 데이타가 담겨진다. 사용자는 테이블에서 반영구적인 데이타의 서브세트를 생성하여 테이블스페이스의 데이타베이스 데이타에 억세스한 다음, 테이블 데이타를 수정하여 갱신(업데이트)한다. 사용자는 테이블 데이타로 테이블스페이스의 데이타에 덮어쓰기 위해 주기적으로 데이타베이스를 업데이트한다.
사용자가 테이블의 데이타를 업데이트할 때, 일어나는 문제점 중 하나는 테이블 업데이트 중의 전력 감소, 데이타 입력 루틴에서의 에러 또는 기타 다른 에러원으로 인해 데이타 업데이트가 부정확(incorrects)하게 이루어진다는 것이다. 이러한 에러가 발생하는 상황에서는, 테이블 데이타를 테이블스페이스에 저장하지 않고, 테이블 안에 데이타를 다시 만들 필요가 있다. 그 이유는 오류가 생긴 데이타가 테이블스페이스로 전송이 허용되지 않기 때문이다. 이 경우, 예컨대 테이블의 로그 레코드 파일(log record file)을 업데이트하여 보유하는 것이 일반적이므로, 로그 레코드 파일을 사용하여 테이블스페이스 데이타를 업데이트할 수 있다.
테이블을 복구하는 공지된 방법의 문제점 중 하나는 테이블스페이스를 로그 레코드 파일을 사용하여 복구할 필요가 있다는 것이다. 테이블스페이스가 복구될 때, 테이블스페이스의 전부에, 에러가 없는 테이블을 포함하여 억세스하는 것은 제한되어야 한다. 또한, 전체 테이블에 억세스하는 것은 테이블스페이스가 복구될 때까지 제한되어야 한다. 그 결과, 만일 2명 이상의 사용자가 테이블스페이스를 사용하여 2개 이상의 상이한 테이블을 작성할 경우, 모든 사용자는 어느 한 개의 테이블에 있는 데이타가 복구되는 동안에 테이블에 억세스할 수 없다.
이러한 문제점은 테이블스페이스가 복구되고 있는 동안에는 작업의 완전한 중단을 초래할 수 있다.
이상 설명한 바와 같이, 테이블을 복구하기 위한 종래의 시스템 및 방법과 관련한 문제점을 실질적으로 줄이거나 없애는 테이블 복구 시스템 및 방법이 필요하다는 것을 알 수 있다. 특히, 테이블을 복구하는 시스템 및 방법은 복수의 사용자가 에러가 없는 테이블에 억세스할 수 있고, 테이블스페이스가 복구될 필요가 없도록 할 필요가 있다.
본 발명은 일반적으로 데이타베이스 복구 시스템에 관한 것으로, 특히 전체 데이타베이스가 복구될 필요가 없는 데이타베이스의 테이블을 복구하기 위한 시스템 및 방법에 관한 것이다.
도 1은 본 발명의 일실시예에 따른 2 개의 종속 테이블을 가진 테이블스페이스를 도시한 도면.
도 2는 본 발명의 일실시예에 따른 테이블 복구 시스템을 도시한 블럭도.
도 3은 테이블을 복구하기 위한 본 발명의 일실시예로 실행된 단계의 흐름도.
본 발명의 일실시예는 테이블스페이스에 종속하는 데이타베이스 테이블을 복구하는 시스템 및 방법이다. 이 시스템은 테이블스페이스의 백업 카피(backup copy)를 수용하고, 테이블과 관련한 로그 레코드(log records)를 읽어낸다. 이후, 시스템은 로그 레코드를 백업 카피에 적용하여 백업 카피로부터 새로운 테이블 데이타 페이지(table data pages)를 만든다. 최종적으로, 시스템은 제1 테이블의 레코드를 위해 새로운 테이블 데이타 페이지를 스캔하고, 레코드로부터 테이블을 업데이트한다.
본 발명은 다양한 장점을 제공하고 있다. 본 발명의 장점 중 하나는 테이블에 종속하는 테이블스페이스를 필요로 하지 않는 테이블과, 재작성될 테이블스페이스에 종속하는 모든 다른 테이블을 복구하는 시스템에 있다. 본 발명은 테이블스페이스 및 다른 종속 테이블의 구성을 수정하지 않고, 재작성된 테이블을 데이타의 오류가 발생되기 이전으로 복귀시킨다.
도 1은 본 발명의 일실시예에 따른 2 개의 종속 테이블을 가진 테이블스페이스를 도시한 도면이다. 테이블스페이스(10)는 4개의 컬럼, 즉 컬럼 A, 컬럼 B, 컬럼 C 및 컬럼 D로 나누어져 있다. 또한, 테이블스페이스(10)는 5개의 페이지, 즉 페이지 1, 페이지 2, 페이지 3, 페이지 4 및 페이지 5로 나누어져 있다. 각각의 컬럼에 대한 컬럼 정의는 각각의 로우(row) 및 페이지(page)에 걸쳐 균일하다. 각 페이지의 페이지 크기는 균일하지만, 필연적으로 각 로우의 가변 컬럼 필드(variable column fields)에 있는 문자의 개수에 따라 로우의 개수가 변하는 것을 포함할 수 있다. 예컨대, 각 페이지가 4,096 바이트의 데이타를 포함할 경우, 하나의 페이지는 총 4,096 바이트의 가변 필드를 갖는 2개의 로우를 포함할 수 있고, 다른 하나의 페이지는 총 4,096 바이트의 가변 필드를 갖는 4개의 로우를 포함할 수 있다. 따라서, 일례로 페이지 1은 4개의 로우를 포함하고, 페이지 2는 2개의 로우를 포함하고, 페이지 3은 3개의 로우를 포함하고, 페이지 4는 4개의 로우를 포함하고, 페이지 5는 2개의 로우를 포함하고 있다.
일례로, 테이블 20 및 테이블 30을 테이블스페이스(10)으로부터 뽑아낼 수 있다. 테이블 20은 컬럼 A 데이타 및 컬럼 C 데이타를 포함하고 있지만, 테이블 30은 컬럼 B 데이타 및 컬럼 D 데이타를 포함하고 있다. 또한, 테이블 20 및 테이블 30은 로우들을 더 포함하고 있지만, 이 로우들을 데이타의 페이지로 나눌 수 없다. 동작 중에, 테이블 20은 부적절한 데이타 입력, 시스템 동작 및 기타 다른 에러원으로 인해 오류가 생길 수 있다. 일단 테이블 20을 업데이트하려면, 테이블 20을 테이블스페이스(10)로부터 마지막으로 읽은 시간이 테이블 20이 재작성될 수 있기 전에 테이블스페이스(10)의 데이타에 포함되어야 한다.
테이블 20 및 테이블 30은 각각 로그 레코드 22 및 로그 레코드 24를 포함하고 있다. 각각의 로그 레코드 22 및 로그 레코드 24는 그 해당 테이블에 만들어진 변경 레코드이다. 또한, 테이블스페이스(10)의 백업 카피는 데이타베이스를 통해 유지될 수 있다. 백업 카피는 테이프 또는 디스크, 또는 기타 다른 저장 매체에 저장될 수 있다.
본 발명의 일실시예에 따라, 테이블 20에 대한 업데이트는 테이블스페이스(10) 데이타의 백업 카피에 적용되는데, 이것에 의해 테이블 20이 복구되는 동안에 읽기 전용 모드로 테이블 30에 억세스가능하다. 따라서, 만일 테이블 20에 대한 데이타에는 오류가 생겼지만, 테이블 30에 대한 데이타에는 오류가 생기지 않은 경우, 테이블 20 및 테이블 30에 대한 로그 레코드를 테이블스페이스(10)에 적용하여, 테이블스페이스(10)를 수정할 필요가 없다. 그 대신에, 테이블 20은 테이블스페이스(10)의 백업 카피로부터 재작성되는데, 테이블스페이스(10)에서 테이블 20 로그 레코드 파일로부터의 업데이트가 적용된다. 이 방식으로, 테이블 20, 테이블 30 및 테이블스페이스(10)의 구성을 테이블 20 데이타의 오류 작성 이전 상태로 유지한다.
본 발명은 테이블 20을 복구하기 위해 테이블 20 및 테이블 30으로부터의 로그 레코드 파일을 테이블스페이스(10)에 적용할 필요가 없다. 사용자는 다른 테이블, 예컨대 테이블 30에 읽기 전용 억세스(read-only access)할 수 있는데, 이것은 테이블 20에서 데이타의 복구로 인해 발생할 수 있는 작업의 중단을 줄인다.
특히, 일실시예에 있어서, 테이블 30에 읽기 전용 억세스하여, 테이블 20이 복구될 동안에 테이블스페이스(10)가 변동하는 것을 방지한다. 다음에, 테이블스페이스(10)의 백업 카피는 작업 데이타 메모리(working data memory)에 저장된다. 이어서, 테이블 20의 모든 로우가 삭제된 다음, 테이블 20의 인덱스는 억세스로부터 인덱스의 변화가 일어나지 않게 고정된다(locked out). 그런 다음, 테이블 20과 관련된 로그 레코드를 로그로부터 읽는다.
로그 레코드를 읽은 후에, 로그 레코드를 로그 레코드 작업 공간(log record workspace)에서 읽어서 분류한다. 다음에, 로그 레코드에는 테이블스페이스(10)의 백업 카피가 적용된다. 로그 레코드를 분류하면, 테이블스페이스(10)의 백업 카피에 만들어진 입출력 동작의 수가 감소하며, 이로 인해 테이블 20을 복구하는데 필요한 처리 시간의 양이 줄어든다.
로그 레코드가 테이블스페이스(10)의 백업 카피에 적용된 후에, 새로운 테이블 데이타 페이지는 테이블스페이스(10)의 업데이트된 백업 카피로 작성한다. 이후, 새로운 테이블 데이타 페이지를 테이블 20에 속하는 레코드 또는 데이타베이스 "로우(rows)"를 위해 스캔한다. 이들 레코드를 선택하여 테이블 20을 업데이트하는데 사용한다. 테이블 20을 업데이트한 후에, 테이블 20, 테이블 30 및 테이블스페이스(10)에 대한 업데이트 억세스가 가능하다.
도 2는 본 발명의 일실시예에 따른 테이블 복구 시스템(table recovery system)(200)을 도시한 블럭도이다. 테이블 복구 시스템(200)은 오류가 생긴 데이타를 저장하고 있는 테이블, 예컨대 DB2 테이블스페이스의 테이블을 복구하는데 사용될 수 있는데, 테이블스페이스(10) 및 테이블스페이스(10)의 모든 다른 테이블을 복구할 필요가 없다. 따라서, 테이블 복구 시스템(200)은 테이블스페이스(10) 및테이블을 오류가 생기기 이전의 구성으로 복귀시키는 시스템인데, 오류가 생긴 테이블에 있는 데이타를 오류가 생성되기 이전의 데이타로 만든다.
테이블 복구 시스템(200)은 하드웨어, 소프트웨어 또는 이들의 적합한 조합으로 구현될 수 있다. 테이블 복구 시스템(200)은 소프트웨어, 예컨대 범용 컴퓨터 플랫폼에서 동작하는 동작 모드인 것이 좋다. 테이블 복구 시스템(200)은 테이블스페이스 백업 스토리지(tablespace backup storage)(202), 로그 레코드 스토리지 시스템(log record storage system)(204) 및 테이블 스토리지(스페이스맵)[table storage(spacemap)](206)에 연결되어 있다. 테이블스페이스 백업 스토리지(202), 로그 레코드 스토리지 시스템(204) 및 테이블 스토리지(206)는 디스크 스토리지 메카니즘, 랜덤 억세스 메모리 또는 다른 적합한 데이타 스토리지 장치이며, 이것은 테이블스페이스 백업 데이타, 로그 레코드 데이타 및 테이블 데이타를 각각 저장하는데 사용된다.
테이블 복구 시스템(200)은 개별 서브시스템을 포함하는데, 이 서브시스템은 각각 소프트웨어, 하드웨어 또는 이들의 적합한 조합으로 구현될 수 있다. 또한, 테이블 복구 시스템(200)의 서브시스템은 하나의 시스템의 별개의 기능적인 형태일 수 있다. 예컨대, 테이블 복구 시스템(200)의 각 서브시스템은 DB2 데이타베이스 시스템에 있는 기능 또는 커맨드일 수 있거나, 로직 회로, 프로그래머블 장치, 또는 다른 적합한 시스템 또는 구성 요소일 수 있다.
로그 레코드 소터 시스템(log records sortor system)(210)은 로그 레코드 스토리지 시스템(204)에서 획득된 로그 레코드를 분류하는데 사용되는 시스템이다.이 로그 레코드 소터 시스템(210)은 데이타 페이지 및 로그 레코드 배치에 따라 로그 레코드 세트를 그룹화함으로써 입/출력 동작을 최적화하는 시스템이다.
데이타 페이지 업데이터 시스템(log page updater system)(212)은 로그 레코드 소터 시스템(210) 및 테이블스페이스 백업 스토리지(202)에 연결되어 있다. 분류된 로그 레코드가 로그 레코드 소터 시스템(210)로부터 수용되면, 이 데이타 페이지 업데이터 시스템(212)은 테이블스페이스 백업 스토리지(202)로부터 테이블스페이스(10)의 백업 카피를 업데이트한다.
데이타 페이지 스캐너 시스템(data page scanner system)(214)는 데이타 페이지 업데이터 시스템(212)에 연결되어 있다. 이 데이타 페이지 스캐너 시스템(214)는 업데이트된 테이블스페이스 백업 카피를 분류하여 추출을 위한 테이블 로우를 식별하도록 동작하는 시스템이다.
페이지 로우 추출기 시스템(page row extractor system)(216)은 데이타 페이지 스캐너 시스템(214)에 연결되어 있어, 데이타 페이지 스캐너 시스템(214)에 의해 식별된 페이지 로우를 추출한다.
테이블 로우 인서터 시스템(table row inserter system)(218)은 페이지 로우 추출기 시스템(216)으로부터 페이지 로우를 수용하여 이들을 복구될 테이블에 인서트한다. 예컨대, 복구될 테이블은 테이블 스토리지 시스템(206)에 저장될 수 있는데, 이것은 모든 로우를 삭제한 채로 다시 초기화되는 스페이스 맵일 수 있다.
동작 중에, 테이블 복구 시스템(200)은 재작성될 테이블스페이스(10)에 종속하는 모든 테이블을 필요로 하지 않고, 테이블스페이스로부터 테이블을 복구하는데사용하는 시스템이다. 예컨대, 테이블 복구 시스템(200)은 테이블에 대해 부정확한 업데이트가 이루어지는 DB2 데이타베이스 시스템에서 동작한다. 테이블이 업데이트되지 않을 경우, 테이블스페이스(10)에 부정확한 업데이트가 부과 되거나, 테이블에 대한 업데이트가 손상될 수 있다. 테이블 복구 시스템(200)은 테이블스페이스(10)를 필요로 하지 않는 테이블과 재작성될 모든 다른 테이블에 대한 업데이트를 구현하는데 사용된다.
이 방식으로, 테이블 데이타는 다른 테이블이 "읽기 전용" 모드에서 억세스되고 있는 동안에 재작성될 수 있다. 또한, 각각의 테이블 및 테이블 스페이스는 오류가 생긴 테이블 안에 있는 데이타 오류가 있기 이전의 구성으로 복귀된다.
도 3은 테이블을 복구하기 위한 본 발명의 일실시예로 실행된 단계의 흐름도이다. 복구 단계는 소프트웨어, 하드웨어 또는 이들의 적합한 조합을 통해 구현될 수 있지만, 소프트웨어, 예컨대 범용 컴퓨터 플랫폼(예컨대, 퍼스널 컴퓨터 또는 메인프레임 컴퓨터)에 사용되고 있는 동작 모드인 것이 좋다.
단계 302에서는, 종속하는 테이블로부터 테이블스페이스(10)에 대한 모든 업데이트가 완료된다. 예컨대, DB2 "acquiesce" 기능은 모든 대기된 업데이트를 테이블스페이스에서 구현하는데 사용될 수 있어, 테이블 복구가 수행될 때 일어나는 테이블스페이스(10)에 대한 변화를 방지할 수 있다.
단계 304에서는, 테이블스페이스(10)에 종속하고 있는 다른 데이블에 대한 억세스를 "읽기 전용" 모드로 설정한다. 이후, 방법은 단계 306으로 진행하고, 이 단계 306에서 테이블스페이스(10)의 백업 카피는 백업 스토리지에서 시스템 스토리지로 수용된다. 예컨대, 테이블스페이스(10)의 백업 카피는 랜덤 억세스 메모리, 마그네틱 데이타 스토리지 매체 또는 다른 적합한 데이타 스토리지 장치에 저장될 수 있다. 이후, 방법은 단계 308로 진행한다.
단계 308에서는, 재작성될 테이블의 모든 로우를 삭제한다. 방법은 단계 310으로 진행하여 테이블의 인덱스에 대한 억세스를 고정한다. 테이블의 인덱스는 이 테이블 안에 있는 데이타가 테이블의 복구가 완료된 후에도 변동되지 않는다는 것을 입증하는데 사용될 수 있다. 이후, 방법은 단계 312로 진행하고, 로그 레코드는 테이블과 관련된 로그 레코드 스토리지로부터 읽혀진다. 본 발명은 로그 업데이트를 구현하는데, 이 로그 업데이트는 카피된 테이블스페이스의 테이블 복구에 앞서 발생하지만, 오류가 생기지 않은 원본 테이블스페이스와 모든 다른 종속 테이블을 그대로 놓아둔다. 이런 방식으로, 오류가 생긴 데이타를 갖는 테이블은 초기 구성으로 복귀하여, 테이블스페이스(10) 또는 다른 종속 테이블에 어떠한 변동도 없게 된다. 이후, 방법은 단계 314로 진행한다.
단계 314에서는, 로그 레코드 파일을 로그 레코드 작업 공간으로 카피한다. 이 로그 레코드 작업 공간은 단계 316에서 사용되어 로그 레코드를 분류할 수 있다. 이후, 방법은 단계 318로 진행하는데, 로그 레코드는 테이블스페이스(10) 백업 카피에 적용될 수 있다.
단계 320에서는, 새로운 테이블 데이타 페이지를 업데이트된 테이블스페이스 백업 카피로 작성한다. 이후, 방법은 단계 322로 진행하는데, 새로운 테이블 데이타 페이지는 복구될 테이블스페이스(10)에 속하는 레코드를 위해 스캔된다. 예컨대, 각각의 테이블은 테이블 키를 포함하는데, 이 테이블 키는 테이블에 의한 사용을 마크하기 위한 테이블스페이스(10)로부터의 컬럼이다. 각각의 로우에 대한 테이블 키가 추출된다. 이후, 방법은 단계 324로 진행하는데, 테이블은 테이블스페이스(10)에서의 새로운 테이블 데이타 페이지로 업데이트된다.
동작 중에, 방법 300은 테이블 데이타가 오류가 발생된 후에 테이블을 복구하는데 사용되는데, 종속 테이블을 복구하기 위해 테이블스페이스를 필요로 하지 않는다. 방법 300은 테이블을 재작성할 필요가 없이 테이블스페이스(10)의 다른 테이블에 억세스 가능하게한다. 또한, 방법 300은 로그 레코드를 분류함으로써 테이블 복구 프로세스를 최적화하는데, 이에 따라 테이블스페이스(10)에 대한 입/출력 동작은 테이블 복구 프로세스 중에 최적화된다.
전술한 바와 같이, 본 발명은 테이블을 복구할 수 있는데, 이것은 테이블이 종속하는 테이블스페이스와 재작성될 테이블스페이스에 종속하는 다른 모든 테이블을 필요로 하지 않는다. 본 발명은 재작성된 테이블을 데이타의 오류가 발생하기 이전의 구성으로 복귀하여 테이블스페이스와 다른 종속 테이블의 구성을 수정할 필요가 없다.
본 발명의 몇가지 실시예는 본 명세서에 상세하게 설명되거나 기재되어 있다. 그러나, 본 발명의 수정과 변경은 본 발명의 정신과 청구 범위를 이탈하지 않고 본 발명의 상세한 설명과 첨부한 청구항에 의해 뒷받침된다.
예컨대, 전술한 실시예는 사용자가 읽기 전용 모드에 있는 다른 테이블에 억세스하도록 허용하고 있을지라도, 다른 실시예에서는 사용자가 테이블이 복구되고있는 중에 업데이트 억세스 모드에 있는 테이블에 억세스하도록 할 수 있다.

Claims (16)

  1. 테이블을 복구하는 시스템으로서,
    테이블 복구 시스템과,
    상기 테이블 복구 시스템에 연결된 테이블스페이스 억세스 시스템을 포함하며, 상기 테이블스페이스 억세스 시스템은 상기 테이블스페이스에 대한 억세스를 읽기 전용 억세스로 제한하도록 동작가능한 시스템.
  2. 제1항에 있어서, 상기 테이블 복구 시스템은 로그 레코드 파일에서 로그 레코드를 분류하도록 동작가능한 로그 레코드 소터 시스템을 더 포함하는 것인 시스템.
  3. 제2항에 있어서, 상기 로그 레코드 소터 시스템에 연결되어 로그 레코드 업데이트를 데이타 페이지에 적용하도록 동작가능한 데이타 페이지 업데이터 시스템을 더 포함하는 것인 시스템.
  4. 제3항에 있어서, 데이타 페이지 업데이터 시스템에 연결된 데이타 페이지 스캐너 시스템을 더 포함하고, 상기 데이타 페이지 스캐너 시스템은 데이타 페이지에 있는 테이블과 연관된 레코드를 배치하도록 동작가능한 것인 시스템.
  5. 제4항에 있어서, 상기 데이타 페이지 스캐너 시스템에 연결되어 상기 데이타 페이지 스캐너 시스템에 의해 배치된 데이타 페이지로부터 페이지 로우를 추출하도록 동작가능한 페이지 로우 추출기 시스템을 더 포함하는 것인 시스템.
  6. 제5항에 있어서, 상기 페이지 로우 추출기 시스템에 연결되어 상기 추출된 페이지 로우를 상기 테이블에 기록하도록 동작하는 테이블 로우 인서터 시스템을 더 포함하는 것인 시스템.
  7. 테이블스페이스에 종속하는 테이블을 복구하는 방법으로서,
    적어도 하나의 다른 테이블이 상기 테이블스페이스에 대해 읽기 전용 억세스가능하게 하는 단계와,
    상기 테이블스페이스의 백업 카피를 사용하여 상기 테이블을 복구하도록 사용하는 단계를 포함하는 방법.
  8. 제7항에 있어서, 상기 테이블을 복구할 때, 상기 적어도 하나의 다른 테이블이 상기 테이블스페이스에 대해 업데이트 억세스를 가능하게 하는 단계를 더 포함하는 방법.
  9. 제7항에 있어서,
    상기 테이블스페이스의 백업 카피를 사용하여 상기 테이블을 복구하도록 사용하는 단계는
    상기 테이블의 모든 로우를 삭제하는 단계와,
    상기 테이블의 인덱스에 대한 억세스를 고정하는(locking out) 단계와,
    로그 레코드를 상기 테이블스페이스 백업 카피에 적용하여 상기 테이블스페이스 백업 카피를 업데이트하는 단계와,
    상기 업데이트된 테이블스페이스 백업 카피로 새로운 테이블 데이타 페이지를 작성하는 단계와,
    상기 새로운 테이블 데이타 페이지로 상기 테이블을 업데이트하는 단계를 포함하는 것인 방법.
  10. 제9항에 있어서,
    상기 로그 레코드를 상기 테이블스페이스 백업 카피에 적용하여 상기 테이블스페이스 백업 카피를 업데이트하는 단계는
    로그 레코드 파일에서 로그 레코드 작업공간에 이르는 상기 로그 레코드를 읽는 단계와,
    상기 로그 레코드를 분류하는 단계와,
    상기 로그 레코드를 상기 테이블스페이스 백업 카피에 적용하는 단계를 더 포함하는 것인 방법.
  11. 제9항에 있어서,
    상기 업데이트된 테이블스페이스 백업 카피로 상기 새로운 테이블 데이타 페이지를 작성하는 단계는
    복구될 상기 테이블에 속한 레코드의 상기 새로운 테이블 데이타 페이지를 스캐닝하는 단계를 포함하는 것인 방법.
  12. 테이블스페이스에 종속하고 있는 제1 테이블을 복구하는 방법으로서,
    상기 테이블스페이스의 백업 카피를 수용하는 단계와,
    상기 제1 테이블과 관련된 로그 레코드를 읽는 단계와,
    상기 로그 레코드를 상기 백업 카피에 적용하는 단계와,
    상기 백업 카피로부터 새로운 테이블 데이타 페이지를 작성하는 단계와,
    상기 새로운 테이블 데이타 페이지를 스캐닝하여 상기 제1 테이블을 레코드하는 단계와,
    상기 레코드로부터 상기 제1 테이블을 업데이트하는 단계를 포함하는 방법.
  13. 제12항에 있어서,
    상기 제1 테이블이 업데이트되기 전에 상기 테이블스페이스에 속한 제2 테이블에 대한 억세스를 읽기 전용으로 제한하는 단계를 더 포함하고,
    상기 제2 테이블은 상기 테이블스페이스에 종속하는 것인 방법.
  14. 제13항에 있어서, 상기 제1 테이블을 업데이트한 후에 상기 제2 테이블에 업데이트 억세스를 제공하는 단계를 더 포함하는 것인 방법.
  15. 제12항에 있어서, 상기 로그 레코드를 분류하는 단계를 더 포함하는 것인 방법.
  16. 제12항에 있어서,
    상기 제1 테이블은 로우 및 인덱스를 포함하고,
    상기 로우를 삭제하는 단계와,
    상기 인덱스를 고정하는 단계를 더 포함하는 것인 방법.
KR1020027000214A 1999-07-07 2000-06-23 데이타베이스 테이블 복구 시스템 KR20020035093A (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US09/349,198 US7756818B1 (en) 1999-07-07 1999-07-07 Database table recovery system
US09/349,198 1999-07-07
PCT/US2000/017350 WO2001004797A1 (en) 1999-07-07 2000-06-23 Database table recovery system

Publications (1)

Publication Number Publication Date
KR20020035093A true KR20020035093A (ko) 2002-05-09

Family

ID=23371304

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020027000214A KR20020035093A (ko) 1999-07-07 2000-06-23 데이타베이스 테이블 복구 시스템

Country Status (14)

Country Link
US (1) US7756818B1 (ko)
EP (1) EP1200907B1 (ko)
JP (1) JP2003532167A (ko)
KR (1) KR20020035093A (ko)
CN (1) CN1205577C (ko)
AT (1) ATE460707T1 (ko)
AU (1) AU779735B2 (ko)
BR (1) BR0012237A (ko)
CA (1) CA2378514A1 (ko)
DE (1) DE60043984D1 (ko)
HK (1) HK1047168A1 (ko)
IL (2) IL147491A0 (ko)
WO (1) WO2001004797A1 (ko)
ZA (1) ZA200200123B (ko)

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100936390B1 (ko) 2002-11-26 2010-01-14 삼성전자주식회사 데이터 백업 및 복원 방법
CN100373385C (zh) * 2003-01-17 2008-03-05 中兴通讯股分有限公司 一种备份和恢复重要数据的方法
US7334002B2 (en) * 2004-02-27 2008-02-19 Microsoft Corporation System and method for recovery units in databases
JP4143611B2 (ja) 2005-02-04 2008-09-03 インターナショナル・ビジネス・マシーンズ・コーポレーション バックアップ生成装置、リカバリ処理装置、バックアップ生成方法、リカバリ処理方法、及びプログラム
US7769719B2 (en) * 2006-01-05 2010-08-03 International Business Machines Corporation File system dump/restore by node numbering
US8112396B2 (en) * 2006-06-07 2012-02-07 Emc Corporation Backup and recovery of integrated linked databases
US8452730B2 (en) * 2007-12-12 2013-05-28 Teradata Us, Inc. Archiving method and system
US9256599B1 (en) 2008-12-23 2016-02-09 Symantec Corporation Programmatically receiving and storing transaction information in support of a database recovery engine
CN101908064A (zh) * 2010-07-20 2010-12-08 中兴通讯股份有限公司 数据库备份恢复方法和装置
CN103034636A (zh) * 2011-09-29 2013-04-10 盛乐信息技术(上海)有限公司 一种非关系型数据库的回滚方法、装置及系统
CN104376073A (zh) * 2014-11-14 2015-02-25 北京锐安科技有限公司 一种数据库恢复方法及装置

Family Cites Families (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4945474A (en) * 1988-04-08 1990-07-31 Internatinal Business Machines Corporation Method for restoring a database after I/O error employing write-ahead logging protocols
US4961134A (en) * 1988-07-15 1990-10-02 International Business Machines Corporation Method for minimizing locking and reading in a segmented storage space
US5222235A (en) * 1990-02-01 1993-06-22 Bmc Software, Inc. Databases system for permitting concurrent indexing and reloading of data by early simulating the reload process to determine final locations of the data
US5517641A (en) * 1992-05-27 1996-05-14 Cdb Software, Inc. Restartable method to reorganize DB2 tablespace records by determining new physical positions for the records prior to moving using a non sorting technic
US5430871A (en) 1992-10-27 1995-07-04 Bmc Software, Inc. Method of dynamically adding and removing DB2 active logs
US5404508A (en) 1992-12-03 1995-04-04 Unisys Corporation Data base backup and recovery system and method
GB2276739A (en) 1993-03-30 1994-10-05 Ibm System for storing persistent and non-persistent queued data.
US5721915A (en) 1994-12-30 1998-02-24 International Business Machines Corporation Interaction between application of a log and maintenance of a table that maps record identifiers during online reorganization of a database
US5778390A (en) * 1996-06-07 1998-07-07 Electronic Data Systems Corporation Method and systems for creating duplicating, and archiving database files
US5873091A (en) * 1997-04-28 1999-02-16 International Business Machines Corporation System for data structure loading with concurrent statistical analysis
US6138106A (en) 1997-05-19 2000-10-24 Walker Asset Management Limited Partnership Dynamically changing system for fulfilling concealed value gift certificate obligations
US6272503B1 (en) * 1997-05-30 2001-08-07 Oracle Corporation Tablespace-relative database pointers
US5991772A (en) * 1997-10-31 1999-11-23 Oracle Corporation Method and apparatus for restoring a portion of a database
US6119128A (en) * 1998-03-30 2000-09-12 International Business Machines Corporation Recovering different types of objects with one pass of the log
US6189010B1 (en) * 1998-06-10 2001-02-13 Platinum Technology, Inc. Method for repairing constraint violations in a database management system
US6175823B1 (en) 1998-09-15 2001-01-16 Amazon.Com, Inc. Electronic gift certificate system
US6289355B1 (en) * 1998-09-16 2001-09-11 International Business Machines Corp. Fast log apply
US6122640A (en) * 1998-09-22 2000-09-19 Platinum Technology Ip, Inc. Method and apparatus for reorganizing an active DBMS table
US6606617B1 (en) * 1998-09-24 2003-08-12 International Business Machines Corporation Optimized technique for prefetching LOB table space pages
US6173269B1 (en) 1998-12-16 2001-01-09 Zowi.Com, Inc Method and apparatus for executing electronic commercial transactions with minors

Also Published As

Publication number Publication date
JP2003532167A (ja) 2003-10-28
EP1200907B1 (en) 2010-03-10
EP1200907A4 (en) 2003-09-17
AU5762600A (en) 2001-01-30
BR0012237A (pt) 2003-07-15
IL147491A (en) 2008-04-13
EP1200907A1 (en) 2002-05-02
CA2378514A1 (en) 2001-01-18
IL147491A0 (en) 2002-08-14
CN1421010A (zh) 2003-05-28
ZA200200123B (en) 2003-06-25
US7756818B1 (en) 2010-07-13
DE60043984D1 (de) 2010-04-22
AU779735B2 (en) 2005-02-10
ATE460707T1 (de) 2010-03-15
HK1047168A1 (zh) 2003-02-07
WO2001004797A1 (en) 2001-01-18
CN1205577C (zh) 2005-06-08

Similar Documents

Publication Publication Date Title
US7308456B2 (en) Method and apparatus for building one or more indexes on data concurrent with manipulation of data
Katz et al. Database support for versions and alternatives of large design files
US5761677A (en) Computer system method and apparatus providing for various versions of a file without requiring data copy or log operations
US8412752B2 (en) File system having transaction record coalescing
US6161109A (en) Accumulating changes in a database management system by copying the data object to the image copy if the data object identifier of the data object is greater than the image identifier of the image copy
KR100556594B1 (ko) 데이터베이스에 관한 방법
EP0522363A2 (en) System and method for efficiently indexing and storing large database with high-data insertion frequency
EP0351387A2 (en) Minimizing locking and reading in a segmented storage space
US5740434A (en) System for maintenance of database integrity
US5842208A (en) High performance recover/build index system by unloading database files in parallel
AU2003228905B2 (en) Data archive recovery
US7756818B1 (en) Database table recovery system
US6457014B1 (en) System and method for extracting index key data fields
KR20030094328A (ko) 저장된 데이터를 재편성하는 시스템 및 방법
EP0583108B1 (en) Entity-relation database
US6792435B1 (en) Method and apparatus for recovering the definitions of dropped database objects
US20020169780A1 (en) Method and data processing system for providing disaster recovery file synchronization
AU2004240204B2 (en) Database table recovery system
CN112612648B (zh) 一种SQL Server数据库恢复方法、终端设备及存储介质
Aoyama et al. Dajfs: A new file system with per-directory adaptive journaling
Graefe et al. Logical recovery from single-page failures
Mullin Change area B-trees: a technique to aid error recovery
Burgess DB2 Update
JPS62212844A (ja) プログラムライブラリ復旧方式

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E601 Decision to refuse application