새싹 DBA/Oracle

[오라클] DB LINK로 dumpfile 없이 impdp

LIMMI 2024. 6. 24. 11:23

앞서 DB link 생성하는 게시글을 작성했는데 주의해야 할 부분이 있다. 

DB link 접속 세션 수가 제한되어있다는 것.

default 로 4개 까지 접속 가능한데 그 이상 접속하려고 하면 에러가 뜬다. 

해결하기 위해서는 파라미터 파일바꿔줘야한다. 

SELECT * FROM V$PARAMETER
 WHERE NAME LIKE '%link%' ; 
 -- open link 값 확인 
 
 ALTER SESSION SET "_ORACLE_SCRIPT" = TRUE;
 ALTER SYSTEM SET OPEN_LINKS = [변경값] SCOPE = spfile;

 

db 종료 후 재접속 시 반영된다. 

 

본격적으로 나는 금요일마다 개발db -> 전환 db 로 db 반영/업데이트를 해야하는데, 이때 금요일마다 자동으로 실행되는 스크립트를 작성하여 작업을 진행하려한다. 

 

1. 원격에서 impdp를 할 경우 양쪽 db 계정은 모두 expdp impdp full 권한을 가지고 있어야한다.

2. DB 링크 당연히 생성되어야하고 

3. bash shell script 작성 

$ vi mig.sh

#bin/bash
-- 작업 수행한 날짜로 로그 파일 생성 예정이기에 날짜 변수 생성
cur_date - date + '%Y%m%d_%H%m'
impdp dbadm/clcl1234! parfile=filename.par logfile=${cur_date}.log

  parameter file 인 filename.par 

network_link=[디비링크명]
DIRECTORY=DATA_PUMP_DIR
SCHEMAS=[가져오려는 스키마명] (TABLE 등등 옵션 있으니 찾아보도록)
CONTENT= METADATA_ONLY ( FULL, DATA_ONLY 도 있음)
TABLE_EXISTS_ACTION=REPLACE
EXCLUDE=GRANT, STATISTICS -- 보통 여기서 많은 오류가 난다. 롤 제외, 통계정보 제외하고 IMPDPD ㄲ

 

작성 완료 했으면 TEST 로 돌려보고 로그파일 및 IMPDP가 DB로 잘 들어왔다면 

CRON TAB 으로 원하는 주기로 작업을 시작하도록 설정해주면 된다. 

CRONTAB 설명은 서칭하면 나오지만 다른 게시글에서 다루겠다.

 

추가. 

IMPDP 옵션

 

- 하나만 지정 가능한 옵션

- 공통옵션