目录
- 1. ORACLE DBlink的创建和使用
- 1.1. 基本概念:
- 1.2. 概述
- 1.2.1. database link分类
- 1.3. database link的创建
- 1.4. 查看dblink
- 1.5. 使用toad for oracle创建dblink
- 1.6. database link删除
- 1.7. 通过dblink应用例子
1. ORACLE DBlink的创建和使用
1.1. 基本概念:
- database link(简称DBLINK)是定义一个数据库到另一个数据库的路径的对象,database link允许查询其他数据库的远程表及执行远程程序。
- database link是单向的连接。在创建database link的时候,Oracle在数据字典中保存相关的database link的信息。
- 在使用database link的时候,Oracle通过预先定义好的连接信息,访问相应的远程数据库以完成相应的工作。
- dblink(Database Link)就像电话线一样是一个通道,如果要访问另外一个数据库表中的数据时,本地数据库中就必须要创建远程数据库的dblink,通过dblink本地数据库可以像访问本地数据库一样访问远程数据库表中的数据。
1、建立dblink之前需要确认的事项:
#确认从local database到remote database的网络连接是正常的,tnsping要能成功。
#确认在remote database上面有相应的访问权限。
1.2. 概述
1、database link是定义一个数据库到另一个数据库的路径的对象,database link允许你查询远程表及执行远程程序。在任何分布式环境里,database都是必要的。另外要注意的是database link是单向的连接。
2、在创建database link的时候,Oracle再数据字典中保存相关的database link的信息,在使用database link的时候,Oracle通过Oracle Net用用户预先定义好的连接信息访问相应的远程数据库以完成相应的工作。
1.2.1. database link分类
1.3. database link的创建
创建dblink的用户有对应的数据库权限,创建dblink命令为:
–public表示所创建的dblink所有用户都可以使用
create public database link
或者–所创建的dblink只能是创建者能使用,别的用户使用不了
create database link
如果用户没有权限创建dblink,则可以通过管理员身份并使用 :
grant create public database link, create database link to myAccount;
1.4. 查看dblink
set linesize 300
set pagesize 999
col DB_LINK format a30
col USERNAME format a30
col HOST format a30
col CREATED format a10
col OWNER format a10
col object_name format a20
select owner,object_name from dba_objects where object_type=\’DATABASE LINK\’;
SELECT A.OWNER, A.HOST, A.DB_LINK, A.USERNAME, A.CREATED,
DECODE (B.FLAG, 0, \’NO\’, 1, \’YES\’) \”DEC\”, B.AUTHUSR, C.STATUS
FROM DBA_DB_LINKS A, SYS.USER$ U, SYS.LINK$ B, DBA_OBJECTS C
WHERE A.DB_LINK = B.NAME AND
A.OWNER = U.NAME AND
B.OWNER# = U.USER# AND
A.DB_LINK = C.OBJECT_NAME AND
A.OWNER = C.OWNER AND
C.OBJECT_TYPE = \’DATABASE LINK\’
ORDER BY 1, 2, 3;
查看dblink的link信息:
select * from dba_db_links;
或者
select * from dba_db_links;
如:A库需要访问B库的表数据,需要在A库建立连接到B库的dblink,在A账户下执行(推荐):
create database link LIS_LINK01 connect to bUser identified by bPasword using \’10.22.xx.xx:1521/orcl\’
create database link hebtz connect to hebtz identified by \”1\” using \’192.168.2xx:1521/hebtzstd\’;
bUser:B库的数据库账户
bPassword:B库的数据密码
10.22.xx.xx:B库的ip地址
create database link blink1 connect to dbName identified by dbPassword using \'(DESCRIPTION =(ADDRESS_LIST =(ADDRESS =(PROTOCOL = TCP)(HOST = 192.168.1.106)(PORT = 1521)))(CONNECT_DATA =(SERVICE_NAME = orcl)))\’;
–blink1 : 表示dblink名字
–dbName :表示 远程数据库的用户
–dbPassword:表示 远程数据库的密码
–HOST : 表示远程数据库IP
–PORT : 表示远程数据库端口
–SERVICE_NAME : 远程数据库的实例名
1.5. 使用toad for oracle创建dblink
图解dblink创建过程:
这时可以通过SSH用户访问SJSJZX用户中的表了:
select * from T_WEBSERVICE@db3
1.6. database link删除
— 删除public类型的database link
DROP PUBLIC database link link_name;
— 删除非public类型的database link
— 注意:只有owner自己能删除自己的非public类型database link
DROP database link link_name;
1.7. 通过dblink应用例子
当需要跨库拷贝数据而且数据量很大的时候,使用dblink速度很快。
如:通过dblink跨库复制数据量非常多的表T_WEBSERVICE
create table test as select * from T_WEBSERVICE@db3
到此这篇关于ORACLE DBlink的创建和使用的文章就介绍到这了,更多相关oracle创建dblink内容请搜索悠久资源以前的文章或继续浏览下面的相关文章希望大家以后多多支持悠久资源!