Mycat-Server
Mycat-Server copied to clipboard
MyCat做Oracle分布式中间件,报错:Could not retrieve transation read-only status server
使用MyCat连接Oracle 软件版本: JDK:1.8_191 MyCat:Mycat-server-1.6.6.1-release-20181031195535-linux Oracle:12c MySQL驱动:mysql-connector-java-5.1.35.jar(与mycat解压后的lib目录下的jar包版本一致)
配置如下: schema.xml配置:
<mycat:schema xmlns:mycat="http://io.mycat/"> <schema name="ECIF_SHARE" checkSQLschema="false" dataNode="dn1"> <table name="mycat_sharding_table" dataNode="dn1,dn2" rule="auto-sharding-long" /> <table name="..." type="global" dataNode="dn1,dn2" />
<dataNode name="dn1" dataHost="dataHost01" database="share_01" />
<dataNode name="dn2" dataHost="dataHost02" database="share_02" />
<!-- Oracle -->
<dataHost name="dataHost01" maxCon="1000" minCon="1" balance="0"
writeType="0" dbType="oracle" dbDriver="jdbc">
<heartbeat>select * from dual</heartbeat>
<connectionInitSql>alter session set nls_date_format='yyyy-mm-dd hh24:mi:ss'</connectionInitSql>
<writeHost host="writeHost" url="jdbc:oracle:thin:@192.168.56.128:1521:orcl" user="share_01" password="share_01">
<readHost host="readHost" url="jdbc:oracle:thin:@192.168.56.128:1521:orcl" user="share_01" password="share_01"/>
</writeHost>
</dataHost>
<dataHost name="dataHost02" maxCon="1000" minCon="1" balance="0"
writeType="0" dbType="oracle" dbDriver="jdbc">
<heartbeat>select * from dual</heartbeat>
<connectionInitSql>alter session set nls_date_format='yyyy-mm-dd hh24:mi:ss'</connectionInitSql>
<writeHost host="writeHost" url="jdbc:oracle:thin:@192.168.56.128:1521:orcl" user="share_02" password="share_02">
<readHost host="readHost" url="jdbc:oracle:thin:@192.168.56.128:1521:orcl" user="share_02" password="share_02"/>
</writeHost>
</dataHost>
</mycat:schema> mycat_sharding_table表的作用是用来确认路由的,Oracle用两个用户模拟的两个节点,读写库都是同一个,未做读写分离。
rule.xml配置:
<mycat:rule xmlns:mycat="http://io.mycat/">
<tableRule name="auto-sharding-long">
使用场景是: 数据批量处理的时候,有create table、insert into ... select ...等DDL语句以及MyCAT不支持的SQL语句,所以需要直接做路由到数据库上执行。
执行日志: 2019-03-08 12:13:15.552 DEBUG c.p.e.s.c.m.m.execute : ==> Preparing: /*!mycat:sql=select * from mycat_sharding_table /create table TPG_1103871274989387776 as select t0.CUST_NAME,t1.CERT_NO,'5555555555' as group_no from CUS_BAS_PERSON t0 inner join CUS_BAS_CERTIFICATE t1 on t1.cust_no = t0.cust_no where 1 = 2 2019-03-08 12:13:15.552 DEBUG c.p.e.s.c.m.m.execute : ==> Parameters: 2019-03-08 12:13:15.584 DEBUG c.p.e.s.c.m.m.execute : <== Updates: 0 2019-03-08 12:13:15.648 DEBUG c.p.e.s.c.m.m.insert : ==> Preparing: /!mycat:sql=select * from mycat_sharding_table /insert into TPG_1103871274989387776 values ('客户28','1065033023961649179','0') 2019-03-08 12:13:15.648 DEBUG c.p.e.s.c.m.m.insert : ==> Parameters: 2019-03-08 12:13:15.693 DEBUG c.p.e.s.c.m.m.insert : <== Updates: 0 2019-03-08 12:13:15.693 DEBUG c.p.e.s.c.m.m.insert : ==> Preparing: /!mycat:sql=select * from mycat_sharding_table /insert into TPG_1103871274989387776 values ('客户1','1065033023961645057','1') 2019-03-08 12:13:15.693 DEBUG c.p.e.s.c.m.m.insert : ==> Parameters: 2019-03-08 12:13:15.727 DEBUG c.p.e.s.c.m.m.insert : <== Updates: 0 2019-03-08 12:13:15.728 DEBUG c.p.e.s.c.m.m.insert : ==> Preparing: /!mycat:sql=select * from mycat_sharding_table /insert into TPG_1103871274989387776 values ('客户9','1065033023961624578','2') 2019-03-08 12:13:15.728 DEBUG c.p.e.s.c.m.m.insert : ==> Parameters: 2019-03-08 12:13:15.734 DEBUG c.p.e.s.c.m.m.insert : <== Updates: 0 2019-03-08 12:13:15.735 DEBUG c.p.e.s.c.m.m.execute : ==> Preparing: /!mycat:sql=select * from mycat_sharding_table */create table TPC_1103871274989387777 as select t0.cust_no,t2.group_no from CUS_BAS_PERSON t0 inner join CUS_BAS_CERTIFICATE t1 on t1.cust_no = t0.cust_no inner join TPG_1103871274989387776 t2 on t0.CUST_NAME = t2.CUST_NAME and t1.CERT_NO = t2.CERT_NO 2019-03-08 12:13:15.735 DEBUG c.p.e.s.c.m.m.execute : ==> Parameters: 2019-03-08 12:13:15.736 ERROR c.p.e.s.p.m.e.s.EcifSuspectServiceImpl :
Error updating database. Cause: java.sql.SQLException: Could not retrieve transation read-only status server
The error may involve com.pactera.ecc.share.common.mapper.DatabaseMapper.execute-Inline
The error occurred while setting parameters
SQL: /*!mycat:sql=select * from mycat_sharding_table */create table TPC_1103871274989387777 as select t0.cust_no,t2.group_no from CUS_BAS_PERSON t0 inner join CUS_BAS_CERTIFICATE t1 on t1.cust_no = t0.cust_no inner join TPG_1103871274989387776 t2 on t0.CUST_NAME = t2.CUST_NAME and t1.CERT_NO = t2.CERT_NO
Cause: java.sql.SQLException: Could not retrieve transation read-only status server
; ]; Could not retrieve transation read-only status server; nested exception is java.sql.SQLException: Could not retrieve transation read-only status server
从日志看出几点问题: 1、数据插入成功,但是返回的影响记录数却是0: 2019-03-08 12:13:15.648 DEBUG c.p.e.s.c.m.m.insert : ==> Preparing: /*!mycat:sql=select * from mycat_sharding_table */insert into TPG_1103871274989387776 values ('客户28','1065033023961649179','0') 2019-03-08 12:13:15.648 DEBUG c.p.e.s.c.m.m.insert : ==> Parameters: 2019-03-08 12:13:15.693 DEBUG c.p.e.s.c.m.m.insert : <== Updates: 0
2、TPG_1103871274989387776表创建成功,并且成功插入数据后,无法select,原因应该是事务隔离级别的问题: 2019-03-08 12:13:15.735 DEBUG c.p.e.s.c.m.m.execute : ==> Preparing: /*!mycat:sql=select * from mycat_sharding_table */create table TPC_1103871274989387777 as select t0.cust_no,t2.group_no from CUS_BAS_PERSON t0 inner join CUS_BAS_CERTIFICATE t1 on t1.cust_no = t0.cust_no inner join TPG_1103871274989387776 t2 on t0.CUST_NAME = t2.CUST_NAME and t1.CERT_NO = t2.CERT_NO 2019-03-08 12:13:15.735 DEBUG c.p.e.s.c.m.m.execute : ==> Parameters: 2019-03-08 12:13:15.736 ERROR c.p.e.s.p.m.e.s.EcifSuspectServiceImpl :
Error updating database. Cause: java.sql.SQLException: Could not retrieve transation read-only status server
The error may involve com.pactera.ecc.share.common.mapper.DatabaseMapper.execute-Inline
The error occurred while setting parameters
SQL: /*!mycat:sql=select * from mycat_sharding_table */create table TPC_1103871274989387777 as select t0.cust_no,t2.group_no from CUS_BAS_PERSON t0 inner join CUS_BAS_CERTIFICATE t1 on t1.cust_no = t0.cust_no inner join TPG_1103871274989387776 t2 on t0.CUST_NAME = t2.CUST_NAME and t1.CERT_NO = t2.CERT_NO
Cause: java.sql.SQLException: Could not retrieve transation read-only status server
; ]; Could not retrieve transation read-only status server; nested exception is java.sql.SQLException: Could not retrieve transation read-only status server
以上问题,不管我在server.xml中如何配置以下配置项,都会存在。
<mycat:server xmlns:mycat="http://io.mycat/">
以上问题,直接连接Oracle单库执行没有问题。
请问,应该如何设置MyCAT,才能在数据批量处理时,友好的支持Oracle,解决Could not retrieve transation read-only status server的问题。
https://github.com/MyCATApache/Mycat-Server/issues/1704
使用MyCat连接Oracle 软件版本: JDK:1.8_191 MyCat:Mycat-server-1.6.6.1-release-20181031195535-linux Oracle:12c MySQL驱动:mysql-connector-java-5.1.35.jar(与mycat解压后的lib目录下的jar包版本一致)
配置如下: schema.xml配置:
<mycat:schema xmlns:mycat="http://io.mycat/">
<dataNode name="dn1" dataHost="dataHost01" database="share_01" /> <dataNode name="dn2" dataHost="dataHost02" database="share_02" /> <!-- Oracle --> <dataHost name="dataHost01" maxCon="1000" minCon="1" balance="0" writeType="0" dbType="oracle" dbDriver="jdbc"> <heartbeat>select * from dual</heartbeat> <connectionInitSql>alter session set nls_date_format='yyyy-mm-dd hh24:mi:ss'</connectionInitSql> <writeHost host="writeHost" url="jdbc:oracle:thin:@192.168.56.128:1521:orcl" user="share_01" password="share_01"> <readHost host="readHost" url="jdbc:oracle:thin:@192.168.56.128:1521:orcl" user="share_01" password="share_01"/> </writeHost> </dataHost> <dataHost name="dataHost02" maxCon="1000" minCon="1" balance="0" writeType="0" dbType="oracle" dbDriver="jdbc"> <heartbeat>select * from dual</heartbeat> <connectionInitSql>alter session set nls_date_format='yyyy-mm-dd hh24:mi:ss'</connectionInitSql> <writeHost host="writeHost" url="jdbc:oracle:thin:@192.168.56.128:1521:orcl" user="share_02" password="share_02"> <readHost host="readHost" url="jdbc:oracle:thin:@192.168.56.128:1521:orcl" user="share_02" password="share_02"/> </writeHost> </dataHost></mycat:schema> mycat_sharding_table表的作用是用来确认路由的,Oracle用两个用户模拟的两个节点,读写库都是同一个,未做读写分离。
rule.xml配置:
<mycat:rule xmlns:mycat="http://io.mycat/">
id mod-long
2
</mycat:rule> mycat_sharding_table表仅根据ID值取余数确定路由。
使用场景是: 数据批量处理的时候,有create table、insert into ... select ...等DDL语句以及MyCAT不支持的SQL语句,所以需要直接做路由到数据库上执行。
执行日志: 2019-03-08 12:13:15.552 DEBUG c.p.e.s.c.m.m.execute : ==> Preparing: /*!mycat:sql=select * from mycat_sharding_table /create table TPG_1103871274989387776 as select t0.CUST_NAME,t1.CERT_NO,'5555555555' as group_no from CUS_BAS_PERSON t0 inner join CUS_BAS_CERTIFICATE t1 on t1.cust_no = t0.cust_no where 1 = 2 2019-03-08 12:13:15.552 DEBUG c.p.e.s.c.m.m.execute : ==> Parameters: 2019-03-08 12:13:15.584 DEBUG c.p.e.s.c.m.m.execute : <== Updates: 0 2019-03-08 12:13:15.648 DEBUG c.p.e.s.c.m.m.insert : ==> Preparing: /!mycat:sql=select * from mycat_sharding_table /insert into TPG_1103871274989387776 values ('客户28','1065033023961649179','0') 2019-03-08 12:13:15.648 DEBUG c.p.e.s.c.m.m.insert : ==> Parameters: 2019-03-08 12:13:15.693 DEBUG c.p.e.s.c.m.m.insert : <== Updates: 0 2019-03-08 12:13:15.693 DEBUG c.p.e.s.c.m.m.insert : ==> Preparing: /!mycat:sql=select * from mycat_sharding_table /insert into TPG_1103871274989387776 values ('客户1','1065033023961645057','1') 2019-03-08 12:13:15.693 DEBUG c.p.e.s.c.m.m.insert : ==> Parameters: 2019-03-08 12:13:15.727 DEBUG c.p.e.s.c.m.m.insert : <== Updates: 0 2019-03-08 12:13:15.728 DEBUG c.p.e.s.c.m.m.insert : ==> Preparing: /!mycat:sql=select * from mycat_sharding_table /insert into TPG_1103871274989387776 values ('客户9','1065033023961624578','2') 2019-03-08 12:13:15.728 DEBUG c.p.e.s.c.m.m.insert : ==> Parameters: 2019-03-08 12:13:15.734 DEBUG c.p.e.s.c.m.m.insert : <== Updates: 0 2019-03-08 12:13:15.735 DEBUG c.p.e.s.c.m.m.execute : ==> Preparing: /!mycat:sql=select * from mycat_sharding_table */create table TPC_1103871274989387777 as select t0.cust_no,t2.group_no from CUS_BAS_PERSON t0 inner join CUS_BAS_CERTIFICATE t1 on t1.cust_no = t0.cust_no inner join TPG_1103871274989387776 t2 on t0.CUST_NAME = t2.CUST_NAME and t1.CERT_NO = t2.CERT_NO 2019-03-08 12:13:15.735 DEBUG c.p.e.s.c.m.m.execute : ==> Parameters: 2019-03-08 12:13:15.736 ERROR c.p.e.s.p.m.e.s.EcifSuspectServiceImpl :
Error updating database. Cause: java.sql.SQLException: Could not retrieve transation read-only status server
The error may involve com.pactera.ecc.share.common.mapper.DatabaseMapper.execute-Inline
The error occurred while setting parameters
SQL: /*!mycat:sql=select * from mycat_sharding_table */create table TPC_1103871274989387777 as select t0.cust_no,t2.group_no from CUS_BAS_PERSON t0 inner join CUS_BAS_CERTIFICATE t1 on t1.cust_no = t0.cust_no inner join TPG_1103871274989387776 t2 on t0.CUST_NAME = t2.CUST_NAME and t1.CERT_NO = t2.CERT_NO
Cause: java.sql.SQLException: Could not retrieve transation read-only status server
; ]; Could not retrieve transation read-only status server; nested exception is java.sql.SQLException: Could not retrieve transation read-only status server
从日志看出几点问题: 1、数据插入成功,但是返回的影响记录数却是0: 2019-03-08 12:13:15.648 DEBUG c.p.e.s.c.m.m.insert : ==> Preparing: /*!mycat:sql=select * from mycat_sharding_table */insert into TPG_1103871274989387776 values ('客户28','1065033023961649179','0') 2019-03-08 12:13:15.648 DEBUG c.p.e.s.c.m.m.insert : ==> Parameters: 2019-03-08 12:13:15.693 DEBUG c.p.e.s.c.m.m.insert : <== Updates: 0
2、TPG_1103871274989387776表创建成功,并且成功插入数据后,无法select,原因应该是事务隔离级别的问题: 2019-03-08 12:13:15.735 DEBUG c.p.e.s.c.m.m.execute : ==> Preparing: /*!mycat:sql=select * from mycat_sharding_table */create table TPC_1103871274989387777 as select t0.cust_no,t2.group_no from CUS_BAS_PERSON t0 inner join CUS_BAS_CERTIFICATE t1 on t1.cust_no = t0.cust_no inner join TPG_1103871274989387776 t2 on t0.CUST_NAME = t2.CUST_NAME and t1.CERT_NO = t2.CERT_NO 2019-03-08 12:13:15.735 DEBUG c.p.e.s.c.m.m.execute : ==> Parameters: 2019-03-08 12:13:15.736 ERROR c.p.e.s.p.m.e.s.EcifSuspectServiceImpl :
Error updating database. Cause: java.sql.SQLException: Could not retrieve transation read-only status server
The error may involve com.pactera.ecc.share.common.mapper.DatabaseMapper.execute-Inline
The error occurred while setting parameters
SQL: /*!mycat:sql=select * from mycat_sharding_table */create table TPC_1103871274989387777 as select t0.cust_no,t2.group_no from CUS_BAS_PERSON t0 inner join CUS_BAS_CERTIFICATE t1 on t1.cust_no = t0.cust_no inner join TPG_1103871274989387776 t2 on t0.CUST_NAME = t2.CUST_NAME and t1.CERT_NO = t2.CERT_NO
Cause: java.sql.SQLException: Could not retrieve transation read-only status server
; ]; Could not retrieve transation read-only status server; nested exception is java.sql.SQLException: Could not retrieve transation read-only status server
以上问题,不管我在server.xml中如何配置以下配置项,都会存在。 <mycat:server xmlns:mycat="http://io.mycat/">
false 3
</mycat:server>
以上问题,直接连接Oracle单库执行没有问题。
请问,应该如何设置MyCAT,才能在数据批量处理时,友好的支持Oracle,解决Could not retrieve transation read-only status server的问题。
请问,你的前端是用mysql协议去连mycat的吗? 我想用oracle的tns或oracle的jdbc去连mycat,但是总是报错:
1个mycat后面接了2个oracle实例 tnsping mycat 提示,sqlplus 登录提示,pl/sql 登录提示,都是 TNS-12569: TNS:packet checksum failure
jdbc连接mycat提示 Size Data Unit (sdu) mismatch
有知道jdbc怎么连mycat(oracle)的吗?
连接MyCAT需要使用MySQL驱动及协议,连接成功后可以使用Oracle语法的SQL语句进行操作。但是毕竟MySQL和Oracle还是不同的,所以会有很多坑。
发送自 Windows 10 版邮件https://go.microsoft.com/fwlink/?LinkId=550986应用
发件人: wanghy8166 [email protected] 发送时间: Tuesday, April 9, 2019 10:13:49 AM 收件人: MyCATApache/Mycat-Server 抄送: 小伍技术课堂; Author 主题: Re: [MyCATApache/Mycat-Server] MyCat做Oracle分布式中间件,报错:Could not retrieve transation read-only status server (#2141)
使用MyCat连接Oracle 软件版本: JDK:1.8_191 MyCat:Mycat-server-1.6.6.1-release-20181031195535-linux Oracle:12c MySQL驱动:mysql-connector-java-5.1.35.jar(与mycat解压后的lib目录下的jar包版本一致)
配置如下: schema.xml配置:
<mycat:schema xmlns:mycat="http://io.mycat/">http://io.mycat/%22%3E
<dataHost name="dataHost01" maxCon="1000" minCon="1" balance="0"
writeType="0" dbType="oracle" dbDriver="jdbc">
<heartbeat>select * from dual</heartbeat>
<connectionInitSql>alter session set nls_date_format='yyyy-mm-dd hh24:mi:ss'</connectionInitSql>
<writeHost host="writeHost" url="jdbc:oracle:thin:@192.168.56.128:1521:orcl" user="share_01" password="share_01">
<readHost host="readHost" url="jdbc:oracle:thin:@192.168.56.128:1521:orcl" user="share_01" password="share_01"/>
</writeHost>
<dataHost name="dataHost02" maxCon="1000" minCon="1" balance="0"
writeType="0" dbType="oracle" dbDriver="jdbc">
<heartbeat>select * from dual</heartbeat>
<connectionInitSql>alter session set nls_date_format='yyyy-mm-dd hh24:mi:ss'</connectionInitSql>
<writeHost host="writeHost" url="jdbc:oracle:thin:@192.168.56.128:1521:orcl" user="share_02" password="share_02">
<readHost host="readHost" url="jdbc:oracle:thin:@192.168.56.128:1521:orcl" user="share_02" password="share_02"/>
</writeHost>
</mycat:schema> mycat_sharding_table表的作用是用来确认路由的,Oracle用两个用户模拟的两个节点,读写库都是同一个,未做读写分离。
rule.xml配置:
<mycat:rule xmlns:mycat="http://io.mycat/">http://io.mycat/%22%3E
id mod-long
2
</mycat:rule> mycat_sharding_table表仅根据ID值取余数确定路由。
使用场景是: 数据批量处理的时候,有create table、insert into ... select ...等DDL语句以及MyCAT不支持的SQL语句,所以需要直接做路由到数据库上执行。
执行日志: 2019-03-08 12:13:15.552 DEBUG c.p.e.s.c.m.m.execute : ==> Preparing: /*!mycat:sql=select * from mycat_sharding_table /create table TPG_1103871274989387776 as select t0.CUST_NAME,t1.CERT_NO,'5555555555' as group_no from CUS_BAS_PERSON t0 inner join CUS_BAS_CERTIFICATE t1 on t1.cust_no = t0.cust_no where 1 = 2 2019-03-08 12:13:15.552 DEBUG c.p.e.s.c.m.m.execute : ==> Parameters: 2019-03-08 12:13:15.584 DEBUG c.p.e.s.c.m.m.execute : <== Updates: 0 2019-03-08 12:13:15.648 DEBUG c.p.e.s.c.m.m.insert : ==> Preparing: /!mycat:sql=select * from mycat_sharding_table /insert into TPG_1103871274989387776 values ('客户28','1065033023961649179','0') 2019-03-08 12:13:15.648 DEBUG c.p.e.s.c.m.m.insert : ==> Parameters: 2019-03-08 12:13:15.693 DEBUG c.p.e.s.c.m.m.insert : <== Updates: 0 2019-03-08 12:13:15.693 DEBUG c.p.e.s.c.m.m.insert : ==> Preparing: /!mycat:sql=select * from mycat_sharding_table /insert into TPG_1103871274989387776 values ('客户1','1065033023961645057','1') 2019-03-08 12:13:15.693 DEBUG c.p.e.s.c.m.m.insert : ==> Parameters: 2019-03-08 12:13:15.727 DEBUG c.p.e.s.c.m.m.insert : <== Updates: 0 2019-03-08 12:13:15.728 DEBUG c.p.e.s.c.m.m.insert : ==> Preparing: /!mycat:sql=select * from mycat_sharding_table /insert into TPG_1103871274989387776 values ('客户9','1065033023961624578','2') 2019-03-08 12:13:15.728 DEBUG c.p.e.s.c.m.m.insert : ==> Parameters: 2019-03-08 12:13:15.734 DEBUG c.p.e.s.c.m.m.insert : <== Updates: 0 2019-03-08 12:13:15.735 DEBUG c.p.e.s.c.m.m.execute : ==> Preparing: /!mycat:sql=select * from mycat_sharding_table */create table TPC_1103871274989387777 as select t0.cust_no,t2.group_no from CUS_BAS_PERSON t0 inner join CUS_BAS_CERTIFICATE t1 on t1.cust_no = t0.cust_no inner join TPG_1103871274989387776 t2 on t0.CUST_NAME = t2.CUST_NAME and t1.CERT_NO = t2.CERT_NO 2019-03-08 12:13:15.735 DEBUG c.p.e.s.c.m.m.execute : ==> Parameters: 2019-03-08 12:13:15.736 ERROR c.p.e.s.p.m.e.s.EcifSuspectServiceImpl :
Error updating database. Cause: java.sql.SQLException: Could not retrieve transation read-only status server The error may involve com.pactera.ecc.share.common.mapper.DatabaseMapper.execute-Inline The error occurred while setting parameters SQL: /*!mycat:sql=select * from mycat_sharding_table */create table TPC_1103871274989387777 as select t0.cust_no,t2.group_no from CUS_BAS_PERSON t0 inner join CUS_BAS_CERTIFICATE t1 on t1.cust_no = t0.cust_no inner join TPG_1103871274989387776 t2 on t0.CUST_NAME = t2.CUST_NAME and t1.CERT_NO = t2.CERT_NO Cause: java.sql.SQLException: Could not retrieve transation read-only status server
; ]; Could not retrieve transation read-only status server; nested exception is java.sql.SQLException: Could not retrieve transation read-only status server
从日志看出几点问题: 1、数据插入成功,但是返回的影响记录数却是0: 2019-03-08 12:13:15.648 DEBUG c.p.e.s.c.m.m.insert : ==> Preparing: /*!mycat:sql=select * from mycat_sharding_table */insert into TPG_1103871274989387776 values ('客户28','1065033023961649179','0') 2019-03-08 12:13:15.648 DEBUG c.p.e.s.c.m.m.insert : ==> Parameters: 2019-03-08 12:13:15.693 DEBUG c.p.e.s.c.m.m.insert : <== Updates: 0
2、TPG_1103871274989387776表创建成功,并且成功插入数据后,无法select,原因应该是事务隔离级别的问题: 2019-03-08 12:13:15.735 DEBUG c.p.e.s.c.m.m.execute : ==> Preparing: /*!mycat:sql=select * from mycat_sharding_table */create table TPC_1103871274989387777 as select t0.cust_no,t2.group_no from CUS_BAS_PERSON t0 inner join CUS_BAS_CERTIFICATE t1 on t1.cust_no = t0.cust_no inner join TPG_1103871274989387776 t2 on t0.CUST_NAME = t2.CUST_NAME and t1.CERT_NO = t2.CERT_NO 2019-03-08 12:13:15.735 DEBUG c.p.e.s.c.m.m.execute : ==> Parameters: 2019-03-08 12:13:15.736 ERROR c.p.e.s.p.m.e.s.EcifSuspectServiceImpl :
Error updating database. Cause: java.sql.SQLException: Could not retrieve transation read-only status server The error may involve com.pactera.ecc.share.common.mapper.DatabaseMapper.execute-Inline The error occurred while setting parameters SQL: /*!mycat:sql=select * from mycat_sharding_table */create table TPC_1103871274989387777 as select t0.cust_no,t2.group_no from CUS_BAS_PERSON t0 inner join CUS_BAS_CERTIFICATE t1 on t1.cust_no = t0.cust_no inner join TPG_1103871274989387776 t2 on t0.CUST_NAME = t2.CUST_NAME and t1.CERT_NO = t2.CERT_NO Cause: java.sql.SQLException: Could not retrieve transation read-only status server
; ]; Could not retrieve transation read-only status server; nested exception is java.sql.SQLException: Could not retrieve transation read-only status server
以上问题,不管我在server.xml中如何配置以下配置项,都会存在。 <mycat:server xmlns:mycat="http://io.mycat/">http://io.mycat/%22%3E
false 3
</mycat:server>
以上问题,直接连接Oracle单库执行没有问题。
请问,应该如何设置MyCAT,才能在数据批量处理时,友好的支持Oracle,解决Could not retrieve transation read-only status server的问题。
请问,你的前端是用mysql协议去连mycat的吗? 我想用oracle的tns或oracle的jdbc去连mycat,但是总是报错:
1个mycat后面接了2个oracle实例 tnsping mycat 提示,sqlplus 登录提示,pl/sql 登录提示,都是 TNS-12569: TNS:packet checksum failure
jdbc连接mycat提示 Size Data Unit (sdu) mismatch
有知道jdbc怎么连mycat(oracle)的吗?
― You are receiving this because you authored the thread. Reply to this email directly, view it on GitHubhttps://github.com/MyCATApache/Mycat-Server/issues/2141#issuecomment-481074243, or mute the threadhttps://github.com/notifications/unsubscribe-auth/AL1ekiZvORWH9coepmyPwqTOzlCA6aVbks5ve_ddgaJpZM4bkoj6.
非常感谢,我再考虑一下。
您好,您这个问题解决了么?我现在也是遇到了这个问题,在写入单库时没有问题,写入MyCat就会报这个错