注册
文件夹权限导致达梦备份报错原因分析和建议
培训园地/ 文章详情 /

文件夹权限导致达梦备份报错原因分析和建议

邹勐 2023/08/02 1301 0 0

故障模拟

达梦在手工备份数据库的时候备份集目录必须是唯一的,通常备份的时候在console控制台工具中手工创建备份集目录

1.1创建备份集目录

image.png

1.2指定备份集目录

image.png

1.3备份报错

备份报错的提示无法创建备份文件
image.png

1.4检查文件夹权限

发现/dm8/backup目录下没有刚才创建的20230801的目录。

image.png

2.故障原因分析

初步分析备份失败的原因是console控制台工具中手工创建备份集目录失败导致,但是创建目录失败并没有提示。

2.1日志分析

通过日志分析,发现console控制台工具是root用户运行的,这个因素可能是造成备份失败的原因。
image.png

2.2故障原因分析1

root创建备份集目录即使成功了,生成的备份集权限也是dmdba:dinstall,也是因为没有权限无法在root创建的文件夹中保存。所以无论root是否创建成功备份集目录,备份都将失败。

image.png

2.3疑似遇到bug

2.3.1 dmdba用户执行console报错

console控制台工具推荐使用dmdba用户执行,但是遇到的问题是dmddba用户执行cosole命令报“权限不够”。发现是configuration文件夹中有部分文件所有者是root,导致dmdba用户执行报权限不足无法启动console控制台工具。
image.png

2.3.3分析触发bug的原因

猜测configuration文件夹部分文件是root所有者的原因可能是第一次执行console控制台工具是root执行导致,第一次执行后生成了部分文件,这些文件所有者就成了root。
通过重新安装达梦数据库软件和重新建库,发现第一次执行console控制台工具configuration目录下生成了许多文件,其中有3各文件夹是root权限,dmdba用户正常调用console控制台工具的机器的configuration目录下的文件夹都是dmdba:dinstall权限。
确认了是root第一次执行console控制台工具导致dmdba用户启动console控制台工具报权限不足。

3.解决方案和建议

3.1 解决方案和1:手工创建“备份集目录”

达梦备份无法创建备份文件的报错原因是root执行console控制台工具并且在图形界面中创建“备份集目录”导致,可以root执行console控制台工具,建议“备份集目录”由dmdba用户手工创建。

3.2 解决方案和建议2:避免触发dmdba用户启动console控制台工具报权限不足的bug

由于第一次执行console控制台工具会在configuration中生成部分文件,第一次由root执行会导致configuration文件夹由部分文件所有者是root,最终导致dmdba用户因为权限不足无法启动console控制台,必须由root用户才能console控制台。并且简单的将configuration文件夹所有者设置成dmdba:dinstall因为无法解决dmdba无法启动console的问题。
所以避免触发dmdba用户启动console控制台工具报权限不足的bug的方法是,建议第一次启动console控制台工具必须由dmdba用户来启动。

评论
后发表回复

作者

文章

阅读量

获赞

扫一扫
联系客服