Oracle에서 백업 소프트웨어를 사용하는 방법은 별도 비용도 들고 전체 백업 시 용량도 실제 데이터 크기에 비해 무식하게 커지는 데다, 아카이브 로그 때문에 관리하기에 골치도 아프다.

그래서 Oracle에서 테이블 스페이스를 통째로 내보내기(export)하고 가져오기(import)하는 방법으로 백업/복원을 많이 사용한다.


이 방법은 원래 사용자가 테이블 스페이스로 매핑되어 있기 때문에 사용자 계정을 내보내고 가져오는 방식으로 하면 되는데, 둘 이상의 테이블 스페이스를 한꺼번에 처리하려고 한다든지 등의 경우에는 dba 권한을 가진 계정을 이용하여 다음과 같이 실행할 수 있다.


: 백업

C:\> exp system/****** file=D:\e_1.dat tablespaces=TBS_TEST1,TBS_TEST2 log=D:\e_1.log


: 복원

C:\> imp system/****** file=D:\e_1.dat tablespaces=TBS_TEST1,TBS_TEST2 log=D:\e_1.log ignore=y


복원할 때 ignore=y를 쓰면 덮어쓰기 모드가 되므로 테이블 생성 등의 경우 이미 존재하는 경우 에러가 나는 것을 막을 수 있다.


※ 원래 9i 이전 버전에서는 이 exp 유틸리티를 사용하여 증분 백업도 할 수 있는 옵션(INCTYPE)이 있었다고 하는데, 이후 버전들에서는 동작하지 않는다. 시도할 생각 자체를 말자. (그래서 이후부터 본격적으로 백업 소프트웨어 회사들이 돈을 벌게 되었다고나 할까? ^^;)




Posted by 떼르미
,


자바스크립트를 허용해주세요!
Please Enable JavaScript![ Enable JavaScript ]