虚谷数据库创建DBLink跨数据库访问

打印 上一主题 下一主题

主题 942|帖子 942|积分 2826

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

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

使用道具 举报

0 个回复

正序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

万万哇

金牌会员
这个人很懒什么都没写!
快速回复 返回顶部 返回列表