Oracle数据导入导出:exp与expdp全面解析

版权申诉
0 下载量 160 浏览量 更新于2024-08-11 收藏 23KB DOCX 举报
"Oracle数据导入导出,包括exp和expdp的使用及参数详解" Oracle数据库提供了一系列工具用于数据的导入导出,其中exp和expdp是两个常见的命令行工具。这篇文档主要讨论了这两个工具的使用方法以及它们之间的对比。 1. Exp数据导出 Exp是Oracle早期的数据导出工具,它支持多种参数以定制导出行为。例如: - `USERID`:指定登录数据库的用户名和密码。 - `BUFFER`:设定数据缓冲区的大小,影响导出效率。 - `FILE`:指定导出文件的名称。 - `COMPRESS`:是否压缩导出数据,默认为Y。 - `GRANTS`:是否导出权限,默认为Y。 - `INDEXES`:是否导出索引,默认为Y。 - `DIRECT`:使用直接路径导出,提高速度,默认为N。 - `LOG`:指定日志文件记录导出过程。 - `ROWS`:是否导出数据行,默认为Y。 - `FULL`:导出整个数据库,默认为N。 - `OWNER`:指定特定用户的所有对象。 - `TABLES`:指定导出的表名列表。 - `RECORDLENGTHIO`:记录的长度。 - `INCTYPE`:增量导出类型。 - `RECORD`:跟踪增量导出,默认为Y。 - `TRIGGERS`:导出触发器,默认为Y。 - `STATISTICS`:分析对象,默认为ESTIMATE。 - `PARFILE`:使用参数文件来存储导出参数。 - `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)执行完整性检查。 - `TABLESPACES`:要导出的表空间列表。 - `TRANSPORT_TABLESPACE`:导出可传输的表空间元数据,默认为N。 - `TEMPLATE`:用于iAS模式导出的模板名。 示例: ``` exp userid=gwm/gwm file=/test.dmp log=test.log full=y rows=n direct=y ``` 这个例子将使用gwm/gwm登录,导出整个数据库结构,并设置为直接路径导出,且不导出数据。 2. Expdp数据导出 Expdp是Oracle Data Pump工具,相比于exp,它提供了更高效的数据传输和更多的选项,例如: - `DIRECTORY`:指定数据泵目录对象的名称。 - `DUMPFILE`:导出文件的名称,可以包含多个文件。 - `DISPENSABLE`:允许丢弃无效的对象。 - ` logfile`:日志文件。 - `ESTIMATE`:估计导出的大小。 - `JOB_NAME`:作业名称,用于后台作业。 - `METRICS`:收集导出性能指标。 - `PARALLEL`:并行导出。 - `SCHEMA`:指定要导出的模式。 - `STATISTICS_LEVEL`:统计级别。 - `SKIP`:跳过某些对象类型。 - `TABLE_EXISTS_ACTION`:当目标表存在时的行为。 - `TRANSFORM`:转换导出数据。 3. Exp和Expdp对比 Expdp比Exp更快,因为它使用了数据泵技术,支持并行导出和更大的文件大小。Expdp还支持更复杂的过滤和转换选项,比如可以根据表、模式或者时间戳进行导出。然而,Expdp需要创建和管理数据泵目录,而Exp则不需要。 总结,Oracle的exp和expdp都是数据导入导出的重要工具,各有其适用场景。在选择使用哪个工具时,应考虑数据量、速度需求、功能复杂性和安全性等因素。对于大规模数据和高效能要求,推荐使用expdp;对于小型数据库或者简单导出任务,exp可能是更方便的选择。