# vi /oracle/app/oracle/product/10.2.0/db_1/network/admin/tnsname.ora
---------------------------------------------------------------------------
KMUHAKSADB=
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 2XX.2XX.29.51)(PORT = 1521))
)
(CONNECT_DATA =
(SID = ZEUS )
)
)
---------------------------------------------------------------------------
# su - oracle
/oracle>sqlplus /nolog
SQL> connect / as sysdba
-- CREATE [PUBLIC] DATABASE LINK "링크된서버의 별칭" CONNECT TO "계정ID" IDENTIFIED BY "계정암호" USING 'tnsname의 구분명칭';
-- PUBLIC 지정하여 생성하면 삭제할때도 PUBLIC 지정해야 된다.
-- PUBLIC 생략 : 연결된 서버가 생성한 사용자의 소유가 된다.(소유자만 사용가능)
-- PUBLIC 지정 : 연결된 서버의 소유자가 PUBLIC이다.(아무나 사용가능)
SQL> CREATE [PUBLIC] DATABASE LINK "DB_NAME" CONNECT TO "user_id" IDENTIFIED BY "password" USING 'OTHER_DB_NAME';
-- 연결된 서버의 object(table, view, function 되더라 나머지는 안해봤다) 조회
SQL> SELECT * FROM www_userm@DB_NAME;
SQL> SELECT UDF_USER_PW@DB_NAME('1106673', '2696612') FROM DUAL;
-- 연결된 서버 삭제
SQL> DROP [PUBLIC] DATABASE LINK DB_NAME;
-- 연결된 서버 목록 조회
SQL> SELECT * FROM ALL_DB_LINKS;
-- 동의어 생성
SQL> CREATE [PUBLIC] SYNONYM members FOR www_userm@DB_NAME;
-- 동의어 삭제
SQL> DROP [PUBLIC] SYNONYM members;
-- 동의어로 조회
SQL> SELECT * FROM members;
-- 권한부여
GRANT CREATE DATABASE LINK TO "유저명";
-- 디비링크 생성
CREATE DATABASE LINK ORCL_LINK
CONNECT TO "user_id"
IDENTIFIED BY "password"
USING '(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.40.62)(PORT = 3001))
)
(CONNECT_DATA =
(SERVICE_NAME = ORCL)
)
)';
데이터베이스 링크 설정
|
2009.10.27 15:39:35
|
2019.07.18 21:25:41
|
342
|
Aiden
Total of Attached file
0.00 Bytes of 0 files
2010.02.09
2010.02.09
2009.11.17
2009.10.30
2009.10.30
2009.10.27
2009.10.27
2009.10.17
2009.10.14
2009.10.07
2009.10.07