达梦数据库实操问题集及解决方法

本文详细介绍了DM8数据库图形界面调用失败的解决方法,包括远程连接和本地命令行解决方案。同时,深入探讨了数据库迁移过程中的注意事项,如迁移工具版本、用户权限和大小写敏感问题。此外,还提供了数据库锁和备份还原常见告警的处理策略。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一:DM8图形界面调用失败

1.managerXshell远程连接解决方法:

用root账户运行如下命令:

export  display=IP:0.0    //ip为远程服务器地址

xhost  +                            //授权来显示图形界面

2.本地命令行解决方法

xhost  +                            //授权来显示图形界面

二:DM8数据库迁移

1.迁移工具需要安装在Windows 环境上,linux对图形化处理能力没有windows强。在linux上用DM8迁移工具迁移数据库,在读取源数据库数据表结构时,会出现数据表读取延迟及失败等现象!!!

2.进行数据库迁移时,需要保证DM8迁移工具版本以及DM8数据库版本一致!!!版本差异过大,会造成非必要错误!!!

3.迁移数据库时,注意用户权限,数据库大小写敏感等问题!!!

三:数据库锁

1.用户被锁的情况:用 sysdba 账户登陆,在左侧的导航栏目录,找到【用户】节点,点开 对应用户,通过右键,选择【解锁】该用户即可。
2.删除表时,告警锁超时:先执行commit;命令

四:数据库备份还原常见告警处理

1.缺少本地归档:

打开dm.ini中的归档开关:ARCH_INI=1

2.页大小不匹配,restore error code : -8210     

产生备份文件的数据库的数据文件使用页大小与还原备份文件的数据库的数据文件所使用的页大小不同,必须保证两边的数据文件使用的页大小一致才能正常还原。使用数据库配置助手dbca重现初始化一个库,在设置参数时注意保证两边的页大小一致。

3.大小写区分属性不匹配,restore error code : -8212

数据库大小写敏感问题,保证两边的数据库大小写铭感一致。

4.LENGTH_IN_CHAR属性不匹配,restore error code : -8266

产生备份文件的数据库的LENGTH_IN_CHAR属性与还原备份文件的数据库的LENGTH_IN_CHAR属性不一致,必须保证两边数据库的LENGTH_IN_CHAR属性一致才能正常还原。

 

 

 

 

 

 

 

 

### 达梦数据库导出方法与工具 达梦数据库提供了多种方法和工具来现数据的导出功能。以下是关于 `dmexp` 工具的具体教程以及相关说明。 #### 使用 `dmexp` 导出数据库 `dmexp` 是达梦数据库提供的一种用于导出数据库对象及其数据的命令行工具。它支持按需导出特定表、整个模式甚至整个数据库的内容[^2]。 ##### 基本语法 ```bash ./dexp 用户名/密码@主机:端口 FILE=导出文件路径 LOG=日志文件路径 DIRECTORY=存储目录 [参数选项] ``` - **用户名/密码**: 连接数据库所需的认证信息。 - **主机:端口**: 数据库服务器的位置及监听端口号。 - **FILE**: 指定导出的目标文件位置。 - **LOG**: 记录作过程的日志文件。 - **DIRECTORY**: 存放导出文件和日志文件的目录。 ##### 参数选项 | 参数 | 描述 | |------|------| | FULL=Y/N | 表示是否导出整个数据库 (`Y`: 整个数据库, `N`: 部分对象)[^2] | | OWNER=名称 | 仅导出指定用户的对象 | | TABLES=表名列表 | 只导出某些具体表格 | ###### 示例:导出整个数据库 假设要将运行在 IP 地址为 `192.168.211.6`, 端口为 `5236` 的数据库中的所有对象导出至 `/opt/backup/dexp/dao1.dmp` 文件中,可以执行如下命令: ```bash ./dexp SYSDBA/SYSDBA@192.168.211.6:5236 FILE=/opt/backup/dexp/dao1.dmp LOG=/opt/backup/dexp/dao1.log DIRECTORY=/opt/backup/dexp FULL=Y ``` 此命令会完成以下工作: - 将所有的数据库对象(包括表定义、索引、视图等)导出到 `dao1.dmp` 中; - 同时记录详细的日志信息于 `dao1.log` 文件里。 ###### 示例:导出单个表 如果只需要导出名为 `"PAGETEST"` 的单一表,则可调整命令如下所示: ```bash ./dexp DMUPUSER/123456789@localhost:5236 FILE=pagetest_export.dmp LOG=pagetest_log.log DIRECTORY=./tables TABLES=PAGETEST ``` 这里指定了具体的用户账户 `DMUPUSER` 和对应的密码,并限定了只处理 `"PAGETEST"` 表的数据[^2]。 #### 查找表的物理地址并导出数据页 除了常规的对象级导出外,有时还需要深入到底层去获取某个表的际存储页面内容。这种需求可以通过分析系统元数据结合专用调试手段达成[^1]。 例如,在创建好测试环境之后,通过查询内部字典视图定位目标表所在的磁盘区域,进而利用内置函数或者外部程序提取这些原始块的信息作为备份副本保存下来。 ```sql -- 查询表空间分配情况 SELECT * FROM v$tspace WHERE tname='DMUPUSER.DBF'; -- 获取表际占用范围 SELECT block_id, blocks FROM dba_segments WHERE segment_name='PAGETEST'; ``` 随后依据返回的结果手动计算起始偏移量并通过作系统层面复制相应片段即可获得完整的低级别映像。 --- ###
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值