데이터베이스 분류
import, export사용(imp, exp)
작성자 정보
- 웹관리자 작성
- 작성일
컨텐츠 정보
- 10,275 조회
- 0 추천
- 목록
본문
import, export사용(imp, exp)
SQL> connect linux/linux 연결되었습니다. SQL> set pagesize 30 SQL> select * from tab; TNAME TABTYPE CLUSTERID ------------------------------ ------- ---------- S_CUSTOMER TABLE S_DEPT TABLE S_EMP TABLE S_IMAGE TABLE S_INVENTORY TABLE S_ITEM TABLE S_LONGTEXT TABLE S_ORD TABLE S_PRODUCT TABLE S_REGION TABLE S_TITLE TABLE S_WAREHOUSE TABLE TEST TABLE 13 개의 행이 선택되었습니다. SQL> quit Oracle8 Release 8.0.5.0.0 - Production PL/SQL Release 8.0.5.0.0 - Production에서 분리되었습니다. [linux@localhost db]$ ls -l /usr/local/Oracle total 2 drwxr-xr-x 3 oracle dba 1024 Sep 22 13:23 app drwxr-xr-x 3 oracle dba 1024 Sep 22 13:26 oradata [linux@localhost db]$ ls -l /usr/local/Oracle/oradata total 1 drwxr-xr-x 2 oracle dba 1024 Sep 22 13:34 kang [linux@localhost db]$ ls -l /usr/local/Oracle/oradata/kang total 131172 -rw-r----- 1 oracle dba 1435648 Oct 5 23:46 control01.ctl -rw-r----- 1 oracle dba 1435648 Oct 5 23:46 control02.ctl -rw-r----- 1 oracle dba 1435648 Oct 5 23:46 control03.ctl -rw-r----- 1 oracle dba 15730688 Oct 5 23:44 rbs01.dbf -rw-r----- 1 oracle dba 512512 Oct 5 23:41 redokang01.log -rw-r----- 1 oracle dba 512512 Oct 5 23:42 redokang02.log -rw-r----- 1 oracle dba 512512 Oct 5 23:44 redokang03.log -rw-r----- 1 oracle dba 83888128 Oct 5 23:44 system01.dbf -rw-r----- 1 oracle dba 1050624 Oct 5 23:42 temp01.dbf -rw-r----- 1 oracle dba 26216448 Oct 5 23:42 tools01.dbf -rw-r----- 1 oracle dba 1050624 Oct 5 23:42 users01.dbf [linux@localhost db]$ exp linux/linux Export: Release 8.0.5.0.0 - Production on 화 Oct 5 23:46:43 1999 (c) Copyright 1998 Oracle Corporation. All rights reserved. 연결할 곳: Oracle8 Release 8.0.5.0.0 - Production PL/SQL Release 8.0.5.0.0 - Production 배열 인출 버퍼 크기 입력: 4096 > 엑스포트 파일: expdat.dmp > (2)U(사용자), 또는 (3)T(테이블): (2)U > 권한부여 엑스포트 (yes/no): yes > 테이블 데이터 엑스포트 (yes/no): yes > 확장 영역 압축 (yes/no): yes > KO16KSC5601 문자 설정과 KO16KSC5601 NCHAR 문자 설정에서 엑스포트가 종료되었습니다 . LINUX 사용자를 위해 외래 함수 라이브러리 이름을 엑스포트합니다 . LINUX 사용자에 대한 개체 유형 정의를 엑스포트 합니다 LINUX의 개체를 엑스포트하려고 합니다 ... . 데이터베이스 링크 엑스포트 중 . 순차 번호 엑스포트 중 . 클러스터 정의 엑스포트 중 . LINUX의 테이블을 엑스포트하려고 합니다 via 규정 경로... . . 테이블 S_CUSTOMER(를)을 엑스포트 중 15 행이 엑스포트됨 . . 테이블 S_DEPT(를)을 엑스포트 중 12 행이 엑스포트됨 . . 테이블 S_EMP(를)을 엑스포트 중 25 행이 엑스포트됨 . . 테이블 S_IMAGE(를)을 엑스포트 중 19 행이 엑스포트됨 . . 테이블 S_INVENTORY(를)을 엑스포트 중 114 행이 엑스포트됨 . . 테이블 S_ITEM(를)을 엑스포트 중 62 행이 엑스포트됨 . . 테이블 S_LONGTEXT(를)을 엑스포트 중 33 행이 엑스포트됨 . . 테이블 S_ORD(를)을 엑스포트 중 16 행이 엑스포트됨 . . 테이블 S_PRODUCT(를)을 엑스포트 중 33 행이 엑스포트됨 . . 테이블 S_REGION(를)을 엑스포트 중 5 행이 엑스포트됨 . . 테이블 S_TITLE(를)을 엑스포트 중 8 행이 엑스포트됨 . . 테이블 S_WAREHOUSE(를)을 엑스포트 중 5 행이 엑스포트됨 . . 테이블 TEST(를)을 엑스포트 중 16 행이 엑스포트됨 . 동의어 엑스포트 중 . 뷰 엑스포트 중 . 저장 프로시저 엑스포트 중 . 참조 무결성 제약조건 엑스포트 중 . 트리거 엑스포트 중 . 이후 테이블 처리를 엑스포트 중 . 스냅샷 엑스포트 중 . 스냅샷 로그 엑스포트 중 . 작업 대기열을 엑스포트 중 . 리프레쉬 그룹과 자식 엑스포트 중 엑스포트가 경고 없이 정상적으로 종료되었습니다. [linux@localhost db]$ ls -l total 96 -rw-rw-r-- 1 linux linux 3340 Aug 15 22:30 JdbcTest.class -rw-r--r-- 1 linux linux 3112 Aug 15 22:43 JdbcTest.java drwxrwxr-x 2 linux linux 1024 Oct 1 01:10 db_ex -rw-rw-r-- 1 linux linux 40960 Oct 5 23:46 expdat.dmp -rw-r--r-- 1 linux linux 41841 Jun 30 11:59 summit.sql -rw-rw-r-- 1 linux linux 4096 Oct 5 23:46 사용자관리-백업_리스토어.txt [linux@localhost db]$ imp kang/kang Import: Release 8.0.5.0.0 - Production on 화 Oct 5 23:48:1 1999 (c) Copyright 1998 Oracle Corporation. All rights reserved. 연결할곳: Oracle8 Release 8.0.5.0.0 - Production PL/SQL Release 8.0.5.0.0 - Production 임포트 파일: expdat.dmp > 삽입 버퍼 크기를 입력하십시오 (최소치는 4096) 30720> 엑스포트 파일은 규정 경로를 거쳐 EXPORT:V08.00.05 에 의해 생성되었습니다 경고: 개체는 다른 사용자 LINUX(이)가 엑스포트한 것입니다. 임포트 파일의 내용만 표시합니다. (yes/no): no > 개체 존재로 인해 발생한 생성 오류는 무시합니다. (yes/no): no > 권한부여 임포트 (yes/no): yes > 테이블 데이터 임포트 (yes/no): yes > 엑스포트 파일 전체를 임포트합니다. (yes/no): no > 사용자명:linux 여기서 테이블(T) 또는 분할(T:P)명을 입력하십시오. 널 목록은 사용자의 모든 테이블을 의미합니다. 테이블(T) 또는 분할(T:P)명을 입력하거나 완료 시에는 .을 입력하십시오. . LINUX 개체를 KANG(으)로 임포트하는 중입니다. . . 테이블 "S_CUSTOMER"(를)을 임포트 중 15 행이 임포트되었습니다 . . 테이블 "S_DEPT"(를)을 임포트 중 12 행이 임포트되었습니다 . . 테이블 "S_EMP"(를)을 임포트 중 25 행이 임포트되었습니다 . . 테이블 "S_IMAGE"(를)을 임포트 중 19 행이 임포트되었습니다 . . 테이블 "S_INVENTORY"(를)을 임포트 중 114 행이 임포트되었습니다 . . 테이블 "S_ITEM"(를)을 임포트 중 62 행이 임포트되었습니다 . . 테이블 "S_LONGTEXT"(를)을 임포트 중 33 행이 임포트되었습니다 . . 테이블 "S_ORD"(를)을 임포트 중 16 행이 임포트되었습니다 . . 테이블 "S_PRODUCT"(를)을 임포트 중 33 행이 임포트되었습니다 . . 테이블 "S_REGION"(를)을 임포트 중 5 행이 임포트되었습니다 . . 테이블 "S_TITLE"(를)을 임포트 중 8 행이 임포트되었습니다 . . 테이블 "S_WAREHOUSE"(를)을 임포트 중 5 행이 임포트되었습니다 . . 테이블 "TEST"(를)을 임포트 중 16 행이 임포트되었습니다 사용 가능한 제약 조건에 관해서... 임포트가 경고 없이 정상적으로 종료되었습니다. [linux@localhost db]$ sqlplus SQL*Plus: Release 8.0.5.0.0 - Production on 화 Oct 5 23:48:37 1999 (c) Copyright 1998 Oracle Corporation. All rights reserved. 사용자명 입력: kang 암호 입력: Connected to: Oracle8 Release 8.0.5.0.0 - Production PL/SQL Release 8.0.5.0.0 - Production SQL> select * from tab; TNAME TABTYPE CLUSTERID ------------------------------ ------- ---------- S_CUSTOMER TABLE S_DEPT TABLE S_EMP TABLE S_IMAGE TABLE S_INVENTORY TABLE S_ITEM TABLE S_LONGTEXT TABLE S_ORD TABLE S_PRODUCT TABLE S_REGION TABLE S_TITLE TABLE S_WAREHOUSE TABLE TEST TABLE 13 개의 행이 선택되었습니다. SQL> connect system 암호 입력: 연결되었습니다. SQL> drop user kang; drop user kang * 1행에 오류: ORA-01922: 'KANG'(을)를 삭제하려면 CASCADE를 지정하여야 합니다 SQL> drop user kang cascade; 사용자가 삭제되었습니다. 추가: 2001-12-20 imp에서 show패러미터는 export파일의 내용을 보여주고, 실제 import는 수행하지 않는다. 보여주는 내용이 SQL문으로 되어 있으므로 어떤 경우, 유용하게 사용될 수 있다. imp system/xxxxxx full=y show=y file=full_20011220.dmp log=exp_content.sql 복구과정 1. 가장 최근의 exp파일에서 full=y inctype=으로 imp를 수행하여 data dictionary와 DB구조들을 재생성 (이때 적용될 exp파일은 complete, cumulative, incremental의 종류에 관계없이 가장 최근의 exp파일이다.) 2. 가장 최근의 complete exp파일에서 full=y inctype=로 import한다. (나머지 exp파일들에 대해 full=y와 inctype=restore로 계속 수행한다) 3. 가장 최근의 complete exp파일 이후로 수행된 cumulative exp파일들을 처리 4. 가장 최근의 cumulative exp파일 이후로 수행된 incremental exp파일들을 처리 export시 DB를 restricted session에 두고,(alter system enable restricted session) exp 패러미터중 consistent를 Y에 두면 최소한의 읽기일관성 보장한다. 단, consistent패러미터는 complete, cumulative에서만 사용할 수 있다. consistent패러미터는 incremental에서는 사용될 수 없으므로, incremental수행시에는 DB를 restricted session에 두고 수행하는 것이 좋다. -- 읽기일관성 문제 예 테이블 데이터가 먼저 export되고, index는 그 다음에 수행된다. 따라서, 테이블데이터에 있지 않으나, 인덱스에는 해당 데이터가 있을 수도 있다. export수행중, 변경된 데이터는 export파일에 저장되지 않는다. conventional Vs direct 디폴트는 conventional path를 이용해 export된다. conventional path는 SQL을 SQL*PLUS에서 수행하는 것과 동일한 방식으로 실행된다. direct패러미터는 디폴트가 N이므로 명시적으로 Y값으로 설정해야 한다. direct는 데이터 정의와 몇몇 SQL을 skip하여 수행되므로 백업의 속도가 빠르다. direct path를 사용할 때는 buffer패러미터가 사용되지 않는다. full=y로 수행된 export파일은 import시 user,table,full 모두에 사용될 수 있다
"무단배포금지: 클라우드포털(www.linux.co.kr)의 모든 강좌는 저작권에 의해 보호되는 콘텐츠입니다. 무단으로 복제하여 배포하는 행위는 금지되어 있습니다."
관련자료
-
이전
-
다음
댓글 0
등록된 댓글이 없습니다.