在Oracle配置MySQL数据库的dblink

2023年 4月 29日 66.7k 0

本文介绍如何在Oracle配置mysql数据库的dblink;虽然dblink使用很占资源;俗称性能杀手。但有些场景不得不使用它。例如公司使用数据库是Oracle;可能其他部门或者CP合作公司使用的数据库

本文介绍如何在Oracle配置mysql数据库的dblink;虽然dblink使用很占资源;俗称“性能杀手”。但有些场景不得不使用它。例如公司使用数据库是Oracle;可能其他部门或者CP合作公司使用的数据库是MySQL。若需要数据对接。

步骤

1. 下载和安装 [ODBC Driver Manager]2. 下载和安装 [MySQL Connector/ODBC driver]3. 配置odbc.ini4. 配置环境变量5. 配置 tnsnames.ora6. 配置 listener.ora7. 配置监听的初始化文件8. 创建dblink

1. 下载和安装 [ODBC Driver Manager]

#创建一个目录用于放置驱动包环境

[oracle@oracle169 ~]$ cd $ORACLE_BASE
[oracle@oracle169 app]$ mkdir tools
[oracle@oracle169 app]$ cd tools

#下载和安装 unixODBC-2.2.14-linux-x86-64.tar.gz ;并上传到tools目录下。并解压#下载地址https://sourceforge.net/projects/unixodbc/files/?source=navbar

[oracle@oracle169 tools]$ tar -zxvf unixODBC-2.2.14-linux-x86-64.tar.gz
[oracle@oracle169 tools]$ mkdir unixodbc-2.2.14
[oracle@oracle169 tools]$ mv usr/local/* unixodbc-2.2.14/
[oracle@oracle169 tools]$ rm -rf usr/

2. 下载和安装 [MySQL Connector/ODBC driver]

#下载解压对应版本 mysql-connector-odbc-5.3.7-linux-el6-x86-64bit.tar.gz;本次linux环境是6.5下载地址 https://dev.mysql.com/downloads/connector/odbc/

[oracle@oracle169 tools]$ tar -zxvf mysql-connector-odbc-5.3.7-linux-el6-x86-64bit.tar.gz
[oracle@oracle169 tools]$ mv mysql-connector-odbc-5.3.7-linux-el6-x86-64bit my5

3. 配置odbc.ini;

[oracle@oracle169 tools]$ vim odbc.ini
[testdb]
Driver = /u01/app/tools/my5/lib/libmyodbc5a.so
SERVER = #mysql服务器ip
PORT = #mysql数据库端口
USER = #mysql数据库用户名
PASSWORD = #mysql数据库密码
DATABASE = #mysql数据库
OPTION = 3
SOCKET =

4. 配置环境变量

在.bash_profile 后面添加下面

export PATH=/u01/app/tools/unixODBC-2.2.14/bin:$PATH
export LD_LIBRARY_PATH=/u01/app/tools/unixODBC-2.2.14/lib:$LD_LIBRARY_PATH
export ODBCINI=/u01/app/tools/odbc.ini

source .bash_profile之后;这个时候可以测试上面配置是否正确执行 isql -v testdb 若出现这个;表示上面配置是OK的。

+---------------------------------------+| Connected! || sql-statement || help [tablename] || quit || |+---------------------------------------+

5. 配置 tnsnames.ora

在后面添加

testdb =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521))
(CONNECT_DATA =
(SID = testdb))
(HS=OK)
)
)

6. 配置 listener.ora

#加入红色部分;并重启监听

SID_LIST_LISTENER =
(SID_LIST =
(SID_DESC =
(SID_NAME = testdb)
(ORACLE_HOME =/u01/app/oracle)
(PROGRAM = dg4odbc)
(ENVS=LD_LIBRARY_PATH=/u01/app/tools/unixODBC-2.2.14/lib)
)
)

7. 配置监听的初始化文件

[oracle@oracle169 tools]$ vim $ORACLE_HOME/hs/admin/inittestdb.ora
# This is a sample agent init file that contains the HS parameters that are
# needed for the Database Gateway for ODBC

# HS init parameters

HS_FDS_CONNECT_INFO = testdb
HS_FDS_FETCH_ROWS=100
HS_RPC_FETCH_SIZE=50000
HS_FDS_TRACE_LEVEL = off
HS_FDS_SHAREABLE_NAME = /u01/app/tools/unixODBC-2.2.14/lib/libodbc.so
HS_LANGUAGE=american_america.we8iso8859p1
HS_NLS_NCHAR=UCS2
#
# ODBC specific environment variables
#
set ODBCINI= /u01/app/tools/odbc.ini

#
# Environment variables required for the non-Oracle system
#
#set <envvar>=<value>

8. 创建dblink

create public database link db_testdb connect to "mysql_user" identified by "password" using 'testdb';

相关文章

Oracle如何使用授予和撤销权限的语法和示例
Awesome Project: 探索 MatrixOrigin 云原生分布式数据库
下载丨66页PDF,云和恩墨技术通讯(2024年7月刊)
社区版oceanbase安装
Oracle 导出CSV工具-sqluldr2
ETL数据集成丨快速将MySQL数据迁移至Doris数据库

发布评论