【问题标题】:Proper Syntax for Oracle IMPDP REMAP_DIRECTORYOracle IMPDP REMAP_DIRECTORY 的正确语法
【发布时间】:2019-02-22 22:02:23
【问题描述】:

我正在 Windows 10 平台上安装 Oracle XE 18c。我正在遵循https://docs.oracle.com/en/database/oracle/oracle-database/18/xeinw/exporting-and-importing-data-oracle-database-xe-11.2-and-18c.html#GUID-6C55327E-2701-426B-A55A-3A576DC78FCE 中的说明,我正在使用第 9.2 节 - 为 Oracle Application Express 用户导出和导入数据。 我从原始系统中导出了数据,并且成功完成了。我将转储文件 (DB11G.dmp) 传输到文件夹 C:\SS_BACKUPS 中的新系统。 在原始源系统上,文件位于:C:\oraclexe\app\oracle\oradata\XE 在新的目标系统(不同的硬件)上,文件将位于:C:\app\product\18.0.0\oradata\XE 在新的目标系统上,我在 SQLPLUS 中执行了以下命令:

sqlplus SYS AS SYSDBA
SQL> CREATE DIRECTORY BACKUP_DIR AS 'C:\SS_BACKUPS';
SQL> GRANT READ, WRITE ON DIRECTORY BACKUP_DIR TO SYSTEM;
SQL> GRANT IMP_FULL_DATABASE to SYSTEM;

然后我从特权 DOS 提示符运行命令:

impdp system/(my_password)@localhost/xepdb1 full=Y REMAP_DIRECTORY='C:\oraclexe\app\oracle\oradata\XE\':'C:\app\product\18.0.0\oradata\XE\' directory=BACKUP_DIR dumpfile=DB11G.dmp logfile=impdpDB11G.log

当我执行它时,我得到了错误:UDI-00014: invalid value for parameter, 'remap_directory'

我理解 REMAP_DIRECTORY 的结构是 SOURCE:TARGET 知道为什么我会收到该错误吗? 感谢您查看此内容。

【问题讨论】:

    标签: oracle impdp


    【解决方案1】:

    根据文档,您必须具有 DATAPUMP_IMP_FULL_DATABASE 角色才能使用 REMAP_DIRECTORY 选项。

    更新 1

    根据此处的文档:

    https://docs.oracle.com/en/database/oracle/oracle-database/18/sutil/datapump-import-utility.html#GUID-5DA84A72-B71C-4491-9DD8-7075D9A4B04F

    根据您的操作系统,可能需要转义字符 如果在为此指定值时使用引号 范围。 Oracle 建议您将此参数放在 参数文件,它可以减少转义字符的数量 否则你需要在命令行上。

    因此,它说尝试将 REMAP_DIRECTORY 选项放在参数文件中,而不是消除有关转义路径等的任何歧义。

    我认为在您的情况下,路径中的冒号可能需要从外壳中转义或隐藏。

    【讨论】:

    • 感谢您的建议。可悲的是,我尝试了它并得到了相同的结果。
    • 您使用的是什么版本的 impdp?检查impdp help=yes
    • 并且还尝试将值用双引号引起来,根据 Oracle 文档,例如REMAP_DIRECTORY="'c:\the_dir\':'c:\the_new_dir\'".
    • 嗨,腾格。参数文件有效。我创建了一个名为 impdp_remap_directory.par 的文件。内容为:userid=system(my_password)@localhost/xepdb1 full=Y REMAP_DIRECTORY="'C:\oraclexe\app\oracle\oradata\XE\':'C:\app\product\18.0.0\oradata\ XE\'" directory=BACKUP_DIR dumpfile=DB11G.dmp logfile=impdpDB11G.log IMPDP 运行良好,但导致 818 错误。似乎该过程没有首先创建架构,从而导致了一系列错误。我可能只是尝试将 IMPDP 用于我拥有的一个模式,然后安装 Apex 18.2。感谢您的帮助。
    • 我的 RUN 语句是:impdp parfile=impdp_remap_directory.par
    猜你喜欢
    • 2018-10-25
    • 2016-07-27
    • 1970-01-01
    • 2021-02-19
    • 2015-02-09
    • 2011-10-11
    • 1970-01-01
    • 2021-11-25
    • 2021-04-12
    相关资源
    最近更新 更多