当前位置:首页 » 数据仓库 » oracle数据库dblink
扩展阅读
webinf下怎么引入js 2023-08-31 21:54:13
堡垒机怎么打开web 2023-08-31 21:54:11

oracle数据库dblink

发布时间: 2022-07-04 14:27:22

Ⅰ 有关oracle数据库dblink的问题

连接database2的数据库链的用户是属于database2的,你想要做什么工作,就分配什么权限。
而database1中使用数据库链的用户,要么要有创建数据库链的权限,grant create database link to user_name,自己创建,自己使用;或者是db1中其他用户创建到db2的public database link,你的用户从而可以使用这个数据链,这时候不需要额外的权限。

Ⅱ oracle里的DBLINK是做什么的

database link(简称DBLINK)是定义一个数据库到另一个数据库的路径的对象,database link允许查询其他数据库的远程表及执行远程程序。

database link是单向的连接。在创建database link的时候,Oracle在数据字典中保存相关的database link的信息。

在使用database link的时候,Oracle通过预先定义好的连接信息,访问相应的远程数据库以完成相应的工作。

dblink(Database Link)就像电话线一样是一个通道,如果要访问另外一个数据库表中的数据时,本地数据库中就必须要创建远程数据库的dblink,通过dblink本地数据库可以像访问本地数据库一样访问远程数据库表中的数据。

(2)oracle数据库dblink扩展阅读

1、建立dblink之前需要确认的事项:

1)、确认从local database到remote database的网络连接是正常的,tnsping要能成功。

2)、确认在remote database上面有相应的访问权限。

2、database link分类:

1)、Private类型,创建database link的user拥有该database link,只有建立该database link的schema的session能使用这个database link来访问远程的数据库。同时也只有Owner能删除该private database link。

2)、Public类型,Owner是PUBLIC。Public的database link是数据库级的,本地数据库中所有的拥有数据库访问权限的用户或pl/sql程序都能使用此database link来访问相应的远程数据库。

3)、Global类型,Owner是PUBLIC。Global的database link是网络级的。

参考资料

网络-dblink

Ⅲ oracle数据库“dblink”怎么用

创建公开数据库链接
CREATE PUBLIC DATABASE LINK “数据库链接别名”
CONNECT TO “登陆用户” IDENTIFIED BY “登陆密码”
USING '(DESCRIPTION =(ADDRESS_LIST =(ADDRESS =(PROTOCOL = TCP)(HOST = IP)(PORT = 1521)))(CONNECT_DATA =(SID = SID)))';
例如:
CREATE PUBLIC DATABASE LINK MYDBLINK
CONNECT TO USER1 IDENTIFIED BY PASSWORD1

USING '(DESCRIPTION =(ADDRESS_LIST =(ADDRESS =(PROTOCOL = TCP)(HOST = 10.10.10.10)(PORT = 1521)))(CONNECT_DATA =(SID = ORA10)))';

Ⅳ oracle中如何创建dblink

创建dblink一般有两种方式,不过在创建dblink之前用户必须有创建dblink的权限。想知道有关dblink的权限,以sys用户登录到本地数据库:
select * from user_sys_privs t
where t.privilege like upper('%link%');
1 SYS CREATE DATABASE LINK NO
2 SYS DROP PUBLIC DATABASE LINK NO
3 SYS CREATE PUBLIC DATABASE LINK NO
可以看出在数据库中dblink有三种权限CREATE DATABASE LINK(所创建的dblink只能是创建者能使用,别的用户使用不了),CREATE PUBLIC DATABASE LINK(public表示所创建的dblink所有用户都可以使用),DROP PUBLIC DATABASE LINK。
在sys用户下,把CREATE PUBLIC DATABASE LINK,DROP PUBLIC DATABASE LINK权限授予给你的用户
grant CREATE PUBLIC DATABASE LINK,DROP PUBLIC DATABASE LINK to scott;
然后以scott用户登录本地数据库
1.创建dblink的第一种方式,是在本地数据库tnsnames.ora文件中配置了要远程访问的数据库。
create public database link
to_bylw connect to scott identified by tiger using 'bylw';
其中to_bylw是你创建的dblink名字,bylw是远程数据库的实例名,scott/tiger是登录到远程数据库的用户/密码。然后在本地数据库中通过dblink访问远程数据库'bylw'中scott.tb_test表,sql语句如下所示
select * from scott.tb_test@to_bylw;
2.创建dblink的第二种方式,是在本地数据库tnsnames.ora文件中没有配置要访问的远程数据库,
create database link to_test
connect to scott identified by tiger
using '(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.5)(PORT = 1521)))(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = bylw)))';第二种是把第一种配置在tnsnames.ora文件中的信息,直接放在创建dblink语句后面。第一种情况tnsnames.ora文件中信息如下:bylw =(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.5)(PORT = 1521)))(CONNECT_DATA =

Ⅳ oracle怎么查看一个dblink所链接的数据库的所有表名

select*from all_all_tables@dblink

Ⅵ oracle中如何创建dblink

测试条件:
假设某公司总部在北京,新疆有其下属的一个分公司。在本次测试中,新疆的计算机为本地计算机,即本要的IP地址为:192.168.1.100北京的总部有一个集中的数据库,其SID是SIDBJ,用户名:userbj,密码:bj123,北京的IP地址是:192.168.1.101。


在本地(新疆)的分公司也有一个数据库,其SID是SIDXJ,用户:userxj,密码:xj123,新疆的IP地址是:192.168.1.100。要将本地新疆的SIDXJ数据库中访问到北京的数据库SIDBJ中的数据。

也就是说,在sidxj的数据库中,用户userxj(192.168.1.100)需要建立DBLINK,以userbj的用户身份访问sidBJ(192.168.1.101)中的数据。测试环境:两个数据库均建立在WINXP上,ORACLE的版本均为Oracle817

建立环境时,要注意关闭两台计算机上的Windows的防火墙,否则,会出现能ping通,但Oracle连接不通的情况。

Ⅶ oracle需要创建dblink给什么权限

创建全局 DBLink,用户需要有创建 dblink 的权限。

查询用户的dblink 的权限:

select*fromuser_sys_privswhereprivilegelikeupper('%DATABASELINK%');

给需要使用 sysdba 角色的用户赋权:

;

使用已赋权的用户登录 PL/SQL,使用命令:

createdatabaselink数据库链接名connectto用户名identifiedby密码using'本地配置的数据的实例名';

(7)oracle数据库dblink扩展阅读:

查询数据:

selectxxxFROM表名@数据库链接名;

删除 DBLink:

drop/*public*/databaselinkdblink1;

创建和删除同义词:

createorreplaceview视图名as(select字段from用户.表名@dblink1);

dropview视图名;

Ⅷ oracle中一个数据库表怎么把另一个数据库表中的最新信息添加过来,用DBLINK实现求高手

oracle中一个数据库表通过另一个数据表的数据同步最新数据采用dblink的方法:
1.首先创建一个dblink,可以访问远程数据库
2.在本地创建一个快照,映射远程数据表,当远程数据表有变化时,会反应到快照中.
3.由于快照类似于视图表,所以在本地为快照创建一个触发器,当快照有变化时,会触发相应事件.
4.在触发器中写同步数据的代码。
以下是触发器代码:
createorreplacetriggerTRI_test_user_AFR
_test_user
foreachrow
begin
if deleting then
deletefromtest_userwhereid=:old.id;
endif;
if inserting then
insertintotest_user(id,name,age)
values(:new.id,:new.name,:new.age);
endif;
if updating then
updatetest_usersetname=:new.name,age=:new.agewhereid=:old.id;
endif;
endTRI_test_user_AFR;

Ⅸ oracle dblink支持哪些数据库

1)
dblink1
对应数据库
db1,你有用户名密码登陆db1
建一个同义词
create
synonym
a
for
b@dblink2;
2)
可以
select
*
from
a@dblink1;
就可以实现你要的效果;
但是前提是你要可以登陆dblink1对应的数据库和创建同义词的权限