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

Oracle数据库imp/exp

环境信息
项目配置说明
操作系统CentOS 7.9 (Kernel 3.10+)
Oracle版本Oracle 19c (19.3.0)
数据库实例orcl
主机IP192.168.1.100
监听端口1521
示例用户test_user/test_password
示例表空间USERS
示例表EMPLOYEES (ID, NAME, DEPT)
数据目录/u01/app/oracle/dump

一、exp/imp工具参数详解

1. exp(导出)核心参数
参数说明示例值
USERID用户名/密码test_user/test_password
BUFFER数据缓冲区大小(字节)10240000
FILE输出文件路径/u01/app/oracle/dump/exp_full.dmp
FULL全库导出(需特权用户)Y
OWNER按用户导出test_user
TABLES按表导出(支持通配符%)EMPLOYEES, DEPARTMENTS
ROWS是否导出数据行Y (默认) / N
COMPRESS压缩区分配(Y=合并碎片)Y
DIRECT直接路径导出(绕过SQL层,提升性能)Y
LOG日志文件路径/u01/app/oracle/dump/exp.log
QUERY条件导出数据"WHERE DEPT='IT'"
CONSISTENT一致性导出(事务级一致)Y
特殊场景参数
TABLESPACES按表空间导出USERS, INDEXES
PARFILE参数文件路径exp.par
2. imp(导入)核心参数
参数说明示例值
USERID用户名/密码test_user/test_password
BUFFER数据缓冲区大小10240000
FILE导入文件路径/u01/app/oracle/dump/exp_full.dmp
FULL全库导入Y
FROMUSER源用户(导出文件中的用户)test_user
TOUSER目标用户(导入到新用户)new_user
TABLES按表导入EMPLOYEES
IGNORE忽略创建错误(继续导入数据)Y
INDEXES是否导入索引Y (默认)
COMMIT每批数据提交(避免大事务回滚段不足)Y
LOG日志文件路径/u01/app/oracle/dump/imp.log
特殊场景参数
DESTROY覆盖数据文件(慎用!)Y
SHOW仅显示导入内容(不执行)Y

二、操作前准备

1. 创建数据目录
mkdir -p /u01/app/oracle/dump
chown oracle:oinstall /u01/app/oracle/dump
chmod 775 /u01/app/oracle/dump
2. 配置示例数据
-- 使用sqlplus连接数据库
sqlplus system/your_password@//192.168.1.100:1521/orcl-- 创建测试用户
CREATE USER test_user IDENTIFIED BY test_password
DEFAULT TABLESPACE USERS
QUOTA UNLIMITED ON USERS;GRANT CONNECT, RESOURCE TO test_user;-- 创建示例表
CONNECT test_user/test_password@//192.168.1.100:1521/orclCREATE TABLE EMPLOYEES (ID NUMBER PRIMARY KEY,NAME VARCHAR2(50),DEPT VARCHAR2(20)
);-- 插入示例数据
INSERT INTO EMPLOYEES VALUES (1, 'Alice', 'HR');
INSERT INTO EMPLOYEES VALUES (2, 'Bob', 'IT');
COMMIT;

三、exp导出操作实战

场景1:全用户导出
exp USERID=test_user/test_password@192.168.1.100:1521/orcl \OWNER=test_user \FILE=/u01/app/oracle/dump/exp_user.dmp \LOG=/u01/app/oracle/dump/exp_user.log \BUFFER=10240000 \DIRECT=Y
场景2:单表导出(带条件)
exp USERID=test_user/test_password@192.168.1.100:1521/orcl \TABLES=EMPLOYEES \FILE=/u01/app/oracle/dump/exp_emp.dmp \QUERY=\"WHERE DEPT=\'IT\'\" \LOG=/u01/app/oracle/dump/exp_emp.log
场景3:全库导出(需SYSDBA权限)
exp USERID=\"sys/sys_password as sysdba\"@192.168.1.100:1521/orcl \FULL=Y \FILE=/u01/app/oracle/dump/exp_full.dmp \LOG=/u01/app/oracle/dump/exp_full.log

四、imp导入操作实战

场景1:全用户导入(原用户恢复)
imp USERID=test_user/test_password@192.168.1.100:1521/orcl \FILE=/u01/app/oracle/dump/exp_user.dmp \LOG=/u01/app/oracle/dump/imp_user.log \IGNORE=Y \COMMIT=Y
场景2:跨用户导入(test_user → new_user)
-- 先创建目标用户
CREATE USER new_user IDENTIFIED BY new_password
DEFAULT TABLESPACE USERS;
GRANT CONNECT, RESOURCE TO new_user;
imp USERID=system/manager@192.168.1.100:1521/orcl \FILE=/u01/app/oracle/dump/exp_user.dmp \FROMUSER=test_user \TOUSER=new_user \LOG=/u01/app/oracle/dump/imp_cross_user.log
场景3:单表导入
imp USERID=test_user/test_password@192.168.1.100:1521/orcl \TABLES=EMPLOYEES \FILE=/u01/app/oracle/dump/exp_emp.dmp \IGNORE=Y \LOG=/u01/app/oracle/dump/imp_emp.log

五、高级场景处理

1. 大表拆分导出(使用FILESIZE)
exp USERID=test_user/test_password@192.168.1.100:1521/orcl \TABLES=LARGE_TABLE \FILE=/u01/app/oracle/dump/exp_large_%U.dmp \FILESIZE=2G \LOG=/u01/app/oracle/dump/exp_large.log
2. 元数据导入(仅结构)
imp USERID=test_user/test_password@192.168.1.100:1521/orcl \FILE=/u01/app/oracle/dump/exp_user.dmp \SHOW=Y \ROWS=N \LOG=/u01/app/oracle/dump/imp_metadata.log
3. 网络直接导入(不落地文件)
# 导出端
exp USERID=test_user/test_password@source_db FILE= - | \
# 导入端
imp USERID=test_user/test_password@target_db FILE= -

六、错误处理与验证

常见错误解决
  1. IMP-00058: 遇到ORACLE错误 1435

    -- 执行重建回滚段
    ALTER ROLLBACK SEGMENT "_SYSSMU1$" OFFLINE;
    DROP ROLLBACK SEGMENT "_SYSSMU1$";
    
  2. EXP-00091: 导出统计信息失败

    # 在导出命令中添加参数
    exp ... STATISTICS=NONE
    
数据验证步骤
-- 检查对象计数
SELECT COUNT(*) FROM DBA_OBJECTS WHERE OWNER='TEST_USER';-- 验证数据完整性
SELECT * FROM TEST_USER.EMPLOYEES;

七、关键注意事项

  1. 版本兼容性

    • 低版本exp导出文件可导入高版本数据库(如11g→19c)
    • 高版本导出需用相同或更高版本imp导入(使用VERSION参数降级)
  2. 字符集一致性

    -- 检查数据库字符集
    SELECT * FROM NLS_DATABASE_PARAMETERS WHERE PARAMETER='NLS_CHARACTERSET';
    
  3. 性能优化

    • 导出:使用DIRECT=YRECORDLENGTH=65535
    • 导入:设置COMMIT=YBUFFER=10485760
  4. 空间监控

    -- 监控表空间使用率
    SELECT TABLESPACE_NAME, USED_PERCENT
    FROM DBA_TABLESPACE_USAGE_METRICS;
    

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

USERID=test_user/test_password@192.168.1.100:1521/orcl
TABLES=EMPLOYEES, DEPARTMENTS
FILE=/u01/app/oracle/dump/exp_tables.dmp
LOG=/u01/app/oracle/dump/exp_tables.log
DIRECT=Y
COMPRESS=Y

执行命令:exp parfile=exp.par


文档修订记录

版本日期修改说明
V1.02023-10-15初稿
V1.12023-10-20增加大表拆分导出场景
http://www.dtcms.com/a/449578.html

相关文章:

  • 自己做的网站怎么上传手机百度网页版主页
  • 昆明网站定制建设项目验收在哪个网站公示
  • 大模型开发 - 01 Spring AI 核心特性一览
  • 手赚网 类似网站怎么建设在局域网内访问本机的asp网站
  • AS5600 驱动(HAL库400K硬件IIC+DMA、1MHZ软件IIC)
  • Oracle OCP认证考试题目详解082系列第1题
  • 做网站公司是干什么的安徽工程建设信息网实名制查询
  • Java EE初阶启程记12---synchronized 原理
  • 设计模式简要介绍
  • Python 数据结构综合速查:列表 / 字典 / 集合 / 元组对比
  • 宁波建设工程报名网站搭建一个网站的具体步骤
  • 第十七章:遍历万象,步步为营——Iterator的迭代艺术
  • 记一次vcenter server 无法同步主机的故障处理过程
  • 手搓20颗芯片|专栏开篇:从0到1搭建芯片设计与UVM验证体系
  • 《 Linux 点滴漫谈: 三 》Linux 的骨架:文件系统与目录结构的完整图谱
  • 跨境自建站模板库存网站建设公司
  • 【Web安全】转义字符注入?转义也会失效的SQL注入
  • 虚拟机中建设iis网站网站推广洛阳
  • python+vue高校新生报到管理系统设计(源码+文档+调试+基础修改+答疑)
  • 中秋连连看小游戏开发完整教程
  • 产品图案设计网站一起做网店网站入驻收费
  • traffic-filter inbound acl 概念及题目
  • Python3 XML 解析
  • 驾驭涌现的艺术:自组织系统——解锁复杂世界的创新与适应力
  • 青岛做外贸网站建设西安网站建设培训中心
  • 【MES架构师与C#高级工程师(设备控制方向)两大职业路径的技术】
  • MySQL 8.0.26崩溃恢复全解析
  • 北京哪个网站最好湖南网络营销
  • 【Linux】MobaXterm 工具介绍
  • 2025-10-6学习笔记