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)))';
相关推荐
xujiangyan_7 小时前
Redis详解
数据库·redis·缓存
Y编程小白11 小时前
PostgreSQL在Linux中的部署和安装教程
数据库·postgresql
TiAmo zhang13 小时前
SQL Server 2019实验 │ 数据库和表的创建、修改与删除
数据库·oracle
disanleya13 小时前
MySQL默认密码不安全?如何首次登录并强化?
数据库·mysql·安全
花开富贵贼富贵13 小时前
MySQL 核心高级特性
运维·数据库·mysql
hello 早上好13 小时前
深入 Spring 依赖注入底层原理
数据库·sql·spring
API快乐传递者13 小时前
抓取淘宝商品详情商品数据API接口调用说明文档|获取淘宝商品价格主图数据等
数据库
济南java开发,求内推14 小时前
Redis一个服务器部署多个节点
服务器·数据库·redis
花菜会噎住14 小时前
Django视图与路由全解析:从URL到页面,一篇讲透
数据库·django·sqlite·函数
-雷阵雨-14 小时前
MySQL——数据库约束
数据库·mysql