티스토리 뷰
Oracle Data Pump는 데이터 베이스에서 다른 데이터베이스로 메타 데이터를 빠르게 이동시켜주는 기능
- oracle database 10g 이상에서만 사용 가능
import 시 디렉토리 객체를 만들어야 하며 이는 실제 디렉토리에 대한 포인터 일 뿐 실제로 데이터베이스 서버의 파일 시스템에 실제 디렉토리를 만들어주지 않음
물리적 디렉토리를 만들어주는 것은 아님
디렉토리 포인터 생성
CREATE OR REPLACE DIRECTORY 디렉토리명 AS '경로' ;
ex )
읽어올 test(파일명).dmp 파일의 위치가 /temp1/data 라면
1 2 3 4 5 6 7 | sqlplus "/as sysdba" SQL> CREATE OR REPLACE DIRECTORY data AS '/temp1/data'; Directory created. SQL> SELECT * FROM dba_directories; -- 디렉토리 생성확인 | cs |
--- 결과
디렉토리 위치는 이동식 디스크여도 상관 없음 (경로 설정을 잘 할것!)
디렉토리에 대한 권한 설정
GRANT READ, WRITE ON DIRECTORY 디렉토리명(위에서 설정한 디렉토리명) TO 계정명;
1 2 3 | SQL> GRANT READ, WRITE ON DIRECTORY DATA TO SYSTEM; --system 계정에 data디렉토리를 읽고 쓸 수 있는 권한 설정 Grant succeeded. | cs |
import를 위한 사전 설정을 마침
IMPORT
impdp 계정명/비번 file=파일명 directory=디렉토리명
ex) /temp1/data/test.dmp <-.dmp 파일 경로
1 | C:\> impdp system/password file=test.dmp directory=DATA | cs |
import시 모니터링
1 2 3 4 5 6 7 8 9 | SQL> select * from dba_datapump_jobs; --or SQL> select owner,sum(bytes/1024/1024) MB from dba_segments where owner like upper('계정명')||'%' group by owner order by owner; | cs |
dmp파일 경로에 log 파일이 생성되며, 오류 시 로그를 통해 문제를 해결할 수 있음
- ERROR 사례
1) tablespace를 미리 생성해줘야 하거나, 계정을 생성해줘야 하는 경우
로그에 설정 값들을 확인하여 생성해줘야함.
TABLESPACE 생성 방법
create temporary tablespace 테이블스페이스명 '오라클 dbf 생성위치' size 300m autoextend on;
--임시 테이블스페이스
create tablespace 테이블스페이스명 '오라클 dbf 생성위치' size 500m autoextend on;
2) oracle database의 character set 이 다를 경우 컬럼의 사이즈에 오버되며 오류가 날수 있음.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 | --현재 character set 확인 select * from nls_database_parameters where parameter like '%CHARACTERSET%'; -- 변경 시작 (/as sysdba로 접속) shutdown immediate; startup mount alter system enable restricted session alter system set job_queue_processes=0 alter database open; alter database character set internal_use KO16MSWIN949 -- 바꾸고자하는 character set shutdown immediate; startup | cs |
- 출처 http://lkrox.blogspot.kr/2014/01/oracle-utf-8.html
IMPORT 를 수행하지 않고 DDL 문장만 추출 할 수도 있음.
DDL 추출
1 2 3 4 5 6 7 | impdp directory = 디렉토리명 dumpfile = 덤프파일명 sqlfile = sql파일명 -- Package, Function, Procedure 만 추출 하고자 할 시 impdp directory = 디렉토리명 dumpfile = 덤프파일명 sqlfile = sql파일명 include=PACKAGE,FUNCTION,PROCEDURE | cs |
'sql' 카테고리의 다른 글
sysdba 접속 불가 (0) | 2019.01.23 |
---|---|
자원 대기중 교착 상태 검출 에러 (0) | 2019.01.23 |
시퀀스 추출 (0) | 2019.01.23 |
ROLLUP(), CUBE(), RANK, ROW_NUMBER() (0) | 2018.03.20 |
over() 함수_partition (0) | 2018.03.20 |
- Total
- Today
- Yesterday
- veujs
- 오라클시스템계정잠김
- jsp
- 오라클시스템계정암호
- spring webpack 설정
- spring5
- 오라클정규식함수REGEXP
- 오라클정규식
- webpack
- srpring
- 오라클시스디비에스접속
- orale
- 오라클
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |