1. EXP和IMP的最有用的用途
1> 检查冲突
2> 提取DDL
3> 克隆模式(fromuser,touser)
4> 传输表空间
5> 重构实例
6> 在平台之间复制数据
2. expdp和exp使用
在Oracle11gR2 中,导出整个scheme
exp的参数
[oracle@oracle11gR2 ~]$ exp help=y
Export: Release 11.2.0.1.0 - Production on 星期六 10月 17 09:07:19 2009
Copyright (c) 1982, 2009, Oracle and/or its affiliates. All rights reserved.
通过输入 EXP 命令和您的用户名/口令, 导出
操作将提示您输入参数:
例如: EXP SCOTT/TIGER
或者, 您也可以通过输入跟有各种参数的 EXP 命令来控制导出
的运行方式。要指定参数, 您可以使用关键字:
格式: EXP KEYWORD=value 或 KEYWORD=(value1,value2,...,valueN)
例如: EXP SCOTT/TIGER GRANTS=Y TABLES=(EMP,DEPT,MGR)
或 TABLES=(T1:P1,T1:P2), 如果 T1 是分区表
USERID 必须是命令行中的第一个参数。
关键字 说明 (默认值) 关键字 说明 (默认值)
--------------------------------------------------------------------------
USERID 用户名/口令 FULL 导出整个文件 (N)
BUFFER 数据缓冲区大小 OWNER 所有者用户名列表
FILE 输出文件 (EXPDAT.DMP) TABLES 表名列表
COMPRESS 导入到一个区 (Y) RECORDLENGTH IO 记录的长度
GRANTS 导出权限 (Y) INCTYPE 增量导出类型
INDEXES 导出索引 (Y) RECORD 跟踪增量导出 (Y)
DIRECT 直接路径 (N) TRIGGERS 导出触发器 (Y)
LOG 屏幕输出的日志文件 STATISTICS 分析对象 (ESTIMATE)
ROWS 导出数据行 (Y) PARFILE 参数文件名
CONSISTENT 交叉表的一致性 (N) CONSTRAINTS 导出的约束条件 (Y)
OBJECT_CONSISTENT 只在对象导出期间设置为只读的事务处理 (N)
FEEDBACK 每 x 行显示进度 (0)
FILESIZE 每个转储文件的最大大小
FLASHBACK_SCN 用于将会话快照设置回以前状态的 SCN
FLASHBACK_TIME 用于获取最接近指定时间的 SCN 的时间
QUERY 用于导出表的子集的 select 子句
RESUMABLE 遇到与空格相关的错误时挂起 (N)
RESUMABLE_NAME 用于标识可恢复语句的文本字符串
RESUMABLE_TIMEOUT RESUMABLE 的等待时间
TTS_FULL_CHECK 对 TTS 执行完整或部分相关性检查
VOLSIZE 写入每个磁带卷的字节数
TABLESPACES 要导出的表空间列表
TRANSPORT_TABLESPACE 导出可传输的表空间元数据 (N)
TEMPLATE 调用 iAS 模式导出的模板名
成功终止导出, 没有出现警告。
expdp 的参数
[oracle@oracle11gR2 exp]$ expdb help=y
-bash: expdb: command not found
[oracle@oracle11gR2 exp]$ expdp help=y
Export: Release 11.2.0.1.0 - Production on 星期六 10月 17 09:28:20 2009
Copyright (c) 1982, 2009, Oracle and/or its affiliates. All rights reserved.
数据泵导出实用程序提供了一种用于在 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=job_name。
COMPRESSION
减少转储文件大小。
有效的关键字值为: ALL, DATA_ONLY, [METADATA_ONLY] 和 NONE。
CONTENT
指定要卸载的数据。
有效的关键字值为: [ALL], DATA_ONLY 和 METADATA_ONLY。
DATA_OPTIONS
数据层选项标记。
有效的关键字值为: XML_CLOBS。
DIRECTORY
用于转储文件和日志文件的目录对象。
DUMPFILE
指定目标转储文件名的列表 [expdat.dmp]。
例如, DUMPFILE=scott1.dmp, scott2.dmp, dmpdir:scott3.dmp。
ENCRYPTION
加密某个转储文件的一部分或全部。
有效的关键字值为: ALL, DATA_ONLY, ENCRYPTED_COLUMNS_ONLY, METADATA_ONLY 和 NONE。
ENCRYPTION_ALGORITHM
指定加密的方式。
有效的关键字值为: [AES128], AES192 和 AES256。
ENCRYPTION_MODE
生成加密密钥的方法。
有效的关键字值为: DUAL, PASSWORD 和 [TRANSPARENT]。
ENCRYPTION_PASSWORD
用于在转储文件中创建加密数据的口令密钥。
ESTIMATE
计算作业估计值。
有效的关键字值为: [BLOCKS] 和 STATISTICS。
ESTIMATE_ONLY
计算作业估计值而不执行导出。
EXCLUDE
排除特定对象类型。
例如, EXCLUDE=SCHEMA:"='HR'"。
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
用于导出表的子集的谓词子句。
例如, QUERY=employees:"WHERE department_id > 10"。
REMAP_DATA
指定数据转换函数。
例如, REMAP_DATA=EMP.EMPNO:REMAPPKG.EMPNO。
REUSE_DUMPFILES
覆盖目标转储文件 (如果文件存在) [N]。
SAMPLE
要导出的数据的百分比。
SCHEMAS
要导出的方案的列表 [登录方案]。
SOURCE_EDITION
用于提取元数据的版本。
STATUS
监视作业状态的频率, 其中
默认值 [0] 表示只要有新状态可用, 就立即显示新状态。
TABLES
标识要导出的表的列表。
例如, TABLES=HR.EMPLOYEES,SH.SALES:SALES_1995。
TABLESPACES
标识要导出的表空间的列表。
TRANSPORTABLE
指定是否可以使用可传输方法。
有效的关键字值为: ALWAYS 和 [NEVER]。
TRANSPORT_FULL_CHECK
验证所有表的存储段 [N]。
TRANSPORT_TABLESPACES
要从中卸载元数据的表空间的列表。
VERSION
要导出的对象版本。
有效的关键字值为: [COMPATIBLE], LATEST 或任何有效的数据库版本。
------------------------------------------------------------------------------
下列命令在交互模式下有效。
注: 允许使用缩写。
ADD_FILE
将转储文件添加到转储文件集。
CONTINUE_CLIENT
返回到事件记录模式。如果处于空闲状态, 将重新启动作业。
EXIT_CLIENT
退出客户机会话并使作业保持运行状态。
FILESIZE
用于后续 ADD_FILE 命令的默认文件大小 (字节)。
HELP
汇总交互命令。
KILL_JOB
分离并删除作业。
PARALLEL
更改当前作业的活动 worker 的数量。
REUSE_DUMPFILES
覆盖目标转储文件 (如果文件存在) [N]。
START_JOB
启动或恢复当前作业。
有效的关键字值为: SKIP_CURRENT。
STATUS
监视作业状态的频率, 其中
默认值 [0] 表示只要有新状态可用, 就立即显示新状态。
STOP_JOB
按顺序关闭作业执行并退出客户机。
有效的关键字值为: IMMEDIATE。
从参数上来看,expdp比exp更加强大
(1) expdp导出
[oracle@oracle11gR2 exp]$ expdp hr/hr123 directory=dump_dir dumpfile=hr.dmp ;
Export: Release 11.2.0.1.0 - Production on 星期六 10月 17 09:23:42 2009
Copyright (c) 1982, 2009, Oracle and/or its affiliates. All rights reserved.
连接到: Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options
启动 "HR"."SYS_EXPORT_SCHEMA_01": hr/******** directory=dump_dir dumpfile=hr.dmp
正在使用 BLOCKS 方法进行估计...
处理对象类型 SCHEMA_EXPORT/TABLE/TABLE_DATA
使用 BLOCKS 方法的总估计: 49.06 MB
处理对象类型 SCHEMA_EXPORT/USER
处理对象类型 SCHEMA_EXPORT/SYSTEM_GRANT
处理对象类型 SCHEMA_EXPORT/ROLE_GRANT
处理对象类型 SCHEMA_EXPORT/DEFAULT_ROLE
处理对象类型 SCHEMA_EXPORT/PRE_SCHEMA/PROCACT_SCHEMA
处理对象类型 SCHEMA_EXPORT/SEQUENCE/SEQUENCE
处理对象类型 SCHEMA_EXPORT/TABLE/TABLE
处理对象类型 SCHEMA_EXPORT/TABLE/GRANT/OWNER_GRANT/OBJECT_GRANT
处理对象类型 SCHEMA_EXPORT/TABLE/INDEX/INDEX
处理对象类型 SCHEMA_EXPORT/TABLE/CONSTRAINT/CONSTRAINT
处理对象类型 SCHEMA_EXPORT/TABLE/INDEX/STATISTICS/INDEX_STATISTICS
处理对象类型 SCHEMA_EXPORT/TABLE/COMMENT
处理对象类型 SCHEMA_EXPORT/PACKAGE/PACKAGE_SPEC
处理对象类型 SCHEMA_EXPORT/PACKAGE/GRANT/OWNER_GRANT/OBJECT_GRANT
处理对象类型 SCHEMA_EXPORT/PROCEDURE/PROCEDURE
处理对象类型 SCHEMA_EXPORT/PACKAGE/COMPILE_PACKAGE/PACKAGE_SPEC/ALTER_PACKAGE_SPEC
处理对象类型 SCHEMA_EXPORT/PROCEDURE/ALTER_PROCEDURE
处理对象类型 SCHEMA_EXPORT/VIEW/VIEW
处理对象类型 SCHEMA_EXPORT/PACKAGE/PACKAGE_BODY
处理对象类型 SCHEMA_EXPORT/TABLE/CONSTRAINT/REF_CONSTRAINT
处理对象类型 SCHEMA_EXPORT/TABLE/TRIGGER
处理对象类型 SCHEMA_EXPORT/TABLE/INDEX/FUNCTIONAL_AND_BITMAP/INDEX
处理对象类型 SCHEMA_EXPORT/TABLE/INDEX/STATISTICS/FUNCTIONAL_AND_BITMAP/INDEX_STATISTICS
处理对象类型 SCHEMA_EXPORT/TABLE/STATISTICS/TABLE_STATISTICS
处理对象类型 SCHEMA_EXPORT/MATERIALIZED_VIEW
. . 导出了 "HR"."A" 6.920 MB 71577 行
. . 导出了 "HR"."A3" 6.920 MB 71579 行
. . 导出了 "HR"."T" 6.921 MB 71583 行
. . 导出了 "HR"."T3" 6.920 MB 71576 行
. . 导出了 "HR"."A2" 2.867 MB 499 行
. . 导出了 "HR"."MV_T_COMPLETE" 2.556 MB 145052 行
. . 导出了 "HR"."B2" 2.277 MB 71642 行
. . 导出了 "HR"."TT" 96.55 KB 999 行
. . 导出了 "HR"."B1" 5 KB 1 行
. . 导出了 "HR"."C" 5.015 KB 1 行
. . 导出了 "HR"."COUNTRIES" 6.367 KB 25 行
. . 导出了 "HR"."DEPT" 7 KB 27 行
. . 导出了 "HR"."EMP" 18.94 KB 107 行
. . 导出了 "HR"."EMPLOYEES" 16.81 KB 107 行
. . 导出了 "HR"."JOBS" 6.992 KB 19 行
. . 导出了 "HR"."JOB_HISTORY" 7.054 KB 10 行
. . 导出了 "HR"."LOCATIONS" 8.273 KB 23 行
. . 导出了 "HR"."MV_T" 12.14 KB 260 行
. . 导出了 "HR"."MV_T1" 10.90 KB 260 行
. . 导出了 "HR"."P" 5.414 KB 2 行
. . 导出了 "HR"."REGIONS" 5.476 KB 4 行
. . 导出了 "HR"."T10" 28.37 KB 999 行
. . 导出了 "HR"."T2" 5.015 KB 1 行
. . 导出了 "HR"."HR" 0 KB 0 行
. . 导出了 "HR"."LOCK_TEST" 0 KB 0 行
. . 导出了 "HR"."T1" 0 KB 0 行
. . 导出了 "HR"."V_T" 0 KB 0 行
已成功加载/卸载了主表 "HR"."SYS_EXPORT_SCHEMA_01"
******************************************************************************
HR.SYS_EXPORT_SCHEMA_01 的转储文件集为:
/u01/exp/hr.dmp
作业 "HR"."SYS_EXPORT_SCHEMA_01" 已于 09:26:10 成功完成
(2) exp 导出
注意:directory,dumpfile参数只能在expdp中是使用
[oracle@oracle11gR2 exp]$ exp userid=hr/hr123 file='/u01/exp/hr_exp.dmp' ;
Export: Release 11.2.0.1.0 - Production on 星期六 10月 17 09:32:47 2009
Copyright (c) 1982, 2009, Oracle and/or its affiliates. All rights reserved.
连接到: Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options
已导出 ZHS16GBK 字符集和 AL16UTF16 NCHAR 字符集
即将导出指定的用户...
. 正在导出 pre-schema 过程对象和操作
. 正在导出用户 HR 的外部函数库名
. 导出 PUBLIC 类型同义词
. 正在导出专用类型同义词
. 正在导出用户 HR 的对象类型定义
即将导出 HR 的对象...
. 正在导出数据库链接
. 正在导出序号
. 正在导出簇定义
. 即将导出 HR 的表通过常规路径...
. . 正在导出表 A导出了 71577 行
. . 正在导出表 A2导出了 499 行
. . 正在导出表 A3导出了 71579 行
. . 正在导出表 B1导出了 1 行
. . 正在导出表 B2导出了 71642 行
. . 正在导出表 C导出了 1 行
. . 正在导出表 COUNTRIES导出了 25 行
. . 正在导出表 DEPT导出了 27 行
. . 正在导出表 EMP导出了 107 行
. . 正在导出表 EMPLOYEES导出了 107 行
. . 正在导出表 JOBS导出了 19 行
. . 正在导出表 JOB_HISTORY导出了 10 行
. . 正在导出表 LOCATIONS导出了 23 行
. . 正在导出表 MV_T导出了 260 行
. . 正在导出表 MV_T1导出了 260 行
. . 正在导出表 MV_T_COMPLETE导出了 145052 行
. . 正在导出表 P导出了 2 行
. . 正在导出表 REGIONS导出了 4 行
. . 正在导出表 T导出了 71583 行
. . 正在导出表 T1导出了 0 行
. . 正在导出表 T10导出了 999 行
. . 正在导出表 T2导出了 1 行
. . 正在导出表 T3导出了 71576 行
. . 正在导出表 TT导出了 999 行
. . 正在导出表 WAITSTAT_BEFORE
. 正在导出同义词
. 正在导出视图
. 正在导出存储过程
. 正在导出运算符
. 正在导出引用完整性约束条件
. 正在导出触发器
. 正在导出索引类型
. 正在导出位图, 功能性索引和可扩展索引
. 正在导出后期表活动
. 正在导出实体化视图
. 正在导出快照日志
. 正在导出作业队列
. 正在导出刷新组和子组
. 正在导出维
. 正在导出 post-schema 过程对象和操作
. 正在导出统计信息
成功终止导出, 没有出现警告。
-rw------- 1 oracle oinstall 38150144 10?.17 09:26 hr.dmp --expdp
-rw-r--r-- 1 oracle oinstall 41320448 10?.17 09:33 hr_exp.dmp --exp
从大小上可以看出,expdp比exp使用的空间更小
2. expdp Compressed 参数的使用
COMPRESSION
Default: METADATA_ONLY
Purpose
Specifies which data to compress before writing to the dump file set.
Syntax and Description
COMPRESSION={ALL | DATA_ONLY | METADATA_ONLY | NONE}
ALL enables compression for the entire export operation. The ALL option requires that the Oracle Advanced Compression option be enabled.
DATA_ONLY results in all data being written to the dump file in compressed format. The DATA_ONLY option requires that the Oracle Advanced Compression option be enabled.
METADATA_ONLY results in all metadata being written to the dump file in compressed format. This is the default.
NONE disables compression for the entire export operation.
例子:
expdp hr DIRECTORY=dpump_dir1 DUMPFILE=hr_comp.dmp COMPRESSION=METADATA_ONLY
3.导出单个表
expdp hr/hr123 directory=dump_dir dumpfile=hr_t1.dmp tables=t1;
Export: Release 11.2.0.1.0 - Production on 星期六 10月 17 10:06:51 2009
Copyright (c) 1982, 2009, Oracle and/or its affiliates. All rights reserved.
连接到: Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options
启动 "HR"."SYS_EXPORT_TABLE_01": hr/******** directory=dump_dir dumpfile=hr_t1.dmp tables=t3
正在使用 BLOCKS 方法进行估计...
处理对象类型 TABLE_EXPORT/TABLE/TABLE_DATA
使用 BLOCKS 方法的总估计: 9 MB
处理对象类型 TABLE_EXPORT/TABLE/TABLE
处理对象类型 TABLE_EXPORT/TABLE/STATISTICS/TABLE_STATISTICS
. . 导出了 "HR"."T3" 6.920 MB 71576 行
已成功加载/卸载了主表 "HR"."SYS_EXPORT_TABLE_01"
******************************************************************************
HR.SYS_EXPORT_TABLE_01 的转储文件集为:
/u01/exp/hr_t1.dmp
作业 "HR"."SYS_EXPORT_TABLE_01" 已于 10:07:14 成功完成
也可以导出多个表
expdp hr/hr123 directory=dump_dir dumpfile=hr_t1.dmp tables=(t1,t2,t3);
[oracle@oracle11gR2 exp]$ expdp hr/hr123 directory=dump_dir dumpfile=hr_t1.dmp tables=(t1,t2,t3);
Export: Release 11.2.0.1.0 - Production on 星期六 10月 17 10:07:51 2009
Copyright (c) 1982, 2009, Oracle and/or its affiliates. All rights reserved.
连接到: Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options
启动 "HR"."SYS_EXPORT_TABLE_01": hr/******** directory=dump_dir dumpfile=hr_t1.dmp tables=(t1,t2,t3)
正在使用 BLOCKS 方法进行估计...
处理对象类型 TABLE_EXPORT/TABLE/TABLE_DATA
使用 BLOCKS 方法的总估计: 9.062 MB
处理对象类型 TABLE_EXPORT/TABLE/TABLE
处理对象类型 TABLE_EXPORT/TABLE/STATISTICS/TABLE_STATISTICS
. . 导出了 "HR"."T3" 6.920 MB 71576 行
. . 导出了 "HR"."T2" 5.015 KB 1 行
. . 导出了 "HR"."T1" 0 KB 0 行
已成功加载/卸载了主表 "HR"."SYS_EXPORT_TABLE_01"
******************************************************************************
HR.SYS_EXPORT_TABLE_01 的转储文件集为:
/u01/exp/hr_t1.dmp
作业 "HR"."SYS_EXPORT_TABLE_01" 已于 10:08:07 成功完成
3.expdp 中CONTENT使用
CONTENT={ALL | DATA_ONLY | METADATA_ONLY}
ALL unloads both data and metadata. This is the default.
DATA_ONLY unloads only table row data; no database object definitions are unloaded.
METADATA_ONLY unloads only database object definitions; no table row data is unloaded.
1> expdp hr/h4123 DIRECTORY=dump_dir DUMPFILE=hr.dmp CONTENT=METADATA_ONLY
只导出数据库中的对象定义。
2> expdp hr/h4123 DIRECTORY=dump_dir DUMPFILE=hr.dmp CONTENT=DATA_ONLY
只导出数据表中的数据
3>
4 expdp dumpfile的格式.目录转换
expdp hr SCHEMAS=hr DIRECTORY=dpump_dir1 DUMPFILE=dpump_dir2:exp1.dmp,
exp2%U.dmp PARALLEL=3
%U 是流水号 exp201.dmp exp202.dmp 01,02,03.............
DUMPFILE=dpump_dir2:exp1.dmp 这样导出的文件存储在 dpump_dir2目录中,重载了dpump_dir1目录
5. expdp ESTIMATE的使用
导出前估算表占用的磁盘空间
1> BLOCKS - The estimate is calculated by multiplying the number of database blocks used by the source objects, times the appropriate block sizes.
BLOCKS是默认的
2> STATISTICS - The estimate is calculated using statistics for each table. For this method to be as accurate as
expdp hr/hr123 TABLES=t4 ESTIMATE=STATISTICS DIRECTORY=dump_dir dumpfile=estimate_stat.dmp;
6. expdp ESTIMATE_ONLY 使用
如果被指定,只执行估算操作,没有实际导出数据库。默认为N
[oracle@oracle11gR2 ~]$ expdp hr/hr123 TABLES=t3 estimate_only=y nologfile=y;
Export: Release 11.2.0.1.0 - Production on 星期六 10月 17 10:29:07 2009
Copyright (c) 1982, 2009, Oracle and/or its affiliates. All rights reserved.
连接到: Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options
启动 "HR"."SYS_EXPORT_TABLE_01": hr/******** TABLES=t3 estimate_only=y nologfile=y
正在使用 BLOCKS 方法进行估计...
处理对象类型 TABLE_EXPORT/TABLE/TABLE_DATA
. 预计为 "HR"."T3" 9 MB
使用 BLOCKS 方法的总估计: 9 MB
作业 "HR"."SYS_EXPORT_TABLE_01" 已于 10:29:19 成功完成
这样可以估算导出的对象占用的磁盘的空间的大小
7. expdp exclude 使用
expdp FULL=Y DUMPFILE=expfull.dmp EXCLUDE=SCHEMA:"='HR'" 导出除了HR用户的所有方案
expdp hr DIRECTORY=dpump_dir1 DUMPFILE=hr_exclude.dmp EXCLUDE=VIEW,PACKAGE, FUNCTION
8. parfile 使用
hr.par
SCHEMAS=HR
DUMPFILE=expinclude.dmp
DIRECTORY=dpump_dir1
LOGFILE=expinclude.log
INCLUDE=TABLE:"IN ('EMPLOYEES', 'DEPARTMENTS')"
INCLUDE=PROCEDURE
INCLUDE=INDEX:"LIKE 'EMP%'"
expdp hr parfile=hr.par
9. expdp SCHEMAS 使用
expdp hr DIRECTORY=dpump_dir1 DUMPFILE=expdat.dmp SCHEMAS=hr,sh,oe 同时导出多个方案
10 expdp TABLESPACES使用
expdp hr DIRECTORY=dpump_dir1 DUMPFILE=tbs.dmp TABLESPACES=tbs_4, tbs_5, tbs_6
同时导出多个表空间