一.环境说明:
操作系统:windows
数据库版本:DM7
二.现场所发现问题
通过JDBC进行java开发时,很多时候开发环境运行正常,所有功能也都能正常使用,生产环境中却会出现数据库链接异常,数据库链接中断的问题。
生产环境在运行过程中使用达梦数据库Tomcat经常报出网络通信异常的问题,但是使用DM管理工具又能正常连接,造成这个问题可能的原因是1:jdbc连接池配置 。2:dm数据库参数配置。
1检查jdbc连接池,查看是否配置参数过小。
其中
jdbc.initialSize //初始化连接
jdbc.minIdle //没有人用连接的时候,最小闲置的连接个数,设置为0时,表示没有限制。
jdbc.maxIdle //没有人用连接的时候,最大闲置的连接个数,设置为0时,表示没有限制。
jdbc.maxActive //连接池的最大数据库连接数,设为0表示无限制
开发环境中设置的一般都偏小,实际生产环境中需要修改大一点,根据用户数量和自身使用环境进行修改,修改成如下:
2检查DM数据库参数MAX_SESSIONS(系统允许同时连接的最大数,同时还受到license的限制,取二者中较小的值,有效值范围(1~20000)),修改参数大小,达梦数据库安装该参数默认是100,在实际生产应用中可能偏小,需要对参数进行修改。
修改方法一:通过DM控制台工具进行修改。
找到本机dm数据库安装目录,找到tool目录下面的console.exe双加打开:
然后点击左侧,找到需要修改的实例,查找MAX_SESSIONS参数,直接对值进行修改,修改完成之后,点击右下角保存即可。
由于MAX_SESSIONS是静态参数,修改完成后,需要重启数据库服务才能生效,找到tool目录下的dm服务查看器,双击dmservice.exe打开服务查看器:
右键点击修改了参数的实例对应的服务,点击重新启动即可。
修改方法二:找到实例下面dm.ini文件,直接对文件参数进行修改:
右键点击用记事本编辑,找到MAX_SESSIONS参,修改后面数值:
修改完成后,重启数据库实例即可。
2现场进行数据迁移的时候,数据量过大,需要很长时间才能迁移完成,但是又不能影响现场软件使用,可以采取分批迁移,每天在无人使用或者使用量较少的时候迁移部分数据,所有数据迁移完成之后进行重启更新,可以通过sql语句,按照时间或者序号等参数,对数据进行查询迁移,每次完成部分数据的迁移,不影响系统的正常使用。
解决方法如下
在tool目录下,找到dts.exe文件,双击打开DM数据迁移工具:
粗体
DM数据迁移工具打开后,点击新建工程,填写工程名,工程描述,点击确定:
然后点击数据迁移,在迁移上面右键点击,新建迁移,填写迁移名称,迁移描述,点击确定:
新建迁移完成之后,点击新建的迁移任务,下一步:
选择迁移方式,可以对各种数据库之间进行迁移,本次选择DM7–>DM7,点击下一步:
输入数据源数据库信息,点击下一步:
输入目的源数据库数据信息,点击下一步:
选择用一条或者多条查询指定要迁移的数据,点击下一步:
选择迁移查询结果集,然后输入SQL语句(SQL语句可以为一条或者多条),可以自行对库进行判断,采取时间或者其他参数,选择少部分数据,在短时间内可以迁移完成,然后每天抽时间按照批次进行迁移,不影响程序正常使用,也不会耽误迁移时间,点击下一步:
勾选要迁移的模式和对象,点击下一步:
确认迁移信息无误之后,点击完成,等待迁移完成:
以上就是当现场需要迁移数据过多过大,短时间内迁移不完,同时系统也不能长时间停止的情况下,对数据采取分批分段迁移,保证了软件正常运作,也不会影响现场用户正常工作,同时也能完成迁库任务。
上面2个问题是在生产环境中可能遇到的问题,解决办法希望能帮助正在现场实施运维的各位。
文章
阅读量
获赞