一、概述
在虚谷数据库中创建DBLink来实现跨数据源访问的本事,用户可以在本地数据库上访问远端数据库。DBLink是虚谷数据库毗连外部存储的功能,用户可以创建和维护DBLink的实例,然后根据DBLink的利用规则,通过虚谷数据库去访问别的外部存储的数据,实现异构数据库之间数据库的推送和抽取。虚谷数据库采用ODBC尺度,理论上只要支持ODBC的数据库,都可以通过ODBC毗连。
二、ODBC安装
在差别情况下的ODBC的部署方式大同小异,以下在Linux情况下,虚谷数据库DBLINK异构数据库Oracle,利用UnixODBC毗连Oracle的设置方式。
1.下载安装ODBC
最低要求:unixODBC-2.3.12或更高版本
下载地点:unixODBChttps://www.unixodbc.org/download.html
2.将下载好的ODBC上传到服务器指定目次,如:/home/unixODBC
然后进行编译安装:
- cd /home/unixODBC/
- tar xf unixODBC-2.3.12.tar.gz
- cd unixODBC-2.3.12/
- ./configure --prefix=/home/unixODBC
- make -j4;make install;
复制代码 3. 设置情况变量,在文件~/.bashrc尾部添加如下行:
- export UNIXODBC_DIR=/home/unixODBC
- export ODBCINI=$UNIXODBC_DIR/etc/odbc.ini
- export ODBCSYSINI=$UNIXODBC_DIR/etc
- export PATH=$UNIXODBC_DIR/bin:$UNIXODBC_DIR/lib:$PATH
- export LD_LIBRARY_PATH=$UNIXODBC_DIR/lib:$UNIXODBC_DIR/bin:$LD_LIBRARY_PATH
复制代码 其中的UNIXODBC_DIR路径根据自己的安装目次进行修改,最后执行source ~/.bashrc,使情况变量见效。
4. 验证安装是否乐成,可以大概查询版本和设置信息,说明安装设置乐成。
- # isql --v
- unixODBC 2.3.12
- # odbcinst --version
- unixODBC 2.3.12
- # odbcinst -j
- unixODBC 2.3.12
- DRIVERS............: /home/unixODBC/etc/odbcinst.ini
- SYSTEM DATA SOURCES: /home/unixODBC/etc/odbc.ini
- FILE DATA SOURCES..: /home/unixODBC/etc/ODBCDataSources
- USER DATA SOURCES..: /home/unixODBC/etc/odbc.ini
- SQLULEN Size.......: 8
- SQLLEN Size........: 8
- SQLSETPOSIROW Size.: 8
复制代码 其中odbcinst.ini为驱动设置文件,odbc.ini为数据源设置文件
三、安装Oracle ODBC
1.下载Oracle odbc,在Oracel官网中下载对应的版本:
Oracle Instant Client ODBC 安装说明 | Oracle 中国
2.安装oracle odbc,将basic和odbc包解压到一个目次下:
- cd /opt/oracle_client
- unzip instantclient-basic-linux.x64-21.11.0.0.0dbru.zip
- unzip instantclient-odbc-linux.x64-21.11.0.0.0dbru.zip
复制代码 3. 设置本地服务名,在admin目次下创建tnsnames.ora文件,然后根据实际的Oralce情况修改下面的free_222(监听器别名),10.28.23.222(OracelP),1521(Oracle监听端口),free(服务名)
- cd /opt/oracle_client/instantclient_21_11/;
- cat > ./network/admin/tnsnames.ora <<"EOF"
- free_222 =
- (DESCRIPTION =
- (ADDRESS = (PROTOCOL = TCP)(HOST = 10.28.23.222)(PORT = 1521))
- (CONNECT_DATA =
- (SERVER = DEDICATED)
- (SERVICE_NAME = free)
- )
- )
- EOF
复制代码 4.设置Oracle odbc情况变量,在文件~/.bashrc尾部增加情况变量:ORACLE_ODBC_HOME、TNS_ADMIN、NLS_LANG,并将Oracle客户端的lib加到PATH和LD_LIBRARY_PATH,最后执行source ~/.bashrc,使情况变量见效。
- export ORACLE_ODBC_HOME=/opt/oracle_client/instantclient_21_11
- export TNS_ADMIN=$ORACLE_ODBC_HOME/network/admin/
- export NLS_LANG=AMERICAN_AMERICA.ZHS16GBK
- export LD_LIBRARY_PATH=$ORACLE_ODBC_HOME:$LD_LIBRARY_PATH
- export PATH=$ORACLE_ODBC_HOME:$PATH
复制代码 其中的ORACLE_ODBC_HOME根据实际的目次进行修改
四、设置ODBC驱动和客户端设置文件
1.设置驱动设置文件:/home/unixODBC/etc/odbcinst.ini
- [Oracle]
- Description = Oracle ODBC driver for Oracle 21
- Driver = /opt/oracle_client/instantclient_21_11/libsqora.so.21.1
复制代码 Oracle:给驱动去别名,客户端设置文件利用
‘ Driver:Oracel驱动文件路径,一般在下载的Oracel ODBC解压目次下
2.客户端设置文件:/home/unixODBC/etc/odbc.ini
- [linux_orc23_128]
- Driver = Oracle
- ServerName = free_222
复制代码 Driver:驱动名称,利用在驱动设置文件中给驱动取得别名
ServerName:服务名称,前面设置的本地服务名
五、测试
1.利用isql下令测试
- [root@node2 unixODBC]# isql -v 驱动名称 用户名 密码
- +---------------------------------------+
- | Connected! |
- | |
- | sql-statement |
- | help [tablename] |
- | quit |
- | |
- +---------------------------------------+
- SQL>
复制代码 其中驱动名称对应驱动设置文件中的[Oracle],如果提示Connected!代表毗连乐成。
2.创建DBlink毗连
利用控制台工具xgconsole或者客户端工具登录虚谷数据库(必须是设置好ODBC的服务器),创建DBLINK,查询。
- SQL> CREATE PUBLIC DATABASE LINK DBLINK1 FOR ORACLE CONNECT TO 'free@121.28.23.222:1521' USER 'oracle' IDENTIFIED BY 'oracle' USING 'linux_orcl_155';
- Execute successful.
- Use time:2 ms.
- SQL> SELECT sysdate FROM dual@DBLINK1;
- EXPR1 |
- ------------------------------------------------------------------------------
- 2023-11-07 16:12:47.106 AD |
- Total 1 records.
- Use time:951 ms.
复制代码 其中linux_orcl_155对应客户端设置文件中的[linux_orcl_155]
以上就是整个虚谷数据库的创建DBlink跨数据库毗连的方式,如果要毗连MYSQL,PG等其他数据库,流程大抵一致只是修改每种数据库的ODBC和情况变量即可,在这里就不累赘了。
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。 |