标签: impdp

如何使用 expdp 和 impdp 命令传输数据?

我是 Oracle 菜鸟,我的目的是将所有数据和元数据从一个架构传输到 Oracle 数据库中的另一个架构。我打算使用数据泵expdpimpdp命令。我对此有疑问:

  • 我可以在没有用户的情况下创建目标模式还是应该先创建一个用户(也可以创建模式)?
  • 我可以使用 SYS(作为 sysdba)帐户执行expdpimpdp命令吗?这是首选方法吗?
  • 该语句是否从模式中获取所有对象(数据和元数据)并将它们移动到不同的模式中?

    expdp \"/ as sysdba\" schemas=<schemaname> directory=dumpdir dumpfile=<schemaname>.dmp logfile=expdp_<schemaname>.log  
    
    Run Code Online (Sandbox Code Playgroud)

    那么目标模式是impdp命令后源模式的精确副本吗?

schema oracle export impdp expdp

29
推荐指数
1
解决办法
17万
查看次数

如何查找数据泵 dmp 文件的模式名称?

我获得了一个 DMP 数据泵导出文件,可以导入到我的本地 Oracle 实例中。我试过运行这个命令行:

impdp full=Y 目录=DATA_PUMP_DIR dumpfile=MyDumpFile.dmp logfile=import.log

我收到错误:

ORA-31655: 没有为作业选择数据或元数据对象

ORA-39154: 来自外部模式的对象已从导入中删除

并且不会导入任何数据。

从我在谷歌上搜索到的,一个可能的原因是我需要指定remap_schama. 但我不知道 dmp 文件中架构的名称是什么。有什么简单的方法可以查到吗?

编辑:我没有找到解决这个问题,但我没有找到一个解决办法......我就找到了谁做的DMP的家伙,并且了模式名出来了。remap_schema根据他的定义指定,Hey Presto!

oracle oracle-11g-r2 datapump impdp

8
推荐指数
1
解决办法
2万
查看次数

impdp 卡在索引导入上

impdp 导入卡在:

处理对象类型 SCHEMA_EXPORT/TABLE/INDEX/FUNCTIONAL_INDEX/INDEX

你怎么能调试这个?

oracle oracle-10g impdp

7
推荐指数
2
解决办法
2万
查看次数

如何使用impdp替换和覆盖Oracle中的所有现有对象以进行完整的数据库导入?

我想将数据库中的所有现有对象,而不仅仅是表,替换到我当前的数据库中。

我使用参数full=yes作为系统用户运行 expdp ,我datapump_imp_full_database在以 sysdba 登录时授予了系统用户,从我从中导入的实例。我使用参数在目标数据库上运行了impdp table_exists_action=replace,但是(可以理解)只替换了现有表,而没有替换过程、函数、视图。

是否有table_exists_action所有对象的等价物?如果没有,我怎样才能做到这一点?

这两个数据库都是 Windows 10 上的 Oracle 12c。

oracle datapump impdp expdp oracle-12c

7
推荐指数
2
解决办法
4万
查看次数

尝试使用 impdp 复制架构

我正在尝试使用 oracle 的 IMPDP 工具完整地复制 SCHEMA。我已经设置了一个指向自身的数据库链接,并且该链接工作正常。然后我运行这个:

impdp username/password@instancename schemas=TARGET_SCHEMA 
      network_link=LINK_BACK_TO_TARGET 
      directory=HOME_DIR logfile=IMPDP_COPY_BACKUP.log 
      remap_schema=TARGET_SCHEMA:SOURCE_SCHEMA 
      TRANSFORM=STORAGE:n:table;
Run Code Online (Sandbox Code Playgroud)

在我的两个测试系统中一切正常,但在 Oracle 11gR2 生产中,它开始移动表并产生以下结果:

Processing object type SCHEMA_EXPORT/TABLE/TABLE
ORA-39126: Worker unexpected fatal error in 
    KUPW$WORKER.UPDATE_TD_BASE_PO_INFO [UPDATE 
    "ADMIN"."SYS_IMPORT_SCHEMA_04" mtu SET 
    mtu.base_process_order = NVL((SELECT mts1.process_order 
    FROM "ADMIN"."SYS_IMPORT_SCHEMA_04" mts1 WHERE 
    mts1.process_order > 0 AND mts1.duplicate = 0 
    AND mts1.object_schema = mtu.base_object_schema 
    AND mts1.object_name = mtu.base_object_name AND 
    mts1.object_type = mtu.base_object_type AND 
    mts1.processing_state != :1 ), 
    (-1000 - (SELECT MIN(mts2.process_order) FROM 
    "ADMIN"."SYS_IMPORT_SCHEMA_04" mts2 WHERE 
    mts2.process_order > 0 AND mts2.duplicate = 0 …
Run Code Online (Sandbox Code Playgroud)

oracle oracle-11g-r2 impdp

5
推荐指数
1
解决办法
2052
查看次数

Oracle 12c:在 Linux 上安装 expdp 和 impdp

Linux 的默认 Oracle 安装没有附带 expdp 和 impdp 命令行工具。我在 Oracle 的网站上找不到它们。我怎么能安装它们?

oracle impdp expdp oracle-12c

3
推荐指数
1
解决办法
2万
查看次数

Oracle 数据泵,暂停作业

我目前有一个针对相当大的架构 (2TB) 运行的 impdp 作业,但遇到了错误。源数据库有一列比目标数据库大。这会导致 ORA-02374 和 ORA-12899 错误。这导致导入作业在这个表上爬行。

我正在尝试克服错误,我能想到的最佳解决方案是修复表定义,或告诉导入作业跳过当前表。我目前无法修复表定义,因为数据泵作业已锁定表。

有没有办法暂停作业,进行列修改,然后恢复导入?或者,有没有办法告诉工作跳过当前表,然后继续?这将允许在作业完成后返回,修复表定义,然后仅重新导入一个表。

ETA:这是导入中的最后几个表之一,我宁愿不杀死整个事情并重新开始。

oracle oracle-11g-r2 impdp

3
推荐指数
1
解决办法
6180
查看次数

Oracle expdp 将 INDEXES 置于 LOGGING 模式

我在架构 LARRY 中创建了一个表

create global temporary table TT1 (N number);
create index TT_IX1 on TT1 (N);
Run Code Online (Sandbox Code Playgroud)

然后导出它,并尝试在架构 LARRY2 中导入:

expdp LARRY/LARRY   directory=DATA_PUMP_DIR dumpfile=01.dmp logfile=01.dmp.exp tables=TT1
impdp LARRY2/LARRY2 directory=DATA_PUMP_DIR dumpfile=01.dmp logfile=01.dmp.imp remap_schema=LARRY:LARRY2 transform=DISABLE_ARCHIVE_LOGGING:Y,oid:N
Run Code Online (Sandbox Code Playgroud)

但是我在 Oracle 12c 中遇到了一个错误:

Processing object type TABLE_EXPORT/TABLE/TABLE
Processing object type TABLE_EXPORT/TABLE/INDEX/INDEX
ORA-39083: Object type INDEX:"LARRY2"."TT_IX1" failed to create with error:
ORA-14451: unsupported feature with temporary table
Failing sql is:
 ALTER INDEX "LARRY2"."TT_IX1"  LOGGING
Run Code Online (Sandbox Code Playgroud)

我也检查过

SELECT force_logging FROM v$database;
Run Code Online (Sandbox Code Playgroud)

它给NO.

我试图在互联网上搜索这个问题,但没有找到答案。我很好奇为什么 Oracle 尝试将 INDEXES(以及 TEMPORARY 表的索引)置于 …

oracle datapump impdp

2
推荐指数
1
解决办法
2155
查看次数

将模式数据(表、权限)导出到同一数据库上的另一个模式

我想从一个模式 schema1 中获取数据并将其放入模式 2 这应该很容易做到,但我已经搜索了 oracle 文档,但找不到办法做到这一点。

oracle oracle-11g-r2 impdp expdp

0
推荐指数
1
解决办法
3万
查看次数

用户创建和导入转储的权限

我在创建 Oracle 10.2.0.4 实例和从其他环境导入转储时遇到问题。我在 AIX 下使用 Oracle。

我使用了 ksh 脚本,除了创建用户外,一切正常。

之后我创建了默认用户,用于连接到数据库和其他工作模块。尝试导入转储时出现问题。

export ORACLE_SID=HISTO;
sqlplus / as sysdba
CREATE USER ANC IDENTIFIED BY "xxxxxxx";         
grant connect, create session, imp_full_database to ANC;
commit;
Run Code Online (Sandbox Code Playgroud)

尝试导入 de dump 时的错误如下。 用于加载转储的命令nohup impdp ANC/xxxxxx DIRECTORY=MIG11G DUMPFILE=dump_histo.expdp LOGFILE=impdp_29102013.log schemas=HISTO &

nohup.out 文件的输出:

Import: Release 10.2.0.4.0 - 64bit Production on Lundi, 23 Décembre, 2013 18:51:22

Copyright (c) 2003, 2007, Oracle.  All rights reserved.

Connected to: Oracle Database 10g Enterprise Edition Release 10.2.0.4.0 - 64bit Production
With …
Run Code Online (Sandbox Code Playgroud)

oracle-10g users impdp

0
推荐指数
1
解决办法
3824
查看次数

标签 统计

impdp ×10

oracle ×9

expdp ×4

oracle-11g-r2 ×4

datapump ×3

oracle-10g ×2

oracle-12c ×2

export ×1

schema ×1

users ×1