网上示范的DBLINK(数据库连接)创建比较全,简单的创建方式两种,一种是使用目标数据库的服务实例名,介绍;另一种是使用本地文件tnsnames.ora配置,。
两种方法在语句的语法结构上差不多。注意在使用时,对语句中单、双引号要使用英文标点。
关于注意事项:
第一,我在使用中第一种创建方式的时候发现,用数据库管理员帐号system无法完成DBLink的创建,会提示“ORA-01031: 权限不足”,检查发现system没有“create Session”的权限,而且我还不能主动对其进行赋上权限。。。
后来我有切换了一个普通账户,在走完第一种方法授权之后,
GRANT CREATE PUBLIC DATABASE LINK,DROP PUBLIC DATABASE LINK TO MYDB;--对本地数据库当前用户名MYDB进行授权
继续走下面的步骤就很流畅了。
select * from JSYHZH@DBLINK_T39 --在本地上访问远程目标数据库的某个表
第二,对于DBLink的访问权限,是通过创建语句来控制的。“Create public database link .....”创建语句中有一个“public”,这样我使用MYDB用户来创建后,本地数据库中所有的用户都可以使用这个数据库连接;当在创建DBlink没有使用“public”时,这个创建后的数据库连接只能在当前这个用户上使用,更换了数据库用户或者使用system管理员账户都不能再使用它了。