2

我曾经使用“exp”和“imp fromuser touser”以旧方式运行命令来获取 Oracle 数据库备份。现在,我正在尝试使用新命令来备份“expdp”和“impdp”。

脚步:

  1. 在生产服务器上使用带有 schema 参数的 expdp 进行备份。我的用户名是“xxx”(不确定它是否完全导出了过程、函数和视图)。

  2. 现在,首先在我的开发服务器上,我创建了另一个名为“yyy”的用户。我授予用户 'yyy' 目录访问权限并尝试运行命令 impdp,如下所示。

    C:\impdp yyy/yyy remap_schema=xxx:yyy 目录=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 中的另一个用户上恢复。

请帮我。

4

2 回答 2

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 一词,但实际上所有导出和导入模式都需要这些角色,而不仅仅是 Full 模式。)

DATAPUMP_EXP_FULL_DATABASE 角色仅影响导出操作。DATAPUMP_IMP_FULL_DATABASE 角色影响导入操作和使用 Import SQLFILE 参数的操作。这些角色允许执行导出和导入的用户执行以下操作:

•在其架构范围之外执行操作

于 2013-01-24T17:57:31.727 回答
0

我相信,导入用户没有导入数据库目录的权限。在 Import db 中,选择 directory_name,directory_path from dba_directories;它将显示目录名称 sql>grant read,write on directory abc to ;

罗伯逊 Oracle 数据库中小企业 +91-9886321339

于 2013-02-01T05:34:51.147 回答