罪恶克星 发表于 2024-7-27 01:59:51

ORACLE创建dblink

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%');

可以看到相关权限已经赋权
https://img-blog.csdnimg.cn/direct/30967a55fdb1412cb7758bec366974ff.png
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;

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
页: [1]
查看完整版本: ORACLE创建dblink