본문 바로가기

Oracle/admin

DB link

로칼 DB tnsnames.ora 에 추가

1. local DB에 db2 라는 alias 로 tnsnames.ora에 추가

$>vi $ORACLE_HOME/network/admin/tnsnames.ora

db2 =
  (DESCRIPTION =
    (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.0.106)(PORT = 1521))
    (CONNECT_DATA =
      (SERVICE_NAME = orcl)
    )
  )

2. link 생성
sys유저로 접속하여 직접 public으로 링크를 생성하게 되면 모든 사용자가 링크를 사용할수 있다. 그렇지 않고 특정유저만 사용하길 원하면 해당유저에 링크를 만들수 있는 권한을 줘야 한다. 그리고 그 유저가 직접 링크를 만들고 쓰면 된다. 이때도 유저가public으로 링크를 만들면 모든 유저가 이 링크를 쓸수 있게 되므로 public을 주지 않고 링크를 생성한다.

나는 public으로 링크를 만들어 봤다.

$>sqlplus "/as sysdba"

SQL>select db_link from dba_db_links; <--현재 링크 목록확인
no rows selected.

SQL>create public database link ddd (링크때 사용할 명칭)
        connect to scott
        identified by tiger
        using 'db2' (tnsnames.ora에 등록된 alias) ;

Database link created.

SQL>select db_link from dba_db_links;
DB_LINK
--------------------------------------------
DDD.REGRESS.RDBMS.DEV.US.ORACLE.COM

3. 링크 test

SQL>select * from emp@ddd;

4. 링크 삭제
SQL>drop public database link 
                                       DDD.REGRESS.RDBMS.DEV.US.ORACLE.COM
-->public으로 링크 생성시에는 public으로 삭제.

5. 링크 생성/삭제 권한 특정 유저에게 주기

grant create public database link,drop public database link to scott;

'Oracle > admin' 카테고리의 다른 글

hot backup 실습  (0) 2015.09.14
Flashback Database  (0) 2015.09.14
UNDO, REDO, LOGMINER  (0) 2015.09.14
Logminer (로그마이너) 실행 절차  (0) 2015.09.14
nls_char ,spfile 위치 확인  (0) 2015.09.14