본문 바로가기

DB/Oracle

오라클 핫백업

q3

오라클서버는 아카이브 모드이어야 합니다

$ sqlplus / as sysdba

SQL> archive log list;

SQL> alter system archive log current;

ALTER SYSTEM CHECKPOINT ;



SQL> alter tablespace SYSTEM begin backup;

SQL> host copy c:\Program Files\oracle\telecall\system01.dbf e:\arc\Hotbackup

SQL> alter tablespace SYSTEM end backup;

SQL> alter tablespace NYLCSUSERTS begin backup;

SQL> host copy D:\DATA\NYLCSUSERTS.DBF e:\arc\Hotbackup

SQL> alter tablespace NYLCSUSERTS end backup;


반복하여 모든 테이블스페이스를 백업한다.



SQL> ALTER SYSTEM SWITCH LOGFILE;




---------------------------------

방법2

① 백업받을 테이블스페이스를 조회

   ↓

 ② alter tablespace 테이블스페이스명 begin backup;

   ↓

 ③ 실제 OS명령어로 원하는 경로에 파일 복사

   ↓

 ④ alter tablespace 테이블스페이스명 end backup;

미리 폴더 만들기

SQL> archive log list;

SQL> alter tablespace SYSTEM begin backup;

SQL> !cp /home/won/hotbackup/20150403

SQL> alter tablespace users end backup;


control file

SQL> alter database backup controlfile to '/data/backup/open/control01.ctl';


CONTROL FILE Backup수행


---------------------------------



 

-- 현재의 CONTROL FILE을 Image Copy 하는 방법

-- 파일 경로를 생략할 경우 윈도우의 경우는 %ORACLE_HOME%/database에,

-- 유닉스 계열에서는 $ORACLE_HOME/dbs에 존재합니다.

SQL> ALTER DATABASE BACKUP CONTROLFILE TO <파일 경로>;



-- CONTROL FILE을 재생성 할 수 있도록 Script를 생성하는 방법

-- 저장 위치는 USER_DUP_DEST에 현재 Session의 Process번호로 생성 됩니다

SQL> ALTER DATABASE BACKUP CONTROLFILE TO TRACE;

    


수행한후 항상 상태 확인. not active가 백업이 완료된 상태이다.

SQL> select a.file#, a.name, b.status, to_char(b.time, 'YYYY-MM-DD:HH24:MI:SS') as time

         from v$datafile a, v$backup b

   where a.file#=b.file#;