配置ORACLE資料庫到達夢資料庫的異構DBLINK

zhaobw_0626發表於2022-05-01

       在上一篇博文中,筆者已經介紹了建立同構資料庫DBLINK(DM-DM)的方法。最近,在專案上為使用者遷移資料,源庫是oracle,目標庫為達夢,且使用者未提供圖形化介面。因此,想到了使用建立ORACLE到達夢的異構DBLINK方式來進行遷移。如果使用者已經提供了圖形化介面,建議優先採用DMDTS和DMHS。DMDTS適用於500G以下的資料量遷移,且停機視窗相對較長;DMHS適用於500G以上的資料量,且停機視窗相對較短,可實現線上遷移。

       下面,筆者主要介紹一下,在無圖形化介面的場景中遷移資料時,如何建立ORACLE到DM的異構資料庫DBLINK。

【前置條件】

準備兩臺資料庫伺服器:A(192.168.1.101)和B(192.168.1.102)

A(192.168.1.101)機器上安裝部署ORACLE資料庫,使用oracle11g版本:

B(192.168.1.102)機器上安裝部署達夢資料庫,使用DM8版本:

ORACLE資料庫的監聽和例項服務已啟動:

DM資料庫的例項服務已啟動:

【操作步驟】

--在DM伺服器上安裝oracle的客戶端

1>把dblink11g.tar.gz上傳到/lib64目錄下。

2>解壓tar -zxvf dblink11g.tar.gz

3>進入/lib64目錄下, 執行 run.sh命令:

cd /lib64 

./run.sh

4>在目標端192.168.1.101(DM)上建立異構DBLINK

--建立普通DBLINK:

create link "SYSDBA"."LINK01" connect 'ORACLE' with "HR" identified by "HR" using '192.168.1.101/ORCL';

--驗證普通DBLINK:

在源端192.168.1.101(ORACLE)上查詢HR.EMPLOYEES表:

SQL> select EMPLOYEE_ID,FIRST_NAME,LAST_NAME,SALARY from hr.employees where rownum<6;

在目標端192.168.1.102(DM)上查詢表:

SQL> select EMPLOYEE_ID,FIRST_NAME,LAST_NAME,SALARY from hr.employees@link01 where rownum<6;

在目標端192.168.1.102(DM)上修改資料:

SQL> update hr.employees@link01 set FIRST_NAME='ZHANG',LAST_NAME='SAN' where EMPLOYEE_ID=198;

在源端192.168.1.101(ORACLE)上查詢資料:

SQL> select EMPLOYEE_ID,FIRST_NAME,LAST_NAME,SALARY from hr.employees where EMPLOYEE_ID=198;

--建立公共DBLINK:

create public link "LINK02" connect 'ORACLE' with "SCOTT" identified by "SCOTT" using '192.168.1.101/ORCL';

--驗證公共DBLINK:

在源端192.168.1.101(ORACLE)上查詢SCOTT.DEPT表:

SQL> select * from SCOTT.DEPT;

在目標端192.168.1.102(DM)上查詢表:

SQL> select * from SCOTT.DEPT@link02;

在目標端192.168.1.102(DM)上修改資料:

SQL> update SCOTT.DEPT@link01 set DNAME='XIAO SHOU BU' where DEPTNO=10;

在源端192.168.1.101(ORACLE)上查詢資料:

SQL> select * from SCOTT.DEPT where DEPTNO=30;

       在源端192.168.1.101(ORACLE)和目標端192.168.1.102(DM)兩臺機器上驗證資料查詢和資料更新均沒有問題,說明建立的兩種達夢資料庫異構DBLINK是正常的。

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

相關文章