差分
このページの2つのバージョン間の差分を表示します。
| 両方とも前のリビジョン前のリビジョン次のリビジョン | 前のリビジョン | ||
| study:database:oracle:backup [2012/02/13 14:29] – [Import Utility] banana | study:database:oracle:backup [2012/02/14 05:42] (現在) – [Import Utility] banana | ||
|---|---|---|---|
| 行 26: | 行 26: | ||
| Import명령어의 Syntax는 다음과 같다 | Import명령어의 Syntax는 다음과 같다 | ||
| < | < | ||
| - | imp 오라클사용자명/ | + | imp userid=" |
| </ | </ | ||
| 行 57: | 行 57: | ||
| fromuser , touser 옵션을 사용하여 명시적으로 ID 를 지정한다. | fromuser , touser 옵션을 사용하여 명시적으로 ID 를 지정한다. | ||
| + | < | ||
| 예 ) imp 오라클사용자명/ | 예 ) imp 오라클사용자명/ | ||
| + | </ | ||
| \\ | \\ | ||
| - | \\ | + | |
| 2. 익스포트한 DB 와 임포트한 DB 의 테이블스페이스명이 틀린 경우 | 2. 익스포트한 DB 와 임포트한 DB 의 테이블스페이스명이 틀린 경우 | ||
| 行 66: | 行 67: | ||
| * 덤프 파일에서 테이블 생성 스크립트 추출하기 : imp 명령의 indexfile 옵션을 이용한다 | * 덤프 파일에서 테이블 생성 스크립트 추출하기 : imp 명령의 indexfile 옵션을 이용한다 | ||
| + | < | ||
| imp 오라클사용자명/ | imp 오라클사용자명/ | ||
| indexfile=스크립트명 | indexfile=스크립트명 | ||
| + | </ | ||
| 디렉토리에 스크립트가 생긴 것을 볼 수 있다. 이 생성 스크립트를 바로 사용할 수는 없으니 VI 등의 에디터로 편집한다. | 디렉토리에 스크립트가 생긴 것을 볼 수 있다. 이 생성 스크립트를 바로 사용할 수는 없으니 VI 등의 에디터로 편집한다. | ||
| 行 75: | 行 76: | ||
| (REM) 주석을 모두 제거한다. | (REM) 주석을 모두 제거한다. | ||
| 그리고 생성 스크립트에서 TABLESPACE 이름을 임포트할 곳의 테이블 스크립트에 맞게 변경해준다. 그리고 각 테이블의 생성 | 그리고 생성 스크립트에서 TABLESPACE 이름을 임포트할 곳의 테이블 스크립트에 맞게 변경해준다. 그리고 각 테이블의 생성 | ||
| - | 스크립 | + | 스크립트 마지막 줄에는 |
| - | 트 마지막 줄에는 | + | |
| ... XXX Rows 라고 익스포트된 레코드를 표시하는 부분이 있는데 이 라인들도 모두 제거한다. 그리고 스크립트 처음 부분에 | ... XXX Rows 라고 익스포트된 레코드를 표시하는 부분이 있는데 이 라인들도 모두 제거한다. 그리고 스크립트 처음 부분에 | ||
| - | 보면 첫 | + | 보면 첫번째 테이블을 생성하고 |
| - | 번째 테이블을 생성하고 | + | |
| connect 명령어가 나오는데 이 부분 역시 제거하자. | connect 명령어가 나오는데 이 부분 역시 제거하자. | ||
| 行 85: | 行 84: | ||
| 이때 indexfile 옵션은 없애야 하며 대신 ignore=yes 옵션을 추가한다. ignore=yes 는 임포트시 동일한 이름의 오브젝트가 있는 | 이때 indexfile 옵션은 없애야 하며 대신 ignore=yes 옵션을 추가한다. ignore=yes 는 임포트시 동일한 이름의 오브젝트가 있는 | ||
| - | 경 | + | 경우 에러를 내고 임포트를 |
| - | 우 에러를 내고 임포트를 | + | |
| skip 하는데 이를 무시하고 임포트 할 수 있게 해준다. | skip 하는데 이를 무시하고 임포트 할 수 있게 해준다. | ||
| + | < | ||
| imp 오라클사용자명/ | imp 오라클사용자명/ | ||
| + | </ | ||
| * 테이블스페이스 스토리지 옵션에 따른 에러는 너무 다양한 에러와 처리 방법이 존재하므로 발생한 에러에 맞는 대응을 | * 테이블스페이스 스토리지 옵션에 따른 에러는 너무 다양한 에러와 처리 방법이 존재하므로 발생한 에러에 맞는 대응을 | ||
| - | 해야함 | + | 해야함\\ |
| + | \\ | ||
| 3. 기존의 자료가 이미 있는 경우 전체 테이블 drop script 만드는 법 | 3. 기존의 자료가 이미 있는 경우 전체 테이블 drop script 만드는 법 | ||
| 行 100: | 行 98: | ||
| SQL/Plus 접속 후 | SQL/Plus 접속 후 | ||
| + | < | ||
| spool drop.sql ( 파일 이름은 알아서.. ) | spool drop.sql ( 파일 이름은 알아서.. ) | ||
| select 'drop table ' | select 'drop table ' | ||
| spool off | spool off | ||
| + | </ | ||
| SQL/Plus 를 빠져나가서 보면 drop.sql 이 생성된 것을 볼 수 있다. 이 파일을 수정해서 사용하면 된다. | SQL/Plus 를 빠져나가서 보면 drop.sql 이 생성된 것을 볼 수 있다. 이 파일을 수정해서 사용하면 된다. | ||
| 파일을 열어보면 아까 수행했던 SQL/Plus 화면이 그대로 저장된 것을 볼 수 있다. 이 파일에는 drop table .. 로 시작하는 SQL | 파일을 열어보면 아까 수행했던 SQL/Plus 화면이 그대로 저장된 것을 볼 수 있다. 이 파일에는 drop table .. 로 시작하는 SQL | ||
| - | 구문 | + | 구문과 |
| - | 과 | + | |
| 그렇지 않은 부분이 있으므로 SQL 구문이 아닌 문장을 모두 제거하고 저장한 다음 SQL/PLUS 로 접속해서 | 그렇지 않은 부분이 있으므로 SQL 구문이 아닌 문장을 모두 제거하고 저장한 다음 SQL/PLUS 로 접속해서 | ||
| 行 114: | 行 111: | ||
| 명령을 실행한다 ( 명령은 아니고 drop.sql 을 실행하라는 SQL/Plus 명령이다. 파일명이 drop_table.sql 일 경우는 @drop_table | 명령을 실행한다 ( 명령은 아니고 drop.sql 을 실행하라는 SQL/Plus 명령이다. 파일명이 drop_table.sql 일 경우는 @drop_table | ||
| - | 이 | + | 이런 식으로 실행한다 ) |
| - | 런 식으로 실행한다 ) | + | |
| 테이블이 일괄 드롭되나 몇개 테이블들은 Referencial Integrity 에러를 내면서 드롭되지 않는다. 이런 경우는 수동으로 drop | 테이블이 일괄 드롭되나 몇개 테이블들은 Referencial Integrity 에러를 내면서 드롭되지 않는다. 이런 경우는 수동으로 drop | ||
| - | 하면 | + | 하면된다 |
| - | 된다 | + | |
| @drop 으로 테이블을 드롭하였으면 | @drop 으로 테이블을 드롭하였으면 | ||
| + | < | ||
| select table_name from tabs; | select table_name from tabs; | ||
| + | </ | ||
| 문을 실행하여 남아있는 테이블들을 확인한 후 | 문을 실행하여 남아있는 테이블들을 확인한 후 | ||
| + | < | ||
| drop table 테이블명; | drop table 테이블명; | ||
| + | </ | ||
| 구문을 실행하여 모두 삭제한다. | 구문을 실행하여 모두 삭제한다. | ||
| 行 134: | 行 129: | ||
| ===== references ===== | ===== references ===== | ||
| - [[http:// | - [[http:// | ||
| - | + | - [[http:// | |
| + | - [[http:// | ||