====== Oracle exp/imp ====== ===== exp ===== - DB 전체를 export 시키는 방법 oracle$ exp system/passwd file=xxx.dmp log=xxx.log full=y - hr유저 객체만 exp 할경우 oracle$ exp system/passwd file=xxx.dmp log=xxx.log owner=hr - EXPORT Parameter - userid : EXPORT를 실행시키고 있는 username/password명. - buffer : 데이터 행들을 가져오는데 사용되는 버퍼의 크기. - file : 생성되는 EXPORT덤프 파일명. - filesize : EXPORT덤프 파일의 최대 크기 - grants : 데이터베이스 객체에 대한 권한 정보의 EXPORT여부 (Y/N 플래그) - indexes : 테이블에 대한 INDEXES의 EXPORT여부 (Y/N 플래그) - rows : 행들에 대한 EXPORT여부. (Y/N 플래그) \\ 만약 “no”이면 데이터는 EXPORT되지않고 테이블의 정의만 EXPORT - constraints : 테이블에 대한 제약조건 정보의 EXPORT여부 (Y/N 플래그) - compress : IMPORT에 대비하여 테이블의 데이터를 한 extent로 압축 할것인가의 여부 (Y/N 플래그) - full : 전체 데이터베이스를 EXPORT할것인가의 여부 (Full Level Export) (Y/N 플래그) - owner : EXPORT될 데이터베이스의 소유자명 (User Level Export)[owner=user] - tables : export될 테이블의 리스트(Table Level Export) [tables=(table1, table2, ...)] ===== imp ===== - DB 전체를 import 시키는 방법 oracle$ imp system/passwd file=xxx.dmp log=yyy.log full=y ignore=y buffer=8192000 feedback=1000000 - hr유저 객체만 imp 할경우 oracle$ imp system/passwd file=xxx.dmp log=yyy.log fromuser=hr touser=hr ignore=y buffer=8192000 feedback=1000000 - 기존 TABLE을 그대로 둔 상태에서 import 시키기 oracle$ imp userid/passwd@oracle_sid files=expdat.dmp ignore=y commit=y - dumpfile 을 table만 import 시키는 명령 imp ${username}/${password} file=XXXX.dmp log=xxx.log fromuser=xxx touser=xxx tables=${tablename} indexes=y - IMPORT Parameter - userid : IMPORT를 실생시키는 계정의 username/password명 - buffer : 데이터를 행들을 가져오는데 사용되는 buffer의 bytes수 - file : IMPORT될 EXPORT 덤프 파일명 - show : 파일 내용이 화면에 표시되어야 할 것인가를 나타냄(Y/N 플래그) - ignore : IMPORT중 CREATE명령을 실행할 때 만나게 되는 에러들을 무시할 것인지 결정 (Y/N 플래그) - indexes : 테이블 INDEX의 IMPORT여부(Y/N 플래그) - rows : 테이블 데이터를 IMPORT할 것인가(Y/N 플래그) \\ 만약 "N"로 설정하면 데이터베이스 객체들에 대한 DDL만이 실행 - full : FULL엑스포트 덤프 파일이 IMPORT 할때 사용 - tables : IMPORT될 테이블 리스트 - commit : 배열(배열의 크기는 BUFFER에 의해 설정됩니다) 단위로 COMMIT을 할것인가 결정 \\ 기본적으로는 테이블 단위로 COMMIT - fromuser : EXPORT덤프 파일로 부터 읽혀져야 하는 객체들을 갖고 있는 테이터베이스 계정 - touser : EXPORT덤프 안에 있는 객체들이 IMPORT될 데이터베이스 계정