★★무정지 상태에서의 복구 - 2.clone DB를 이용한 drop tablespace 복구하기. (-)
[Backup&Recovery]/백업복구 2014. 11. 11. 09:53 |
* 전제 조건 |
- 백업 파일 경로 : /data/backup/close/ - 운영서버 SID : testdb - 복구서버 SID : clonedb - 복구서버 파일 경로 : /data/temp/clone |
* 복구 순서 요약 |
1. 복구 서버용 파라미터 파일 생성 $ cp inittestdb.ora initclonedb.ora 2. 백업 데이터 파일 복원 $ mkdir -p /data/temp/clone $ cp /data/backup/close/*.dbf /data/temp/clone/ 3. 컨트롤 파일 재생성 (운영서버에서 진행) SYS> alter database backup controlfile to tace as '/app/oracle/re2.sql'; $ vi /app/oracle/re2.sql -- 스크립트 수정 (logfile, data file 경로수정, controlfile set database "clonedb" resetlogs 로 수정) 4. 불완전 복구 시작 -- data file에 에러가 발생한다. (★clonedb서버에서 진행★) SYS> @/app/oracle/re2.sql --스크립트 실행. SYS> recover database until time '2013-12-02:04:30:55' using backup controlfile; 5. test01.dbf 파일 내용을 수정하고 다시 복구 시작 SYS> select name from v$datafile; SYS> alter database create datafile '/app/oracle/product/11g/dbs/unnamed00006' as '/data/temp/clone/test02.dbf'; SYS> recover database until time '2013-12-02:04:30:55' using backup controlfile; SYS> alter database open resetlogs; 6. 복구 완료되면 clonedb서버에서 export후, 운영서버에 import 수행. $ export ORACLE_SID=clonedb $ exp scott/tiger file=gogak2.dmp tables=gogak2 $ export ORACLE_SID=testdb $ imp scott/tiger=gogak2.dmp
|
[실습문제] 해보기
A. 전체닫힌백업
B. create tablesapce ts_new.
C. create table Tbl_gogak In Ts_new.
D. drop table Tbl_gogak *** 이상태로 돌아가기.
E. drop tablespace Ts_new ** including contents and datafiles 옵션을 주지 않으면 tablespace안에 있는 .dbf 파일이 남게되어 복구하면서 운영서버에 tablespace를 새로 생성해줄 때 만들 수 없다고 나온다.
* 복구 순서 요약 |
1. 복구 서버용 파라미터 파일 생성 $ cp inittestdb.ora initclonedb.ora 2. 백업 데이터 파일 복원 $ mkdir -p /data/temp/clone $ cp /data/backup/close/*.dbf /data/temp/clone/ 3. 컨트롤 파일 재생성 (운영서버에서 진행) SYS> alter database backup controlfile to tace as '/app/oracle/re2.sql'; $ vi /app/oracle/re2.sql -- 스크립트 수정 (logfile, data file 경로수정, controlfile set database "clonedb" resetlogs 로 수정) 4. 불완전 복구 시작 -- data file에 에러가 발생한다. (★clonedb서버에서 진행★) SYS> @/app/oracle/re2.sql --스크립트 실행. SYS> recover database until time '2013-12-02:04:30:55' using backup controlfile; 5. test01.dbf 파일 내용을 수정하고 다시 복구 시작 SYS> select name from v$datafile; SYS> alter database create datafile '/app/oracle/product/11g/dbs/unnamed00006' as '/data/temp/clone/test02.dbf'; SYS> recover database until time '2013-12-02:04:30:55' using backup controlfile; --drop table전의 시간으로 돌린다. SYS> alter database open resetlogs; 6. 복구 완료되면 clonedb서버에서 export후, 운영서버에 import 수행. -- 옮겨줄 운영서버에 tablespace를 생성해주지 않으면, default tablespace에 table이 복원되고, tablespace를 생성해주면 원하는 tablespace에 table이 복원된다. $ create tablespace ts_new datafile '/app/oracle/oradata/testdb/ts_new.dbf' size 10M; $ export ORACLE_SID=clonedb $ exp system/oracle file=gogakabc.dmp tablespace=Ts_new --tablespace는 scott계정으로 옮겨줄 수 없고, system계정으로 작업을 해야한다. 그리고 tablespace를 exp/imp하면 그안에 table도 같이 옮겨지므로 tablespace만 옮겨주면 된다. $ export ORACLE_SID=testdb $ imp system/oracle=gogakabc.dmp tablespace=Ts_new ignore=y full=y
|
'[Backup&Recovery] > 백업복구' 카테고리의 다른 글
[Block corruption and repair] _ DBMS_REPAIR 패키지를 이용한 Block Recovery★★ (0) | 2014.11.21 |
---|---|
[Block corruption and repair] _ DBVERIFY를 이용한 block 관리. (0) | 2014.11.18 |
Recovery Manager (RMAN) _ 백업하기 (0) | 2014.11.13 |
★★무정지 상태에서의 복구 - 1. cloneDB와 exp/imp를 이용한 drop table 복구. (0) | 2014.11.10 |
RedoLogFile장애 _ 3.current 아닌 그룹 중 archive 안 된 그룹이 삭제되고 DB open상태 / 5. current 그룹이 삭제된 후 DB open상태. (0) | 2014.11.06 |
RedoLogFile장애 _ 2.archive 완료된 그룹이 지워진 후 - DB close상태. (0) | 2014.11.06 |
RedoLogFile장애 기본지식 _ 1.그룹의 멤버가 1개만 장애 발생할 경우. (0) | 2014.11.06 |
불완전 복구 - DDL 관련 장애복구(2)_ drop tablespace명령으로 삭제된 tablespace 복구.(백업없는경우) (0) | 2014.11.04 |
불완전 복구 - DDL 관련 장애복구(2-2)_ drop table->drop tablespace 명령으로 삭제된 table복구. (0) | 2014.11.03 |
불완전 복구 - DDL 관련 장애복구(2)_ drop tablespace명령으로 삭제된 tablespace 복구.(백업있는경우) (0) | 2014.11.03 |