oracle中创建DBLINK方法

以下使用oracle数据库自带的scott用户来进行说明和测试。

1、有两个数据库orcl1和orcl,我们现实现通过DBLINK,在orcl1数据库scott用户中连接orcl数据库的scott用户。

2、第一步我们需要登陆orcl1数据库的scott用户下,查看其是否具有创建DBLINK的权限:

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

图上图所示,查询结果显示:没有权限创建DBLINK。

3、我们登陆orcl1数据库的sys用户,对 orcl1数据库的scott用户授权:

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

授权后,再次进行查询:

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

 

 如上图所示,显示orcl1数据库下的scott用户已经具有创建DBLINK的权限。

4、在orcl1数据库的scott用户下,创建DBLINK:

create public database link MYDBLINK    
connect to scott identified by tiger  
using '(DESCRIPTION =(ADDRESS_LIST =(ADDRESS =(PROTOCOL = TCP)(HOST = 192.168.17.254)(PORT = 1521)))(CONNECT_DATA =(SERVICE_NAME = orcl)))';

说明:MYDBLINK是我们创建的DBLINK的名字;

SERVICE_NAME是我们要连接到的数据库,这里我们要连接到的数据库是orcl;

scott和tiger是我们要连接到的orcl数据库中的用户和密码;

HOST是orcl数据库所在机器的ip地址。

5、测试,我们在orcl1数据库中scott用户下,查询orcl数据库中scott用户下面的dept表(有点拗口):

select*from dept@MYDBLINK;

 

Oracle数据库创建数据库链接(dblink)是一个允许从一个Oracle数据库实例访问另一个远程数据库实例的过程。以下是创建dblink的基本步骤: 1. 确保本地数据库可以访问远程数据库。这通常意味着网络连接必须是可达的,且远程数据库上要有监听器在监听。 2. 在本地数据库,你需要有一个用户,该用户具有在远程数据库上创建dblink的权限。通常,你需要具有远程数据库上的`CREATE SESSION`和`CREATE DATABASE LINK`权限。 3. 创建dblink时,需要知道远程数据库的主机地址、端口号和远程数据库的SID或者服务名。 4. 使用以下SQL命令创建dblink: ```sql CREATE DATABASE LINK <dblink_name> CONNECT TO <remote_user> IDENTIFIED BY <password> USING '<tns_entry>'; ``` 其: - `<dblink_name>`是你为数据库链接指定的名字。 - `<remote_user>`是远程数据库上存在的用户名。 - `<password>`是该远程用户的密码。 - `<tns_entry>`是本地tnsnames.ora文件的远程数据库服务条目。 例如,如果远程数据库的服务名为`远程DB`,用户名为`scott`,密码为`tiger`,则创建dblink的命令可能是: ```sql CREATE DATABASE LINK remote_link CONNECT TO scott IDENTIFIED BY tiger USING '远程DB'; ``` 这样就创建了一个名为`remote_link`的数据库链接,你可以通过它从本地数据库访问远程数据库。 注意:创建dblink之前请确保本地数据库的TNS配置正确无误,并且远程数据库允许相应的用户创建dblink
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小米的修行之路

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值