Oracle Database Link基础
什么是database link?
database link是定义一个数据库到另一个数据库的路径的对象,database link允许你查询远程表及执行远程程序。在任何分布式环境里,database都是必要的。另外要注意的是database link是单向的连接。
在创建database link的时候,Oracle在数据字典中保存相关的database link的信息,在使用database link的时候,Oracle通过Oracle Net用用户预先定义好的连接信息访问相应的远程数据库以完成相应的工作。
建立database link之前需要确认的事项:
- 确认从local database到remote database的网络连接是正常的,tnsping要能成功。
- 确认在remote database上面有相应的访问权限。
创建dblink语句如下:
create database link linkName connect to linkUser identified by linkPwd using '(DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST = linkIP)(PORT = 1521)) ) (CONNECT_DATA = (SERVICE_NAME = linkServiceName) ) )';
使用dblink例如:select * from tableName@linkName;
这里linkName自己定,linkUser和linkPwd就是我这里的数据库B的用户名、密码,linkIP是B所在服务器的ip,1521是默认端口不一样的直接改,然后是linkServiceName是服务名,这里如果是SID名,就换成SID_NAME=linkSIDName。
1.简单创建SQL如下
CREATE PUBLIC DATABASE LINK dblink_test CONNECT TO 当前登陆用户名 IDENTIFIED BY 用户密码 using 'IP:PORT/SID';
2.查询数据表
select * from 数据表@dblink_test
3.对于经常使用的数据库链接,可以建立一个本地的同义词,方便使用:
CREATE OR REPLACE SYNONYM 数据表名 FOR 数据表名@zrhs_test;
来自 :https://blog.csdn.net/fygkchina/article/details/51899363?utm_source=copy