Oracle expdp/impdp工具使用

article/2025/10/2 15:12:29

Oracle数据泵

 

一、数据泵的作用:

        1.实现逻辑备份和逻辑恢复

        2.在数据库用户之间移动对象

        3.在数据库之间移动对象

        4.实现表空间转移

 

 

二 、数据泵的特点与传统导出导入的区别

       1.EXP和IMP是客户段工具程序, EXPDP和IMPDP是服务端的工具程序

       2.EXP和IMP效率比较低. EXPDP和IMPDP效率高

       3.数据泵功能强大并行、过滤、转换、压缩、加密、交互等等

       4.数据泵不支持9i以前版本, EXP/IMP短期内还是比较适用

       5.同exp/imp数据泵导出包括导出表,导出方案,导出表空间,导出数据库4种方式.

 

三、DATA PUMP的体系结构:

 

四、EXPDP语法介绍:

 

数据泵导出实用程序提供了一种用于在 Oracle 数据库之间传输
数据对象的机制。该实用程序可以使用以下命令进行调用:

   示例: expdp scott/tiger DIRECTORY=dmpdir DUMPFILE=scott.dmp

您可以控制导出的运行方式。具体方法是: 在 'expdp' 命令后输入
各种参数。要指定各参数, 请使用关键字:

   格式:  expdp KEYWORD=value 或 KEYWORD=(value1,value2,...,valueN)
   示例: expdp scott/tiger DUMPFILE=scott.dmp DIRECTORY=dmpdir SCHEMAS=scott
               或 TABLES=(T1:P1,T1:P2), 如果 T1 是分区表

USERID 必须是命令行中的第一个参数。

关键字               说明 (默认)
------------------------------------------------------------------------------
ATTACH                连接到现有作业, 例如 ATTACH [=作业名]。
COMPRESSION           减小有效的转储文件内容的大小
                      关键字值为: (METADATA_ONLY) 和 NONE。
CONTENT               指定要卸载的数据, 其中有效关键字为:
                      (ALL), DATA_ONLY 和 METADATA_ONLY。
DIRECTORY             供转储文件和日志文件使用的目录对象。
DUMPFILE              目标转储文件 (expdat.dmp) 的列表,
                      例如 DUMPFILE=scott1.dmp, scott2.dmp, dmpdir:scott3.dmp。
ENCRYPTION_PASSWORD   用于创建加密列数据的口令关键字。
ESTIMATE              计算作业估计值, 其中有效关键字为:
                      (BLOCKS) 和 STATISTICS。
ESTIMATE_ONLY         在不执行导出的情况下计算作业估计值。
EXCLUDE               排除特定的对象类型, 例如 EXCLUDE=TABLE:EMP。
FILESIZE              以字节为单位指定每个转储文件的大小。
FLASHBACK_SCN         用于将会话快照设置回以前状态的 SCN。
FLASHBACK_TIME        用于获取最接近指定时间的 SCN 的时间。
FULL                  导出整个数据库 (N)。
HELP                  显示帮助消息 (N)。
INCLUDE               包括特定的对象类型, 例如 INCLUDE=TABLE_DATA。
JOB_NAME              要创建的导出作业的名称。
LOGFILE               日志文件名 (export.log)。
NETWORK_LINK          链接到源系统的远程数据库的名称。
NOLOGFILE             不写入日志文件 (N)。
PARALLEL              更改当前作业的活动 worker 的数目。
PARFILE               指定参数文件。
QUERY                 用于导出表的子集的谓词子句。
SAMPLE                要导出的数据的百分比;
SCHEMAS               要导出的方案的列表 (登录方案)。
STATUS                在默认值 (0) 将显示可用时的新状态的情况下,
                      要监视的频率 (以秒计) 作业状态。
TABLES                标识要导出的表的列表 - 只有一个方案。
TABLESPACES           标识要导出的表空间的列表。
TRANSPORT_FULL_CHECK  验证所有表的存储段 (N)。
TRANSPORT_TABLESPACES 要从中卸载元数据的表空间的列表。
VERSION               要导出的对象的版本, 其中有效关键字为:
                      (COMPATIBLE), LATEST 或任何有效的数据库版本。

下列命令在交互模式下有效。
注: 允许使用缩写

命令               说明
------------------------------------------------------------------------------
ADD_FILE              向转储文件集中添加转储文件。
CONTINUE_CLIENT       返回到记录模式。如果处于空闲状态, 将重新启动作业。
EXIT_CLIENT           退出客户机会话并使作业处于运行状态。
FILESIZE              后续 ADD_FILE 命令的默认文件大小 (字节)。
HELP                  总结交互命令。
KILL_JOB              分离和删除作业。
PARALLEL              更改当前作业的活动 worker 的数目。
                      PARALLEL=<worker 的数目>。
START_JOB             启动/恢复当前作业。
STATUS                在默认值 (0) 将显示可用时的新状态的情况下,
                      要监视的频率 (以秒计) 作业状态。
                      STATUS[=interval]
STOP_JOB              顺序关闭执行的作业并退出客户机。
                      STOP_JOB=IMMEDIATE 将立即关闭
                      数据泵作业。

 

五、IMPDP语法介绍:

数据泵导入实用程序提供了一种用于在 Oracle 数据库之间传输
数据对象的机制。该实用程序可以使用以下命令进行调用:

     示例: impdp scott/tiger DIRECTORY=dmpdir DUMPFILE=scott.dmp

您可以控制导入的运行方式。具体方法是: 在 'impdp' 命令后输入
各种参数。要指定各参数, 请使用关键字:

     格式:  impdp KEYWORD=value 或 KEYWORD=(value1,value2,...,valueN)
     示例: impdp scott/tiger DIRECTORY=dmpdir DUMPFILE=scott.dmp

USERID 必须是命令行中的第一个参数。

关键字               说明 (默认)
------------------------------------------------------------------------------
ATTACH                连接到现有作业, 例如 ATTACH [=作业名]。
CONTENT               指定要加载的数据, 其中有效关键字为:
                      (ALL), DATA_ONLY 和 METADATA_ONLY。
DIRECTORY             供转储文件, 日志文件和 sql 文件使用的目录对象。
DUMPFILE              要从 (expdat.dmp) 中导入的转储文件的列表,
                      例如 DUMPFILE=scott1.dmp, scott2.dmp, dmpdir:scott3.dmp。
ENCRYPTION_PASSWORD   用于访问加密列数据的口令关键字。
                      此参数对网络导入作业无效。
ESTIMATE              计算作业估计值, 其中有效关键字为:
                      (BLOCKS) 和 STATISTICS。
EXCLUDE               排除特定的对象类型, 例如 EXCLUDE=TABLE:EMP。
FLASHBACK_SCN         用于将会话快照设置回以前状态的 SCN。
FLASHBACK_TIME        用于获取最接近指定时间的 SCN 的时间。
FULL                  从源导入全部对象 (Y)。
HELP                  显示帮助消息 (N)。
INCLUDE               包括特定的对象类型, 例如 INCLUDE=TABLE_DATA。
JOB_NAME              要创建的导入作业的名称。
LOGFILE               日志文件名 (import.log)。
NETWORK_LINK          链接到源系统的远程数据库的名称。
NOLOGFILE             不写入日志文件。
PARALLEL              更改当前作业的活动 worker 的数目。
PARFILE               指定参数文件。
QUERY                 用于导入表的子集的谓词子句。
REMAP_DATAFILE        在所有 DDL 语句中重新定义数据文件引用。
REMAP_SCHEMA          将一个方案中的对象加载到另一个方案。
REMAP_TABLESPACE      将表空间对象重新映射到另一个表空间。
REUSE_DATAFILES       如果表空间已存在, 则将其初始化 (N)。
SCHEMAS               要导入的方案的列表。
SKIP_UNUSABLE_INDEXES 跳过设置为无用索引状态的索引。
SQLFILE               将所有的 SQL DDL 写入指定的文件。
STATUS                在默认值 (0) 将显示可用时的新状态的情况下,
                      要监视的频率 (以秒计) 作业状态。
STREAMS_CONFIGURATION 启用流元数据的加载
TABLE_EXISTS_ACTION   导入对象已存在时执行的操作。
                      有效关键字: (SKIP), APPEND, REPLACE 和 TRUNCATE。
TABLES                标识要导入的表的列表。
TABLESPACES           标识要导入的表空间的列表。
TRANSFORM             要应用于适用对象的元数据转换。
                      有效的转换关键字: SEGMENT_ATTRIBUTES, STORAGE
                      OID 和 PCTSPACE。
TRANSPORT_DATAFILES   按可传输模式导入的数据文件的列表。
TRANSPORT_FULL_CHECK  验证所有表的存储段 (N)。
TRANSPORT_TABLESPACES 要从中加载元数据的表空间的列表。
                      仅在 NETWORK_LINK 模式导入操作中有效。
VERSION               要导出的对象的版本, 其中有效关键字为:
                      (COMPATIBLE), LATEST 或任何有效的数据库版本。
                      仅对 NETWORK_LINK 和 SQLFILE 有效。

下列命令在交互模式下有效。
注: 允许使用缩写

命令               说明 (默认)
------------------------------------------------------------------------------
CONTINUE_CLIENT       返回到记录模式。如果处于空闲状态, 将重新启动作业。
EXIT_CLIENT           退出客户机会话并使作业处于运行状态。
HELP                  总结交互命令。
KILL_JOB              分离和删除作业。
PARALLEL              更改当前作业的活动 worker 的数目。
                      PARALLEL=<worker 的数目>。
START_JOB             启动/恢复当前作业。
                      START_JOB=SKIP_CURRENT 在开始作业之前将跳过
                      作业停止时执行的任意操作。
STATUS                在默认值 (0) 将显示可用时的新状态的情况下,
                      要监视的频率 (以秒计) 作业状态。
                      STATUS[=interval]
STOP_JOB              顺序关闭执行的作业并退出客户机。
                      STOP_JOB=IMMEDIATE 将立即关闭
                      数据泵作业。

 

六、实践操作:

   1. 使用目录:DATA_PUMP_DIR

SQL> select * from dba_directories;OWNER                          DIRECTORY_NAME
------------------------------ ------------------------------
DIRECTORY_PATH
----------------------------------------------------------------
SYS                            ADMIN_DIR
C:\ADE\aime_10.2_nt_push\oracle/md/adminSYS                            DATA_PUMP_DIR
E:\admin\orcl\dpdump\SYS                            WORK_DIR
C:\ADE\aime_10.2_nt_push\oracle/work
SQL> grant read, write on directory data_pump_dir to scott;授权成功。

 

 

 

   2.EXPDP用法举例:

       

1)按用户导

expdp scott/tiger@orcl schemas=scott dumpfile=expdp.dmp DIRECTORY=dpdata1;

2)并行进程parallel

expdp scott/tiger@orcl directory=dpdata1 dumpfile=scott3.dmp parallel=40 job_name=scott3

3)按表名导

expdp scott/tiger@orcl TABLES=emp,dept dumpfile=expdp.dmp DIRECTORY=dpdata1;

4)按查询条件导

expdp scott/tiger@orcl directory=dpdata1 dumpfile=expdp.dmp Tables=emp query='WHERE deptno=20';

5)按表空间导

expdp system/manager DIRECTORY=dpdata1 DUMPFILE=tablespace.dmp TABLESPACES=temp,example;

6)导整个数据库

expdp system/manager DIRECTORY=dpdata1 DUMPFILE=full.dmp FULL=y;

   3.IMPDP用法举例:

         

1)导到指定用户下

impdp scott/tiger DIRECTORY=dpdata1 DUMPFILE=expdp.dmp SCHEMAS=scott;

2)改变表的owner

impdp system/manager DIRECTORY=dpdata1 DUMPFILE=expdp.dmp TABLES=scott.dept REMAP_SCHEMA=scott:system;

3)导入表空间

impdp system/manager DIRECTORY=dpdata1 DUMPFILE=tablespace.dmp TABLESPACES=example;

4)导入数据库

impdb system/manager DIRECTORY=dump_dir DUMPFILE=full.dmp FULL=y;

5)追加数据

impdp system/manager DIRECTORY=dpdata1 DUMPFILE=expdp.dmp SCHEMAS=system TABLE_EXISTS_ACTION

 

  4. 案例:将数据库A中HR用户下所有对象导入到SCOTT用户下:

     1)导出HR方案:

 

     expdp system/admin@orcl schemas=hr dumpfile=hr.dmp DIRECTORY=data_pump_dir nologfle=y;

 

 

 

    2)将hr.dmp导入SCOTT方案:

     

启动 "SYSTEM"."SYS_IMPORT_FULL_01":  system/******** dumpfile=hr.dmp directory=data_pump_dir remap_schema=hr:scott 
处理对象类型 SCHEMA_EXPORT/USER
ORA-31684: 对象类型 USER:"SCOTT" 已存在
处理对象类型 SCHEMA_EXPORT/SYSTEM_GRANT
处理对象类型 SCHEMA_EXPORT/ROLE_GRANT
处理对象类型 SCHEMA_EXPORT/DEFAULT_ROLE
处理对象类型 SCHEMA_EXPORT/TABLESPACE_QUOTA
处理对象类型 SCHEMA_EXPORT/PRE_SCHEMA/PROCACT_SCHEMA
处理对象类型 SCHEMA_EXPORT/SEQUENCE/SEQUENCE
处理对象类型 SCHEMA_EXPORT/TABLE/TABLE
处理对象类型 SCHEMA_EXPORT/TABLE/TABLE_DATA
. . 导入了 "SCOTT"."COUNTRIES"                         6.085 KB      25 行
. . 导入了 "SCOTT"."DEPARTMENTS"                       6.632 KB      27 行
. . 导入了 "SCOTT"."EMPLOYEES"                         15.76 KB     107 行
. . 导入了 "SCOTT"."JOBS"                              6.609 KB      19 行
. . 导入了 "SCOTT"."JOB_HISTORY"                       6.585 KB      10 行
. . 导入了 "SCOTT"."LOCATIONS"                         7.710 KB      23 行
. . 导入了 "SCOTT"."REGIONS"                           5.289 KB       4 行
处理对象类型 SCHEMA_EXPORT/TABLE/INDEX/INDEX
处理对象类型 SCHEMA_EXPORT/TABLE/CONSTRAINT/CONSTRAINT
处理对象类型 SCHEMA_EXPORT/TABLE/INDEX/STATISTICS/INDEX_STATISTICS
处理对象类型 SCHEMA_EXPORT/TABLE/COMMENT
处理对象类型 SCHEMA_EXPORT/PROCEDURE/PROCEDURE
处理对象类型 SCHEMA_EXPORT/PROCEDURE/ALTER_PROCEDURE
处理对象类型 SCHEMA_EXPORT/TABLE/CONSTRAINT/REF_CONSTRAINT
处理对象类型 SCHEMA_EXPORT/TABLE/TRIGGER
处理对象类型 SCHEMA_EXPORT/TABLE/STATISTICS/TABLE_STATISTICS
作业 "SYSTEM"."SYS_IMPORT_FULL_01" 已经完成, 但是有 1 个错误 (于 15:32:01 完成)


     3)效果就是HR下面的对象都复制到了SCOTT用户下:

 

    

SQL> select * from scott.employees where rownum<10;EMPLOYEE_ID FIRST_NAME           LAST_NAME                 EMAIL
----------- -------------------- ------------------------- ------------------100 Steven               King                      SKING101 Neena                Kochhar                   NKOCHHAR102 Lex                  De Haan                   LDEHAAN103 Alexander            Hunold                    AHUNOLD104 Bruce                Ernst                     BERNST105 David                Austin                    DAUSTIN106 Valli                Pataballa                 VPATABAL107 Diana                Lorentz                   DLORENTZ108 Nancy                Greenberg                 NGREENBE已选择9行。

 

 

 

 

 

 

 

---------------------------------------------------------------

made by dylan.

    

 


http://chatgpt.dhexx.cn/article/owqD3k9k.shtml

相关文章

impdp导入dmp文件

impdp命令在cmd下直接用&#xff0c;不必登录oracle。只能导入expdp导出的dmp文件。 expdp导出的时候&#xff0c;需要创建 DIRECTORY 导出什么表空间&#xff0c;导入也要什么表空间。 导出什么用户&#xff0c;导入也要什么用户。 如果没有要新建。 从杭州服务器expdp导出…

解决:impdp导入.dmp文件

首先创建一个新用户&#xff0c;保证和导出dmp文件时的用户名&#xff0c;密码以及对应的表空间名相同。 不多说&#xff0c;直接上图 &#xff08;基本只用改下面备注中文部分&#xff0c;根据需求对应替换就行&#xff09; 1.创建用户 create user 用户 identified by 口…

配置NAT实现外网主机访问内网服务器(Cisco)

假设你是某公司的网络管理员&#xff0c;公司只向ISP申请了一个公网IP&#xff0c;现公司的网站在内网&#xff0c;要求在互联网也可以访问公司网站。 192.168.1.2是Web服务器的IP地址&#xff08;内网地址&#xff09;。通过分析可知&#xff0c;需要将内网服务器IP转换成外网…

内网服务器设置代理访问外网

内网服务器设置代理访问外网 背景 首先需要两台云服务器&#xff0c;其中服务器A无公网IP&#xff0c;服务器B有公网IP。 AB公网IP/110.40.255.180内网IP172.17.64.11172.17.64.17 配置A代理 直接配置环境变量即可。 cd /etc/profile.d/ vim proxy.sh进入proxy.sh文件后&…

外网访问内网的FTP服务器

1. 背景简介 最近研究如何在内网搭架FTP服务器&#xff0c;同时要保证外网&#xff08;公网&#xff09;能访问的到。终成正果&#xff0c;但走了一些弯路&#xff0c;在此记下&#xff0c;以飨后人。 2. 基础知识 FTP 使用 2 个端口&#xff0c;一个数据端口和一个命令端口…

如何让外网访问本地WEB服务器

目前很多网站开发者安装了IIS或者Apache等Web服务器&#xff0c;可以把自己电脑配置成一以路由为中心的内网服务器。 本地服务器在内网测试是绰绰有余的&#xff0c;但是有些项目需要演示给异地的客户验收&#xff0c;而又赶不及把自己的网站放到服务器上面&#xff0c;这时我们…

内网主机通过外网地址访问内网服务器

网关设备一般都具有NAT功能,分别为源地址NAT、目标地址NAT,这两种功能应用比较普遍,各厂商都有很标准的实现方式。但是对于“内网主机通过外网地址访问内网服务器”这一场景,各厂商的实现不通,下面就这个场景,分别说一下各厂商的实现。1.华为2.华三内网用户通过NAT地址访…

关于外网访问本地服务器

我在网上查到的外网访问本地服务器的方式有两种&#xff1a; 第一种是通过内网穿透的技术实现的。 第二种是通过申请域名&#xff0c;申请空间&#xff0c;申请云服务器&#xff0c;搭建网站实现的。 ①内网穿透的方式实现外网访问本地服务器 选择合适的内网穿透的工具 花…

【Linux-Windows】关于外网访问内网服务器

【Linux-Windows】关于外网访问内网服务器 1、背景2、内网穿透 1、背景 有时候&#xff0c;我们搭建的服务器系统是在内网&#xff0c;内网即内部局域网。 内网可以访问外网&#xff0c;但是外网不能访问内网&#xff0c;外网即互联网或者称为公网。 内网的设备往往组成模式如…

ssh外网访问内网服务器

现在有这样一个情况&#xff0c;实验室有自己的服务器&#xff08;内网&#xff09;&#xff0c;并且有相关老师进行维护&#xff08;公网&#xff09;&#xff0c;我们可以在内网用内网ip访问服务器&#xff0c;如果我们在家里只能通过公网进行登录。但是我在实验室有一个小服…

公网访问本地内网web服务器【内网穿透】

随着科技进步和时代发展&#xff0c;计算机及互联网已经深深融入我们的生活和工作&#xff0c;与之对应的&#xff0c;对计算机及网络的探索&#xff0c;让其为我们的生活增添色彩和乐趣&#xff0c;也成为很多人的业余爱好&#xff0c;而自行发布一个网站&#xff0c;就是这一…

搭建可通过外网访问的内网服务器

这是本人&#xff0c;第一次写博客&#xff0c;文采不好&#xff0c;技术也菜鸟&#xff0c;请不要见怪。 前一段时间裸辞了&#xff0c;于是开始广投简历。可是现实是非常的残酷&#xff0c;年底了面试的通知很少。想着是不是自己的简历上干货太少了&#xff0c;不如把自己之…

华为防火墙USG6000V---内网访问外网---外网访问内网服务器(NAT服务器)示例配置

目录 一、配置要求 二、配置步骤 1. ping通防火墙接口IP地址的条件 2. 内网ping通外网终端的条件 3. 内网ping通DMZ&#xff08;内网服务器&#xff09;的条件 三、命令解析 一、配置要求 内网可以ping通防火墙&#xff1b;内网可以访问外网&#xff1b;外网可以访问内网…

外网访问内网服务器配置方法

前提需要有固定IP 路由器必须得是通过固定IP上网&#xff0c;才能通过外网访问内网服务器 登录路由器 在地址栏输入192.168.1.1或192.168.0.1。初始密码为admin&#xff0c;若忘记密码请重置路由器。这里以TP-Link WR842N为例。 点击应用管理选择虚拟服务器 界面不一样的话&…

华为云内网服务器通过公网服务器访问外网

虽然真的太简单&#xff0c;但我还是踩坑了。尴尬&#xff0c;所以写了这个文档记录一下。 场景&#xff1a;一台没有外网的node服务器&#xff0c;通过另一台有外网的master服务器&#xff0c;来访问外网。&#xff08;这里使用的是华为云&#xff09; node192.168.0.99maste…

内网访问外网方案

目录 正文背景 方案介绍 双网卡方案简介&#xff1a; 私有地址转换技术方案简介&#xff1a; 参考博客&#xff1a; 正文背景 今天面试&#xff0c;面试要求提供一个内网访问外网的方案&#xff0c;对于服务器方面我不是很了解&#xff0c;所以现在正好也是一个有目的性的…

通过外网访问内网服务器

通过外网访问内网服务器 ———————————————— 版权声明&#xff1a;本文为CSDN博主「Chaos Code」的原创文章&#xff0c;遵循CC 4.0 BY-SA版权协议&#xff0c;转载请附上原文出处链接及本声明。 原文链接&#xff1a;https://blog.csdn.net/jinzhichaoshuipin…

通过路由器端口映射实现外网IP访问内网服务器

1.确认路由器的公网IP是不是真的公网IP(特别重要&#xff0c;如果不是可以不用看后面的了) 通过www.ip138.com网站可以查询当前网络的公网IP&#xff0c;再进入路由器控制界面查看wan口IP和公网IP是否相同&#xff0c;如果不同&#xff0c;大概率是私网IP&#xff08;服务商在…

从外网访问局域网服务器的六种方法

目录 1 概况2 为什么局域网的服务器无法在外网访问3 外网访问局域网的方法3.1 端口映射3.1.1 如何获得公网IP3.1.2 公网IP是动态的怎么办3.1.2.1 申请固定IP3.1.2.2 域名服务3.1.2.2.1 申请域名3.1.2.2.1 使用路由器进行域名DDNS服务3.1.2.2.1 使用花生壳进行域名DDNS服务 3.1.…

外网访问内网web

要实现外网访问内网Web应用程序&#xff0c;您需要使用一些技术和工具。以下是一些可能有用的方法&#xff1a; 1. 端口映射&#xff1a;您可以在内部网络中设置端口映射&#xff0c;使得外部网络可以访问您的Web服务器。这个过程可以通过路由器或者其他网络设备完成。例如&…