在项目开发中,有时会通过本地的oracle来操作远程数据库的表,那么,就需要用到oracle的DBLink技术。
创建DBlink步骤如下:
一、获取远程数据库的
GLOBAL_NAME:
SELECT * FROM GLOBAL_NAME;
二、检查oracle版本是否支持同步功能:
select * from v$option where PARAMETER='Advanced replication',如果返回True,则表示支持,否则,就是不支持,本地和远程数据库都必须为支持才能创建DBLink
三、创建DBLink:
create database link
SCDRMT.REGRESS.RDBMS.DEV.US.ORACLE.COM
connect to
qkjzj
identified by "
qkjzj2013"
using '
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = 10.176.33.75)(PORT = 1521))
(CONNECT_DATA =
(SERVICE_NAME = scdrmt)
)
)';
SCDRMT.REGRESS.RDBMS.DEV.US.ORACLE.COM为远程数据库的
GLOBAL_NAME,qkjzj 为远程数据库的用户名,qkjzj2013为远程数据库的密码,密码之所以用双引号括起来,是因为在oracle某些版本中, 会自动将密码转换为大写,用双引号括起来可以防止oracle将密码自动转换为大写,using用单引号括起来的为远程数据库的服务名,远程数据库的服务名必须用单引号括起来
四、查询创建是否成功:
select * from dual@
S
CDRMT.REGRESS.RDBMS.DEV.US.ORACLE.COM ,返回以下结果则表示创建成功:
DUMMY
-----
X
创建成功之后,我们通过以下方式就可以进行远程数据库的操作:
select * from tableName@
S
CDRMT.REGRESS.RDBMS.DEV.US.ORACLE.COM
update tableName@SCDRMT.REGRESS.RDBMS.DEV.US.ORACLE.COM
delete from tableName@SCDRMT.REGRESS.RDBMS.DEV.US.ORACLE.COM
tableName为远程数据库的表名
五、
查询已经建立的远程连接名:
select owner,object_name from dba_objects where object_type='DATABASE LINK'
六、删除
DBLink:
drop database link STAGEING.REGRESS.RDBMS.DEV.US.ORACLE.COM;