Presentation is loading. Please wait.

Presentation is loading. Please wait.

장애와 복구 오라클의 구조와 백업대상 복구에 필요한 파일 운영 환경과 운영 모드

Similar presentations


Presentation on theme: "장애와 복구 오라클의 구조와 백업대상 복구에 필요한 파일 운영 환경과 운영 모드"— Presentation transcript:

1 장애와 복구 오라클의 구조와 백업대상 복구에 필요한 파일 운영 환경과 운영 모드
1장. 백업 및 복구의 개념과 장애 복구 장애와 복구 오라클의 구조와 백업대상 복구에 필요한 파일 운영 환경과 운영 모드

2 01. 장애와 복구 사용자 에러 미디어 장애 구문 장애 사용자 프로세스 장애 인스턴스 장애

3 사용자 에러 실수로 인한 테이블의 삭제 잘못된 트랜잭션의 커밋
사용자 에러는 먼저 사용자에게 데이터베이스에 대한 가용성과 무결성에 대해 충분히 교육하여 장애를 예방해야 한다. 그리고 장애가 발생했을 때 운영 모드가 노 아카이브 로그 모드라면 데이터베이스를 닫힌 백업 파일을 이용해서 백업 시점으로 되돌리는 물리적인 복구 이외에는 방법이 없고, 운영 모드가 아카이브 로그 모드라면 데이터베이스를 장애 발생 이전 시점으로 복구하는 불완적 복구가 가능하지만 장애를 인지하는데 시간이 많이 지체되는 경우 사용자들이 입력한 데이터가 많이 손실되어 다시 입력해 주어야 하는 상황이 발생할 수도 있다. 따라서 사용자 에러는 장애로부터 장애를 인지하는 시간의 간격이 좁을수록 복구하기 쉽고 사용자들의 데이터 손실도 최소화 할 수 있다.

4 미디어 장애 파일의 삭제 디스크 고장 디스크 컨트롤러 고장
미디어 장애는 저장 매체의 고장이나 파일의 삭제 등 물리적으로 구성된 데이터베이스에 직접 손상이 일어나는 장애를 뜻한다. 그러나 관리자가 평소에 이에 대비하여 데이터베이스를 구성하는 파일들에 대해서 백업을 수행하는 동시에 장애에 대한 복구 계획을 마련하고 이런 계획에 따라 운영 모드를 정해서 운영해 왔다면 미디어 장애가 발생했을 때 장애로 인한 데이터베이스 정지 시간을 최소로 하여 데이터베이스를 복구할 수 있다. 복구 계획 : 미디어 장애데 대비하는 복구 계획은 redo 로그 파일과 아카이브 로그 파일의 운영계획, 백업 파일의 복원 계획이나 저장 방법 등을 포과랗는 일련의 Report라 할수 있다. DBA는 데이터베이스의 어떤 부분이 손상되더라도 안전하고 정확히 복구할 수 있도록 이러한 Report를 작성해 두어야 한다.

5 구문 장애 프로그램 오류 권한 오류 사용 가능 용량 제한이나 할당량 초과 및 여유 공간 부족
일반적으로 시스템에서 발생하는 구문 장애의 대부분은 프로그래머나 사용자에게 에러 구문을 알려주고 정상적인 사용을 유도하는 것만으로도 문제를 해결할 수 있으며, 필요한 경우 사용자가 사용 가능한 용량을 늘려주거나 권한을 할당하여 쉽게 문제를 해결할 수도 있다. 그리고 일반적인 구문 장애는 데이터베이스에 손상을 입히지 않으며 입력에 실패하고 그에 해당하는 에러 메시지를 사용자에게 출력하는 정도이기 때문에 관리자가 복구할 필요는 없는 장애이다.

6 사용자 프로세스 장애 사용자 프로세스 장애의 원인은 대부분 비정상적인 세션 종료 때문에 일어난다. 다시 말하면 클라이언트 시스템을 다시 시작하였거나 접속 프로그램을 종료하는 등의 문제로 세션이 비정상적으로 종료되었을 때 이런 장애가 일어날 수 있다. 이와 같은 일반적인 사용자 프로세스 장애를 정리하는 것이 바로 PMON(Process Monitor)이다. PMON 프로세스는 데이터베이스에 접근하는 사용자 프로세스를 감시하여 사용자 프로세스가 비정상적으로 종료되었을 경우 이 세션의 서버 프로세스를 찾아 트랜잭션을 롤백하고 자원과 락을 해제하므로 관리자가 복구 작업을 수행할 필요가 없다.

7 인스턴스 장애 정전으로 인한 서버의 종료 CPU, 메모리 등의 장치 장애나 운영체제 장애로 인해 오라클 종료
백그라운드 프로세스 장애 Start up 명령으로 인스턴스를 시작하면 오라클은 스스로 롤포워드와 롤백을 수행하여 인스턴스를 복구한다. 이러한 작업은 SMON(System Monitor)이 수행하며 관리자는 사용자에게 유실된 트랜잭션을 다시 실행하도록 통보하면 된다. 인스턴스 장애도 데이터베이스에 장애를 일으키지 않으므로 관리자가 복구 작업을 수행할 필요가 없다.

8 02. 오라클의 구조와 백업 대상 데이터 파일 컨트롤 파일 Redo 로그 파일 파라미터 파일 패스워드 파일

9 03. 복구에 필요한 파일 복구를 위해서 백업 대상이 되는 파일 데이터 파일 컨트롤 파일 Redo 로그 파일
로그 정보를 담고 있는 파일 장애 시점의 로그파일 백업 이후 생성된 아카이브 로그 파일

10 닫힌 백업 파일을 이용한 복구를 수행하기 위해 필요한 파일
백업 시점의 데이터 파일 Redo 로그 파일 컨트롤 파일 완전 복구에 필요한 파일 불완전 복구에 필요한 파일 Archive log 파일 장애 시점의 Redo log 파일 장애 시점의 Control 파일 백업된 데이터 파일 전체 현재까지의 Archive log 파일 장애 이전 시점의 Archive log 파일 현재 시점의 Redo log 파일과 장애 시점의 Control 파일

11 열린 백업 파일의 이용 데이터 베이스 서비스를 한 순간이라도 정지할 수 없는 곳에서는 데이터베이스를 종료하고 백업을 실시하는 닫힌 백업을 수행할 수 없을 것이다. 오라클은 이런 경우에 닫힌 백업 대신에 기본 백업으로 열린 백업을 지원한다. 이 방법은 데이터베이스가 열려 있는 상태에서 데이터 파일을 테이블스페이스별로 하나씩 백업하는 것이다. 이 방법으로 백업받는 파일은 완전 복구나 불완전 복구와 같이 로그 정보를 이용한 복구에만 사용할 수 있으며, 아카이브 로그 모드에서만 백업 작업을 수행할 수 있다.

12 04. 운영 환경과 운영 모드 노 아카이브 로그 모드 운영이 적합한 경우 아카이브 로그 모드가 적합한 경우
교육 환경이나 개발 환경과 같은 연습용 환경으로, 유실되어서는 안 되는 중요한 데이터는 입력하지 않는 환경 장애로 인해 시스템을 복구해야 할 때 데이터에 어느 정도 손실이 일어나도 무관한 환경 데이터의 추가나 변경이 자주 발생하지 않고 입력이나 변경 작업은 주로 스크립트를 이용하여 일괄 작업으로 수행하는 환경 시스템을 365일, 24시간 무정지로 운영하는 환경 장애 및 복구 중에 데이터의 손실이 절대 일어나면 안 되는 환경 여러 사용자가 데이터를 자주 입력하고 변경하는 환경

13 05. 요약 타입 노 아카이브 로그 모드 아카이브 로그 모드 사용자 에러 닫힌 백업 파일을 이용하여 백업 시점으로 복구
불완전 복구 미디어 장애 완전 복구 구문 장애 데이터베이스 손상이 없음(복구 불필요) 사용자 프로세스 장애 인스턴스 장애

14 오류의 원인과 복구 방법에 따라 사용하는 백업 파일의 종류가 달라지므로 잘 알아두어야 한다.
노 아카이브 로그 모드는 데이터를 일괄로 입력하거나 데이터가 손실되더라도 큰 문제가 없는 경우 편리하게 사용할 수 있다. 아카이브 로그 모드는 데이터가 계속 변화하며 시스템을 정지시킬 수 없는 환경에서 데이터의 손실 없이 복구해야 하는 시스템인 경우 사용한다.

15 2장. 아카이브 로그 모드 Redo 로그 파일과 아카이브 로그파일 아카이브와 노 아카이브 로그 모드의 비교
아카이브 로그 모드 설정 아카이브 로그 파일의 다중화 복수 아카이브(ARCn) 프로세스의 활성화

16 01. Redo 로그 파일과 아카이브 로그 파일 사용자가 DB의 구조에 영향을 주는 명령어를 실행하면 오라클은 작업 결과를 테이블과 DataDictionary에 저장하며, 현재까지의 수행한 작업 내용을 redo 로그 파일에 작업 일지 작업 순서, 저장 내용 등을 저장한다. 그리고 이를 이용하여 이전에 실행한 작업 내용을 다시 적용하여 손실되거나 잘못 변경된 데이터를 복구할 수 있다. 오라클을 운영하는 동안 redo로그 파일(redo 로그 파일의 크기는 고정되어 있다)이 계속해서 증가하는 것을 방지하기 위해, 최소 2개이상의 redo 파일을 만들어 놓고 번갈아 내용을 덮어쓰는 Overwriting 방식을 사용하여 저장한다. 하지만, 이 방식은 이전 파일을 계속 새로운 내용으로 덮어쓰므로 예전에 저장한 내용을 잃게 된다는 단점이 있다.

17 운영 중인 오라클의 로그 모드 확인 데이터베이서 로그 모드 아카이브 모드가 아님 자동 아카이브 사용 안함
Sql>archive log list Sql> select * from v$logfile; <- redo 로그 파일의 경로와 개수를 알수 있다 데이터베이서 로그 모드 아카이브 모드가 아님 자동 아카이브 사용 안함 아카이브 대상 k:\oracle\ora81\RDBMS 가장 오래된 온라인 로그 순서 아카이브할 다음 로그 현재 로그 순서 GROUP #STATUS MEMBER 1 STALE K:\ORACLE\ORADATA\ACSHA\REDO03.LOG K:\ORACLE\ORADATA\ACSHA\REDO02.LOG 3 STALE K:\ORACLE\ORADATA\ACSHA\REDO01.LOG

18 SQL> select group#, sequence#, bytes, members, status from v$log;
<- 현재 사용하고 있는 파일의 상태를 알아보는 명령어이다. GROUP# SEQUENCE# BYTES MEMBERS STATUS INACTIVE CURRENT INACTIVE STATUS 필드를 살펴보면, 지금 어느 파일에 로그를 기록하는지 쉽게 알아볼 수 있다. ACTIVE나 INACTIVE는 대기중인 로그 파일이라는 뜻이며, CURRENT는 현재 사용중이라는 뜻이다. 새로 생성되어 한번도 사용하지 않은 로그 파일은 UNUSED로 표시된다.

19 02. 아카이브와 노 아카이브 로그 모드의 비교 노 아카이브 로그 모드 아카이브 로그 모드 사용할 수 있는 백업 방법 복구
닫힌 백업(Close Backup) 열린 백업(Open Backup, Online Backup) 복구 복구할 때 최종 백업한 이후에 데이터는 모두 상실한다. 복구 중에는 DB를 사용할 수 없다 테이블, 테이블스페이스, 레코드 등의 부분 복구가 불가능하다. 아카이브 로그 파일을 이용해 데이터 손실이 없는 완벽한 복구가 가능하다. 시스템 테이블스페이스 이오의 테이블스페이스에서 장애가 발생할 경우 복구 중에도 복구 중인 테이블스페이스를 제외한 나머지 테이블스페이스는 사용할 수 있으며 온라인 복구를 수행할 수 있다. 미디어 장애 및 객체의 일부 손실로부터 부분 복구를 수행할 수 있다. 운영 닫힌 백업 파일만 관리하면 된다. 운영이 쉽다. 백업 파일과 아카이브 로그 파일을 모두 유지해야 한다. 아카이브 로그 파일을 관리할 수 있는 충분한 시스템 자원이 필요하다.

20 03. 아카이브 로그 모드 설정 log_archive_start : 아카이브 프로세스를 오라클 시작과 함께 실행하도록 설정
log_archive_dest : 아카이브 프로세스가 로그 파일을 아카이브 로그 파일로 저장할 디렉토리 설정 log _archive_foramt : 아카이브 로그 파일의 이름 설정 파라미터 init.ora 파일의 내부를 설정해주어야 한다. # Uncommenting the line below will cause automatic archiving if archiving has # been enabled using ALTER DATABASE ARCHIVELOG. # log_archive_start = false # log_archive_dest_1 = "location=K:\oracle\oradata\Acsha\archive" # log_archive_format = %%ORACLE_SID%%T%TS%S.ARC

21 log_archive_format 옵션의 파일 이름 설정에서 사용할 수 있는 옵션
log_archive_start = true <- 아카이브 프로세서가 인스턴스와 함께 시작하도록 설정한다. (Default : false -> true) log_archive_dest_1 = "location=K:\oracle\oradata\Acsha\archive“ <- K:\oracle\oradata\Acsha\archive에 %%ORACLE_SID%%T%TS%S.ARC 파일로 로그 파일을 복사하도록 설정한다. log_archive_format = %%ORACLE_SID%%T%TS%S.ARC <- 아카이브 로그 파일 이름을 설정한다. <- 파라미터 파일내의 #(주석) 을 해제해 주어야 한다. log_archive_format 옵션의 파일 이름 설정에서 사용할 수 있는 옵션 %S : redo 로그 시퀀스 넘버를 표시하며 자동으로 왼쪽이 0으로 채워져 파일 이름 길이를 일정하게 만든다. %s : redo 로그 시퀀스 넘버를 표시하며 파일 이름 길이를 맞추지 않는다. %T : redo thread 넘버를 표시하며 자동으로 왼쪽이 0으로 채워져 파일 이름 길이를 일정하게 만든다. %t : redo thread 넘버를 표시하며 파일 이름 길이를 맞추지 않는다.

22 아카이브 로그 모드 설정(요약) 데이터 베이스 종료 SQL> shutdown 파라미터 파일 수정
log_archive_start = true log_archive_dest = 경로명 log_archive_format = 파일명 마운트 단계까지 데이터베이스 시작 SQL> startup mount 아카이브 로그 모드로 변경 SQL> alter database archivelog; 데이터베이스 오픈 SQL> alter database open; 데이터베이스 종료 후 전체 백업

23 04. 아카이브 로그 파일의 다중화 두 군데 이상 아카이브 로그 생성 log_archive_start = true
log_archive_dest_1 = "location=K:\oracle\oradata\Acsha\archive mandatory reopen" log_archive_dest_2 = "location=K:\oracle\oradata\Acsha\archive1 mandatory reopen=100" log_archive_dest_3 = "location=K:\oracle\oradata\Acsha\archive2 optional" log_archive_format = %%ORACLE_SID%%T%TS%S.ARC Log_archive_dest_n에는 다음과 같이 mandatory와 optional을 추가 옵션으로 지정할 수 있다. Mandatory Redo 로그 파일 복사가 성공해야 redo 로그 파일을 겹쳐 쓸수 있다는 의미이다. 또한, 여기에 지정된 reopen 옵션은 복사가 실패할 경우 지정된 시간 이후에 재시도 한다. 즉, reopen=600이면 600초 이후에 재시도 하는데, 기본값은 300이다. Reopen을 지정하지 않았는데 오류가 발생할 경우에는 더이상 redo 로그 파일의 복사를 시도하지 않는다. 그러나 필수 대상 경로에 복사 하는데 실패할 경우 로그 스위치는 완결되지 못하며, 이런 상황은 경고 파일에 저장된다. Optional Redo 로그 파일의 복사가 실패하는 경우에도 Redo 로그 파일을 겹쳐 쓸 수 있다는 의미이다. Optional의 경우 복사에 실패한 아카이브 로그 파일에 대해서는 보장하지 않으므로 중간에 복사되지 않은 redo 로그 파일에 대해 관리자가 운영체제 명령을 이용해 mandatory로 정의된 디렉토리로부터 직접 복사해 주어야 한다.

24 05. 복수 아카이브(ARCH) 프로세스의 활성화
실습 1. 데이터베이스 접속 및 로그 파일 확인 DB shutdown SQL> connect internal/oracle; (9i 에서는 connect /as sysdba;) SQL> shutdown immediate 마운트 상태로 startup K:\> sqlplus internal SQL> startup mount 아카이브 로그 모드 활성화 SQL> alter database archivelog; DB 오픈 SQL> alter database open; 아카이브 로그 모드가 정상적으로 작동하는지 확인 SQL> archive log list SQL> ALTER SYSTEM SWITCH LOGFILE;

25 SQL> $dir K:\oracle\oradata\Acsha\archive

26 SQL> $dir K:\oracle\oradata\Acsha\archive1

27 SQL> $dir K:\oracle\oradata\Acsha\archive2

28 06. 요약 노 아카이브 로그 모드를 사용하면 redo 로그 파일을 계속 겹쳐 쓰게 되어 로그 정보가 손실된다.
아카이브 로그 모드는 열린 백업과 닫힌 백업을 모두 지원하며 데이터 손실이 없는 완전 복구를 지원한다. 장애로부터 로그 파일을 안전하게 보관하기 위해 아카이브 로그 파일을 동시에 두 군데 이상의 경로에 저장 할 수 있다.


Download ppt "장애와 복구 오라클의 구조와 백업대상 복구에 필요한 파일 운영 환경과 운영 모드"

Similar presentations


Ads by Google