IT/Oracle 실습2011. 4. 22. 00:47


1. backup을 준비하는 단계로 Database file들을 조회해 보기
--------------------------------
ID : sys, PWD : oracle의 경우
Sqlplus로 접속
C:> sqlplus sys/oracle as sysdba

* 콘트롤 파일 확인
SQL> select value from v$controlfile; 

* 데이터 파일 확인
SQL> select name from v$logfile;

* 로그 파일 확인
SQL> select member from v$logfile;

* 모든 데이터 파일의 구조를 분석
SQL> select file_id, file_name, tablespace_name FROM dba_data_files;

2. Offline으로 DB backup을 실시하기
Backup 대상 폴더명  : C:\backup
Database file 폴더명 : C:\oracle\product\10.2.0\oradata\orcl\

  (1) DB를 정상적으로 종료한다.
       SQL> shutdown immediate;
       SQL> exit

  (2) Database file의 모든 파일을 C:\backup\으로 복사합니다.(사이 공백을 넣어주세요.) 
      C:\> copy  C:\oracle\product\10.2.0\oradata\orcl\*.* C:\backup\

3. No아카이브 mode에서의  Backup/Recovery

먼저 아카이브 모드와 No아카이브 모드에 대해 아래 설명을 참조
http://markspeople.tistory.com/36

password는 oracle를 처음 설치시 입력했던 password를 말합니다.
C:\> sqlplus system/password as sysdba

// 아카이브에 대한 간단한 정보 확인
SQL> archive log list

//  oracle session의 종료
SQL> shutdown immediate

// Backup하기 (백업 폴더 : C:\backup\Noarchive)
C:\> copy C:\oracle\product\10.2.0\oradata\orcl\*.* C:\backup\Noarchive

// DB시작
SQL> startup

// DB의 강제 종료로 장애를 발생시킨다.
SQL> shutdown abort

// EXAMPLE01.DBF를 삭제하므로 장애를 유발시킵니다.
C:\> del C:\oracle\product\10.2.0\oradata\orcl\Example01.dbf

// DB startup하면, 에러 발생함.
SQL> Startup

--> 위와 같이 비정상적으로 시스템이 다운되거나 서버 자체에 에러가 생겨 데이터 파일이 손상된 경우입니다. 가장 좋은 해결 방법은 데이터 파일을 없애고 다시 만드는 것입니다.
손상된 파일은 offline drop처리를 한 이후에 데이터 파일이나 테이블 스페이스를 삭제합니다.

// DB를 복구하는 작업
SQL> Alter database datafile 'C:\oracle\product\10.2.0\oradata\orcl\example01.dbf' offline drop;

SQL> Alter database open;
SQL> shutdown immediate

// 오류 파일을 Bakup 받아둔 것을 이용해서 원상태로 복구후 Startup실행
SQL> copy C:\backup\Noarchive\example01.dbf C:\oracle\product\10.2.0\oradata\orcl\
SQL> Startup


 

Posted by 예영교육 연구소
IT/Oracle2011. 4. 22. 00:21

No Archive Mode
- DB를 설치하면 디폴트로 3개의 redo log파일이 생성된다.
- 로그 정보 기록
3개의 redo log파일에서 첫번째 파일에 로그 정보를 저장한 후 두 번째 파일과 세번째 파일에 순차적으로 로그 정보를 기록한다.

따라서 세 번째 파일까지 모두 저장하면 다시 첫 번째 파일에 로그 정보를 기록하는데, 첫 번째 파일에는 이미 로그 정보가 있으므로 이전에 기록되어 있던 로그 정보가 모두 지워진다.
이러한 환경을 노아카이브 모드라 함. DB가 설치되면 기본으로 설치되는 환경.

특징
- DB를 실행하면 온라인 리두 로그의 아카이브 기능은 비활성 상태
- DB를 완전히 복구하는 것이 아닌 최근의 DB를 전체 백업했을 때의 상태까지만 복원
- 온라인 테이블 스페이스 백업 수행 불가

Archive Mode
- 세번째 리두 로그 파일까지 리두 로그 정보를 기록후, 다시 첫번째 리두 로그 파일에 새로운 로그 정보가 저장되기 전에 사용자가 지정한 디렉토리에 첫 번째 리두 로그 파일의 내용을 복사한 후 새로운 로그 정보를 첫번째 리두 로그 파일에 저장하는 환경을 아카이브 모드.
- 아카이브 파일 : 아카이브 모드에서 백업된 로그 파일

  아카이브 모드 확인
  SQL> select log_mode from v$database;

  아카이브에 대한 간단한 정보
  SQL> archive log list;

DB에서 노아카이브모드에서 아카이브 모드로 전환(ALTER DATABASE를 사용)
C:\> sqlplus system/password as sysdba

SQL> shutdown normal
SQL> startup mount;
SQL> alter database archivelog;
SQL> alter database open;

-> 모드 확인
SQL> select log_mode from v$database;

 


 

Posted by 예영교육 연구소