数据库中间件mycat配置oracle连接以及错误记录

本文档详细介绍了如何配置Mycat中间件连接Oracle数据库,包括修改server.xml设置用户和密码,以及dataNode和dataHost的配置。在配置过程中遇到了分片规则错误和元素顺序错误的问题,通过增加数据节点和调整XML标签顺序成功解决。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

修改配置文件/usr/local/mycat/conf/server.xml

设置mycat用户名和密码 

[java]  view plain  copy
  1. <user name="root"//用户名和密码随意设置  
  2.               <property name="password">root</property>  
  3.               <property name="schemas">ORACLEDB</property>//schemas对应schema.xml中的schema  如果有多个用逗号隔开
  4.       </user>  
  5.   
  6.       <user name="admin">  
  7.               <property name="password">admin</property>  
  8.               <property name="schemas">ORACLEDB</property>  
  9.               <property name="readOnly">true</property>  
  10.       </user>  
修改配置文件 /usr/local/mycat/conf/schema.xml


[java]  view plain  copy
  1. <?xml version="1.0"?>  
  2. <!DOCTYPE mycat:schema SYSTEM "schema.dtd">  
  3. <mycat:schema xmlns:mycat="http://org.opencloudb/">  
  4.         <schema name="<span style="color:#ff0000;">ORACLEDB</span>" checkSQLschema="false" dataNode="dn1">  //  
  5.         </schema>  
  6. <dataNode name="dn1" dataHost="localhost1" database="db1" />  
  7. <dataHost name="localhost1" maxCon="1000" minCon="10" balance="1" writeType="0" dbType="oracle" dbDriver="jdbc">  
  8.         <heartbeat>select 1 from dual</heartbeat>  
  9.         <writeHost host="hostM1" url="jdbc:oracle:thin:@10.16.13.23:1521/orcl" user="test_user" password="test_user" >   
  10.                 <readHost host="hostS1" url="jdbc:oracle:thin:@10.16.12.9:1521/orcl" user="strmadmin" passw  
  11. ord="strmadmin"/>  
  12.         </writeHost>  
  13. </dataHost>  
  14. </mycat:schema>  


配置结束

然后 启动mycat 

[html]  view plain  copy
  1. ./mycat start  

./mycat console 输出运行状态 查看错误还是正确

Caused by: io.mycat.config.util.ConfigException: Illegal table conf : table [ …] rule function [ rang-long ] partition size : 3 > table datanode size : 2, please make sure table datanode size = function partition size 
默认的分片是分为3片,而我就设置了2个库。然后我又填了个新库,可以正常启动。 

如果要修改分片规则,则需要修改rule.xml和其中对应的规则文件。


遇到The content of element type "mycat:schema" must match "(schema*,dataNode*,dataHost*)"错误,

根据wrapper.log日志信息,开始以为是我的schema.xml文件中的schema、dataNode、dataHost标签写得不正确,反复查看后没有发现问题,

但是问题依旧存在,后来经过一番折腾之后,发现这句话的意思其实是:schema、dataNode、dataHost标签在schema.xml文件中,必须按照顺序书写。

其实就是说多个schema需要写在一起,并且放在最前面;多个dataNode写在一起,放在schema标签之后;多个dataHost写在一起,放在dataNode标签之后。



评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值