达梦在手工备份数据库的时候备份集目录必须是唯一的,通常备份的时候在console控制台工具中手工创建备份集目录
备份报错的提示无法创建备份文件
发现/dm8/backup目录下没有刚才创建的20230801的目录。
初步分析备份失败的原因是console控制台工具中手工创建备份集目录失败导致,但是创建目录失败并没有提示。
通过日志分析,发现console控制台工具是root用户运行的,这个因素可能是造成备份失败的原因。
root创建备份集目录即使成功了,生成的备份集权限也是dmdba:dinstall,也是因为没有权限无法在root创建的文件夹中保存。所以无论root是否创建成功备份集目录,备份都将失败。
console控制台工具推荐使用dmdba用户执行,但是遇到的问题是dmddba用户执行cosole命令报“权限不够”。发现是configuration文件夹中有部分文件所有者是root,导致dmdba用户执行报权限不足无法启动console控制台工具。
猜测configuration文件夹部分文件是root所有者的原因可能是第一次执行console控制台工具是root执行导致,第一次执行后生成了部分文件,这些文件所有者就成了root。
通过重新安装达梦数据库软件和重新建库,发现第一次执行console控制台工具configuration目录下生成了许多文件,其中有3各文件夹是root权限,dmdba用户正常调用console控制台工具的机器的configuration目录下的文件夹都是dmdba:dinstall权限。
确认了是root第一次执行console控制台工具导致dmdba用户启动console控制台工具报权限不足。
达梦备份无法创建备份文件的报错原因是root执行console控制台工具并且在图形界面中创建“备份集目录”导致,可以root执行console控制台工具,建议“备份集目录”由dmdba用户手工创建。
由于第一次执行console控制台工具会在configuration中生成部分文件,第一次由root执行会导致configuration文件夹由部分文件所有者是root,最终导致dmdba用户因为权限不足无法启动console控制台,必须由root用户才能console控制台。并且简单的将configuration文件夹所有者设置成dmdba:dinstall因为无法解决dmdba无法启动console的问题。
所以避免触发dmdba用户启动console控制台工具报权限不足的bug的方法是,建议第一次启动console控制台工具必须由dmdba用户来启动。
文章
阅读量
获赞