標籤:
DBlink常用於在兩個Oracle資料庫之間相互串連,如手工同步資料時,DBLink是最方便快捷的手段之一。
1、建立DBLink文法:
create public database link <DBLink名稱> connect to <被串連庫的使用者名稱> identified by <被串連庫的密碼> using ‘<Oracle用戶端工具建立的指向被串連庫服務名,即TNSNAME中配置的本地服務名>‘;
public指明所有使用者均可使用這個DBlink,如果不指定,則只有建立者才能使用。
2、授權使用者具有建立dblink的許可權
建立dblink的使用者有對應的資料庫許可權
create public database link 或者create database link
可以使用
grant create public database link, create database link to username;
3、使用本地服務名來建立public dblink
SQL> create public database link link201orcl connect to scott identified by tiger using ‘rhel201‘;資料庫連結已建立。SQL> select sysdate from [email protected]; --使用dblink串連並查詢遠端資料庫中的系統時間SYSDATE--------------26-4月 -15SQL>
但這種方式有個缺點就是必須要在伺服器建立一個被串連庫的服務名,如果不建則會報錯:
ORA-12154: TNS: 無法處理服務名
如果直接使用地址來建DBLink,就可以省去佈建服務名的麻煩了:
4、不需要配置本地服務名,在建立dblink時加上description資訊
SQL> create public database link link201 connect to scott identified by tiger using2 ‘(DESCRIPTION =3 (ADDRESS_LIST =4 (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.201)(PORT = 1521))5 )6 (CONNECT_DATA =7 (SERVICE_NAME = orcl)8 )9 )‘;Database link createdSQL> select * from [email protected]; --使用dblink串連並查詢遠端資料庫中的表EMPNO ENAME JOB MGR HIREDATE SAL COMM DEPTNO----- ---------- --------- ----- ----------- --------- --------- ------7369 SMITH CLERK 7902 1980/12/17 800.00 999.00 207499 ALLEN SALESMAN 7698 1981/2/20 1600.00 300.00 30......
5、查看dblink
select owner,object_name from dba_objects where object_type=‘DATABASE LINK‘;
或者
select * from dba_db_links;
select owner,object_name from dba_objects where object_type=‘DATABASE LINK‘;或者select * from dba_db_links;SQL> select owner,object_name from dba_objects where object_type=‘DATABASE LINK‘;OWNER OBJECT_NAME------------------------------ --------------------------------------------------------------------------------PUBLIC LINK201PUBLIC LINK201ORCLSQL> select * from dba_db_links;OWNER DB_LINK USERNAME HOST CREATED---------- ------------ ---------- -------------------------------------------------- --------------------PUBLIC LINK201ORCL SCOTT rhel201 26-4月 -15PUBLIC LINK201 SCOTT (DESCRIPTION = 26-4月 -15 (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.201) (PORT = 1521)) ) (CONNECT_DATA = (SERVICE_NAME = orcl) ) )
5、刪除dblink
drop database link linkname;
drop public database link linkname;
Oracle DBlink的建立-查看與刪除