Oracle:创建数据库DBlink的方法与注意事项
一、dblink的作用
dblink数据库链接顾名思义就是数据库的链接,当我们要跨本地数据库,访问另外一个数据库表中的数据时,本地数据库中就必须要创建远程数据库的dblink,通过dblink本地数据库可以像访问本地数据库一样访问远程数据库表中的数据。
当然不建议大家去这么使用而是从数据接口的方式进行数据交互,或者组件数据仓库。
二、查看是否有创建dblink的权限
select * from user_sys_privs where privilege like upper('%DATABASE LINK%');
若查看为空,则需要赋予相关的权限,这里赋予了两种权限,CREATE PUBLIC DATABASE LINK与DROP PUBLIC DATABASE LINK,public表示所创建的dblink所有用户都可以使用;
grant CREATE PUBLIC DATABASE LINK,DROP PUBLIC DATABASE LINK to username;
执行完毕以后建议大家再次查看,再次进行权限查看,确保权限赋予成功而没有设置错误;
三、创建dblink
3.1 在本地数据库tnsnames.ora文件中配置了要远程访问的数据库的
create public database link dblink_name connect to user identified by password using '远程数据库的实例名';
#dblink_name:要创建的dblink名称 #user/password:需要在本地登录到远程数据库的用户名/密码
3.2 没有在本地数据库tnsnames.ora文件中配置要远程访问的数据库
create public database link dblink_name connect to user identified by password using '(DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST =远程数据库的ip)(PORT = 远程数据库的端口号)) (CONNECT_DATA = (SERVER = DEDICATED) (SERVICE_NAME = 远程数据库的实例名)) )';
四、dblink的使用方法
4.1 查询数据
select * from table_name@dblink_name;
4.2 删除dblink
drop public database link dblink_name;