【问题标题】:datapump_exp_full_database role is missing缺少 datapump_exp_full_database 角色
【发布时间】:2018-08-09 17:31:07
【问题描述】:

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

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

Screenshot of the roles

更新: 我尝试使用新创建的用户导出,我已授予 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: 无效的文件操作

【问题讨论】:

  • 您使用如此古老的 Oracle 版本是否有特定原因?
  • Oracle 中的目录dpump_dir 是否存在并指向现有目录?操作系统用户 oracle 是否对操作系统目录具有必要的权限?
  • 我必须使用这个版本,因为我因情况没有其他选择
  • “无法打开日志文件”听起来好像您没有将 WRITE 权限授予用户 XYZ。你是否?作为 SYS,你会grant read, write on directory dpump_dir to xyz
  • 我已经在 dpump_dir 目录上授予用户 WRITE 和 READ 权限

标签: oracle centos6


【解决方案1】:

我相信你错了。角色被命名为EXP_FULL_DATABASEIMP_FULL_DATABASE(没有“datapump_”前缀)。

如果它们不存在,这些角色是通过运行CATEXP.SQL 创建的(您应该能够在磁盘上找到该文件)。

更多关于Administering user Privileges的信息。

【讨论】:

  • 是这样吗?我正在尝试导出数据库,我已经将 EXP_FULL_DATABASE 和 IMP_FULL_DATABASE 授予我新创建的用户。我已经制作了导出所需的目录。但仍然没有运气。我也尝试过导出为 SYS
  • OP 是正确的——角色确实有DATAPUMP 前缀(参见docs.oracle.com/database/121/SUTIL/…)。但是,OP 使用的是 Oracle 10g - 这些角色可能已在更高版本中引入。
  • @Frank,这就是为什么我的链接指向 10g 文档,该文档显示这些角色没有 DATAPUMP 前缀。
  • @Littlefoot 你是对的 - 我没有检查你的文档链接,抱歉。
【解决方案2】:

虽然Oracle documentation for version 12 确实提到了DATAPUMP_ 角色,但documentation for version 10(您正在使用)只提到EXP_FULL_DATABASE。所以你的安装可能很好(只是非常非常过时)。

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

你应该检查

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

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

另外,你可能想看看Oracle Base article on data pump in 10g;它包含完整数据库导出的分步说明,其中包括所有必要步骤。

【讨论】:

  • 我已经创建了 dpump_dir,我通过使用 select from all_directories 确保它在那里。我还授予用户(XYZ)写入和读取目录的权限
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-03-20
  • 2018-07-05
  • 2017-07-01
  • 1970-01-01
  • 1970-01-01
  • 2020-02-13
相关资源
最近更新 更多