본문 바로가기

DB/Oracle

DB export/import (tablespace가 다를경우)

step.1
#db를 export한다.
exp userid=system/pwd file=dump.dmp owner=olduser 

step.2
#schema 추출한다.
imp userid=system/pwd file=dump.dmp fromuser=olduser touser=newuser indexfile=schema.sql constraints=n log=scheme.log
***주의***
- 옵션 constraints : 제약조건 (FK, PK) 쿼리도 가져오기때문에 데이터를 입력시 제약조건 에러가 발생할수있다.

step.3
#scheme 수정  (추출한 schema.sql을 필요없는 부분, tablespace를 편집한다.)
- REM 일괄 제거
- REM ... row n 주석처리(--) (정규식 : :1,$s/row/--row/g )

step.4
#schema.sql 이용 schema 생성 
sqlplus newuser/pwd
sql>@scheme.sql 
 
steop.5
#데이터 import 
shell> imp userid=system/pwd file=dump.dmp fromuser=olduser touser=newuser constraints=y commit=y ignore=y log=data.log 
- commit 옵션은 롤백세그먼트가 작다면 써준다.
- ignore 옵션이 가장 중요하다. (오브젝트가 존재하기 때문에 에러시 무시하고 계속 진행한다.)
 

'DB > Oracle' 카테고리의 다른 글

[LINUX] ORACLE 설치와 활용 - 1 (8i)  (0) 2011.06.28
오라클 정규식 (REGEXP_LIKE)  (0) 2011.06.07
오라클 사용자 tablespace 변경  (0) 2011.05.25
다중row를 컬럼으로 변경 (ORACLE)  (0) 2011.04.29
유용한 sql  (0) 2011.04.28