oracle:系统redhat 5.5数据库:11.2.0.1
1.先装 mysql-connector-odbc和unixODBC [root@rac1 ~]# rpm -qa | grep MysqL MysqL-5.0.77-4.el5_4.2 MysqL-5.0.77-4.el5_4.2 mysql-connector-odbc-5.1.13-1.rhel5 [root@rac1 ~]# rpm -qa | grep ODBC unixODBC-devel-2.2.11-7.1 unixODBC-2.2.11-7.1 unixODBC-devel-2.2.11-7.1 unixODBC-2.2.11-7.1 2.配置 /etc/odbc.ini [myodbc3] Driver= /usr/lib64/libmyodbc5.so Description= MysqL ODBC 5.1 Driver DSN SERVER= 192.1.1.200 PORT= 3306 USER= bi Password= 123456 Database= chanpin OPTION= 3 SOCKET= charset= utf8 3.配置/etc/odbcinst.ini [MysqL] Description = ODBC for MysqL Driver = /usr/lib64/libmyodbc5.so Setup = /usr/lib64/libodbcmyS.so FileUsage = 1 4.测试连接 [root@rac1 ~]# isql myodbc3 -v +---------------------------------------+ | Connected!| || | sql-statement| | help [tablename]| | quit| || +---------------------------------------+ sql> 5.配置oracle环境变量 export ORACLE_BASE=/u01/app/oracle export GRID_HOME=/u01/grid export ORACLE_HOME=$ORACLE_BASE/product/11.2.0/db_1 export ORACLE_SID=rac1 export BASE_PATH=/usr/sbin:$PATH export PATH=$ORACLE_HOME/bin:$BASE_PATH:/usr/bin export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib:/usr/local/lib:$ORACLE_HOME/hs/lib:/usr/lib64 export CLAsspATH=$ORACLE_HOME/JRE:$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib ODBCINI=/etc/odbc.ini; export ODBCINI ODBCSYSINI=/etc; export ODBCSYSINI ODBCINStini=/etc/odbc.ini export ODBCINStini 6.配置监听 listener.ora: LISTENER = (DESCRIPTION_LIST = (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = 192.1.1.100)(PORT = 1522)) ) ) SID_LIST_LISTENER= (SID_LIST= (SID_DESC= (PROGRAM = dg4odbc) (SID_NAME= myodbc3) (ORACLE_HOME= /u01/app/oracle/product/11.2.0/db_1) (ENVS=LD_LIBRARY_PATH=/u01/app/oracle/product/11.2.0/db_1/lib:/lib:/usr/lib:/usr/local/lib:/u01/app/oracle/product/11.2.0/db_1/hs/lib:/usr/lib64) ) ) tnsname.ora: myodbc3= (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = 192.1.1.100)(PORT = 1522)) (CONNECT_DATA = (SID = myodbc3)) (HS = OK) ) 7.配置odbc监听 路径:$ORACLE_HOME/hs/admin 注意:名字要跟odbc配置的名字一样 我这里是myodbc3 [oracle@rac1 admin]$ cat initmyodbc3.ora HS_FDS_CONNECT_INFO = myodbc3 HS_FDS_TRACE_LEVEL = ON HS_FDS_TRACE_FILE_NAME = odbc_test.log HS_FDS_TRACE_LEVEL = 4 HS_FDS_SHAREABLE_NAME = /usr/lib64/libodbc.so HS_FDS_SUPPORT_STATISCTICS = FALSE HS_LANGUAGE = AMERICAN_AMERICA.WE8ISO8859P1 HS_FDS_sqlLEN_INTERPRETATION=32 set ODBCINI = /etc/odbc.ini 8.测试下监听 [oracle@rac1 admin]$ tnsping myodbc3 TNS Ping Utility for Linux: Version 11.2.0.1.0 - Production on 25-NOV-2014 03:02:16 copyright (c) 1997,2009,Oracle.All rights reserved. Used parameter files: Used TNSNAMES adapter to resolve the alias Attempting to contact (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = 192.1.1.100)(PORT = 1522)) (CONNECT_DATA = (SID = myodbc3)) (HS = OK)) OK (0 msec) 9.创建dblink sql>create public database link myodbc connect to "bi" identified by "123456" using'myodbc3'; sql> select count(*) from "t_user"@myodbc; COUNT(*) ---------- 53980