오라클에서 테이블을 백업(복사?)하는 방법은 여러 가지가 있습니다.
원하시는 목적 또는 편함에 따라 선택해서 사용하세요.
1. export
오라클에서 제공하는 논리적인 백업 방법입니다.
exp 라는 프로그램으로 원하는 DB/유저/테이블을 백업할 수 있습니다.
( 복구시에는 imp라는 툴을 사용합니다. )
장점은 DB가 손상되더라고 당시의 데이타는 남아있겠지요. 외부 파일이니까요.
간단하게 설명하면 scott 유저의 emp 테이블을 백업하려면
exp userid=scott/tiger buffer=10000000 file=scott_emp.dmp log=scott_emp.log \
tables=emp compress=n
이렇게 하면 scott_emp.dmp 파일에 테이블/인덱스 만드는 스크립트와
데이타가 저장이 됩니다.
만약 데이타를 복구하려면 imp 라는 툴을 사용하면 됩니다.
imp userid=scott/tiger buffer=10000000 file=scott_emp.dmp \
log=scott_empi.log ignore=y commit=y
각 파라메터의 자세한 의미는 오라클 매뉴얼 utilities 중에서
import와 export 부분을 보시면 됩니다.
2. 임시 테이블을 만들어 현재의 데이타를 저장
만약 emp 테이블의 데이타를 오라클 데이타베이스에 임시 테이블 emp_tmp로
저장해 두려면
create table emp_tmp as
select select * from emp ;
나중에 emp 에 데이타를 다시 복구하려면
insert into emp
select * from emp_tmp ;
오라클 매뉴얼 SQL reference에서 create 와 insert 명령 부분을
보시면 테이블스페이스를 지정할 수도 있고 redo 로그 생서을
피해서 속도를 빠르게 하는 방법도 아실 수 있습니다.
3. 데이타를 PL/SQL의 utl_file 패키지나 다른 언어를 사용해서
데이타를 SAM 파일로 만들어 두고 SQL*Loader나 입력 프로그램으로
작성하는 방법등이 있습니다.
이 방법은 비오라클 데이타베이스의 데이타를 오라클 데이타베이스로
입력시에 많이 사용합니다.
|