为提高效率,提问时请提供以下信息,问题描述清晰可优先响应。
【DM版本】:8
【问题描述】*:
生产系统
java代码执行的sql报出,STANDBY模式下不支持对非临时表或含有lob类型列的表进行增删改操作。
这种是什么原因造成的呢?
确认一下 是用的 服务名连接库的吗?
/etc/dm_svc.conf配置文件中写的服务名,比如
language=(cn)
time_zone=(+480)
DMRWC=(192.168.0.110:5236,192.168.0.120:5236)
[DMRWC]
LOGIN_MODE=(1)
loginStatus=(4)
RW_SEPARATE=(1)
SWITCH_TIME=(300)
SWITCH_INTERVAL=(100)
java程序书写jdbc url
dm://DMRWC?loginMode=1&loginStatus=4
建议单独在url写明后两参数,避免默认参数,直接先连接到主库,后续的查询会自动分发到备库(影子会话漂移)。
主库(主机)支持读写操作。 备库(备机)只支持读操作。
确认数据库模式,可以从管理工具右键管理服务器查看系统概览 , 或者查看视图select * from v$instance; – PRIMARY/STANDBY
主备集群时,确认连接数据是不是使用IP进行连接的。STANDBY模式是备库模式,只可进行查询操作,不可写入。当前连接为备库可能是集群因某些因素发生了切换。