配置達夢資料庫同構DBLINK

zhaobw_0626發表於2022-04-12

1 DBLINK 的概念:

  DBLINK(Database Link) 資料庫連結:顧名思義就是資料庫的連結,就像電話線一樣,是一個通道。當我們要跨本地資料庫,訪問另外一個資料庫表中的資料時,本地資料庫中就必須建立遠端資料庫的 DBLINK。 本地資料庫通過 DBLINK 可以像訪問本地資料庫一樣訪問遠端資料庫表中的資料。

2 、達夢資料庫 DBLINK 的分類:

2.1 按照訪問許可權, 達夢資料庫 DBLINK可以分為普通 DBLINK 和公用 DBLINK 兩類:

  • 普通 DBLINK :只有建立語句中標識的使用者才可以訪問遠端資料庫

  • 公用 DBLINK :本地資料的所有使用者都可以訪問遠端資料庫

2.2 按照源庫和目標庫的型別,達夢資料庫常用的 DBLINK 又可以分為同構 DBLINK(DM-DM) 和異構 DBLINK( ORACLE- DM) 兩類:

  • 同構 DBLINK(DM-DM) :源端和目標端使用的資料庫均為達夢資料庫;

  • 異構 DBLINK(ORACLE- DM) :源端資料庫為ORACLE,目標端資料庫為DM

  今天,我們先來了解一下同構資料庫的 DBLINK(DM-DM) 配置方式,異構 DBLINK( ORACLE- DM) 將在下節來介紹。目前,達夢資料庫 DBLINK 只支援相同平臺,不支援跨平臺建立

2.3 、配置同構 DBLINK(DM-DM)

2.3.1 、前置條件

  • 準備兩臺資料庫伺服器 A(IP 192.168.56.101 ,例項: DM01), 和資料庫伺服器 B(IP 192.168.56.102 ,例項: DM02)

  • 兩個伺服器都已安裝好達夢資料庫。且 A B 的例項名不能相同。

2.3.2 、操作步驟:

1>在伺服器 B 上建立普通 DBLINK, 訪問伺服器 A 表中的資料:

create link "SYSDBA"."LINK_TEST01" connect 'DAMENG' with "SYSDBA" identified by "SYSDBA" using '192.168.56.101/5236';

2> 在伺服器 B 上建立公用 DBLINK, 訪問伺服器 A 表中的資料: create public link "LINK_TEST02" connect 'DAMENG' with "SYSDBA" identified by "SYSDBA" using '192.168.56.101/5236';

3 > 分別在兩臺伺服器上修改 dm.ini MAL_INI=1

cat /dm8/data/DAMENG/dm.ini |grep MAL_INI

4 > 分別在兩臺伺服器上修改配置 dmmal.ini ,注意: A B 的例項名不能相同。

vim /dm8/data/DAMENG/dmmal.ini

[MAL_INST1]

MAL_INST_NAME =DM01

MAL_HOST = 192.168.56.101

MAL_PORT = 5251

MAL_INST_HOST = 192.168.56.101

MAL_INST_PORT = 5236

[MAL_INST2]

MAL_INST_NAME = DM02

MAL_HOST = 192.168.56.102

MAL_PORT = 5250

MAL_INST_HOST = 192.168.56.102

MAL_INST_PORT = 5236

5 > 兩臺主機的 dmmal.ini  檔案相同,將 A 機器上的 dmmal.ini  檔案 SCP B 機器:

scp /dm8/data/DAMENG/dmmal.ini dmdba@192.168.56.102:/dm8/data/DAMENG

6 > 配置成功後分別重啟 A B 機器的資料庫例項:

cd /dm8/bin

./DmServiceDM01 restart

./DmServiceDM02  restart

7 > 測試同構 DBLINK:

-- 192.168.56.101 上建立一張表 TEST_LINK_A

create table TEST_LINK_A(id int,name varchar2(10));

insert into TEST_LINK_A values(1,'xm1');

commit;

select * from TEST_LINK_A;

-- 192.168.56.102 上查此表:

select * from TEST_LINK_A;

-- 192.168.56.102 上使用 LINK_TEST01 查此表:

select * from TEST_LINK_A@LINK_TEST01;

-- 192.168.56.102 上使用 LINK_TEST02 查此表:

select * from TEST_LINK_A@ LINK_TEST02;

-- 192.168.56.102 測試插入資料:

insert into TEST_LINK_A@LINK_TEST01 values(2,'xm2');

commit;

insert into TEST_LINK_A@LINK_TEST01 values(3,'xm3');

commit;

--在 192.168.56.102 檢查 資料:

select * from TEST_LINK_A@ LINK_TEST0 1 ;

select * from TEST_LINK_A@ LINK_TEST02 ;

--在 192.168.56.10 1 檢查 資料:

select * from TEST_LINK_A;


      192.168.56.10 1和 192.168.56.102兩臺機器上驗證均沒有問題,說明建立的兩種達夢資料庫同構DBLINK正常。



來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69978967/viewspace-2886767/,如需轉載,請註明出處,否則將追究法律責任。

相關文章