首页 > 解决方案 > 缺少 datapump_exp_full_database 角色

问题描述

我是甲骨文的新手。我想尝试导出和导入数据库。为此,我需要 datapump_exp_full_database 和 datapump_imp_full_database。当我尝试将这两个角色都授予用户时,它总是说缺少角色。因此,当我尝试检查 Oracle Enterprise Manager 上的数据泵角色以确保这两个角色都不存在时。我在这里做错了什么?当我尝试授予那里角色时,我已经以 SYS 身份登录。请耐心等待,因为我在这方面真的很新。提前致谢

我在 CentOS 6 32 位上使用 Oracle 10g 以下是我从企业管理器中获得的角色的屏幕截图:

角色截图

更新:我尝试使用新创建的用户导出,我已授予 EXP_FULL_DATABASE 和 IMP_FULL_DATABASE。但还是做不到。一直导出失败。

我已经创建了 dpump_dir 目录。授予用户对 dpump_dir 进行 WRITE 和 READ 的权限 这是我运行的命令及其结果:

[oracle@localhost db_1]$ expdp XYZ/****@testdb01 directory=dpump_dir dumpfile=db_dumpfile.dmp logfile=expdp_dbdump.log FULL=YES;

出口:发布 10.2.0.1.0 - 2018 年 8 月 9 日星期四 2:39:41 生产

版权所有 (c) 2003、2005,甲骨文。版权所有。

连接到:Oracle 数据库 10g 版本 10.2.0.1.0 - 生产 ORA-39002:无效操作

ORA-39070: 无法打开日志文件。

ORA-29283: 无效的文件操作

ORA-06512:在“SYS.UTL_FILE”,第 475 行

ORA-29283: 无效的文件操作

标签: oraclecentos6

解决方案


尽管版本 12 的 Oracle 文档确实提到了DATAPUMP_角色,但版本 10(您正在使用)的文档仅提及EXP_FULL_DATABASE. 所以你的安装可能很好(只是非常非常过时)。

该错误消息ORA-39070: Unable to open the log file.似乎表明文件系统级别存在问题。

你应该检查

  • Oracle中的dpump_dir目录是否存在并指向已有目录: SELECT * FROM ALL_DIRECTORIES

  • 操作系统用户 oracle 是否对该目录具有必要的权限

此外,您可能想查看有关 10g 中数据泵的 Oracle Base 文章;它包含完整数据库导出的分步说明,其中包括所有必要步骤。


推荐阅读