我曾经使用'exp'和'imp fromuser touser来运行命令以旧方式获取Oracle数据库备份。现在,我正在尝试使用新命令来备份'expdp'和'impdp'。
1)在生产服务器上使用带有schema参数的expdp进行备份。我的用户名是'xxx'(不确定它是通过程序,功能和视图完全导出的。)
2)现在,在我的开发服务器上,我首先让其他用户称为“yyy”。我给用户'yyy'提供了目录访问权限,并尝试运行命令impdp,如下所示。
C:\impdp yyy/yyy remap_schema=xxx:yyy directory=abc dumpfile=123.dmp logfile=123.log
现在,我收到如下错误。
Import: Release 11.1.0.6.0 - Production on Thursday, 24 January, 2013 9:53:58
Copyright (c) 2003, 2007, Oracle. All rights reserved.
Connected to: Oracle Database 11g Enterprise Edition Release 11.1.0.6.0 - Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options
ORA-31626: job does not exist
ORA-31633: unable to create master table "yyy.SYS_IMPORT_FULL_05"
ORA-06512: at "SYS.DBMS_SYS_ERROR", line 95
ORA-06512: at "SYS.KUPV$FT", line 978
ORA-01031: insufficient privileges
我是否缺少任何步骤?就像我必须创造工作或任何事情,不确定。基本上我从一个用户那里得到了备份,需要在Oracle的其他用户上进行恢复。
请帮帮我。
答案 0 :(得分:1)
用户yyy将需要适当的权限来创建对象。
请参阅:将对象导入您自己的架构所需的权限。
http://docs.oracle.com/cd/E11882_01/server.112/e22490/original_import.htm#BABFHCBI
另外:
http://docs.oracle.com/cd/E11882_01/server.112/e22490/dp_overview.htm#CJAIBFJG
许多数据泵导出和导入操作要求用户具有DATAPUMP_EXP_FULL_DATABASE角色和/或DATAPUMP_IMP_FULL_DATABASE角色。运行作为数据库创建一部分的标准脚本时,将自动为Oracle数据库定义这些角色。 (请注意,尽管这些角色的名称包含单词FULL,但实际上所有导出和导入模式都需要这些角色,而不仅仅是完整模式。)
DATAPUMP_EXP_FULL_DATABASE角色仅影响导出操作。 DATAPUMP_IMP_FULL_DATABASE角色影响使用Import SQLFILE参数的导入操作和操作。这些角色允许执行导出和导入的用户执行以下操作:
•执行模式范围之外的操作
答案 1 :(得分:0)
我相信,导入用户donot对导入数据库目录有权限。 在Import db中, 从dba_directories中选择directory_name,directory_path; 它将显示目录名称 sql>授予读取,写入目录abc to;
罗伯逊 Oracle数据库中小企业 + 91-9886321339