달력

52024  이전 다음

  • 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

Oracle DBLink 설정

 

이관 대상 서버(A) --- DB Link --- 실 데이터 서버(B)

 

1. 이관 대상 서버(A)의 tnsnames.ora 파일에 실 데이터 서버(B)에 대한 접속 정보 추가

DBLINK =

  (DESCRIPTION =

    (ADDRESS_LIST =

       (ADDRESS = (PROTOCOL = TCP) (HOST = 192.168.100.100) (PORT = 1521))

    )

    (CONNECT_DATA =

       (SID = linkdb)

    )

  )

 

2. DBLink 설정

이관 대상 서버(A)에서 실행하며 DBA권한이 필요

# sqlplus ‘/as sysdba’

# grant dba to linkuser;

 

# sqlplus linkuser/PASSWD

create database link 링크명 connect to 원격지서버계정 identified by 원격지서버패스워드 using TNS명’;

SQL> create database link LINKTEST connect to linkuser identified by link11223344 using 'DBLINK';

 

3. DB Link 정상 확인 테스트

- 목록 조회 -

select * from user_db_links;

select * from all_db_links;

 

SQL> select * from data_table_1@LINKTEST

 

4. 원본 테이블 이관 대상 서버로 create 실행

SQL> create table data_table_new_1 as select * from data_table_1@LINKTEST;

 

5. DB이관 이후 DBLink 삭제

SQL> drop database link LINKTEST;

 

### 테이블 목록 추출 및 SQL 쿼리문 자동 완성 ###

select 'create table '||table_name||'  as select * from ' from all_tables where table_name like 'data_table%'

 

### 테이블 목록 추출 ###

select table_name from tabs where table_name like 'data_table%' order by table_name

 

### 기존 테이블 존재 시 조건을 통한 Insert ###

insert into data_table_new_1 select * from data_table_1@DBLINK where time >= to_date('2013-05-30 000000','YYYY-MM-DD HH24:mi:ss')

AND time < to_date('2013-05-30 180000','YYYY-MM-DD HH24:mi:ss');

 

 

Posted by 짜꾸미의골골몽
|