dblink的作用
dblink数据库链接顾名思义就是数据库的链接,当我们要跨本地数据库,访问另外一个数据库表中的数据时,本地数据库中就必须要创建远程数据库的dblink,通过dblink本地数据库可以像访问本地数据库一样访问远程数据库表中的数据。
dblink创建
1.查看权限
select * from user_sys_privs where privilege like upper('%DATABASE LINK%');
若查看为空,则需要赋予相关的权限
2.赋予权限
这里赋予了两种权限,CREATE PUBLIC DATABASE LINK
跟DROP PUBLIC DATABASE LINK
,public表示所创建的dblink所有用户都可以使用
grant CREATE PUBLIC DATABASE LINK,DROP PUBLIC DATABASE LINK to username;
再次查看权限验证
select * from user_sys_privs where privilege like upper('%DATABASE LINK%');
可以看到相关权限已经赋权
3.创建dblink
情况1:已配置
已经在本地数据库tnsnames.ora文件中配置了要远程访问的数据库
#dblink_name:要创建的dblink名称 #user/password:需要在本地登录到远程数据库的用户名/密码 create public database link dblink_name connect to user identified by password using '远程数据库的实例名';
情况2:未配置
没有在本地数据库tnsnames.ora文件中配置要远程访问的数据库
#dblink_name:要创建的dblink名称 #user/password:需要在本地登录到远程数据库的用户名/密码 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 = 远程数据库的实例名)) )';
4.创建结果
运行SQL语句查看dblink创建结果
SELECT * FROM ALL_DB_LINKS;
视图字段介绍
OWNER : DB Link的owner DB_LINK : DB Link名称(主要使用) USERNAME : 利用DB link时,登录远程数据库实例的用户名 HOST : 登录远程数据库的Net connect string CREATED : DB Link创建时间
5.使用dblink查询数据
使用@连接dblink进行数据查询
select * from table_name@dblink_name; select * from 远程数据库表名@远程连接dblink名;
6.删除dblink
drop public database link dblink_name;
到此这篇关于ORACLE如何创建dblink的文章就介绍到这了,更多相关ORACLE创建dblink内容请搜索IT俱乐部以前的文章或继续浏览下面的相关文章希望大家以后多多支持IT俱乐部!