达梦数据库创建oracle dblink
1、下载安装oci
前往oracle官网下载instantclient客户端
以下为其他版本下载路径:
https://www.oracle.com/cn/database/technologies/instant-client/downloads.html
以下为linux环境下载路径:
https://www.oracle.com/cn/database/technologies/instant-client/linux-x86-64-downloads.html
2、上传至服务器解压
注意,一定要将zip文件上传至服务器解压,不能在windows解压再上传,所以要安装unzip软件包
unzip instantclient-basic-linux.x64-19.24.0.0.0dbru.zip -d /data/oci
3、配置环境变量
修改dmdba用户的环境变量,将oci路径加入LD_LIBRARY_PATH中
su - dmdba
vi .bash_profile
source .bash_profile
在原有的LD_LIBRARY_PATH后面加上,注意前面有一个冒号,加入的路径要在有
:/data/oci/instantclient_19_24
验证:进入oci目录使用ldd命令查看是否有依赖项
4、创建DBLINK
create or replace public link "SYSDBA"."OTEST1" connect 'ORACLE' with "HHHH" identified by "SYSTEMHHHHH" using
'(DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)
(HOST = 192.168.244.203)(PORT = 1521))) (CONNECT_DATA = (SERVICE_NAME = orcl)))
';
在oracle客户端创建对应的用户:
CREATE USER HHHH IDENTIFIED BY SYSTEMHHHHH;
grant DBA to "HHHH";
测试dblink
select * from V$VERSION@OTEST1;
5、报错DBLINK加载库文件失败
报错是由于OCI安装有误导致的
注意事项:下载oci时选择的oracle数据库客户端版本不能太高:
目前测试使用19版本可行,23版本不可行。
6、报错DBLINK连接丢失
此报错为oci配置正常,但账号密码有误,通常与大小写敏感有关;
可以尝试以下几个方法:
1、创建oracle用户时使用大写;
2、创建dblink时使用大写并使用双引号;
7、查询结果乱码
可以尝试添加在dblink中添加参数:
OPTION (LOCAL_CODE=‘UTF-8’,DATA_CHARSET=‘UTF-8’);
即:
create or replace public link "SYSDBA"."OTEST1" connect 'ORACLE' with "HHHH" identified by "SYSTEMHHHHH" using
'(DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)
(HOST = 192.168.244.203)(PORT = 1521))) (CONNECT_DATA = (SERVICE_NAME = orcl)))
'OPTION (LOCAL_CODE='UTF-8',DATA_CHARSET='UTF-8');
更多详情请查看达梦官方社区:https://eco.dameng.com