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)))';
相关推荐
橘子编程几秒前
PostgreSQL全栈指南:从入门到精通
数据库·postgresql
a9511416421 分钟前
解决 Bookmarklet 中 %0A 换行符导致的跨环境执行失败问题
jvm·数据库·python
解救女汉子3 分钟前
MySQL存储过程运行出错怎么排查_使用DECLARE HANDLER捕获错误
jvm·数据库·python
Absurd5876 分钟前
SQL嵌套查询在多租户系统应用_数据隔离逻辑
jvm·数据库·python
2301_782659187 分钟前
怎样使用Navicat高级特权进行还原时解决字符集冲突_企业数据保护
jvm·数据库·python
椰猫子8 分钟前
数据库(约束、数据库设计(多表关系)、多表查询、事务)
数据库
m0_6403093011 分钟前
mysql如何处理连接数过多导致响应慢_mysql连接数调优
jvm·数据库·python
weixin_4585801212 分钟前
PHP怎么实现Toran Proxy代理_PHP依赖包缓存加速【技巧】
jvm·数据库·python
m0_3776182314 分钟前
Python Selenium怎么定位元素_By.XPATH与By.CSS_SELECTOR操作DOM节点
jvm·数据库·python
2201_7610405915 分钟前
Layui layer.tips提示框怎么设置方向和颜色
jvm·数据库·python