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 예영교육 연구소