我是oracle新手。我想尝试导出和导入数据库。为此,我需要datapump_exp_full_database和datapump_imp_full_database。当我尝试将这两个角色授予用户时,总是说角色丢失。因此,当我尝试检查Oracle Enterprise Manager上的datapump角色以确保时,这两个角色都不存在。我在这里做错了什么?尝试向其中授予角色时,我已经以SYS身份登录。请忍受我,因为我真的很陌生。预先感谢
我在CentOS 6 32位上使用Oracle 10g 这是我从企业管理器中担任的角色的屏幕截图:
已更新: 我尝试使用新创建的用户进行导出,该用户已授予EXP_FULL_DATABASE和IMP_FULL_DATABASE。但是仍然做不到。它一直使导出失败。
我已经创建了dpump_dir目录。授予用户对dpump_dir进行写入和读取的权限 这是我运行的命令及其结果:
[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。保留所有权利。
已连接到:Oracle数据库10g版本10.2.0.1.0-生产 ORA-39002:操作无效
ORA-39070:无法打开日志文件。
ORA-29283:无效的文件操作
ORA-06512:位于“ SYS.UTL_FILE”的第475行
ORA-29283:无效的文件操作
答案 0 :(得分:-1)
我相信你错了。角色分别命名为EXP_FULL_DATABASE
和IMP_FULL_DATABASE
(不带“ datapump_”前缀)。
如果不存在,则通过运行CATEXP.SQL
创建这些角色(您应该能够在磁盘上找到文件)。
有关Administering user Privileges的更多信息。
答案 1 :(得分:-1)
尽管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;它包含有关完整数据库导出的分步说明,其中包括所有必要步骤。