Oracle DBLINK创建和使用
当需要跨越本地数据库,访问远程数据库的数据时,oracle提供了dblink的方式,让我们可以很方便访问远程数据库像本地一样方便,我们下面来看看创建dblink的方法。
步骤一:首先查询当前用户是否有创建dblink的权限,如果没有,需要赋权
select * from user_sys_privs t where t.privilege like upper('%link%');命令查询,从结果上看到当前用户有创建权限
CREATE DATABASE LINK--所创建的dblink只能是创建者能使用,别的用户使用不了
CREATE PUBLIC DATABASE LINK--public表示所创建的dblink所有用户都可以使用
赋权需要在sys下执行grant create public database link,create database link to myAccount;
步骤二:使用如下sql进行创建
create database link HSDblink1 connect to SBD_CXTJ identified by huawei123 using '(DESCRIPTION =(ADDRESS_LIST =(ADDRESS =(PROTOCOL = TCP)(HOST = 192.168.101.5)(PORT = 1521)))(CONNECT_DATA =(SERVICE_NAME = search)))';
TestDblink : 表示dblink名字
dbName :表示 远程数据库的用户
dbPassword:表示 远程数据库的密码
HOST : 表示远程数据库IP
PORT : 表示远程数据库端口
SERVICE_NAME : 远程数据库的实例名
步骤三:远程数据库的SERVICE_NAME可以在远程数据库的sys用户下进行查询
select name,value from v$parameter where name='service_names'
步骤四:使用dblink访问远程的数据库,查询就和本地一样了
select * from [email protected]BLINK1;---teacher为表名,HSDBLINK1为创建的dblink名称