首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

impdp导入命令

impdp 是 Oracle 数据库中的一个实用程序,用于将数据从一个数据库导入到另一个数据库。它是 Data Pump 导入工具的一部分,提供了比传统的 imp 工具更高的性能和更多的功能。

基础概念

impdp 使用 Data Pump 技术,通过并行处理和直接路径加载来提高数据导入的速度。它可以导入表、视图、过程、函数等数据库对象,以及它们的数据和元数据。

相关优势

  1. 高性能:利用并行处理和直接路径加载技术。
  2. 灵活性:支持多种导入选项,如表空间传输、网络链接导入等。
  3. 可扩展性:可以处理大量数据,并且可以通过调整参数来优化性能。
  4. 安全性:支持加密和压缩,保护数据在传输过程中的安全。

类型

  • 全库导入:导入整个数据库。
  • 表空间导入:导入特定的表空间。
  • 用户导入:导入特定用户的所有对象。
  • 表导入:导入特定的表。

应用场景

  • 数据库迁移:将数据从一个数据库迁移到另一个数据库。
  • 备份恢复:作为备份恢复策略的一部分。
  • 数据同步:在不同环境之间同步数据。
  • 测试环境搭建:快速搭建测试环境。

常见问题及解决方法

问题1:导入过程中出现 ORA-39002 错误

原因:通常是由于指定的目录对象不存在或没有权限访问。

解决方法

代码语言:txt
复制
CREATE DIRECTORY mydir AS '/path/to/directory';
GRANT READ, WRITE ON DIRECTORY mydir TO username;

问题2:导入速度慢

原因:可能是由于并行度设置不当或网络带宽限制。

解决方法

代码语言:txt
复制
impdp username/password@database DIRECTORY=mydir DUMPFILE=mydump.dmp PARALLEL=4

问题3:导入时出现数据不一致

原因:可能是由于源数据库和目标数据库的结构不一致。

解决方法: 确保两个数据库的结构完全相同,或者在导入前进行必要的结构调整。

示例命令

以下是一个基本的 impdp 导入命令示例:

代码语言:txt
复制
impdp username/password@database DIRECTORY=mydir DUMPFILE=mydump.dmp TABLE_EXISTS_ACTION=REPLACE
  • username/password@database:数据库连接信息。
  • DIRECTORY=mydir:指定数据泵目录对象。
  • DUMPFILE=mydump.dmp:指定要导入的转储文件。
  • TABLE_EXISTS_ACTION=REPLACE:如果表已存在,则替换它。

通过理解这些基础概念和常见问题,您可以更有效地使用 impdp 工具进行数据导入操作。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

impdp命令简介

这节内容为impdp命令的介绍 1....调用Data Pump Import 我们使用impdp命令来调用Data Pump Import工具 我们指定Import的参数来控制其行为 参数可以在命令行和或参数文件中指定 2.1 如何调用Import...后面的章节分别介绍这三个方式 命令行 参数文件 交互式命令 2.2 Data Pump Import模式 注意目标数据库JOB的权限是由导入时用户决定的,即dba_jobs的LOG_USER 和PRIV_USER...Mode 导入属于schema的所有数据,使用schema参数 如果schema中对象引用的对象不包含在schema参数中,则该引用的对象不导入 Table Mode 该模式导入指定的表,使用tables...IMPDP过滤方式 Data Filters 使用QUERY 和 SAMPLE 参数控制需要导入的数据 每种方式在同一个JOB中只能指定一次 Metadata Filters 使用EXCLUDE and

1.9K30
  • 数据泵IMPDP 导入工具的使用

    --================================= --数据泵IMPDP 导入工具的使用 --================================= 数据的导入导出时数据库经常处理的作业之一...,Oracle 提供了IMP和IMPDP以及SQL*Loader等工具来完成数据的导入工作,其中IMP服务于早期的9i之前的版本,在10g及后续版本,Oracle 提供了数据泵高速导入工具,本文主要介绍...二、IMPDP支持的接口及导入模式 导入接口 使用命令行带参数的 使用命令行带参数文件 使用命令行交互 使用database console(GUI) 几种常用的导入模式 导入表 导入方案...导入表空间 导入数据库 传输表空间模式 三、演示如何导入 1.关于查看impdp的帮助,使用以下命令 [oracle@oradb ~]$ impdp -?...或[oracle@oradb ~]$ impdp -help 前者提供帮助信息并开启命令行交互模式 2.

    1.4K10

    impdp导入中碰到的两个问题

    字符集不同,源库字符集是GBK,目标库字符集是UTF-8 导入命令: test/test directory=exp_dump dumpfile=test.dmp logfile=test.log remap_schema...(TEST.FK_ITE_REF_PSR) violated - parent key not found 由于有些表之间是存在主外键关联的,expdp导出的时候选择了data_only仅导出数据,impdp...使用10g以上版本提供的expdp/impdp数据泵导入导出工具,较以往的exp/imp工具,无论是在参数的可选择性上,还是速度和压缩比上,都有了不小的改进,提供更为方便快速的数据导入导出方法给我们。...导入导出可能碰到最多的问题,字符集转换算是其中之一,要明确导入导出数据对字符集的依赖程度,才能确保数据导入导出的正确。 3....对于有主外键关联的数据,如果选择data_only仅导出数据,那么可在导入前禁止约束,这样导入过程不会受到主外键关联的影响,导入后可以恢复约束,保证约束的正确。

    1.6K30

    OGG迁移大库注意要点之impdp导入产生大量归档

    目前在该银行的OGG迁移流程中,旧数据的迁移使用imp/impdp两种方式,对于源库:目标库字符集相同的情况使用expdp/impdp,字符集不同的情况使用exp/imp。...问题: 对于大库的impdp导入,最需要注意的就是数据量太大,导入时在目标库短时间产生大量归档日志,导致整个CDB的归档日志空间被撑满,影响CDB上的所有PDB。...重点:impdp导入 由于要导入的数据量很大,在导入表的阶段会产生大量归档日志,所以需要在导入前检查目标库各个主库备库的归档空间是否足够。...): delete noprompt archivelog all completed before 'sysdate -0.5/24' 开始导入: 编辑导入配置文件: vi impdp_dbname...PARFILE=impdp_dbname_20210801120323.par 开始导入后,人工监控归档使用情况,依照上文给出的查询和删除命令进行归档删除。

    91850

    impdp命令行模式参数解析-前篇

    这节内容为impdp命令的介绍 1....调用Data Pump Import 我们使用impdp命令来调用Data Pump Import工具 我们指定Import的参数来控制其行为 参数可以在命令行和或参数文件中指定 2.1 如何调用Import...后面的章节分别介绍这三个方式 命令行 参数文件 交互式命令 2.2 Data Pump Import模式 注意目标数据库JOB的权限是由导入时用户决定的,即dba_jobs的LOG_USER 和PRIV_USER...Mode 导入属于schema的所有数据,使用schema参数 如果schema中对象引用的对象不包含在schema参数中,则该引用的对象不导入 Table Mode 该模式导入指定的表,使用tables...IMPDP过滤方式 Data Filters 使用QUERY 和 SAMPLE 参数控制需要导入的数据 每种方式在同一个JOB中只能指定一次 Metadata Filters 使用EXCLUDE and

    93620

    expdp impdp 用法详解

    二、使用expdp导出文件前的设置: 1、创建逻辑目录,该命令不会在操作系统创建真正的目录,最好以system等管理员创建(我登录的是root用户),选取linux上一个实际目录,或者新建一个目录,这里我选的是...1、导到指定用户下 如果想导入的用户已经存在,并且导入用户名和导出的用户名不一致: [oracle@iZm5e5f4jmz3fgd9f0qhikZ ~]$ impdp user2/pass2 directory...=user1:user2 user2会自动建立,其权限和使用的表空间与user1相同,但此时用user2无法登录,必须修改user2的密码 如果想导入的用户已经存在,并且导入用户名和导出的用户名一致:...logfile=implog.log 如果需要覆盖或追加数据,则需要添加table_exists_action命令: 例如,导入到指定用户下,并覆盖原有表数据: [oracle@iZm5e5f4jmz3fgd9f0qhikZ...,有报错的查找下代码原因,也可能是因为导入的原因需要重新编辑并运行下即可: 备注:密码有特殊字符的加上引号:’username/”psdf$@FS”‘ 如果要导入的数据库没有表空间,则在impdp语句后加上参数

    11.7K20

    impdp数据泵导入使用table_exists_action=SKIP存在的问题及如何接着导入后续的索引等信息

    整个impdp导入过程是先创建所有表,然后再插入数据,而不是边建表边插入数据。...,导入源数据 REPLACE:删掉现有表,并重建,导入源数据 3、若需要重新做导入操作,而不导入之前已经导入的数据,那么可以使用如下的办法: -- 导出导入 expdp system/lhr DIRECTORY...=lhr -- 若报错需要从头开始导入(重复入库,比较慢) impdp system/lhr DIRECTORY=DATA_PUMP_DIR dumpfile=a.dmp schemas=lhr...table_exists_action=REPLACE -- 若报错重复导入跳过之前已经导入的表 impdp system/lhr DIRECTORY=DATA_PUMP_DIR dumpfile...整个impdp导入过程是先创建所有表,然后再插入数据,而不是边建表边插入数据。

    1.9K30

    Oracle简单常用的数据泵导出导入(expdpimpdp)命令举例(下)

    《Oracle简单常用的数据泵导出导入(expdp/impdp)命令举例(上)》 《Oracle简单常用的数据泵导出导入(expdp/impdp)命令举例(下)》 目的:指导项目侧自行进行简单的数据泵迁移工作...根据《简单常用的数据泵导出导入(expdp/impdp)命令举例(上)》的expdp导出的二进制文件进行impdp导入。 1.首先需要创建Directory 2.创建表空间和用户及赋权 3....使用impdp导入用户数据 3.1 导入scott用户的元数据,且不包含统计信息; 3.2 导入scott用户的数据; 3.3 导入scott用户下的emp,dept表及数据; 3.4 导入scott用户下的...特殊需求 4.1 如果导入环境的用户不同; 4.2 如果导入环境的表空间也不同; 由于我这里的实验环境还是导出的那台主机,所以需要先模拟出一个导入的环境,你实际导入并不需要。...如果是在2.4基础上直接导入,会因为emp,dept表已经存在导致导入过程中会由于table_exists_action参数的默认选项是skip,从而跳过emp,dept表数据的导入,如下: $ impdp

    2.1K20
    领券