如何配置Oracle 19c Data Pump目录_数据泵导入导出的环境准备

张开发
2026/4/22 17:15:43 15 分钟阅读
如何配置Oracle 19c Data Pump目录_数据泵导入导出的环境准备
必须先创建DIRECTORY对象并授权CREATE OR REPLACE DIRECTORY dpump_dir AS /u01/app/oracle/dpdump; GRANT READ,WRITE ON DIRECTORY dpump_dir TO scott; 且Oracle进程需有目录读写权限。怎么创建 Data Pump 目录对象DIRECTORYoracle data pump 不是直接读写文件系统路径而是通过数据库内建的 directory 对象做中间映射——没这一步expdp 或 impdp 会直接报错 ora-39002: invalid operation 或更具体的 ora-39070: unable to open the log file。必须由具备 CREATE ANY DIRECTORY 权限的用户通常是 SYSTEM 或 SYS执行CREATE OR REPLACE DIRECTORY dpump_dir AS /u01/app/oracle/dpdump;注意三点/u01/app/oracle/dpdump 是数据库服务器本地路径不是客户端机器路径Oracle 进程通常是 oracle 用户必须对该目录有读写权限chown oracle:oinstall /u01/app/oracle/dpdump chmod 755 /u01/app/oracle/dpdump创建后需授权给实际执行导出/导入的用户比如GRANT READ, WRITE ON DIRECTORY dpump_dir TO scott;为什么不能用 $ORACLE_HOME/rdbms/log 这类默认路径很多人图省事想复用 Oracle 自带目录但 expdp 默认拒绝使用非显式授权的 DIRECTORY哪怕路径存在、权限正确也不行——这是安全机制不是 bug。典型错误现象ORA-39001: invalid argument value ORA-39000: bad dump file specification往往就是因为你传了物理路径如 DUMPFILE/u01/backup/scott.dmp而没配合 DIRECTORY 参数。正确做法只有两个用 DIRECTORY 对象名代替路径前缀DUMPFILEdpump_dir:scott.dmp或在参数文件里写成 directorydpump_dir dumpfilescott.dmp两者必须配套导出时提示 ORA-39171: Job is experiencing a resumable wait这不是权限或路径问题而是 Data Pump 在等空间释放——常见于目标 DIRECTORY 所在文件系统满、或数据库表空间不足。但日志里不会直说“磁盘满了”只会卡在 resumable wait。 Mokker AI AI产品图添加背景

更多文章