ORACLE创建dblink

dblink的作用

dblink数据库链接顾名思义就是数据库的链接,当我们要跨本地数据库,访问另外一个数据库表中的数据时,本地数据库中就必须要创建远程数据库的dblink,通过dblink本地数据库可以像访问本地数据库一样访问远程数据库表中的数据。

dblink创建

1.查看权限

sql 复制代码
select * from user_sys_privs where privilege like upper('%DATABASE LINK%');

若查看为空,则需要赋予相关的权限

2.赋予权限

这里赋予了两种权限,CREATE PUBLIC DATABASE LINKDROP PUBLIC DATABASE LINK,public表示所创建的dblink所有用户都可以使用

sql 复制代码
grant CREATE PUBLIC DATABASE LINK,DROP PUBLIC DATABASE LINK to username;

再次查看权限验证

sql 复制代码
select * from user_sys_privs where privilege like upper('%DATABASE LINK%');

可以看到相关权限已经赋权

情况1:已配置

已经在本地数据库tnsnames.ora文件中配置了要远程访问的数据库

sql 复制代码
#dblink_name:要创建的dblink名称
#user/password:需要在本地登录到远程数据库的用户名/密码

create public database link dblink_name connect to user identified by password using '远程数据库的实例名';

情况2:未配置

没有在本地数据库tnsnames.ora文件中配置要远程访问的数据库

sql 复制代码
#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创建结果

sql 复制代码
SELECT * FROM ALL_DB_LINKS;

视图字段介绍

sql 复制代码
OWNER : 	DB Link的owner
DB_LINK : 	DB Link名称(主要使用)
USERNAME : 	利用DB link时,登录远程数据库实例的用户名
HOST : 		登录远程数据库的Net connect string
CREATED : 	DB Link创建时间

5.使用dblink查询数据

使用@连接dblink进行数据查询

sql 复制代码
select * from table_name@dblink_name;

select * from 远程数据库表名@远程连接dblink名;
sql 复制代码
drop public database link dblink_name;
相关推荐
mlidongfeng9 分钟前
[AI][昇腾950]TA 学习
数据库·学习
bestsun99917 分钟前
rac集群环境下配置JDBC
数据库
java_logo1 小时前
Docker 部署 FalkorDB:轻松搭建属性图数据库与知识图谱平台
数据库·docker·知识图谱·falkordb·轩辕镜像·falkordb部署教程·falkordb部署文档
小白说大模型1 小时前
Spring AI 框架中集成 MCP 的完整指南:从服务端到客户端的全流程实践
大数据·数据库·人工智能·安全·spring·chatgpt·开源
计算机魔术师1 小时前
第二届世界人形机器人运动会开幕:2056 台机器人齐聚“冰丝带“,666 支队伍竞技 51 赛项
数据库·人工智能·机器人
@insist1231 小时前
系统集成项目管理工程师-配置管理角色与活动
数据库·软考·系统集成项目管理工程师·软考中项·软件水平考试
巨大八爪鱼2 小时前
XP系统运行IoTDB 2.0.10数据库服务器
数据库·iotdb·xp
卓怡学长2 小时前
w181springboot机场乘客服务系统
java·数据库·spring boot·spring·intellij-idea
阮胜昌2 小时前
MySQL 9.7.0 LTS 现已发布:扩展了社区功能,并为企业级应用增加了动态数据脱敏功能
数据库·mysql