首页 Oracle Oracle 创建DBLink

Oracle 创建DBLink

需求 两台数据库服务器(本地)和(远程192.168.1.59),本地用户orcl需要访问到远程服务器下mars的数据,这时就需要创建DBLink。 方案 ①先确定用户是否有创建DBLink的权限: select * from user_sys_privs where privilege like upper(%DATABASE LINK%); 如果没

需求

两台数据库服务器(本地)和(远程192.168.1.59),本地用户orcl需要访问到远程服务器下mars的数据,这时就需要创建DBLink。

方案

①先确定用户是否有创建DBLink的权限:

select * from user_sys_privs where privilege like upper('%DATABASE LINK%');

如果没有,则需要使用 sysdba 角色给用户赋权:

grant CREATE PUBLIC DATABASE LINK,DROP PUBLIC DATABASE LINK to orcl;

这里有两个需要注意的问题:
1. dblink有三种权限:
CREATE DATABASE LINK(所创建的dblink只能是创建者能使用,别的用户使用不了)
CREATE PUBLIC DATABASE LINK(public表示所创建的dblink所有用户都可以使用)
DROP PUBLIC DATABASE LINK(删除dblink)
2. 最后的orcl是本地数据库的用户名。
②以用户orcl登录数据库,创建DBLink

create public database link etl59 connect to mars identified by mars的密码 using '(DESCRIPTION =(ADDRESS_LIST =(ADDRESS =(PROTOCOL = TCP)(HOST = 192.168.1.59)(PORT = 1521)))(CONNECT_DATA =(SERVICE_NAME = xxxx)))';

说明:etl59为你创建的dblink的名字;mars为远程数据库用户的用户名;后边是mars对应的密码;Host=后边是服务器的地址;SERVICE_NAME=后边是远程数据库的名称。

操作

①使用DBLink

select * from T_CLOB@ETL59

查询、删除和插入数据和操作本地的数据库是一样的,只不过表名需要写成表名@dblink的名字
②删除DBLink

drop public database link etl59

本文来自网络,不代表青岛站长网立场。转载请注明出处: https://www.0532zz.com/html/shujuku/oracle/20200722/6780.html
上一篇
下一篇

作者: dawei

【声明】:青岛站长网内容转载自互联网,其相关言论仅代表作者个人观点绝非权威,不代表本站立场。如您发现内容存在版权问题,请提交相关链接至邮箱:bqsm@foxmail.com,我们将及时予以处理。

为您推荐

返回顶部