오라클 스키마 스크립트 생성
< 오라클의 스키마를 스크립트로 뽑아내는 방법 1 >
1. exp scott/tiger file=exp.dmp compress=n rows=n
2. imp scott/tiger file=exp.dmp indexfile=create_schema.sql full=y
3. create_schema.sql 에서 REM 주석 제거
< 오라클의 스키마를 스크립트로 뽑아내는 방법 2 >
9i 이상 버전에서 가능
--테이블 스키마 뽑기 --DBMS_METADATA.GET_DDL('TABLE', '테이블명', '테이블소유자') SELECT DBMS_METADATA.GET_DDL('TABLE', TABLE_NAME, 'EIS')||';' FROM USER_TABLES; --인덱스 스키마 뽑기 --DBMS_METADATA.GET_DDL('INDEX', '인덱스명', '인덱스소유자') SELECT DBMS_METADATA.GET_DDL('INDEX', INDEX_NAME, 'EIS')||';' FROM USER_INDEXES; --테이블 스페이스 스키마 뽑기 -- TABLESPACE와 USER는 DBA 궈한이 있는 유저로 실행 SELECT DBMS_METADATA.GET_DDL('TABLESPACE',TABLESPACE_NAME)||';' FROM DBA_TABLESPACES WHERE TABLESPACE_NAME NOT IN ('SYSTEM','TEMP','USERS','TOOLS') AND STATUS = 'ONLINE'; --유저 스키마 뽑기 SELECT DBMS_METADATA.GET_DDL('USER', USERNAME)||';' FROM DBA_USERS; --SEQUENCE 스키마 뽑기 --DBMS_METADATA.GET_DDL('SEQUENCE', '시퀀스명', '시퀀스소유자') SELECT DBMS_METADATA.GET_DDL('SEQUENCE', SEQUENCE_NAME, 'EIS')||';' FROM USER_SEQUENCES;
출처 : http://www.jakartaproject.com/board-read.do?boardId=dbtip&boardNo=121266646898587&command=READ&t=1343181695183
최신 댓글