一、问题一
处理方法1:
1、修改dm.ini文件中的 PSEG_RECV = 0 跳过回滚段参数 和 PORT_NUM 端口参数(以防止数据库启动以后有应用继续往表中写数据。)重启数据库。
2、启动数据库后按照正常停库的方法进行停库,使用 dmdbchk 工具对数据库中坏表进行查找搜索。
3、启动数据库,找到损坏的表,备份建表语句,更改坏表名称,重新创建此表。(如果有备份或者归档情况下,使用备份和归档对此表进行还原。不能使用原表中的数据进行还原)联系应用厂家进行表数据还原。
4、关闭数据库,改回dm.ini文件中的 PSEG_RECV 和 PORT_NUM 参数。正常启动数据库服务。
处理方法2:(此操作谨慎使用,如果使用无法回头)
1、当跳过回滚段仍然无法启动数据库时。使用 DMmdf 工具查看原rudo日志的 db_magic 魔数值。从新初始化一个新的实例,把新生成的 rudo 日志复制到原文件中,使用DMmdf工具更换为原rudo 的魔数值。启动数据库。
二、问题二
Oracle迁移到DM后报错:违反唯一性约束
解决办法、 一个实际环境上碰到的情况,唯一索引在Oracle上可以创建但是在达梦上不可以,经过对比数据,发