上一篇                     
               
			  快速导出Oracle表命令
- 电脑教程
- 2025-06-17
- 2167
 使用Oracle数据泵工具expdp导出数据库表,命令基本结构为:
 
 
expdp 用户名/密码 DIRECTORY=目录对象名 DUMPFILE=导出文件名.dmp LOGFILE=日志名.log TABLES=表名1,表名2,需提前创建目录对象并授权。
使用数据泵工具(expdp – 推荐)
适用Oracle 10g及以上版本,高效且功能强大
步骤详解:
-  创建逻辑目录(需DBA权限) 
 数据泵要求操作系统的物理目录必须与Oracle逻辑目录映射:CREATE DIRECTORY export_dir AS '/u01/app/oracle/dumps'; -- 替换为实际路径 GRANT READ, WRITE ON DIRECTORY export_dir TO 您的用户名; -- 授权给操作用户 
-  执行导出命令(命令行操作) 
 基础导出单表命令:expdp 用户名/密码@数据库实例 DIRECTORY=export_dir DUMPFILE=table_export.dmp LOGFILE=export_log.log TABLES=表名 关键参数说明: - SCHEMAS:导出整个用户下的表
- TABLESPACES:导出指定表空间的所有表
- INCLUDE/- EXCLUDE:按对象类型过滤
- COMPRESSION=ALL:压缩导出文件
- PARALLEL=4:启用并行加速
 
-  验证结果 
 检查日志文件export_log.log中的ORA-错误及末尾的 “成功转储” 提示。 
使用传统导出工具(exp – 兼容老版本)
适用于Oracle 9i等旧环境
操作命令:
exp 用户名/密码@数据库实例 FILE=导出文件.dmp LOG=导出日志.log TABLES=(表名1,表名2) ROWS=Y
注意:
- 若导出大表可能效率较低
- 不支持部分高级特性(如压缩、并行)
通过SQL Developer图形化导出
适合非命令行用户

- 连接数据库 → 展开”表”目录
- 右键目标表 → 选择”导出”
- 设置选项: 
  - 格式:SQL或Loader
- 输出文件:指定保存路径
- 勾选”导出数据”
 
- 格式:
- 点击”应用”执行导出
关键注意事项:
-  权限要求 - expdp需要- EXP_FULL_DATABASE角色
- 操作系统目录需对Oracle进程可读写
 
-  字符集一致性 
 导出前确认NLS_LANG环境变量与数据库一致,避免中文乱码:export NLS_LANG=AMERICAN_AMERICA.AL32UTF8 # Linux示例 
-  大表优化建议  - 使用 PARALLEL参数提升速度
- 添加 COMPRESSION=ALL减少空间占用
- 通过 QUERY参数分批次导出(例:QUERY="WHERE id<10000")
 
- 使用 
-  云数据库特殊说明 
 AWS RDS/Oracle Cloud需通过DBMS_DATAPUMP包操作,示例:BEGIN DBMS_DATAPUMP.DUMP_HANDLE := DBMS_DATAPUMP.OPEN( operation => 'EXPORT', job_mode => 'TABLE'); END;
故障排查指引:
- ORA-39002:目录不存在 → 检查DIRECTORY对象权限
- ORA-01555:快照过旧 → 增大UNDO_RETENTION参数
- 导出文件为0字节 → 验证磁盘空间及目录所有权
引用说明:
本文操作基于Oracle 19c官方文档(Database Utilities指南)及MOS补丁集最佳实践,生产环境操作前请备份归档日志。
 
  
			 
			 
			 
			