一、介绍
1、dblink是什么?
Database Link(dblink)是一个数据库中的模式对象,它允许用户访问另一个数据库中的对象。另一个数据库不需要是Oracle数据库系统。但是,要访问非Oracle系统,必须使用Oracle异构服务。
2、dblink有什么用
在创建dblink之后,用户可以在SQL语句中使用它,通过将@dblink应用到表、视图或PL/SQL对象名中,来引用其他数据库中的表、视图和PL/SQL对象、使用SELECT语句在另一个数据库中查询一个表或视图、使用任何插入、更新、删除或锁表语句访问远程表和视图。
二、oracle用户间建立dblink
1、SQL语句方式
前置条件
创建dblink前,当前用户必须具备create database link权限,并且具有连接目标库的create session 权限。此外,要保证Oracle net在本地和远程主机上都已安装并正常运行。
赋权时,需要提前联系管理员以dba用户赋予该权限,语句如下:
grant create database link to 用户名;
(1)创建:
`CREATE [PUBLIC] DATABASE LINK 自定义DBLINK名称` /*PUBLIC为可选项,创建全局dblink时使用*/
CONNECT TO 数据库用户名 IDENTIFIED BY 密码
USING '(DESCRIPTION =(ADDRESS_LIST =(ADDRESS =(PROTOCOL = TCP)(HOST = 目标主机名)(PORT = 1521)))(CONNECT_DATA =(SERVICE_NAME = 服务名)))'
注意:(1)创建全局dblink需要有对应权限,权限查看与赋权方法如下:
SELECT * FROM USER_SYS_PRIVS WHERE PRIVILEGE