注册
dexpdp 报 “目录对象不存在”问题解决
培训园地/ 文章详情 /

dexpdp 报 “目录对象不存在”问题解决

QMH 2025/11/07 170 0 0

在达梦 DM8 数据库运维中,dexpdp(服务器端逻辑备份工具)是常用的备份利器,但执行备份时指定DIRECTORY参数后,频繁出现 “目录对象不存在” 的警告,导致备份终止。本文结合实际案例,详细拆解报错原因及三种解决方案,帮你快速搞定备份问题。

问题现象:备份时 “目录对象不存在”
使用dexpdp执行全库或模式级备份时,若指定DIRECTORY参数为物理路径(如/dm_backup),系统会抛出如下警告,备份直接终止:
报错的核心原因通常有三类:

  1. 物理目录本身不存在,操作系统中未创建/dm_backup这类指定的物理路径,导致后续无法映射目录对象
  2. 目录对象未注册,物理目录已存在,但未在 DM8 中执行CREATE DIRECTORY注册为 “数据库目录对象”
  3. 权限不足,即使目录对象已创建,当前执行dexpdp的用户(如 SYSDBA)无读写该目录的权限

解决方案:三种方式快速修复
根据实际场景(是否需长期复用目录、是否临时备份),可选择以下三种方案,推荐方案一(规范且长期可用)。
方案一:创建物理目录 + 注册数据库目录对象(推荐)
方案二:使用现有有效目录对象(复用场景)
方案三:不使用 DIRECTORY 参数(临时备份)
若问题仍未解决,若按上述方案操作后仍报错,检查以下两点:
路径拼写是否正确:确认物理目录路径(如/dm_backup)无拼写错误(大小写敏感,Linux 环境需注意);
dmdba用户权限:即使目录对象授权,操作系统层dmdba需有物理目录的读写权限(执行ls -ld /dm_backup确认所有者为dmdba:dinstall);
客户端与服务器配置一致性:若通过客户端执行dexpdp,且使用dm_svc.conf配置了服务名,服务器端需同步配置相同的服务名(避免路径解析不一致)。

评论
后发表回复

作者

文章

阅读量

获赞

扫一扫
联系客服