dblink(Database Link)数据库连接,可以理解为是一个提供本地数据库远程访问另一个数据库中的表的通道,本地数据库创建了dblink后,就可以通过dblink管理远程数据库中的表,进行增删改查操作。
一、ORACLE与DM配置 dblink
1.环境说明
操作系统:麒麟:V10 (SP3) /(Lance)-x86_64-Build20/20221125
源数据库:ORACLE 11g
目标数据库:DM8
2.达梦本地端安装oracle客户端
将intantclient的三个压缩包basic、sdk、sqlplus解压
mkdir -p /opt/dblink/instantclient
unzip instantclient-basic-linux.x64-11.2.0.4.0 && unzip instantclient-sdk-linux.x64-11.2.0.4.0 && unzip instantclient-sqlplus-linux.x64-11.2.0.4.0
解压后将linstantclient包里的所有lib拷贝到DM_HOME/bin目录下
cp lib* /opt/dmdbms/bin
将libclntsh.so.11.1建立软连接名为libclntsh.so
ln -s libclintsh.so.11.1 libclintsh.so
3.远程Oracle端静态注册监听
进入到ORACLE_HOME/network/admin目录下,添加或修改listener.ora监听文件内容
SID_LIST_LISTENER =
(SID_LIST =
(SID_DESC=
(GLOBAL_DBNAME=orcl11g)
(ORACLE_HOME=/u01/oracle11g)
(SID_NAME=orcl11g)
)
)
4.达梦本地端配置服务名
将远程Oracle端的$ORACLE_HOME/network/admin/tnsnames.ora文件scp到达梦主机上
orcl11g =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.184.13)(PORT = 1521))
(CONNECT_DATA =
(SERVICE_NAME = orcl11g)
(SID = orcl11g)
)
)
5.达梦本地端修改环境变量
vim .bash_profile
source .bash_profile
6.达梦本地创建dblink
方式一:IP/服务名方式连接
– 创建私有dblink;
CREATE LINK “DMTEST”.“SCOTTLINK” CONNECT ‘ORACLE’ WITH “SCOTT” IDENTIFIED BY “SCOTT123” USING ‘192.168.184.13/orcl11g’;
– 创建公有dblink;
CREATE PUBLIC LINK “SCOTTLINK” CONNECT ‘ORACLE’ WITH “SCOTT” IDENTIFIED BY “SCOTT123” USING ‘192.168.184.13/orcl11g’;
方式二:网络服务名方式连接
– 创建私有dblink;
CREATE LINK “DMTEST”.“SCOTTLINK” CONNECT ‘ORACLE’ WITH “system” IDENTIFIED BY “manager” USING ‘orcl11g’;
– 创建公有dblink;
CREATE PUBLIC LINK “SCOTTLINK” CONNECT ‘ORACLE’ WITH “system” IDENTIFIED BY “manager” USING ‘orcl11g’;
方式三:连接描述符连接
– 创建私有dblink;
CREATE LINK “DMTEST”.“SCOTTLINK” CONNECT ‘ORACLE’ WITH “SCOTT” IDENTIFIED BY “SCOTT123” USING
‘(DESCRIPTION =
(ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.184.13)(PORT = 1521)))
(CONNECT_DATA = (SERVICE_NAME = orcl11g))
)’;
– 创建公有dblink;
CREATE PUBLIC LINK “SCOTTLINK” CONNECT ‘ORACLE’ WITH “SCOTT” IDENTIFIED BY “SCOTT123” USING
‘(DESCRIPTION =
(ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.184.13)(PORT = 1521)))
(CONNECT_DATA = (SERVICE_NAME = orcl11g))
)’;
通过连接描述符连接的方式的优点是可以不用配置网络服务名文件tnsnames.ora,这种方式相当于把tnsnames.ora文件内容放到创建dblink语句上,其本质与上述两种方式无异,适用于需要创建dblink数量少的情形。
(注意:Oracle客户端一定要安装上,如果删除掉Oracle客户端,虽然对dblink的使用不影响,但如果重启达梦数据库后,dblink会出现报Can’t match object[USER_OBJECTS] in dblink remote server错误)
二、DBLINK使用
文章
阅读量
获赞
