共计 2596 个字符,预计需要花费 7 分钟才能阅读完成。
本文介绍如何在 Oracle 配置 mysql 数据库的 dblink;虽然 dblink 使用很占资源;俗称“性能杀手”。但有些场景不得不使用它。例如公司使用数据库是 Oracle;可能其他部门或者 CP 合作公司使用的数据库是 MySQL。若需要数据对接。
步骤
1. 下载和安装 [ODBC Driver Manager]
2. 下载和安装 [MySQL Connector/ODBC driver]
3. 配置 odbc.ini
4. 配置环境变量
5. 配置 tnsnames.ora
6. 配置 listener.ora
7. 配置监听的初始化文件
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';
:
