--数据泵导出 在本例中,我们将用 Data Pump 来导出一个大表 T , Data Pump 在服务器端使用文件处理来创建和读取文件; 因此,目录作为位置使用。在这种情况下,我们将使用文件系统 F:\DUMPFILE 来保存转储文件。 sys@ORCL> create directory dump_dir as 'F:\DUMPFILE'; 目录已创建。 sys@ORCL> grant read, write on directory dump_dir to admin; 授权成功。 --这里需要在数据库服务器上手工创建F:\DUMPFILE文件夹 接下来,我们将导出数据: expdp admin1/admin1 tables=T directory=dump_dir dumpfile=T.dmp logfile=export_t.log job_name=CASES_EXPORT 让我们来分析该命令的各个部分。用户 ID/ 口令组合、表和转储文件参数的意义是显而易见的。 注意这里的DUMP文件是在服务器(不是客户端)上创建的。位置由目录参数值 dump_dir 指定, 它指向之前创建的 F:\DUMPFILE。 默认下,这个进程还在DUMP目录参数指定的位置上创建一个日志文件export_t.log(同样在服务器上)。 若不指定logfile参数,Oracle仍会创建一个默认为export.log的日志文件 注意上面的参数 job_name,这是个特殊的参数,在原来的导出中没有。所有的 Data Pump 工作都通过作业来完成。 Data Pump 作业 — 与 DBMS 作业不同 — 只是服务器进程,它代表主进程处理数据。主进程(称为主控制进程)通过高级队列 (AQ) 来协调这项工作; 它通过在运行期内创建的一个特殊的表(称为主表)来实现这个目的。在我们的例子中,如果您在 expdp 运行时检查用户 ADMIN 的模式 , 您将注意到一个表 CASES_EXPORT 的存在(对应参数 job_name )。当 expdp 结束时,这个表被丢弃。 --导出日志如下: Export: Release 10.2.0.1.0 - Production on 星期五, 03 1月, 2014 17:43:32 Copyright (c) 2003, 2005, Oracle. All rights reserved. ;;; 连接到: Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - Production With the Partitioning, OLAP and Data Mining options 启动 "ADMIN1"."CASES_EXPORT": admin1 tables=T directory=dump_dir dumpfile=T.dmp logfile=export_t.log job_name=CASES_EXPORT 正在使用 BLOCKS 方法进行估计... 处理对象类型 TABLE_EXPORT/TABLE/TABLE_DATA 使用 BLOCKS 方法的总估计: 524 MB 处理对象类型 TABLE_EXPORT/TABLE/TABLE 处理对象类型 TABLE_EXPORT/TABLE/STATISTICS/TABLE_STATISTICS . . 导出了 "ADMIN1"."T" 453.4 MB 4637568 行 已成功加载/卸载了主表 "ADMIN1"."CASES_EXPORT" ****************************************************************************** ADMIN1.CASES_EXPORT 的转储文件集为: F:\DUMPFILE\T.DMP 作业 "ADMIN1"."CASES_EXPORT" 已于 17:44:34 成功完成 数据库监控 您还可以从数据库视图获得关于运行的 Data Pump 作业的更多信息。监控作业的主视图是 DBA_DATAPUMP_JOBS, 它将告诉您在作业上有多少个工作进程(列 DEGREE )在工作。另一个重要的视图是 DBA_DATAPUMP_SESSIONS, 当它与上述视图和 V$SESSION 结合时将给出主前台进程的会话 SID 。 admin1@ORCL> SELECT * FROM DBA_DATAPUMP_JOBS; OWNER_NAME JOB_NAME OPERATION JOB_MODE STATE DEGREE ATTACHED_SESSIONS DATAPUMP_SESSIONS ---------- --------------- ---------- ---------- ---------- ---------- ----------------- ----------------- ADMIN1 CASES_EXPORT EXPORT TABLE EXECUTING 1 1 3 --导出的SESSION admin1@ORCL> SELECT * FROM DBA_DATAPUMP_SESSIONS; OWNER_NAME JOB_NAME SADDR SESSION_TYPE ---------- --------------- -------- ------------- ADMIN1 CASES_EXPORT BF73F224 DBMS_DATAPUMP ADMIN1 CASES_EXPORT BF728D4C MASTER ADMIN1 CASES_EXPORT BF727A84 WORKER --找出DATAPUMP对应的SID admin1@ORCL> SELECT D.SESSION_TYPE,SID, SERIAL# 2 FROM V$SESSION S, DBA_DATAPUMP_SESSIONS D 3 WHERE S.SADDR = D.SADDR; SESSION_TYPE SID SERIAL# -------------- ---------- ---------- DBMS_DATAPUMP 148 40 MASTER 157 98 WORKER 140 73 --导出监控 当 Data Pump Export (DPE) 运行时,按 Control-C;它将阻止消息在屏幕上显示,但不停止导出进程本身。 相反,它将显示 DPE 提示符(如下所示)。进程现在被认为处于 “ 交互式 ” 模式: Export> 或者重新attach命令重新 连接到JOB expdp admin1/admin1 attach=CASES_EXPORT --连接后如下: C:\Users\Administrator>expdp admin1/admin1 attach=CASES_EXPORT Export: Release 10.2.0.1.0 - Production on 星期五, 03 1月, 2014 18:31:32 Copyright (c) 2003, 2005, Oracle. All rights reserved. 连接到: Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - Production With the Partitioning, OLAP and Data Mining options 作业: CASES_EXPORT 所有者: ADMIN1 操作: EXPORT 创建者权限: FALSE GUID: 2DFE3CBF5F9B4B108A1C8C2B688F5186 起始时间: 星期五, 03 1月, 2014 18:30:57 模式: TABLE 实例: orcl 最大并行度: 1 EXPORT 个作业参数: 参数名 参数值: CLIENT_COMMAND admin1 tables=T directory=dump_dir dumpfile=T.dmp logfile=export_t.log job_name=CASES_EXPORT 状态: EXECUTING 处理的字节: 0 当前并行度: 1 作业错误计数: 0 转储文件: F:\DUMPFILE\T.DMP 写入的字节: 8,192 Worker 1 状态: 状态: EXECUTING 对象方案: ADMIN1 对象名: T 对象类型: TABLE_EXPORT/TABLE/TABLE_DATA 完成的对象数: 1 总的对象数: 1 完成的行数: 1,537,932 Worker 并行度: 1 --Export> help 下列命令在交互模式下有效。 注: 允许使用缩写 命令 说明 -------------------------------------------------------------------------- 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 将立即关闭 数据泵作业。 --注意 KILL_JOB是真正的停止任务并删除任务,而STOP_JOB只是暂停任务,可以通过START_JOB继续启动任务 --并行操作 您可以通过 PARALLEL 参数为导出使用一个以上的线程来显著地加速作业. 每个线程创建一个单独的转储文件, 因此参数 dumpfile 应当拥有和并行度一样多的项目。您可以指定通配符作为文件名,而不是显式地输入各个文件名,例如: EXPDP ADMIN1/ADMIN1 TABLES=T DIRECTORY=DUMP_DIR DUMPFILE=EXPCASES_%U.DMP PARALLEL=4 JOB_NAME=CASES_EXPORT 注意 dumpfile 参数拥有一个通配符 %U ,它指示文件将按需要创建,格式将为 EXPCASES_NN.dmp ,其中 nn 从 01 开始,然后按需要向上增加。 在并行模式下,状态屏幕将显示四个工作进程。(在默认模式下,只有一个进程是可见的) 所有的工作进程同步取出数据,并在状态屏幕上显示它们的进度。 分离访问数据文件和转储目录文件系统的输入 / 输出通道是很重要的。否则,与维护 Data Pump 作业相关的开销可能超过并行线程的效益, 并因此而降低性能。并行方式只有在表的数量多于并行值并且表很大时才是有效的。 --数据导入 impdp admin1/admin1 directory=dump_dir dumpfile=T.dmp job_name=cases_import 导入进程的默认行为是创建表和所有相关的对象,然后在表已存在时产生一个错误。如果您想把数据添加到一个现有的表中,您可以在上述命令行中使用 TABLE_EXISTS_ACTION=APPEND 。 和使用 Data Pump 导入一样,在进程中按 Control-C 将进入 Date Pump Import (DPI) 的交互模式;同样,提示符是 Import> 。 --处理特定对象 您是否有过只需要从一个用户导出特定的过程,以在一个不同的数据库或用户中重新创建这些过程的情况? 与传统的导出实用工具不同, Data Pump 允许您只导出特定类型的对象。 例如,以下命令让您只导出过程,而不导出其它任何东西 — 不导出表、视图、甚至函数: expdp admin1/admin1 directory=dump_dir dumpfile=exp_admin.dmp include=TABLE 要只导出一些特定的对象 — 比如说,函数 FUNC1 和过程 PROC1 — 您可以使用 expdp admin1/admin1 directory=dump_dir dumpfile=expprocs.dmp include=PROCEDURE:"='PROC1'",FUNCTION:"='FUNC1'" 这个转储文件充当了源对象的一个备份。您甚至可以用它来创建 DDL 脚本,以供之后使用。一个称为 SQLFILE 的特殊参数允许创建 DDL 脚本文件。 impdp ananda/iclaim directory=DPDATA1 dumpfile=expprocs.dmp sqlfile=procs.sql 该指令在 DPDATA1 指定的目录中创建一个名称为 procs.sql 的文件,并将对象的脚本包含在导出转储文件中。这种方法帮助您快速地在另一个模式中创建源对象。 利用参数 INCLUDE 允许您从转储文件中定义要包含或排除的对象。您可以使用子句 INCLUDE=TABLE:"LIKE 'TAB%'" 来仅导出那些名称以 TAB 开头的表。类似地,您可以使用结构 INCLUDE=TABLE:"NOT LIKE 'TAB%'" 来排除所有名称以 TAB 开头的表。 作为另一种选择,您可以使用 EXCLUDE 参数来排除特定的对象。 --EXPDP用法举例: 1)按用户导 EXPDP SCOTT/TIGER@ORCL SCHEMAS=SCOTT DUMPFILE=EXPDP.DMP DIRECTORY=DPDATA1 2)并行进程PARALLEL EXPDP ADMIN1/ADMIN1 TABLES=T DIRECTORY=DUMP_DIR DUMPFILE=EXPCASES_%U.DMP PARALLEL=4 JOB_NAME=CASES_EXPORT 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 --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 --按用户导出实例 C:\Users\Administrator>expdp admin/admin directory=dump_dir dumpfile=admin1.dmp schemas=admin1 Export: Release 10.2.0.1.0 - Production on 星期二, 07 1月, 2014 17:53:29 Copyright (c) 2003, 2005, Oracle. All rights reserved. 连接到: Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - Production With the Partitioning, OLAP and Data Mining options 启动 "ADMIN"."SYS_EXPORT_SCHEMA_01": admin/********/ directory=dump_dir dumpfile=admin1.dmp schemas=admin1 正在使用 BLOCKS 方法进行估计... 处理对象类型 SCHEMA_EXPORT/TABLE/TABLE_DATA 使用 BLOCKS 方法的总估计: 9 MB 处理对象类型 SCHEMA_EXPORT/USER 处理对象类型 SCHEMA_EXPORT/SYSTEM_GRANT 处理对象类型 SCHEMA_EXPORT/ROLE_GRANT 处理对象类型 SCHEMA_EXPORT/DEFAULT_ROLE 处理对象类型 SCHEMA_EXPORT/PRE_SCHEMA/PROCACT_SCHEMA 处理对象类型 SCHEMA_EXPORT/TABLE/TABLE 处理对象类型 SCHEMA_EXPORT/TABLE/INDEX/INDEX 处理对象类型 SCHEMA_EXPORT/TABLE/INDEX/STATISTICS/INDEX_STATISTICS . . 导出了 "ADMIN1"."T" 6.883 MB 70575 行 已成功加载/卸载了主表 "ADMIN"."SYS_EXPORT_SCHEMA_01" ****************************************************************************** ADMIN.SYS_EXPORT_SCHEMA_01 的转储文件集为: F:\DUMPFILE\ADMIN1.DMP 作业 "ADMIN"."SYS_EXPORT_SCHEMA_01" 已于 17:53:42 成功完成 --注意导出的内容中已包含USER,所以在目标库中不必要额外创建用户 C:\Users\Administrator>impdp admin/admin dumpfile=admin1.dmp directory=dump_dir Import: Release 10.2.0.1.0 - Production on 星期二, 07 1月, 2014 17:54:30 Copyright (c) 2003, 2005, Oracle. All rights reserved. 连接到: Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - Production With the Partitioning, OLAP and Data Mining options 已成功加载/卸载了主表 "ADMIN"."SYS_IMPORT_FULL_01" 启动 "ADMIN"."SYS_IMPORT_FULL_01": admin/********/ dumpfile=admin1.dmp directory=dump_dir 处理对象类型 SCHEMA_EXPORT/USER 处理对象类型 SCHEMA_EXPORT/SYSTEM_GRANT 处理对象类型 SCHEMA_EXPORT/ROLE_GRANT 处理对象类型 SCHEMA_EXPORT/DEFAULT_ROLE 处理对象类型 SCHEMA_EXPORT/PRE_SCHEMA/PROCACT_SCHEMA 处理对象类型 SCHEMA_EXPORT/TABLE/TABLE 处理对象类型 SCHEMA_EXPORT/TABLE/TABLE_DATA . . 导入了 "ADMIN1"."T" 6.883 MB 70575 行 处理对象类型 SCHEMA_EXPORT/TABLE/INDEX/INDEX 处理对象类型 SCHEMA_EXPORT/TABLE/INDEX/STATISTICS/INDEX_STATISTICS 作业 "ADMIN"."SYS_IMPORT_FULL_01" 已于 17:55:46 成功完成 --以下错误是由于要创建的表所在的表空间不存在,所以报错,可以通过REMAP_TABLESPACE=ADMIN1:USERS来将一个方案中的对象加载到另一个方案 ORA-39083: 对象类型 TABLE 创建失败, 出现错误: ORA-00959: 表空间 'ADMIN1' 不存在
相关推荐
### ORACLE数据泵使用详解 #### 一、简介 ##### 1.1 目的 本文档旨在为FMIS数据库10G或更高版本提供一套完整的数据备份与恢复方案。通过详细介绍ORACLE数据泵(Data Pump)的使用方法,帮助数据库管理员(DBA)有效...
oracle数据泵使用
### Oracle数据泵简明使用手册知识点详解 #### 一、Oracle数据泵简介 Oracle数据泵是一种高效的工具,用于实现数据库中的数据与元数据的大规模导入导出操作。它相较于传统的`exp`和`imp`工具提供了更高的性能和更...
Oracle数据泵(Expdp/Impdp)是Oracle 10g及后续版本引入的一种高效的数据导入导出工具,相较于传统的Exp/Imp,它具有更快的速度和更强大的功能。Expdp和Impdp是服务器端的应用,它们直接在数据库服务器上执行,通过...
总结起来,Oracle数据泵是Oracle数据库管理中不可或缺的工具,它提供了高效、灵活的数据迁移和备份解决方案,通过理解并熟练使用EXPDP和IMPDP,数据库管理员可以更好地维护和管理Oracle数据库环境。
通过理解并掌握Oracle数据泵的这些特点和使用方法,数据库管理和开发人员可以更高效地进行数据迁移、备份和恢复,提升工作效率,同时确保数据的完整性和一致性。在实际工作中,可以根据具体需求选择合适的数据泵操作...
通过上述实践,我们可以看到Oracle数据泵在数据库管理中扮演的重要角色。无论是日常的维护工作还是特定的需求处理,数据泵都能够提供强有力的支持。希望本文能够帮助读者更好地理解和运用这一强大的工具。
根据题目中的描述,这里详细介绍如何使用Oracle数据泵导入功能进行数据导入。 ##### 1. 创建表空间 首先,需要创建一个新的表空间用于存放即将导入的数据。在题目中给出的例子中,创建了一个名为`ABS`的表空间,其...
本文将基于提供的文件信息,详细介绍如何利用Oracle数据泵进行数据导入,并涵盖相关的配置与操作步骤。 ### 一、环境准备 #### 1. 登录数据库 首先,需要通过SQL*Plus命令行工具登录到Oracle数据库。这里使用了两...
通过以上介绍,我们可以看出Oracle数据泵技术相比传统导出导入工具提供了更加强大、灵活的功能,并且具有更好的性能表现。这对于大型数据库的管理与维护来说非常重要。无论是日常的数据备份还是跨数据库的数据迁移,...
linux下oracle数据泵备份完美解决了数据备份的完整性,这里提供大家数据泵自动备份的脚本,为各类生产环境中的数据的备份提供的较完善的解决方案
oracle数据泵导出为低版本命令。 从11g导出为10g版本,经过多次测试没有问题,而且导出速度非常快。
本篇文章将深入探讨Oracle数据泵的使用方法,特别是在批处理(bat)文件中的应用。 首先,`bat`文件是一种批处理脚本,主要用于Windows操作系统,它允许用户一次性执行多个命令,简化重复的操作。在Oracle数据泵的...
ORACLE 数据泵是 ORACLE 数据库的逻辑备份工具,通过使用 expdp 命令可以完成数据的逻辑备份。下面将详细介绍 expdp 命令的参数说明: 1. ATTACH:该选项用于客户会话与已存在到的处作用之间建立关联,ATTACH=...
### Oracle 数据泵备份详解 #### 一、Oracle 数据泵备份概念与作用 Oracle 数据泵(Data Pump)是一种高效的数据迁移工具,它通过 Export 和 Import 的方式实现数据在不同数据库之间的迁移,尤其适用于大规模数据...
### Oracle 数据泵服务器备份知识点详解 #### 一、Oracle 数据...通过以上详细介绍,我们可以清晰地了解到如何使用 Oracle 数据泵进行数据库备份与恢复,这对于维护 Oracle 数据库系统的稳定性和可靠性具有重要意义。
oracle数据泵详解 Oracle 数据泵是 Oracle 10g 以后引入的一种数据迁移工具,可以方便我们把低版本的数据库数据向高版本的数据库迁移。下面是 Oracle 数据泵的详细介绍。 一、EXPDP 和 IMPDP 使用说明 EXPDP...
### Oracle 数据泵导入导出详解 #### 一、Oracle 数据泵简介 Oracle 数据泵是一种用于在 Oracle 数据库之间高效地移动数据的工具。它通过 `EXPDP` 和 `IMPDP` 命令来实现数据的导出和导入操作。与传统的 `EXP` 和 ...
Oracle 数据泵导出和导入 Oracle 数据泄导出和导入是 Oracle 10g 中引入的 DATA PUMP 技术,提供了基于服务器的数据提取和恢复的实用程序。DATA PUMP 允许您停止和重启作业,查看运行的作业的状态,及对导入和导出...
oracle数据泵导入导出工具