Oracle DBlink使用方法

DBlink作用:在当前数据库中访问另一个数据库中的表中的数据

sql 复制代码
create public database link dblink名称 connect to 对方数据库用户名 identified by 对方数据库用户密码  
using '(DESCRIPTION =(ADDRESS_LIST =(ADDRESS =(PROTOCOL = TCP)(HOST = 要连接的数据库所在服务器的IP地址)(PORT = 1521)))(CONNECT_DATA =(SERVICE_NAME = 要连接的数据库的服务名)))';

eg:

sql 复制代码
create public database link xxb connect to testuser identified by passwd  
using '(DESCRIPTION =(ADDRESS_LIST =(ADDRESS =(PROTOCOL = TCP)(HOST = 6.6.6.6)(PORT = 1521)))(CONNECT_DATA =(SERVICE_NAME = orcl)))';

相关权限命令

查询用户是否有创建dblink的权限

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

CREATE PUBLIC DATABASE LINK:表示所创建的dblink所有用户都可以使用

CREATE DATABASE LINK:表示所创建的dblink只能是创建者能使用,别的用户不可以使用

DROP PUBLIC DATABASE LINK : 表示所创建的dblink所用用户都可以删除

sys用户赋权限

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

创建成功后的使用方法

sql 复制代码
select * from table_name@dblink名;

查看所有的DBLINK

sql 复制代码
select * from dba_db_links;  

如果密码里有特殊符合,比如 +

把密码用双引号引起来

sql 复制代码
create public database link xxb connect to testuser identified by 
"passwd+2023"
using '(DESCRIPTION =(ADDRESS_LIST =(ADDRESS =(PROTOCOL = TCP)(HOST = 6.6.6.6)(PORT = 1521)))(CONNECT_DATA =(SERVICE_NAME = orcl)))';
相关推荐
RestCloud21 小时前
SQL Server到Hive:批处理ETL性能提升30%的实战经验
数据库·api
RestCloud21 小时前
为什么说零代码 ETL 是未来趋势?
数据库·api
ClouGence1 天前
CloudCanal + Paimon + SelectDB 从 0 到 1 构建实时湖仓
数据库
DemonAvenger1 天前
NoSQL与MySQL混合架构设计:从入门到实战的最佳实践
数据库·mysql·性能优化
AAA修煤气灶刘哥2 天前
后端人速藏!数据库PD建模避坑指南
数据库·后端·mysql
RestCloud2 天前
揭秘 CDC 技术:让数据库同步快人一步
数据库·api
得物技术2 天前
MySQL单表为何别超2000万行?揭秘B+树与16KB页的生死博弈|得物技术
数据库·后端·mysql
可涵不会debug2 天前
【IoTDB】时序数据库选型指南:工业大数据场景下的技术突围
数据库·时序数据库
ByteBlossom2 天前
MySQL 面试场景题之如何处理 BLOB 和CLOB 数据类型?
数据库·mysql·面试
麦兜*2 天前
MongoDB Atlas 云数据库实战:从零搭建全球多节点集群
java·数据库·spring boot·mongodb·spring·spring cloud