KR101071484B1 - 데이터베이스의 논리적 데이터 오류 복구방법 - Google Patents
데이터베이스의 논리적 데이터 오류 복구방법 Download PDFInfo
- Publication number
- KR101071484B1 KR101071484B1 KR1020090052943A KR20090052943A KR101071484B1 KR 101071484 B1 KR101071484 B1 KR 101071484B1 KR 1020090052943 A KR1020090052943 A KR 1020090052943A KR 20090052943 A KR20090052943 A KR 20090052943A KR 101071484 B1 KR101071484 B1 KR 101071484B1
- Authority
- KR
- South Korea
- Prior art keywords
- log
- data
- transaction
- database
- file
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
- G06F11/1402—Saving, restoring, recovering or retrying
- G06F11/1471—Saving, restoring, recovering or retrying involving logging of persistent data for recovery
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/06—Protocols specially adapted for file transfer, e.g. file transfer protocol [FTP]
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
본 발명의 데이터베이스의 논리적 데이터 오류 복구방법은, 시스템 서버 처리 과정과 클라이언트 처리 과정을 갖추어 데이터베이스의 논리적 데이터 오류를 복구하는 방법에 있어서, 상기 시스템 서버 처리 과정이, 데이터베이스를 시작한 상태에서, 시스템 서버를 시작해서 로그를 생성할 데이터베이스 서버에 접속한 다음(단계 201), 데이터베이스에서 현재 로깅 중인 Currnet Redo Log 정보를 설정하고(단계 202), 최종 로깅한 로그 번호 이후의 어카이브드 로그(Archived Log) 정보를 설정하는(단계 203) 단계와, 최종 커미트 SCN(System Change Number) 이후의 로그 데이터를 선택하는 단계로서, 상기 단계 202 및 상기 단계 203의 Current Redo Log 및 어카이브드 로그(Archived Log)로부터 최종 선택한 SCN 다음의 SCN으로부터 신규로 커미트된 SCN 로그 데이터를 선택하는 단계(단계 204), 상기 단계 204에 의해 신규로 커미트된 로그 데이터가 존재하는가의 여부를 확인하는 단계(단계 205) 및, 상기 단계 205에서 신규로 커미트된 로그 데이터가 존재하는 경우로 확인될 경우, 생성된 로그 파일을 저장하고, 이어 트랜잭션 단위의 신속한 검색을 할 수 있도록 트랜잭션 기준으로 인덱스 파일을 생성해서 저장하는 단계(단계 206∼207)를 갖추어 이루어지고; 상기 클라이언트 처리 과정이, 정보를 가져올 데이터베이스 서버자료 및 시스템 서버자료 수신용 FTP 서버에 접속하고, 사용자의 실수에 의한 논리적 데이터 손실이 발생한 경우 해당 일시 및 접속한 컴퓨터 정보를 근거로 하여 트랜잭션 검색을 실행해서 복구 대상을 검색하는 단계(단계 301∼302)와, 시스템 서버로부터 클라이언트 PC에 존재하지 않거나 변경된 검색을 처리하기 위해 시스템 서버로부터 FTP를 이용하여 복구 대상 파일인 인덱스 파일 및/또는 로그 파일을 다운로드 받는 단계(단계 303), 논리적으로 손실된 데이터가 발생한 트랜잭션이 확인되면, 복구 대상 트랜잭션 정보를 표시하는 단계(단계 304), 상기 단계 304에서 복구 대상 트랜잭션으로 확인된 경우, 해당 트랜잭션에 대하여 선택적 또는 일괄로 Undo SQL을 실행해서, 복구 대상 트랜잭션을 일괄적으로 복구하는 단계(단계 305), 상기 단계 305에서의 일괄 복구 처리가 정상적으로 처리되었는가의 여부를 확인하는 단계(단계 306), 상기 단계 306에서 일괄 복구 처리가 정상적으로 처리되지 않은 것으로 확인된 경우에는 오류 데이터에 대해 롤백 처리를 하고, 상기 단계 306에서 정상적으로 처리되지 않은 내역에 대한 오류 로그 파일을 확인해서 다시 작업이 가능하도록 상기 단계 304로 진행하는 단계(단계 307∼308), 상기 단계 306에서 일괄 복구 처리가 정상적으로 처리된 자료에 대하여 커미트 여부를 결정해서 커미트한 경우에는 바로 클라이언트 처리를 종료하는 단계(단계 309) 및, 상기 단계 309에서 커미트하지 않은 경우에는 롤백 처리를 한 다음 클라이언트 처리를 종료하는 단계(단계 310)를 갖추어 이루어진다.
Description
본 발명은 사용자의 잘못에 의해 데이터베이스에 논리적인 데이터 오류가 발생할 경우 이를 복구하기 위한 방법에 관한 것으로, 특히 논리적 데이터 오류에 대해 신속히 검색 및 복구를 수행할 수 있도록 된 데이터베이스의 논리적 데이터 오류 복구방법에 관한 것이다.
일반적으로 논리적인 데이터 오류가 발생한 경우, 해당 오류의 개략적인 발생 시점의 다수의 어카이브드 로그(Archived Log) 파일을 대상으로 하여 발생 원인이 되는 데이터베이스 테이블에 대한 Redo SQL 문장을 분석해서, Redo SQL문장이 유사하다고 추정되는 모든 자료를 별도의 파일 정보로 생성하고, 생성된 자료를 일일이 확인하여 복구하는 SQL문을 편집하여 DBMS(Database Management System)에 반영하는 방식으로 에러를 복구하였다.
이때, 복구의 대상이 되는 정확한 트랜잭션(Transaction)을 검색하는데 많은 시간이 소요되고, 복구를 위한 SQL 문장을 재작성하고 검증하는 데에도 많은 시간이 소요되게 된다.
또, 다른 방법으로서는 현재 시점의 데이터베이스를 백업하고, 논리적 손상 발생 이전의 데이터베이스 백업이 존재하는 경우 논리적 손상이 발생되기 이전 최종 백업(Backup)으로 데이터베이스(Database)를 복원한 후, 논리적 손상이 발생되기 직전 시점까지 복구를 진행한다. 그리고, 해당 논리적 손상이 된 데이터를 추출하고, 현재 시점 백업으로 복원한 후 추출된 데이터를 입력하도록 한다. 그러나, 이러한 경우에는 DBMS를 정상적으로 운영할 수 없는 상태에 이르게 됨으로써 복구에 소요되는 시간 뿐만 아니라, 운영 상에도 많은 문제를 야기시키게 된다.
본 발명은 상기한 점을 감안하여 발명된 것으로, 사용자의 잘못에 의해 데이터베이스에 논리적인 데이터 오류가 발생할 경우 신속히 검색 및 복구를 수행할 수 있도록 된 데이터베이스의 논리적 데이터 오류 복구방법을 제공함에 그 목적이 있다.
상기 목적을 달성하기 위한 본 발명에 따른 데이터베이스의 논리적 데이터 오류 복구방법은, 시스템 서버 처리 과정과 클라이언트 처리 과정을 갖추어 데이터베이스의 논리적 데이터 오류를 복구하는 방법에 있어서,
상기 시스템 서버 처리 과정이,
데이터베이스를 시작한 상태에서, 시스템 서버를 시작해서 로그를 생성할 데이터베이스 서버에 접속한 다음(단계 201), 데이터베이스에서 현재 로깅 중인 Currnet Redo Log 정보를 설정하고(단계 202), 최종 로깅한 로그 번호 이후의 어카이브드 로그(Archived Log) 정보를 설정하는(단계 203) 단계와,
최종 커미트 SCN(System Change Number) 이후의 로그 데이터를 선택하는 단계로서, 상기 단계 202 및 상기 단계 203의 Current Redo Log 및 어카이브드 로그(Archived Log)로부터 최종 선택한 SCN 다음의 SCN으로부터 신규로 커미트된 SCN 로그 데이터를 선택하는 단계(단계 204),
상기 단계 204에 의해 신규로 커미트된 로그 데이터가 존재하는가의 여부를 확인하는 단계(단계 205) 및,
상기 단계 205에서 신규로 커미트된 로그 데이터가 존재하는 경우로 확인될 경우, 생성된 로그 파일을 저장하고, 이어 트랜잭션 단위의 신속한 검색을 할 수 있도록 트랜잭션 기준으로 인덱스 파일을 생성해서 저장하는 단계(단계 206∼207)를 갖추어 이루어지고;
상기 클라이언트 처리 과정이,
정보를 가져올 데이터베이스 서버자료 및 시스템 서버자료 수신용 FTP 서버에 접속하고, 사용자의 실수에 의한 논리적 데이터 손실이 발생한 경우 해당 일시 및 접속한 컴퓨터 정보를 근거로 하여 트랜잭션 검색을 실행해서 복구 대상을 검색하는 단계(단계 301∼302)와,
시스템 서버로부터 클라이언트 PC에 존재하지 않거나 변경된 검색을 처리하기 위해 시스템 서버로부터 FTP를 이용하여 복구 대상 파일인 인덱스 파일 및/또는 로그 파일을 다운로드 받는 단계(단계 303),
논리적으로 손실된 데이터가 발생한 트랜잭션이 확인되면, 복구 대상 트랜잭션 정보를 표시하는 단계(단계 304),
상기 단계 304에서 복구 대상 트랜잭션으로 확인된 경우, 해당 트랜잭션에 대하여 선택적 또는 일괄로 Undo SQL을 실행해서, 복구 대상 트랜잭션을 일괄적으로 복구하는 단계(단계 305),
상기 단계 305에서의 일괄 복구 처리가 정상적으로 처리되었는가의 여부를 확인하는 단계(단계 306),
상기 단계 306에서 일괄 복구 처리가 정상적으로 처리되지 않은 것으로 확인된 경우에는 오류 데이터에 대해 롤백 처리를 하고, 상기 단계 306에서 정상적으로 처리되지 않은 내역에 대한 오류 로그 파일을 확인해서 다시 작업이 가능하도록 상기 단계 304로 진행하는 단계(단계 307∼308),
상기 단계 306에서 일괄 복구 처리가 정상적으로 처리된 자료에 대하여 커미트 여부를 결정해서 커미트한 경우에는 바로 클라이언트 처리를 종료하는 단계(단계 309) 및,
상기 단계 309에서 커미트하지 않은 경우에는 롤백 처리를 한 다음 클라이언트 처리를 종료하는 단계(단계 310)를 갖추어 이루어진다.
상기 시스템 서버 처리 과정이,
데이터베이스를 시작한 상태에서, 시스템 서버를 시작해서 로그를 생성할 데이터베이스 서버에 접속한 다음(단계 201), 데이터베이스에서 현재 로깅 중인 Currnet Redo Log 정보를 설정하고(단계 202), 최종 로깅한 로그 번호 이후의 어카이브드 로그(Archived Log) 정보를 설정하는(단계 203) 단계와,
최종 커미트 SCN(System Change Number) 이후의 로그 데이터를 선택하는 단계로서, 상기 단계 202 및 상기 단계 203의 Current Redo Log 및 어카이브드 로그(Archived Log)로부터 최종 선택한 SCN 다음의 SCN으로부터 신규로 커미트된 SCN 로그 데이터를 선택하는 단계(단계 204),
상기 단계 204에 의해 신규로 커미트된 로그 데이터가 존재하는가의 여부를 확인하는 단계(단계 205) 및,
상기 단계 205에서 신규로 커미트된 로그 데이터가 존재하는 경우로 확인될 경우, 생성된 로그 파일을 저장하고, 이어 트랜잭션 단위의 신속한 검색을 할 수 있도록 트랜잭션 기준으로 인덱스 파일을 생성해서 저장하는 단계(단계 206∼207)를 갖추어 이루어지고;
상기 클라이언트 처리 과정이,
정보를 가져올 데이터베이스 서버자료 및 시스템 서버자료 수신용 FTP 서버에 접속하고, 사용자의 실수에 의한 논리적 데이터 손실이 발생한 경우 해당 일시 및 접속한 컴퓨터 정보를 근거로 하여 트랜잭션 검색을 실행해서 복구 대상을 검색하는 단계(단계 301∼302)와,
시스템 서버로부터 클라이언트 PC에 존재하지 않거나 변경된 검색을 처리하기 위해 시스템 서버로부터 FTP를 이용하여 복구 대상 파일인 인덱스 파일 및/또는 로그 파일을 다운로드 받는 단계(단계 303),
논리적으로 손실된 데이터가 발생한 트랜잭션이 확인되면, 복구 대상 트랜잭션 정보를 표시하는 단계(단계 304),
상기 단계 304에서 복구 대상 트랜잭션으로 확인된 경우, 해당 트랜잭션에 대하여 선택적 또는 일괄로 Undo SQL을 실행해서, 복구 대상 트랜잭션을 일괄적으로 복구하는 단계(단계 305),
상기 단계 305에서의 일괄 복구 처리가 정상적으로 처리되었는가의 여부를 확인하는 단계(단계 306),
상기 단계 306에서 일괄 복구 처리가 정상적으로 처리되지 않은 것으로 확인된 경우에는 오류 데이터에 대해 롤백 처리를 하고, 상기 단계 306에서 정상적으로 처리되지 않은 내역에 대한 오류 로그 파일을 확인해서 다시 작업이 가능하도록 상기 단계 304로 진행하는 단계(단계 307∼308),
상기 단계 306에서 일괄 복구 처리가 정상적으로 처리된 자료에 대하여 커미트 여부를 결정해서 커미트한 경우에는 바로 클라이언트 처리를 종료하는 단계(단계 309) 및,
상기 단계 309에서 커미트하지 않은 경우에는 롤백 처리를 한 다음 클라이언트 처리를 종료하는 단계(단계 310)를 갖추어 이루어진다.
삭제
삭제
또한 본 발명은, 상기 단계 206에서 생성된 로그 파일 저장시, SQL 데이터는 압축을 하고, 로그 파일은 로그시간, 트랜잭션 ID, 접속정보, Redo, Undo Data를 포함하는 것을 특징으로 한다.
또한 본 발명은, 상기 단계 207에서 트랜잭션 기준으로 인덱스 파일을 생성해서 저장시, 트랜잭션의 단위는 각 DBMS에서 제공하는 트랜잭션 단위를 사용하고, 인덱스 파일은 트랜잭션에 대한 사용자 정보 및 로그 파일 정보를 포함하는 것을 특징으로 한다.
또한 본 발명은, 상기 단계 303에서 인덱스 파일은 단계 207에서 생성된 파일을 FTP를 이용하여 다운받고, 로그 파일은 단계 206에서 생성된 파일을 FTP를 이용하여 다운받는 것을 특징으로 한다.
본 발명에 따르면, 사용자의 잘못에 의해 데이터베이스에 논리적인 데이터 오류가 발생할 경우, 신속하게 논리적 데이터 오류가 발생한 트랜잭션을 검색할 수 있고, 신속하게 복구를 할 수 있기 때문에, 사용자의 논리적 데이터 오류의 복구에 소요되는 시간을 획기적으로 단축할 수 있게 된다.
이하, 예시도면을 참조하면서 본 발명에 따른 실시예를 상세히 설명한다.
도 1은 본 발명의 실시예에 따른 데이터베이스의 논리적 데이터 오류 복구 시스템의 개략 블록도이다.
데이터베이스(1; DB)에서 사용자의 요구사항에 대한 처리 결과에 대하여 LGWR(Log Writer)이 Redo 로그 파일(2)을 생성하고, Redo 로그 파일(2)이 풀(Full)로 되면, 로그 스위치를 하면서 ARCn(Archive Process)이 풀로 된 Redo 로그로부터 Archived Redo 로그 파일(3)을 생성한다.
시스템 서버 에이전트(4)는 데이터베이스에 접속하여 Redo 로그 파일(2)로부터 사용자 요구에 의한 신규 데이터를 추출하고, 로그 스위치 발생에 의하여 Archived Redo 로그 파일(3)에도 신규 데이터가 존재하는 경우 해당 데이터도 추출한다. 그리고, 추출된 데이터를 트랜잭션 기준의 인덱스 및 로그 데이터(5)를 생성한다.
시스템 클라이언트(6)는 복구를 위한 검색시 서버에 저장된 인덱스(Index) 데이터를 FTP를 통해 다운받는다. 다운받은 인덱스를 통해 해당 시간대의 트랜잭션(Transaction)에 대한 접속 정보 및 집계 정보를 표시하고, 복구 대상 트랜잭션을 확인한다. 확인된 트랜잭션을 선택하면 해당 로그 데이터를 FTP를 통해 서버로부터 다운받는다. 다운받은 로그 데이터를 확인한 후, DB에 접속해서 일괄적으로 복구하거나 선택적으로 복구한다.
도 2는 본 발명의 실시예에 따른 데이터베이스의 논리적 오류 복구 방법을 구현하기 위한 흐름도이다.
먼저, 데이터베이스(DB)를 시작해서 사용자의 요구를 처리하고, 데이터베이스 로그(DB Log) 버퍼를 기록하며, Redo Log를 생성하고, 어카이브 로그(Archive Log)를 생성한 상태에서, 서버측 처리로서, 먼저 서버를 시작해서 로그를 생성할 데이터베이스 서버(Database Server)에 접속한다(단계 201).
이어, 데이터베이스에서 현재 로깅(Logging) 중인 Currnet Redo Log 정보를 설정하고(단계 202), 최종 로깅한 로그 번호 이후의 어카이브드 로그(Archived Log) 정보를 설정한다(단계 203).
이어, 오라클(Oracle)의 로그마이너(Logminer)를 활용하여 최종 커미트(Commit) SCN(System Change Number) 이후의 로그 데이터(Log Data)를 선택한다(단계 204). 여기서, 상기 단계 202 및 단계 203의 Current Redo Log 및 Archived Log로부터 최종 선택한 SCN 다음의 SCN으로부터 신규로 커미트된 SCN Log Data를 선택한다.
상기 단계 204에 의해 신규로 커미트된 로그 데이터가 존재하는가의 여부를 확인해서, 신규로 커미트된 로그 데이터가 존재하지 않는 경우에는 단계 202로 되돌아가서 상기 단계들을 다시 수행하고, 신규로 커미트된 로그 데이터가 존재하는 경우에는 단계 206으로 진행한다(단계 205).
상기 단계 205에서 신규로 커미트된 로그 데이터가 존재하는 경우로 확인되면, 생성된 로그 파일을 저장한다(단계 206). 여기서, 로그 파일저장시 SQL 데이터는 압축을 한다. 그리고, 로그 파일은 로그시간, 트랜잭션 ID, 접속정보, Redo, Undo Data를 포함한다.
이어, 트랜잭션 단위의 신속한 검색을 할 수 있도록 트랜잭션 기준으로 인덱스 파일을 생성해서 저장한다(단계 207). 이때, 트랜잭션의 단위는 각 DBMS에서 제공하는 트랜잭션 단위를 사용한다. 그리고, 인덱스 파일은 트랜잭션에 대한 사 용자 정보 및 로그 파일 정보를 포함한다.
인덱스 1 : 트랜잭션 정보, 접속정보(PC 정보,IP, DBUSER, 실행프로그램 등), 처리시작, 종료시간을 기준으로 하여 발생한 DML(Data Manipulation Language)별 처리 건수 및 기타 건수를 집계하는 요약정보 파일을 생성한다. 또한, 해당 요약정보 파일에는 발생한 로그 파일의 해당 트랜잭션에 대한 시작과 종료 정보를 포함한다.
인덱스2 : 트랜잭션 정보, 접속정보, 처리시작, 종료시간, 소유자(Object Owner), Object를 기준으로 한 처리 유형별(예, Insert, Update, Delete 등…) 건수를 집계하는 요약정보 파일을 생성한다. 또한, 해당 요약정보 파일에는 발생한 로그 파일의 해당 트랜잭션에 대한 시작과 종료 정보를 포함한다.
이어, 클라이언트측 처리로서, 먼저 정보를 가져올 데이터베이스 및 시스템의 서버자료 수신용 FTP(File Transfer Protocol) 서버에 접속하고(단계 301), 사용자의 실수에 의한 논리적 데이터 손실이 발생한 경우 해당 일시 및 접속한 컴퓨터 정보를 근거로 하여 트랜잭션 검색을 실행해서 복구 대상을 검색한다(단계 302).
이어, 서버로부터 클라이언트 PC에 존재하지 않거나 변경된 검색을 처리하기 위해 시스템 서버로부터 FTP를 이용해서 복구 대상 파일인 인덱스 파일 및/또는 로그 파일을 다운로드 받는다(단계 303). 즉, 검색조건을 확인하여, 검색에 필요한 인덱스파일 및 로그 파일을 다운 받은 후 검색을 실행하게 되는데, 인덱스 파일은 단계 207에서 생성된 파일을 FTP를 이용하여 다운받고, 로그 파일은 단계 206에서 생성된 파일을 FTP를 이용하여 다운받는다.
이어, 사용자는 논리적으로 손실된 데이터가 발생한 트랜잭션을 확인해서, 복구 대상 트랜잭션 정보를 표시한다(단계 304). 이 때, 접속 컴퓨터, 접속 DB 사용자, 처리한 테이블 명, DML 처리 건수 및, 처리된 SQL을 확인한다.
상기 단계 304에서 복구 대상 트랜잭션으로 확인된 경우, 해당 트랜잭션에 대하여 선택적 또는 일괄로 Undo SQL을 실행해서, 복구 대상 트랜잭션을 일괄적으로 복구한다(단계 305).
상기 단계 305에서의 일괄 복구 처리가 정상적으로 처리되었는가의 여부를 확인하여, 정상적으로 처리되지 않은 경우에는 단계 307로 진행하고, 정상적으로 처리된 경우에는 단계 309로 진행한다(단계 306).
상기 단계 306에서 일괄 복구 처리가 정상적으로 처리되지 않은 것으로 확인된 경우에는 오류 데이터에 대해 롤백(Rollback) 처리를 한다(단계 307).
이어, 상기 단계 307에서의 롤백 처리에 의해 단계 306에서 정상적으로 처리되지 않은 내역에 대한 오류 로그 파일을 확인하고, 다시 작업이 가능하도록 단계 304로 진행한다(단계 308).
상기 단계 306에서 일괄 복구 처리가 정상적으로 처리된 자료에 대하여 커미트 여부를 결정하고(단계 309), 커미트한 경우에는 바로 클라이언트 처리를 종료한다. 한편, 상기 단계 309에서 커미트하지 않은 경우에는 롤백 처리를 하고(단계 310), 클라이언트 처리를 종료한다.
도 1은 본 발명의 실시예에 따른 데이터베이스의 논리적 데이터 오류 복구 시스템의 개략 블록도이다.
도 2는 본 발명의 실시예에 따른 데이터베이스의 논리적 오류 복구 방법을 구현하기 위한 흐름도이다.
Claims (5)
- 시스템 서버 처리 과정과 클라이언트 처리 과정을 갖추어 데이터베이스의 논리적 데이터 오류를 복구하는 방법에 있어서,상기 시스템 서버 처리 과정이,데이터베이스를 시작한 상태에서, 시스템 서버를 시작해서 로그를 생성할 데이터베이스 서버에 접속한 다음(단계 201), 데이터베이스에서 현재 로깅 중인 Currnet Redo Log 정보를 설정하고(단계 202), 최종 로깅한 로그 번호 이후의 어카이브드 로그(Archived Log) 정보를 설정하는(단계 203) 단계와,최종 커미트 SCN(System Change Number) 이후의 로그 데이터를 선택하는 단계로서, 상기 단계 202 및 상기 단계 203의 Current Redo Log 및 어카이브드 로그(Archived Log)로부터 최종 선택한 SCN 다음의 SCN으로부터 신규로 커미트된 SCN 로그 데이터를 선택하는 단계(단계 204),상기 단계 204에 의해 신규로 커미트된 로그 데이터가 존재하는가의 여부를 확인하는 단계(단계 205) 및,상기 단계 205에서 신규로 커미트된 로그 데이터가 존재하는 경우로 확인될 경우, 생성된 로그 파일을 저장하고, 이어 트랜잭션 단위의 신속한 검색을 할 수 있도록 트랜잭션 기준으로 인덱스 파일을 생성해서 저장하는 단계(단계 206∼207)를 갖추어 이루어지고;상기 클라이언트 처리 과정이,정보를 가져올 데이터베이스 서버자료 및 시스템 서버자료 수신용 FTP 서버에 접속하고, 사용자의 실수에 의한 논리적 데이터 손실이 발생한 경우 해당 일시 및 접속한 컴퓨터 정보를 근거로 하여 트랜잭션 검색을 실행해서 복구 대상을 검색하는 단계(단계 301∼302)와,시스템 서버로부터 클라이언트 PC에 존재하지 않거나 변경된 검색을 처리하기 위해 시스템 서버로부터 FTP를 이용하여 복구 대상 파일인 인덱스 파일 및/또는 로그 파일을 다운로드 받는 단계(단계 303),논리적으로 손실된 데이터가 발생한 트랜잭션이 확인되면, 복구 대상 트랜잭션 정보를 표시하는 단계(단계 304),상기 단계 304에서 복구 대상 트랜잭션으로 확인된 경우, 해당 트랜잭션에 대하여 선택적 또는 일괄로 Undo SQL을 실행해서, 복구 대상 트랜잭션을 일괄적으로 복구하는 단계(단계 305),상기 단계 305에서의 일괄 복구 처리가 정상적으로 처리되었는가의 여부를 확인하는 단계(단계 306),상기 단계 306에서 일괄 복구 처리가 정상적으로 처리되지 않은 것으로 확인된 경우에는 오류 데이터에 대해 롤백 처리를 하고, 상기 단계 306에서 정상적으로 처리되지 않은 내역에 대한 오류 로그 파일을 확인해서 다시 작업이 가능하도록 상기 단계 304로 진행하는 단계(단계 307∼308),상기 단계 306에서 일괄 복구 처리가 정상적으로 처리된 자료에 대하여 커미트 여부를 결정해서 커미트한 경우에는 바로 클라이언트 처리를 종료하는 단계(단계 309) 및,상기 단계 309에서 커미트하지 않은 경우에는 롤백 처리를 한 다음 클라이언트 처리를 종료하는 단계(단계 310)를 갖추어 이루어진 것을 특징으로 하는 데이터베이스의 논리적 데이터 오류 복구방법.
- 삭제
- 제1항에 있어서, 상기 단계 206에서 생성된 로그 파일 저장시, SQL 데이터는 압축을 하고, 로그 파일은 로그시간, 트랜잭션 ID, 접속정보, Redo, Undo Data를 포함하는 것을 특징으로 하는 데이터베이스의 논리적 데이터 오류 복구방법.
- 제1항에 있어서, 상기 단계 207에서 트랜잭션 기준으로 인덱스 파일을 생성해서 저장시, 트랜잭션의 단위는 각 DBMS에서 제공하는 트랜잭션 단위를 사용하고, 인덱스 파일은 트랜잭션에 대한 사용자 정보 및 로그 파일 정보를 포함하는 것을 특징으로 하는 데이터베이스의 논리적 데이터 오류 복구방법.
- 제1항에 있어서, 상기 단계 303에서 인덱스 파일은 단계 207에서 생성된 파일을 FTP를 이용하여 다운받고, 로그 파일은 단계 206에서 생성된 파일을 FTP를 이용하여 다운받는 것을 특징으로 하는 데이터베이스의 논리적 데이터 오류 복구방법.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020090052943A KR101071484B1 (ko) | 2009-06-15 | 2009-06-15 | 데이터베이스의 논리적 데이터 오류 복구방법 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020090052943A KR101071484B1 (ko) | 2009-06-15 | 2009-06-15 | 데이터베이스의 논리적 데이터 오류 복구방법 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20100134355A KR20100134355A (ko) | 2010-12-23 |
KR101071484B1 true KR101071484B1 (ko) | 2011-10-10 |
Family
ID=43509301
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020090052943A KR101071484B1 (ko) | 2009-06-15 | 2009-06-15 | 데이터베이스의 논리적 데이터 오류 복구방법 |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR101071484B1 (ko) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101429575B1 (ko) * | 2012-10-22 | 2014-08-13 | 주식회사 엔써티 | 데이터베이스의 실시간 백업 시스템, 데이터 복구 시스템 및 데이터 복구 방법 |
KR101435789B1 (ko) * | 2013-01-29 | 2014-08-29 | (주)소만사 | Dlp 시스템의 빅데이터 처리 시스템 및 방법 |
KR101583283B1 (ko) | 2014-04-24 | 2016-01-07 | 대한민국(관리부서 대검찰청) | Db2 데이터베이스에서 데이터를 복원하는 방법 및 장치 |
KR101657592B1 (ko) | 2015-08-28 | 2016-09-19 | 고려대학교 산학협력단 | 삭제된 MySQL MyISAM database의 데이터에 대한 범용 복원기법 |
CN112948366B (zh) * | 2021-03-18 | 2023-10-27 | 上海新炬网络信息技术股份有限公司 | PostgreSQL Standby模式下实现查询与恢复互不冲突的方法 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100891036B1 (ko) | 2008-09-08 | 2009-03-31 | (주)데이타뱅크시스템즈 | 데이터베이스의 실시간 복제를 통한 자동 복구 시스템 및 그 방법 |
-
2009
- 2009-06-15 KR KR1020090052943A patent/KR101071484B1/ko active IP Right Grant
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100891036B1 (ko) | 2008-09-08 | 2009-03-31 | (주)데이타뱅크시스템즈 | 데이터베이스의 실시간 복제를 통한 자동 복구 시스템 및 그 방법 |
Also Published As
Publication number | Publication date |
---|---|
KR20100134355A (ko) | 2010-12-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109241185B (zh) | 一种数据同步的方法以及数据同步装置 | |
CN106462586B (zh) | 基于记录的多版本并发控制的一致性读取的方法和系统 | |
US10261869B2 (en) | Transaction processing using torn write detection | |
US9218377B2 (en) | Failure recovery and error correction techniques for data loading in information warehouses | |
US8015430B1 (en) | Using asset dependencies to identify the recovery set and optionally automate and/or optimize the recovery | |
CN108664359B (zh) | 一种数据库恢复方法、装置、设备及存储介质 | |
KR101556435B1 (ko) | 데이터베이스 백업본 복구 방법 및 그 장치 | |
US10120767B2 (en) | System, method, and computer program product for creating a virtual database | |
US7437609B2 (en) | Reliable standby database failover | |
US8086566B2 (en) | Transaction consistent content replication | |
US20160179867A1 (en) | Detecting lost writes | |
US7406489B2 (en) | Apparatus, system and method for persistently storing data in a data synchronization process | |
CN109542682B (zh) | 一种数据备份方法、装置、设备和存储介质 | |
KR101071484B1 (ko) | 데이터베이스의 논리적 데이터 오류 복구방법 | |
US11531594B2 (en) | Data recovery method and apparatus, server, and computer-readable storage medium | |
CN104166605B (zh) | 基于增量数据文件的数据备份方法及系统 | |
CN105930228A (zh) | 数据备份方法及系统 | |
CN109086382B (zh) | 一种数据同步方法、装置、设备及存储介质 | |
CN111427898A (zh) | 一种基于解析Oracle日志的持续数据保护系统及方法 | |
US10379969B2 (en) | Ephemeral store-based auto-save for applications with a persistence layer | |
CN112306743A (zh) | 数据处理方法、装置、电子设备及计算机存储介质 | |
CN110825413A (zh) | 一种数据库升级方法和装置以及应用部署升级方法和装置 | |
US20180032555A1 (en) | Object database system including an object-specific historical attribute-change information system | |
US7814066B1 (en) | System for backup and recovery of a plurality of heterogeneous databases | |
JP5109676B2 (ja) | データ整合性を確保するためのプログラム、方法及びコンピュータ・システム |
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: 20150630 Year of fee payment: 5 |
|
FPAY | Annual fee payment |
Payment date: 20160928 Year of fee payment: 6 |
|
FPAY | Annual fee payment |
Payment date: 20170913 Year of fee payment: 7 |
|
FPAY | Annual fee payment |
Payment date: 20180822 Year of fee payment: 8 |
|
FPAY | Annual fee payment |
Payment date: 20190814 Year of fee payment: 9 |