[Oracle] db 링크 생성

·2025년 8월 29일

오라클 관리

목록 보기
65/163

이론1. db 링크를 만드는 이유

💡 데이터베이스 간의 데이터 이행을 위해 생성


실습1. ora19 도 올리고 ora19dw 도 올리시오

sys 또는 sysdw
startup

[oracle@ora19c admin]$ ps -ef |grep pmon | grep -v grep
oracle   30621     1  0 16:08 ?        00:00:00 ora_pmon_ORA19
oracle   31535     1  0 16:16 ?        00:00:00 ora_pmon_ora19dw
[oracle@ora19c admin]$


아래의 hr 계정이 가지고 있는 테이블과 인덱스와 제약과 여러 다른 object들을 깔끔하게 ora19dw 쪽으로 데이터 이행하려면 db링크를 생성해야합니다.


현재 남아있고 사용가능한 메모리 가용율 확인하는 리눅스 명령어

watch -n 1 "free | awk '/Mem:/ { printf(\"Available: %.2f%%\\n\", \$7/\$2 * 100) }'"

ora19에서 먼저 아래의 작업을 합니다.

SYS @ ORA19 > alter user hr account unlock;

사용자가 변경되었습니다.

SYS @ ORA19 > alter user hr identified by hr;

사용자가 변경되었습니다.

ora19dw 에서 디비링크를 만들기 위해서 tnsnames.ora 에 다음과 같은 내용을 기술합니다.

oltp_ora19 =
  (DESCRIPTION =
    (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.13.69)(PORT = 21533))
    (CONNECT_DATA =
      (SERVER = DEDICATED)
      (SERVICE_NAME = ORA19)
    )
  )

그리고 다음과 같이 ora19dw 에서 scott으로 접속해서 db링크를 만듭니다.

SYS @ ora19dw > connect scott/tiger
연결되었습니다.
SCOTT @ ora19dw >
SCOTT @ ora19dw > drop database link oltp_db_link;

데이타베이스 링크가 삭제되었습니다.

SCOTT @ ora19dw >create database link oltp_db_link
  2               connect to hr
  3               identified by hr
  4               using 'oltp_ora19';

데이타베이스 링크가 생성되었습니다.

SCOTT @ ora19dw > select count(*) from user_tables@oltp_db_link;

  COUNT(*)
----------
         7

0개의 댓글