达梦数据库迁移报:-2106 第1 行附近出现错误无效的表或视图名

第一次做达梦数据库迁移的小伙伴,应该大多会遇到这个问题,网上查了比较多的方法,都介绍的零零散散的,希望这篇文章能够帮助到大家。

从目前我们遇到的情况来看,出现这个问题的原因主要是两个:

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

一、重新设置大小写不敏感

如果是第一个问题,大家可以通过使用系统自带的达梦数据库配置助手,删除数据库实例,再重新创建,具体操作如下:(注意一定要使用root用户

1.1切换到/../dm8/tool目录下,运行./dbca.sh,弹出达梦数据库配置助手,选择“删除数据库实例”(备注:我们使用的是XShell远程连接的服务器,如果在Windows上面运行图形化软件,需要配套安装Xmanager,否则是出现不了下面这个界面的

1.2选择开始,选中数据库实例,我们这里是DMSERVER,下一步

1.3点击完成,即可完成删除(如果提示说需要关闭达梦数据库服务,才能删除实例,可以再开启一个窗口,然后输入命令:systemctl stop DmServiceDMSERVER.service,停止服务)

1.4重新创建新实例有两种方式,第一种命令行方式,第二种还是用图形化方式,运行./dbca.sh

a)命令行方式,切换到/../dm8/bin目录,直接输入命令:

./dminit PATH=/app/dm8/data DB_NAME=DAMENG BLANK_PAD_MODE=1 CASE_SENSITIVE=0 CHARSET=1

参数说明:

PATH指定路径    

DB_NAME数据库名称默认DAMENG

BLANK_PAD_MODE兼容模式是否兼容Oracle 1兼容,0不兼容,默认0

CASE_SENSITIVE标识符大小写敏感, Y、y、1 表示敏感;N、n、0 表示不敏感。默认值为 Y。

CHARSET/UNICODE_FLAG字符集选项。取值:0 代表 GB18030,1 代表 UTF-8,2 代表韩文字符集 EUC-KR。默认为 0

b)图形化方式,这个网上比较多,我们就贴两张图,其他都是按需下一步即可;

二、新创建用户,解决默认模式的问题

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

好了,回归正题~~~

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

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

CREATE USER DMDBA IDENTIFIED BY "密码";

赋于用户权限

GRANT RESOURCE,PUBLIC,VTI,SOI TO DMDBA;

GRANT BACKUP DATABASE,ADMIN JOB TO DMDBA;

2.2重新开始迁移

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

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

指定模式的时候,选择DMDBA

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

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

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

  • 3
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 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、付费专栏及课程。

余额充值