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;
相关推荐
程序员在囧途1 小时前
likeadmin-api API 中转站怎么做统一报价?从 /pricing、/user/balance 到 task_id 回执的落地方法
运维·服务器·数据库·likeadmin-api·api中转站·token计费
龙石数据2 小时前
MySQL 全量同步到 Hive 怎么做?三步配置教程
数据库·hive·mysql·数据治理·数据中台
程序员在囧途2 小时前
likeadmin-api API 算力超市怎么做供应商切换?统一鉴权、task_id 和 callback_url 才能稳交付
java·服务器·数据库·开放api·likeadmin-api·api算力超市
数据工匠老o3 小时前
连接池配置实战——从“连不上“到“连太多“的完整排查指南
数据库
一只专注api接口开发的技术猿3 小时前
电商评论自动化监控与情感数据分析完整落地教程(附可直接运行 Python 代码)
大数据·数据库·python·数据分析·自动化
hh真是个慢性子3 小时前
GaussDB Inside 2.23.01.280 集中式一主一备安装
数据库·database·gaussdb·国产数据库·高斯
沉静的小伙4 小时前
Spring事务
java·数据库·spring
大侠锅锅4 小时前
第 3 篇:节点自动化纳管——从裸机到可管理的 7 步安装流水线
数据库·自动化·边缘计算·iot
笃行3504 小时前
踩坑实战 | MySQL/PostgreSQL 迁移必踩:LEFT JOIN 莫名丢数据,KES 外连接消除避坑指南
数据库
摇滚侠4 小时前
Redis7 零基础到进阶 Linux 离线安装 Redis 09-10
数据库·redis·缓存