我是甲骨文新手。我想尝试导出和导入数据库。为了做到这一点,我需要datapump_exp_full_database和datapump_imp_full_database。当我尝试将这两个角色都授予用户时,系统总是显示缺少角色。因此,当我尝试检查Oracle Enterprise Manager上的datapump角色以确保不存在时,两个角色都不在那里。伙计们,我做错什么了?当我尝试授予这些角色时,我已经以SYS身份登录。请容忍我,因为我真的是个新手。提前感谢
我在32位CentOS 6上使用Oracle10g以下是我从企业经理那里担任的角色的屏幕截图:
更新:我尝试使用一个新创建的用户导出,我已经授予该用户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 Database 10g版本10.2.0.1.0 - Production ORA-39002:无效操作
ORA-39070:无法打开日志文件。
ORA-29283:无效的文件操作
ORA-06512:在"SYS.UTL_FILE",第475行
ORA-29283:无效的文件操作
发布于 2018-08-08 13:29:58
我相信你弄错了。角色被命名为EXP_FULL_DATABASE和IMP_FULL_DATABASE (不带"datapump_“前缀)。
如果它们不存在,则通过运行CATEXP.SQL创建这些角色(您应该能够在磁盘上找到该文件)。
有关Administering user Privileges的更多信息。
发布于 2018-08-09 16:14:11
尽管Oracle documentation for version 12确实提到了DATAPUMP_角色,但是documentation for version 10 (您正在使用的)只提到了EXP_FULL_DATABASE。所以你的安装可能是好的(只是非常,非常过时)。
错误消息ORA-39070: Unable to open the log file.似乎指明了文件系统级别的问题。
你应该检查一下
Oracle中的oracle目录是否存在并指向现有目录:SELECT * FROM ALL_DIRECTORIES
此外,您可能希望查看Oracle Base article on data pump in 10g;它包含完整数据库导出的分步说明,其中包含所有必要的步骤。
https://stackoverflow.com/questions/51738017
复制相似问题