와, 디비링크를 이해하긴 했지만 처음 생성할때 원격지에 생성해야하는지 로컬에 해야하는지 전혀 감도 안잡혔는데..
한번 해보니 별로 어렵지 않다!!! 하지만 나의 기억력을 나는 믿지 않기에 나를 위한 기록 시작.!
1. 먼저, 원격 서버의 tns 정보와 접속 유저의 정보를 가지고 있어야한다.
tns 정보와 유저 정보를 알았다면 이제 로컬db에서 원격db에 대한 DB LINK 생성 ㄱ ㄱ
CREATE DATABASE LINK [DBLINK이름] CONNECT TO 원격유저명 IDENTIFIED BY "비밀번호"
USING '(DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST = [IP])(PORT = [포트번호])))(CONNECT_DATA = ( sid = [sid] )(service_name = [service_name])))'
2. 접속 확인
SELECT * FROM DBA_DB_LINKS;
-- 잘 만들어졌나 확인 ㄱ ㄱ
SELECT * FROM 테이블이름@DBLINK이름
3. 원격서버의 유저 권한
원격서버의 유저는 권한이 있어야한다.
EXPDP 라면 EXP_FULL_DATABASE 권한을 가지고 있어야하고
IMPDP 를 한다면 IMP_FULL_DATABASE 권한을 가지고 있어야한다.
-- 원격 DB 접속 후 원격USER한테 부여해야함. 로컬에서 부여 불가.
GRANT EXP_FULL_DATABASE TO USER명;
GRANT IMP_FULL_DATABASE TO USER명;
여기까지 했다면 이제 다 왔다.
4. 로컬 서버에 접속 후 EXPDP 명령을 실행해주자
--CMD 창에서--
EXPDP sys/비밀번호 NETWORK_LINK = [DBLINK명] directory=DATA_PUMP_DIR SCHEMAS = 원격DB에서추출할계정명 DUMPFILE = 파일이름.dmp LOGFILE=파일이름.log
성공적으로 expdp 완료되었다면 directory 에서 파일 확인 후 impdp 해주면 된다.
이 다음 글은 파일로 떨어트리지 않고 처음부터 원격으로 impdp 하는 과정을 설명한다.
'새싹 DBA > Oracle' 카테고리의 다른 글
[오라클] ROLE 생성부터 부여된 테이블 권한 조회까지 LISTAGG 활용하여 조회하는 VIEW (0) | 2024.06.26 |
---|---|
[오라클] DB LINK로 dumpfile 없이 impdp (0) | 2024.06.24 |
[오라클] DATAPUMP로 개발DB → 전환DB 같은 환경 구축하기 (0) | 2024.06.21 |
[오라클] 개발 DB 환경 구축 TBS, USER, QUOTA (0) | 2024.06.21 |
[오라클] DB를 조회하는 뷰 모음 (1) | 2024.06.03 |