當前位置:首頁 » 數據倉庫 » 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對應的資料庫和創建同義詞的許可權