본문 바로가기

빅데이터과정/WORKSHOP 2

#27_140721_WSHOP2_완전/불완전 복구

728x90

# 완전/불완전 복구





복구의종류 2가지
완전 복구 마지막 commit 한 시점으로 복구
불완전 복구 과거의 특정 시점으로 복구

불완전 복구의 종류
cancel base : current redo log file 또는 archive log file이 깨졌을 때 복구방법으로 사용
time base : 과거의 특정 시점으로 복구
잘못된 data를 입력했다든지
아주 중요한 테이블이 drop 되었을때
유저가 drop 되었을 때


time base 불완전 복구 순서
테스트 하기전에 로그 스위치를 여러 번 일으키고 수행한다
아래를 .bash_profile 에 추가해준다
NLS_LANG=american_america.we8iso8859p15
NLS_DATE_FORMAT=RRRR/MM/DD:HH24:MI:SS
export NLS_LANG
export NLS_DATE_FORMAT

1.     SQL> select sysdata from dual;
현재 시간확인
SQL> select sysdate
   from dual;

SYSDATE
-------------------
2014/07/21:16:39:41

2.     SQL> drop user scott cascade;
3.     SQL> shutdown immediate
4.     SQL> startup mount
5.     RMAN> run {set until time = '2014/07/21:16:39:41';
             restore database;
             recover database;}
6.     RMAN> alter database open resetlogs;
7.     SQL>connect scott/tiger
8.     full backup 수행







parameter file 삭제 후 복구 방법
RMAN> list backup of spfile;
SQL> select dbid from v$database;
SQL> select dbid from v$database;
      DBID
----------
3193357653


1.     parameter file 삭제하기

SQL> show parameter spfile
cd /u01/app/oracle/product/11.2.0/dbhome_1/dbs/
[dbdb:dbs]$ rm spfiledbdb.ora


2.    RMAN에서 nomount 시작

[dbdb:~]$ rman target /
RMAN> set dbid=3193357653
파라미터 파일이 존재하지 않기 때문에 위과정이 필요하다
RMAN> shutdown abort
RMAN> startup nomount

startup failed: ORA-01078: failure in processing system parameters
LRM-00109: could not open parameter file '/u01/app/oracle/product/11.2.0/dbhome_1/dbs/initdbdb.ora'

starting Oracle instance without parameter file for retrieval of spfile
Oracle instance started

Total System Global Area     159019008 bytes

Fixed Size                     1335192 bytes
Variable Size                 75497576 bytes
Database Buffers              79691776 bytes
Redo Buffers                   2494464 bytes
RMAN> restore spfile from autobackup;
……………………………………………………………………………………..
channel ORA_DISK_1: no AUTOBACKUP in 7 days found
RMAN-00571: ===========================================================
RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============
RMAN-00571: ===========================================================
RMAN-03002: failure of restore command at 07/21/2014 17:27:30
RMAN-06172: no AUTOBACKUP found or specified handle is not a valid copy or piece
일반적인 restore 복구는 위와 같은 오류를 발생시킨다. controlfile에 백업 상태가 적혀있는데 nomount 상태이기 때문에 controlfile을 확인할 수 없어서 직접 경로를 적어줘야 한다


3.     restore spfile from '/u01/app/oracle/flash_recovery_area/DBDB/autobackup/2014_07_21/o1_mf_s_853524332_9wsoyy6n_.bkp comment=NONE'
backup database 에서 startign 부분의 경로를 적어줘야 한다

4.     startup force