oracle dblink 查看存储过程权限_Oracle数据库链路

@[toc]

一、数据库链路的概念

数据库链路(database link),简称dblink,它是一个通道,是本地数据库与远程数据库之间的通道,通过dblink,在本地数据库中可以直接访问远程数据库的对象。

dblink不是应用程序与数据库之间的通道,而是数据库之间的通道。

二、创建dblink

1、创建dblink的权限

用dba权限登录数据库,授于用户create database link和create public database link权限。

语法:

grant create database link to 用户名;
grant create public database link to 用户名;

示例:

e3a376b86d1d24ac4abcbb8cbf374a07.png

2、创建dblink的命令

语法:

create [public] database link 数据库链路名称
connect to 用户名
identified by 密码
using '远程数据库参数';

说明:

public:dblink的类型,缺省是当前用户私有的,只有当前用户可以使用该dblink,如果加上public选项,表示公用dblink,所有的数据库用户都可以使用。

数据库链路名称:给dblink起个名字。

用户名:远程数据库登录的用户名。

密码:远程数据库登录的用户的密码。

远程数据库参数:该参数的配置有两种方法:1)远程数据库的服务名,也就是本地数据库服务器上$ORACLE_HOME/network/admin/tnsnames.ora中配置的数据库服务名;2)不采用tnsnames.ora中的配置,直接指定远程数据库的参数。

3、用数据库服务名创建dblink

1)配置远程数据库服务名

远程数据库服务名在$ORACLE_HOME/network/admin/tnsnames.ora文件中配置,内容如下:

snorcl11g_198 =
  (DESCRIPTION =
    (ADDRESS_LIST =
      (ADDRESS = (PROTOCOL = TCP)(HOST = 118.89.50.198)(PORT = 1521))
    )
    (CONNECT_DATA =
      (SID = snorcl11g)
      (SERVER = DEDICATED)
    )
  )

2)测试远程数据库登录参数

0fa606caecd455b4fcf88fcd633a40ff.png

3)创建dblink

用远程数据库服务名创建dblink,例如:

create database link dblink_01 connect to shqx identified by pwdidc using 'snorcl11g_198';

4)测试dblink

通过dblink获取远程数据库的时间。

29c0c1cded4022d04801574bc2c16b6b.png

4、不用数据库服务名创建dblink

如果不用数据库服务创建dblink,就不需要配置tnsnames.ora文件。

示例:

create database link dblink_02 connect to shqx identified by pwdidc using
'(DESCRIPTION =
   (ADDRESS_LIST =
     (ADDRESS = (PROTOCOL = TCP)(HOST = 118.89.50.198)(PORT = 1521))
   )
   (CONNECT_DATA =
     (SID = snorcl11g)
     (SERVER = DEDICATED)
   )
 )';

dblink_01和dblink_02完全一样。

三、dblink的使用

如果要访问远程数据库的表或视图,在表和视图名之后附加@dblinkname就可以了。

访问远程数据库的dual表:

select sysdate from dual@dblink_01;

访问远程数据库的scott.emp表:

select * from scott.emp@dblink_02;

四、删除dblink

删除当前用户私有的dblink:

drop database link 数据库链路名;

删除公用的dblink:

drop public database link 公用数据库链路名;

五、

dblink的知识很容易掌握,用dblink访问远程数据库的对象很方便,但是,如果在程序中采用dblink对远程数据库的表进行增、删、改、查操作时一定要遵守一个原则:尽可能不要产生远程事务,因为数据库对远程的事务难以控制,也就是说,尽可能不要对远程数据库的表进行增、删、改操作,查询是没有问题的。Oracle数据库链路

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值