工作中有时需要跨数据库、跨机器、局域网查询某个数据的数据,因此需要在PL/SQL中执行如下操作:
第一步:
为你需要操作的远程数据库服务器建立本地服务名:
在本地数据库安装文件中,找到$ORACLE_HOME/network/admin/tnsnames.ora文件,
末尾添加
--第一个远程服务器的服务名:MYORACLE1
TYBOOKDB-GENGPC=
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = GENGPC)(PORT = 1521))
)
(CONNECT_DATA =
(SERVICE_NAME = tybookdb)
)
)
第二步:
在本机上使用sysdba的角色登录本地数据库,创建database link:
执行如下sql语句:
--远程服务器一的对应database link
create public database link myTyBookdb --可以随便取名,当然,不能是关键字或保留字
connect to system identified by orcl
using 'TYBOOKDB-GENGPC ';
此处应该注意用户名/密码的大小写
--其中using后面填对应的数据库服务名,dbUserName1,dbpwd1填对应的数据服务器登录名,密码
--删除database link
Drop database link myTyBookdb; --本例中是myTyBookdb
第三步:
insert into ebookinfo@myTyBookdb select * from ebookinfo where rownum<=10000;
第四步:
查看当前数据库的DB Link;
select * from user_db_links; --用户 DB Link
select * from dba_db_links; --dba DB Link
select * from v$dblink; --当前DB Link
参考引用:http://blog.csdn.net/tangkai_java/article/details/5831741