1.先創建遠程數據庫服務名(注意,如果服務器既有oracle服務端又有客戶端,需要在服務端的tnsnames.ora中配置服務名,否則會報如下錯誤):
SQL> select count(*) from webxxxt_pic.xxx@pic_link; select count(*) from webxxxt_pic.xxx@pic_link * 第 1 行出現錯誤: ORA-12154: TNS: 無法解析指定的連接標識符
2.給需要賦予創建DB_LINK的權限:
grant CREATE PUBLIC DATABASE LINK,DROP PUBLIC DATABASE LINK to scott;
查看哪些用戶擁有創建DB_LINK的權限:
select * from user_sys_privs t where t.privilege like upper('%link%');
3.用被賦予權限的用戶創建DB_LINK:
create database link DBLINK_NAME connect to USER01 identified by PASSWORD using 'TNS_NAME';
DBLINK_NAME : DB_LINK的名字
USER01 : 遠程數據庫的賬戶
PASSWORD : 遠程數據庫的賬戶
TNS_NAME : 遠程數據庫服務名
4.查看oracle的所有DB_LINK:
select owner,db_link,username from dba_db_links;
5.使用DB_LINK:
select * from scott.tb_test@DBLINK_NAME;
insert into scott.tb select * from scott.tb@pic_link;