神通数据库连接Oracle的Dblink
以Oracle11g为例
一、在神通数据库所在服务器上下载并安装Oracle的客户端 Oracle客户端下载官网地址:
/database/technologies/instant-client/downloads.html
rpm -ivh oracle-instantclient-basic-21.3.0.0.0-1.el8.x86_64.rpm
rpm -ivh oracle-instantclient-sqlplus-21.3.0.0.0-1.el8.x86_64.rpm
默认路径 /usr/lib/oracle
二、配置tnsnames.ora文件,如果没有,请手动创建此文件并添加以下内容
vim /usr/lib/oracle/21/client64/network/admin/tnsnames.ora
ORCL = --网络服务名称
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.239)(PORT = 1521)) --oracle所在服务器的ip及端口号
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = ORCL)
)
)
三、配置环境变量
vim ~/.bash_profile添加以下内容
export PATH
PATH=PATH:PATH:PATH:HOME/bin
export ORACLE_HOME=/usr/lib/oracle/21/client64/lib
export TNS_ADMIN=ORACEHOME/networt/adminexportORACLEBASE=/usr/lib/oracle/21/exportLDLIBRARYPATH=ORACE_HOME/networt/admin export ORACLE_BASE=/usr/lib/oracle/21/ export LD_LIBRARY_PATH=ORACEHOME/networt/adminexportORACLEBASE=/usr/lib/oracle/21/exportLDLIBRARYPATH=ORACLE_HOME/lib:$LD_LIBRARY_PATH
export ORACLE_SID= ora11g
export PATH
[root@localhost ~]# source ~/.bash_profile
四、在上述环境变量下,启动神通数据库
oscar -o normal -d osrdb
五、创建dblink
isql登录神通数据库,密码szoscar55
create databaselink db1 connect to system identified by '123456' using 'ORCL' FOR ORACLE;
六、注意事项
1、Oracle的环境变量必须生效
2、如果神通数据库报错:ERROR, 无法找到 libclntsh.so,dblink连接oracle功能将无法使用请确认是否安装oracle客户端,并测试sqlplus是否可以连接oracle
请检查ORACLE_HOME中是否含有libclntsh.so及libnnz11.so文件,以及sqlplus是否可以远程连接此orale实例。
如果缺少这两个文件,可以做如下尝试:
a、查找并修改ORACLE_HOME中其他文件的名称,例如libclntsh.so.11.1、libnnz21.so,修改为上述或者做link链接
b、神通数据库安装目录的datamigrate文件夹下有libclntsh.so.11.1和libnnz11.so文件,可以copy到ORACLE_HOME