达梦数据库迁移报错:“无效的表或视图”。达梦迁移注意事项!

原始springboot迁移达梦数据库后,出现“无效的表或视图”,怎么解决

原因:

  1. 新建数据库实例的时候,没有开启大小写不敏感;
  2. 迁移数据库的时候,选择模式所有者是SYSDBA,而SYSDBA模式下面默认已经有了一个模式SYSDBA了,所以通过SYSDBA登录,对我们数据库执行sql语句的时候,就会报上面的错误;原因是因为达梦数据库设计就是这样的,支持一个用户管理多个模式(即数据库)。然后如果是默认的模式,执行sql的时候,数据库会默认在表名前加上”模式名.”,比如默认数据库是test,我们查询test输入的语句是select * from table1。系统执行的时候,默认执行的是select * from test.table1一:创建数据库的时候重新设置

    二、新创建用户,解决默认模式的问题
    一开始我们说明了产生这个问题的原因,是因为一个用户下面多个默认,然后默认模式不是我们迁移的模式,就会引起这个问题。很多人会说,那我将我们默认的模式设为自己的数据库不就能解决嘛。对这样可以解决,但是治标不治本。达梦数据库,支持通过命令语句去设置默认的模式,但是如果服务器重启,需要重新进行设置(这个我们也是从网上找的帖子是这么说的)。其次,如果你们公司有多个数据库,那大家不得抢这个默认的模式,抢的打架。为每个数据库新创建一个管理用户,每个用户只管理一个模式(数据库),那这个肯定是默认模式呀。(当前表所在的模式(理解为mysql的数据库)是ESO,我们登录账户是SYSDBA,两者不一致时,需要写上模式作为前缀。若一致则不需要写(用ESO账号登录时))

    好了,回归正题~~~

    2.1现在我们来创建用户,输入如下命令:

    创建DMDBA用户(这个用户名最好跟你的数据库名称一致)

    CREATE USER DMDBA IDENTIFIED BY "密码";或者直接在操作界面右键创建

  3. 赋于用户权限

  4. GRANT RESOURCE,PUBLIC,VTI,SOI TO DMDBA;

    GRANT BACKUP DATABASE,ADMIN JOB TO DMDBA;

    2.2重新开始迁移

    通过管理工具,新建模式DMDBA

    设置所有者为我们新创建的用户名

    指定模式的时候,选择DMDBA

    最后下一步下一步完成迁移。

    然后退出当前登录的SYSDBA用户,用创建的DMDBA用户登录达梦管理工具,执行语句就不会报错了。

    好了,就到这里,温馨提醒一下,记得修改你们的连接池配置,改为DMDBA用户哈。

  • 4
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
达梦数据库是一种支持大规模数据存储和处理的数据库管理系统。要将MySQL数据库迁移达梦数据库,我们需要以下步骤: 1.备份MySQL数据库:首先,我们需要使用MySQL提供的备份工具对数据库进行备份,以确保数据的完整性和安全性。 2.安装达梦数据库:在目标服务器上安装达梦数据库,并确保数据库可以正常工作。根据操作系统的要求进行安装,一般包括下载安装文件、运行安装程序和配置数据库参数。 3.转换数据:使用达梦数据库提供的数据迁移工具(如dmt2dmd)将MySQL数据库中的数据转换为达梦数据库所需的格式。这个工具可以将MySQL的视图、索引、触发器等对象转换为达梦数据库可以识别的格式,保持数据的一致性。 4.迁移数据:将转换后的数据导入到达梦数据库中。使用达梦提供的数据导入工具(如dmloader)将数据文件导入到达梦数据库中,确保数据的完整性和一致性。 5.测试和验证:迁移完成后,对达梦数据库进行测试和验证,以确保迁移过程没有出现问题,并且数据可以正常访问和操作。在此过程中,可以检查数据的完整性、查询性能和应用程序的稳定性。 6.切换应用程序:在确认达梦数据库工作正常后,可以通过更新应用程序的数据库连接信息,将应用程序指向达梦数据库。在切换之前,可以先进行一段时间的并行测试,确保应用程序在新的数据库上运行正常。 通过以上步骤,我们可以成功地将MySQL数据库迁移达梦数据库迁移过程需要仔细规划和执行,以确保数据的完整性和一致性,并减少应用程序的停机时间。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值