|
|
1번째 줄: |
1번째 줄: |
− | RMAN+Clone DB 사용해서 복구
| |
| | | |
− | 11g는 Targetless Duplicate 기능으로 target DB에 접속하지 않고 Backpset 과 Archive log 파일만을 이용해 CloneDB구성이 가능
| |
− |
| |
− | 1. RMAN 으로 전체 데이터베이스 백업
| |
− | <source lang=sql>
| |
− | [oracle@localhost~] $ rman target /
| |
− | RMAN> backup as compressed backupset format '/data/rman/%U_%T' database ;
| |
− | </source>
| |
− | 2. test 테이블 생성 및 drop
| |
− | <source lang=sql>
| |
− | [oracle@localhost~] $ sqlplus / as sysdba
| |
− | </source>
| |
− | <source lang=sql>
| |
− | SYS> create table scott.test
| |
− | 2 (no number,
| |
− | 3 name varchar2(10)) ;
| |
− | SYS> insert into scott.test values(1, '김효섭') ;
| |
− | SYS> insert into scott.test values(2, '홍길동') ;
| |
− | SYS> commit ;
| |
− | SYS> select * from scott.test ;
| |
− | NO NAME
| |
− | ---------
| |
− | 1 김효섭
| |
− | 2 홍길동
| |
− | </source>
| |
− |
| |
− | <source lang=sql>
| |
− | SYS> alter system switch logfile ;
| |
− | SYS> /
| |
− | SYS> /
| |
− | SYS> /
| |
− | SYS> select to_char(sysdate,'yyyy-mm-dd:hh24:mi:ss') from dual ;
| |
− | TO_CHAR(SYSDATE,'Y
| |
− | -----------------
| |
− | 2014-11-17:04:00:00
| |
− | </source>
| |
− |
| |
− | <source lang=sql>
| |
− | SYS> drop table scott.test purge ;
| |
− | </source>
| |
− |
| |
− | 3. Clone DB 용 Parameter File 생성 및 수정
| |
− | --spfile 일 경우 :
| |
− | <source lang=sql>
| |
− | SYS> create pfile='/app/oracle/product/11g/dbs/initclone.ora' from spfile ;
| |
− | </source>
| |
− |
| |
− | --pfile 일 경우 :
| |
− | <source lang=sql>
| |
− | SYS> !cp /app/oracle/product/11g/dbs/inittestdb.ora /app/oracle/product/11g/dbs/initclone.ora
| |
− | </source>
| |
− |
| |
− | <source lang=sql>
| |
− | SYS> ! vi /app/oracle/product/11g/dbs/initclone.ora
| |
− | </source>
| |
− |
| |
− | 수정
| |
− | db_name='clone'
| |
− | control_files='/data/db/clone/control01.ctl'
| |
− |
| |
− | #memory_target=823132160 주석처리
| |
− | 추가
| |
− | db_file_name_convert=('/data/temp4/','/data/db/clone') /data/temp4 는 현재 운영중인 데이터파일 경로
| |
− | log_file_name_convert=('/data/temp4/','/data/db/clone') /data/temp4 는 현재 운영중인 로그 파일 경로
| |
− |
| |
− | 4. Clone DB 구성용 디렉토리 생성
| |
− | <source lang=sql>
| |
− | [oracle@localhost~] $ mkdir -p /data/db/clone
| |
− | </source>
| |
− |
| |
− | <source lang=sql>
| |
− | [oracle@localhost~] $ mkdir -p /app/oracle/admin/clone
| |
− | </source>
| |
− |
| |
− | <source lang=sql>
| |
− | [oracle@localhost~] $ mkdir -p /app/oracle/admin/clone/adump
| |
− | </source>
| |
− |
| |
− | <source lang=sql>
| |
− | [oracle@localhost~] $ mkdir -p /app/oracle/admin/clone/dpdump
| |
− | </source>
| |
− |
| |
− | 5. Archive log 파일을 backupset 이 있는 경로에 복사
| |
− | <source lang=sql>
| |
− | [oracle@localhost~] $ cp /data/arc1/* /data/rman/
| |
− | </source>
| |
− | 6. RMAN 의 Targetless DUPLICATE 를 이용하여 시간기반 무정지 복구
| |
− | <source lang=sql>
| |
− | [oracle@localhost~] $ export ORACLE_SID=clone
| |
− | [oracle@localhost~] $ export NLS_DATE_FORMAT='YYYY-MM-DD:HH24:MI:SS'
| |
− | [oracle@localhost~] $ sqlplus / as sysdba
| |
− | </source>
| |
− | <source lang=sql>
| |
− | SYS> startup nomount <-- 파라미터파일 밖에 없어서 노마운트까지만 오픈
| |
− | SYS> exit
| |
− | </source>
| |
− | <source lang=sql>
| |
− | [oracle@localhost~] $ rman auxiliary /
| |
− | </source>
| |
− | <source lang=sql>
| |
− | RMAN > duplicate database to 'clone'
| |
− | 2 pfile='/app/oracle/product/11g/dbs/initclone.ora'
| |
− | 3 nofilenamecheck
| |
− | 4 backup location '/data/rman'
| |
− | 5 until time '2014-11-17:04:00:00' ;
| |
− |
| |
− | ----------복구중----------
| |
− |
| |
− | RMAN> exit
| |
− | </source>
| |
− | <source lang=sql>
| |
− | SYS> select * from scott.test ;
| |
− |
| |
− | NO NAME
| |
− | ---------
| |
− | 1 김효섭
| |
− | 2 홍길동
| |
− | 복구 끝!
| |
− | </source>
| |
− | 7. exp/imp로 복구한 테이블을 운영 DB에 입력
| |
− | <source lang=sql>
| |
− | [oracle@localhost~] $ exp scott/tiger file=/home/oracle/test.dmp tables=test
| |
− | [oracle@localhost~] $ export ORACLE_SID=testdb
| |
− | [oracle@localhost~] $ imp scott/tiger file=/home/oracle/test.dmp ignore=y
| |
− | [oracle@localhost~] $ sqlplus / as sysdba
| |
− |
| |
− | SYS> select * from scott.test ;
| |
− | NO NAME
| |
− | ---------
| |
− | 1 김효섭
| |
− | 2 홍길동
| |
− | </source>
| |