orcledblink到mysql_Windows环境下oracle通过dblink连接mysql配置

数据库:安装oracle11g 64位,安装mysql 5.6 64位

安装数据源驱动(ODBC) 64位:mysql-connector-odbc 5.3.4

接下来需要检查的是否安装了oracle透明网关,如下图所示:检查Oracle透明网关

打开控制面板——>管理工具——>添加数据源添加数据源配置数据源链接

配置完成后点击完成就可以了,这样Mysql的ODBC就已经有了

(2)接下来进行oracle透明网关配置:

找到你的oracle的安装目录的initdg4odbc.ora文件(我安装在C盘):

C:\Oracle\product\11.2.0\dbhome_1\hs\admin(这是我

安装在C盘下面),然后复制一份,命名规则是:init+sid.ora,所以就是initmysqlodbc.ora;

然后打开initmysqlodbc.ora文件,添加如下内容:

HS_FDS_CONNECT_INFO = mysqlodbc 说明:和mysql的odbc保持一致

HS_FDS_TRACE_LEVEL = off 说明:需要调试时可以改为debug,调试完成改为off;

然后打开C:\Oracle\product\11.2.0\dbhome_1\NETWORK\ADMIN 的listener.ora文件:

# listener.ora Network Configuration File: C:\Orcale\product\11.2.0\dbhome_1\NETWORK\ADMIN\listener.ora

# Generated by Oracle configuration tools.

SID_LIST_LISTENER =

(SID_LIST =

(SID_DESC =

(SID_NAME = CLRExtProc)

(ORACLE_HOME = C:\Orcale\product\11.2.0\dbhome_1)

(PROGRAM = extproc)

(ENVS = "EXTPROC_DLLS=ONLY:C:\Orcale\product\11.2.0\dbhome_1\bin\oraclr11.dll")

)

(SID_DESC =

(SID_NAME = MYSQLODBC)

(ORACLE_HOME = C:\Orcale\product\11.2.0\dbhome_1)

(PROGRAM = dg4odbc)

)

)

LISTENER =

(DESCRIPTION_LIST =

(DESCRIPTION =

(ADDRESS = (PROTOCOL = TCP)(HOST = iZyjox7h8dxma0Z)(PORT = 1521))

)

)

ADR_BASE_LISTENER = C:\Orcale

接下来打开tnsnames.ora(跟监听配置文件在同一个目录下)

LISTENER_ORACLE =

(ADDRESS = (PROTOCOL = TCP)(HOST = iZyjox7h8dxma0Z)(PORT = 1521))

ORACLE =

(DESCRIPTION =

(ADDRESS_LIST =

(ADDRESS = (PROTOCOL = TCP)(HOST = iZyjox7h8dxma0Z)(PORT = 1521))

)

(CONNECT_DATA =

(SERVICE_NAME = oracle)

)

)

ORACLR_CONNECTION_DATA =

(DESCRIPTION =

(ADDRESS_LIST =

(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521))

)

(CONNECT_DATA =

(SID = CLRExtProc)

(PRESENTATION = RO)

)

)

MYSQLODBC =

(DESCRIPTION =

(ADDRESS_LIST =

(ADDRESS = (PROTOCOL = TCP)(HOST = iZyjox7h8dxma0Z)(PORT = 1521))

)

(CONNECT_DATA =

(SERVICE_NAME = mysqlodbc)

)

(HS = OK)

)

MYSQLODBC是自己新添加的此处要注意下格式

然后重启监服务,可以在service.msc里重启,也可以使用命令lsnrctl stop ,lsnrctl start;

最后用oracle连接工具创建dblink:

create database link mysqlodbc connectto"root" identified by"123456"using'mysqlodbc';--注意使用单引号

走坑过程:

出现如下:

ORA-28546:连接初始化失败, 可能是 Net8 管理错误

ORA-02063:紧接着 line (起自 MYSQLTWO)

ORA-12154:无法解析指定的连接标识符

ORA-03113:通信通道的文件结尾

出现如上错误检查ORACLE配置

ORA-12518:监听程序无法分发客户机连接

1、首先修改ORACLE的PROCESS、SESSION数量

查看当前ORALCE PROCESS数量

SQL> show parameter process

查看当前ORALCE SESSION数量

SQL> show parameter session

修改PROCESS数量:

SQL>alter system set processes=1000 scope = spfile;

修改SESSION数量:

SQL> alter system set sessions=1105 scope = spfile;

注:sessions是个派生值,由processes的值决定,公式sessions=1.1*process + 5

2、降低系统的SGA大小

查看SGA的大小:

SQL> show parameter sga

同时修改sga_max_size和sga_target

SQL> alter system set sga_max_size=1000M scope = spfile;

SQL> alter system set sga_target=1000M scope = spfile;

重启ORACLE服务,问题基本解决。

经验总结:

改哪么多东西dblink还是不通归根结底还是配置的不对>_<

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值