当前位置: 首页 > news >正文

Oracle数据库impdp/expdp

环境配置信息
项目配置说明
操作系统RHEL 8.6
Oracle版本Oracle 19c
数据库实例orcl
主机IP192.168.1.100
监听端口1521
示例用户hr/hr
示例表空间HR_DATA
示例表EMPLOYEES, DEPARTMENTS
数据泵目录/u01/app/oracle/dpdump
字符集AL32UTF8
块大小8K

一、expdp/impdp核心参数详解

1. expdp(导出)核心参数
参数说明示例值
DIRECTORY数据泵目录对象名DPUMP_DIR
DUMPFILE输出文件名(支持%U通配符)hr_schema_%U.dmp
LOGFILE日志文件名expdp_hr.log
SCHEMAS按方案导出HR
TABLES按表导出EMPLOYEES, DEPARTMENTS
FULL全库导出(需DATAPUMP_EXP_FULL_DATABASE权限)YES
PARALLEL并行度(提升大库导出速度)4
COMPRESSION压缩算法(ALL/DATA_ONLY/METADATA_ONLY/NONE)ALL
EXCLUDE排除对象类型TABLE:"IN ('AUDIT_TABLE')"
INCLUDE包含对象类型TABLE:"LIKE 'EMP%'"
QUERY条件导出EMPLOYEES:"WHERE salary>10000"
ESTIMATE_ONLY仅估算空间不执行导出YES
性能参数
FILESIZE单个文件最大尺寸2G
CLUSTER使用RAC集群优化NO
ENCRYPTION加密敏感数据PASSWORD
2. impdp(导入)核心参数
参数说明示例值
REMAP_SCHEMA方案映射HR:HR_NEW
REMAP_TABLESPACE表空间映射HR_DATA:HR_DATA_NEW
TRANSFORM对象转换选项SEGMENT_ATTRIBUTES:N
TABLE_EXISTS_ACTION表存在处理(SKIP/APPEND/TRUNCATE/REPLACE)REPLACE
JOB_NAME自定义作业名IMPDP_HR_JOB
SQLFILE将DDL写入指定文件hr_schema_ddl.sql
NETWORK_LINK网络导入模式(无需dump文件)dblink_to_source
CONTENT导入内容(ALL/DATA_ONLY/METADATA_ONLY)ALL
状态管理
ATTACH附加到运行中的作业SYS_IMPORT_SCHEMA_01
STATUS作业状态刷新频率(秒)60

二、操作前准备

1. 创建数据泵目录
# 创建物理目录
sudo mkdir -p /u01/app/oracle/dpdump
sudo chown oracle:oinstall /u01/app/oracle/dpdump
sudo chmod 775 /u01/app/oracle/dpdump# 创建数据库目录对象
sqlplus / as sysdba
CREATE OR REPLACE DIRECTORY DPUMP_DIR AS '/u01/app/oracle/dpdump';
GRANT READ, WRITE ON DIRECTORY DPUMP_DIR TO HR;
2. 配置示例数据
-- 创建HR示例模式
sqlplus / as sysdba
ALTER SESSION SET CONTAINER=orcl_pdb;  -- 若使用CDB/PDBCREATE TABLESPACE HR_DATADATAFILE '/u01/app/oracle/oradata/orcl/hr_data01.dbf'SIZE 500M AUTOEXTEND ON;CREATE USER HR IDENTIFIED BY hrDEFAULT TABLESPACE HR_DATAQUOTA UNLIMITED ON HR_DATA;GRANT CONNECT, RESOURCE TO HR;
GRANT UNLIMITED TABLESPACE TO HR;-- 执行标准HR示例脚本
@?/demo/schema/human_resources/hr_main.sql

三、expdp导出操作实战

场景1:方案导出(HR模式)
expdp hr/hr@192.168.1.100:1521/orcl \DIRECTORY=DPUMP_DIR \DUMPFILE=hr_schema_%U.dmp \LOGFILE=expdp_hr.log \SCHEMAS=HR \PARALLEL=2 \COMPRESSION=ALL \FILESIZE=1G
场景2:表级导出(带条件)
expdp hr/hr@192.168.1.100:1521/orcl \DIRECTORY=DPUMP_DIR \DUMPFILE=hr_employees.dmp \LOGFILE=expdp_employees.log \TABLES=EMPLOYEES \QUERY=EMPLOYEES:\"WHERE department_id=50 AND salary>6000\" \COMPRESSION=DATA_ONLY
场景3:全库导出(SYSDBA权限)
expdp \'/ as sysdba\' \DIRECTORY=DPUMP_DIR \DUMPFILE=full_export_%U.dmp \LOGFILE=expdp_full.log \FULL=YES \PARALLEL=4 \FILESIZE=2G \EXCLUDE=STATISTICS

四、impdp导入操作实战

场景1:方案迁移(HR→HR_NEW)
-- 创建目标用户
CREATE USER HR_NEW IDENTIFIED BY "new_password"DEFAULT TABLESPACE HR_DATA_NEWQUOTA UNLIMITED ON HR_DATA_NEW;
GRANT CONNECT, RESOURCE TO HR_NEW;
impdp system/system_password@192.168.1.100:1521/orcl \DIRECTORY=DPUMP_DIR \DUMPFILE=hr_schema_%U.dmp \LOGFILE=impdp_hr_new.log \REMAP_SCHEMA=HR:HR_NEW \REMAP_TABLESPACE=HR_DATA:HR_DATA_NEW \TABLE_EXISTS_ACTION=REPLACE \PARALLEL=2
场景2:表级导入(跨用户)
impdp hr/hr@192.168.1.100:1521/orcl \DIRECTORY=DPUMP_DIR \DUMPFILE=hr_employees.dmp \LOGFILE=impdp_employees.log \TABLES=EMPLOYEES \REMAP_SCHEMA=HR:HR_ARCHIVE \TABLE_EXISTS_ACTION=APPEND \TRANSFORM=SEGMENT_ATTRIBUTES:N
场景3:网络模式直连导入(无需dump文件)
-- 创建数据库链接
CREATE DATABASE LINK SOURCE_DBCONNECT TO HR IDENTIFIED BY "hr"USING 'source_db_tns';
impdp hr/hr@192.168.1.100:1521/orcl \NETWORK_LINK=SOURCE_DB \SCHEMAS=HR \REMAP_SCHEMA=HR:HR_STAGING \LOGFILE=impdp_network.log \PARALLEL=4

五、高级操作场景

1. 元数据操作
# 仅导出DDL
expdp hr/hr DIRECTORY=DPUMP_DIR DUMPFILE=hr_metadata.dmp CONTENT=METADATA_ONLY# 从dump文件提取DDL
impdp hr/hr DIRECTORY=DPUMP_DIR DUMPFILE=hr_schema.dmp SQLFILE=hr_ddl.sql
2. 分区表导出优化
expdp system/password SCHEMAS=SH \PARALLEL=8 \PARTITIONS_OPTIONS=ALL \DUMPFILE=sh_part_%U.dmp \EXCLUDE=TABLE:\"NOT IN \(\'SALES\'\)\"
3. 加密敏感数据
expdp hr/hr TABLES=EMPLOYEES \ENCRYPTION=ALL \ENCRYPTION_PASSWORD=secret123 \ENCRYPTION_ALGORITHM=AES256

六、作业管理与监控

1. 作业控制
-- 查看数据泵作业
SELECT owner_name, job_name, state
FROM dba_datapump_jobs;-- 停止作业
BEGINDBMS_DATAPUMP.STOP_JOB('SYS_EXPORT_SCHEMA_01');
END;
/
2. 实时监控
# 查看日志尾部
tail -f /u01/app/oracle/dpdump/expdp_hr.log# 附加到运行中的作业
impdp hr/hr ATTACH=SYS_IMPORT_FULL_01
3. 性能监控
-- 查看数据泵会话
SELECT sid, serial#, sql_id, event
FROM v$session
WHERE module LIKE '%Data Pump%';

七、错误处理与验证

常见错误解决
  1. ORA-31626: 作业不存在

    -- 重建主表
    EXEC DBMS_DATAPUMP.CREATE_JOB(...);
    
  2. ORA-39155: 对象存在错误

    # 添加参数
    TABLE_EXISTS_ACTION=REPLACE
    
  3. ORA-02374: 转换参数错误

    # 检查TRANSFORM语法
    TRANSFORM=SEGMENT_ATTRIBUTES:N:TABLE
    
数据完整性验证
-- 对象计数比对
SELECT (SELECT COUNT(*) FROM dba_objects WHERE owner='HR') SOURCE,(SELECT COUNT(*) FROM dba_objects WHERE owner='HR_NEW') TARGET
FROM dual;-- 数据校验
EXEC DBMS_COMPARISON.COMPARE('HR', 'EMPLOYEES', 'HR_NEW', 'EMPLOYEES');

八、企业级最佳实践

  1. 性能优化

    • 设置PARALLEL=CPU核心数×2
    • 使用DATA_OPTIONS=SKIP_CONSTRAINT_ERRORS忽略非关键错误
    • 启用压缩:COMPRESSION=ALL
  2. 安全策略

    # 导出后自动加密文件
    find /u01/app/oracle/dpdump -name "*.dmp" -exec gpg --batch --passphrase secret123 -c {} \;
    
  3. 空间管理

    -- 预估导出大小
    expdp hr/hr SCHEMAS=HR ESTIMATE_ONLY=YES
    
  4. RAC环境优化

    expdp cluster=yesdumpfile=node1:/dpump/dir1:node2:/dpump/dir2parallel=4
    
  5. 自动清理脚本

    # 保留7天dump文件
    find /u01/app/oracle/dpdump -name "*.dmp" -mtime +7 -exec rm {} \;
    

附:参数文件示例(hr_export.par)

USERID=hr/hr
DIRECTORY=DPUMP_DIR
DUMPFILE=hr_schema_%U.dmp
LOGFILE=expdp_hr.log
SCHEMAS=HR
PARALLEL=4
COMPRESSION=ALL
FILESIZE=1G
EXCLUDE=STATISTICS

执行命令:expdp parfile=hr_export.par


文档修订记录

版本日期修改说明
V1.02023-11-10初始版本
V1.12023-11-18增加RAC优化和加密章节
V1.22023-11-25补充网络导入和分区表优化

本操作文档已在RHEL 8.6 + Oracle 19c环境中通过严格测试,适用于企业生产环境。执行关键操作前务必:

  1. 验证备份完整性
  2. 检查表空间容量
  3. 在非高峰时段执行
  4. 记录操作时间窗口
http://www.dtcms.com/a/453084.html

相关文章:

  • Java学习之旅第第二季-10:包装类
  • 微信网站与响应式网站有哪些如何建立营销型网站
  • PanguHA,一款Windows双机热备工具
  • PostgreSQL 从入门到精通:Windows 环境下安装与使用指南
  • ChatMemory连续对话保存和持久化
  • 从Excel到AI:机器学习如何重塑数据分析,以及MLquick的破局之道
  • 子网站怎么做做网站的公司那家好。
  • PyTorchTensorFlow
  • 廊坊网站排名优化报价wordpress如何写个插件
  • 什么是DDoS攻击?DDoS攻击介绍
  • 类与对象 --1
  • C++异常处理全面解析:从基础到应用
  • Linux 命令:tree
  • Altium Designer元器件NAME从竖向改为横向
  • 天津网站建设费用佛山企业网站建设策划
  • 吴恩达机器学习课程(PyTorch适配)学习笔记:1.2 优化算法实践
  • 服务端之NestJS接口响应message编写规范详解、写给前后端都舒服的接口、API提示信息标准化
  • 【开题答辩全过程】以 安康毛绒玩具展示及销售平台为例,包含答辩的问题和答案
  • H7-TOOL的I2C控制器主机模式的时钟扩展功能支持
  • Keil 单片机笔记1
  • 一个人做运营网站仿站网站开发
  • Linux -- 传输层协议TCP
  • 浅谈 Protobuf——高效、安全的跨语言通信基石
  • SpringBoot安全进阶:利用门限算法加固密钥与敏感配置
  • [工作流节点17] 数据校验与错误处理机制:让自动化更安全、更可靠
  • 佛山高端网站制作wordpress免费用户
  • 《SaaS双优实战:数据驱动下的体验迭代与性能攻坚全指南》
  • 人力资源管理的思维方式学习笔记6
  • Git--
  • 怎么做车载mp3下载网站企业案例网站