Oracle

게시글 보기
작성자 유건데이타 등록일 2015-05-16
제목 TAPE로 EXPORT, IMPORT, LOADER 사용하기(PIPE 사용)
TAPE로 EXPORT, IMPORT, LOADER 사용하기(PIPE 사용)
================================================


Purpose
-------
대용량의 DATA를 BACKUP 받거나 DATA를 처리할 때에는 TAPE을 이용하는
경우가 있다. 이럴 때 EXPORT, IMPORT, SQL*LOADER에서 TAPE 를 이용하는
방법을 종류별로 정리하였다.


Explanation
-----------

1. TAPE DEVICE로 EXPORT 받기

% exp userid=system/manager full= y file=/dev/rmt/0m volsize=245M

FILE은 TAPE이 있는 DEVICE 이름이고 VOLSIZE는 TAPE에 들어갈 DATA의
SIZE이다. 만약 첫번 째 TAPE이 245M에 이르게 되면 다음 TAPE를 넣으라는
메시지가 나온다.

(주의) VOLSIZE should be < tape capacity


2. Tape device에서 import받기

% imp userid=system/manager full=y file=/dev/rmt/0m volsize=245M

첫번째 TAPE이 245M에 이르면 다음 TAPE를 위한 메시지가 나온다.


3. PIPE와 DD를 이용한 tape의 export

% mknod /tmp/exp_pipe p # Make the pipe
% dd if=/tmp/exp_pipe of= & # Write from pipe to tape
% exp file=/tmp/exp_pipe # Export to the pipe


4. PIPE와 DD를 이용한 tape의 import

% mknod /tmp/imp_pipe p # Make the pipe
% dd if= of=/tmp/imp_pipe & # Write from tape to pipe
% imp file=/tmp/imp_pipe # Import from the pipe


5. PIPE 와 DD를 이용한 remote server의 tape device에 export하기

% mknod /tmp/exp_pipe p
% dd if=/tmp/exp_pipe | rsh dd of= &
% exp file=/tmp/exp_pipe


6. PIPE 와 DD 를 이용한 remote server의 tape device에서 import하기

% mknod /tmp/imp_pipe p
% rsh dd if= % imp file=/tmp/imp_pipe


7. TAPE에 있는 DATA FILE을 SQL*LOADER로 받기.

% mknod /tmp/load_pipe p
% dd if= of=/tmp/load_pipe &

(주의) 만약 tape이 EBCDIC이면 다음 명령으로 ASCII로 바꾸어 줍니다.

% dd if= % sqlldr userid=user/pass control=contol.ctl log=loader.log
infile='/tmp/load_pipe'

* PIPE는 I/O operation의 보다 빠른 상호 작용을 위한 memory 안의 가상
화일이다. PIPE buffer는 Sun Solaris에서는 5K, HP에서는 8K, SGI에서는
10K이다. 이것은 FIFO를 따르며 command는 다음과 같다.

% mknod filename p

* DD는 한 device로부터 다른 곳으로 data를 raw copy하는 명령어이다.
Comment
등록된 코멘트가 없습니다.