根据Oracle 论坛上的这篇文章,expdp 可用于导出您自己的模式,而无需任何特殊权限:
这完全取决于您希望该用户能够导出/导入什么。如果所有的用途是导出/导入它们自己的对象,那么它们不需要任何提升的权限。如果您希望该用户能够导出其他模式拥有的对象,那么他们将需要 exp_full_database 并且为了导入,他们将需要 imp_full_database。
但是我就是无法让它工作。需要指定目录对象,否则 expdp 显示错误:
ORA-39145: directory object parameter must be specified and non-null
但创建目录需要CREATE ANY DIRECTORY
系统权限。
那么如何以普通用户的身份导出自己的架构?
创建目录对象和导出/导入是两个不同的操作。目录对象归 SYS 所有。
数据泵导出模式模式
指定目录对象的要求只存在于新
expdp
实用程序中。较旧的exp
工具允许指定绝对路径。我能够在
exp
没有任何特殊权限且不创建任何目录对象的情况下使用我的用户名和密码进行备份。尽管 , 已成功
expdp
,exp
但仍包含在最新版本的 Oracle 中。例如,
expdp
转储看起来像:用户需要创建
DIR01
的目录对象在哪里:CREATE ANY DIRECTORY
exp
将直接接受路径: