[tibero 실습] DB Link (Tibero to Tibero)

퐁퐁이·2022년 10월 9일
0

Database link (t to t) 객체를 이용하여, A 데이터베이스로 부터 테이블을 가져오려고 함.

** A 데이터베이스 접속정보 (본인의 현재 TIBERO)
IP     :
PORT:
SID   :
USER: SYS
PASSWORD: TIBERO

문제1) 수강생 DB에 새로운 스키마(이름: EDU_DBLINK , 암호: EDU_DBLINK ) 를 생성하고,
이곳에 DATABASE LINK 객체(이름: EDU_TLINK) 를 만드세요.

  • 접속
    tbsql tibero/tmax
    
    SQL> conn EDU_DBLINK
    Enter Password:
    Connected to Tibero.
#새로운 스키마(이름: EDU_DBLINK , 암호: EDU_DBLINK  ) 를 생성
CREATE USER EDU_DBLINK IDENTIFIED BY 'EDU_DBLINK';

#이곳에 DATABASE LINK 객체(이름: EDU_TLINK) 를 만드세요.
CREATE DATABASE LINK EDU_TLINK CONNECT TO EDU_DBLINK IDENTIFIED BY 'EDU_DBLINK' USING 'Tibero2';

# 권한
GRANT CREATE DATABASE LINK TO EDU_DBLINK;

문제2) DATABASE LINK 를 이용하여 A 데이터베이스의 ALL_USERS 를
수강생 DB의 EDU_DBLINK 스키마로 가져오세요(이름은 MY_USERS, 데이터 포함)

# 원래 있는 ALL_USERS 조회 
SQL> SELECT * FROM ALL_USERS;

USERNAME
--------------------------------------------------------------------------------
   USER_ID CREATED                                              
---------- ----------------------------------------------------------------
SYSCAT
        12 2022/09/30

SYSGIS
        13 2022/09/30

OUTLN
        14 2022/09/30

TIBERO
        18 2022/09/30

TIBERO1
        19 2022/09/30

T0930DB
        21 2022/10/06

EDU_DBLINK
        22 2022/10/06

USERNAME
--------------------------------------------------------------------------------
   USER_ID CREATED                                              
---------- ----------------------------------------------------------------
SYS
         0 2022/09/30

8 rows selected.
# Table 'MY_USERS' created.
SQL> CREATE TABLE MY_USERS(USERNAME, USER_ID, CREATED)
   2 AS
   3 SELECT USERNAME, USER_ID, CREATED
   4 FROM ALL_USERS@EDU_TLINK;

Table 'MY_USERS' created.

❗️수업

vi $TB_HOME/client/config/tbdsn.tbr

[tibero@T1:/tibero]$ tbsql tibero/tmax
  • TLINK 삭제
SQL> DROP DATABASE LINK TLINK;

Database Link 'TLINK' dropped.
  • TLINK 생성

-link명 : 생성한 링크명

-userid : Tibero#2으로 접속할 계정

-password : Tibero#2으로 접속할 userid의 비밀번호

-using 절 이후의 Tibero#2는 연결할 데이터베이스를 가리키는 이름으로 tbdsn.tbr 파일에 해당 데이터베이스의 연결 정보가 저장되어 함

# create database **link Link명** connect to **userid** identified by '**password**' using '**tbdsn에 설정한alias**'
SQL> CREATE DATABASE LINK TLINK CONNECT TO t0930db IDENTIFIED BY 'tmax' USING 'Tibero2';

Database Link 'TLINK' created.
create user t0930db identified by ‘tmax’;
grant dba to t0930db;
  • Error 리포트
# grant create database link to user명;
grant create database link to t0930db;
  • DB Link 사용
# select * from Tibero#2테이블명@DB_LINK명
select * from v$instance@tlink;

❗️Test

<TIBERO 데이터베이스링크>

  • DATABASE LINK(Tibero To Tibero) 객체를 생성하고, 사용하는 테스트 입니다.
  • (참고:실습 환경 제약사항으로 Remote Database 접속 정보는 Local Database 와 동일한 값을 사용합니다.)

문제 1) linktest라는 유저와 dblink 생성하는 것
문제 2) (데이터베이스링크 사용) Remote Database 에 존재하는 ALL_OBJECTS 를 가져와서 LINKTEST 스키마에 MY_OBJECTS 라는 이름으로 테이블 생성하기.

profile
코딩하는 에디

0개의 댓글