DM8到Oracle19C搭建dblink
一、准备条件
1)一台机器A安装DM数据库和Oracle数据库客户端
2)一台机器B安装Oracle 19C数据库并启动监听
3)关闭防火墙和selinux
二、环境介绍
三、搭建步骤
3.1 B机器Oracle创建用户、测试表、启用监听
登录数据库创建用户和测试表
[oracle@localhost ~]$ sqlplus / as sysdba
SQL> create user c##tt identified by oracle;
SQL> grant dba to c##tt;
SQL> create table c##tt.test(id number,name varchar2(50));
SQL> insert into c##tt.test values(111,'lisa');
SQL> insert into c##tt.test values(222,'jisoo');
SQL> commit;
查看表数据
SQL> conn c##tt/oracle
SQL> select * from test;
开启监听
[oracle@localhost ~]$ lsnrctl start
[oracle@localhost ~]$ lsnrctl status
3.2 A机器配置Oracle客户端
根据访问数据的版本下载对应客户端,
http://www.oracle.com/technetwork/database/features/instant-client/index-097480.html
1)下载basic、sqlplus、sdk包,根据oracle的版本号下载压缩包(示范的oracle版本为19.3.0.0.0)
2)下载的压缩包解压并合并
3)将合并后的压缩包上传至DM安装目录bin下,并赋予权限
[root@localhost ~]# unzip instantclient_19_15.zip
[root@localhost ~]# chown -R dmdba:dinstall instantclient_19_15/
[root@localhost ~]# chmod 755 -R instantclient_19_15/
[root@localhost ~]# mv instantclient_19_15/ /home/dmdba/dmdbms/bin/
3.3 A机器配置DM到数据库链接
1)将libclntshcore.so.19.1复制一份名为:libclntshcore.so,或者做个软链接
[dmdba@localhost ~]$ cd /home/dmdba/dmdbms/bin/instantclient_19_15
[dmdba@localhost instantclient_19_15]$ ln -s libclntsh.so.19.1 libclntsh.so
2)将libclntsh.so.19.1文件拷贝一份或做软连接至DM安装目录bin下,名字为libclntsh.so。
[dmdba@localhost instantclient_19_15]$ ln -s libclntsh.so.19.1 /home/dmdba/dmdbms/bin/libclntsh.so
3)在nerwork/admin目录下创建tnsnames.ora文件,并编辑数据库链接信息
[dmdba@localhost ~]$ cd /home/dmdba/dmdbms/bin/instantclient_19_15/network/admin
[dmdba@localhost admin]$ vim tnsnames.ora
添加:
ORCL =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.179.128)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SID = ORCL)
)
)
4)配置环境变量
[dmdba@localhost ~]$ vim .bash_profile
添加:
export ORACLE_HOME=/home/dmdba/dmdbms/bin/instantclient_19_15
export TNS_ADMIN=$ORACLE_HOME/network/admin
export NLS_LANG=AMERICAN_AMERICA.AL32UTF8
export LD_LIBRARY_PATH=$ORACLE_HOME
export PATH=$ORACLE_HOME:$PATH
[dmdba@localhost ~]$ source .bash_profile
3.4 A机器测试连接
只有能连接上Oracle才能创建dblink。
[dmdba@localhost ~]$ sqlplus c##tt/oracle@ORCL
3.5 创建dblink
在A(192.168.179.129)机器创建dblink连接B(192.168.179.128)机器
[dmdba@localhost ~]$ cd /home/dmdba/dmdbms/bin
[dmdba@localhost bin]$ ./disql sysdba/SYSDBA
SQL> create or replace public link lk2 connect 'ORACLE' with c##tt identified by oracle using '192.168.179.128/ORCL';
SQL> select * from dba_db_links;
SQL> select * from test@lk2;
四、总结
- DM到oracle数据库之间的dblink搭建稍微复杂,需要配置oracle客户端及环境变量,确保通过客户端可以连上服务端。
- 搭建过程中注意关闭防火墙和selinux。
达梦技术社区:https://eco.dameng.com