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)))';
相关推荐
胚芽鞘6816 分钟前
关于java项目中maven的理解
java·数据库·maven
sun0077003 小时前
mysql索引底层原理
数据库·mysql
workflower6 小时前
MDSE和敏捷开发相互矛盾之处:方法论本质的冲突
数据库·软件工程·敏捷流程·极限编程
Tony小周6 小时前
实现一个点击输入框可以弹出的数字软键盘控件 qt 5.12
开发语言·数据库·qt
lifallen7 小时前
Paimon 原子提交实现
java·大数据·数据结构·数据库·后端·算法
TDengine (老段)7 小时前
TDengine 数据库建模最佳实践
大数据·数据库·物联网·时序数据库·tdengine·涛思数据
Elastic 中国社区官方博客7 小时前
Elasticsearch 字符串包含子字符串:高级查询技巧
大数据·数据库·elasticsearch·搜索引擎·全文检索·lucene
Gauss松鼠会8 小时前
GaussDB应用场景全景解析:从金融核心到物联网的分布式数据库实践
数据库·分布式·物联网·金融·database·gaussdb
守城小轩8 小时前
Chromium 136 编译指南 - Android 篇:开发工具安装(三)
android·数据库·redis
尽兴-8 小时前
如何将多个.sql文件合并成一个:Windows和Linux/Mac详细指南
linux·数据库·windows·sql·macos