Oracle数据库导入导出imp/exp操作详解

4星 · 超过85%的资源 需积分: 15 2 下载量 141 浏览量 更新于2024-11-28 收藏 30KB DOC 举报
"Oracle数据导入导出 impexp 命令" Oracle 数据导入导出工具,也称为 imp 和 exp,是 Oracle 数据库管理系统提供的一种重要功能,用于在数据库之间迁移数据或进行数据备份与恢复。这些命令使得管理员能够将数据库中的对象(如表、索引、存储过程等)及数据从一个环境转移到另一个环境,或者创建数据库的完整或部分备份。 1. 数据导出 (exp): - 完全导出:`exp system/manager@TEST file=d:daochu.dmp full=y` 这条命令会导出整个 TEST 数据库的所有对象和数据,使用系统用户 system 和密码 manager,并将结果保存到 d:daochu.dmp 文件中。 - 指定用户导出:`exp system/manager@TEST file=d:daochu.dmp owner=(system,sys)` 导出指定用户(如 system 和 sys)的所有对象。 - 表导出:`exp aichannel/aichannel@TESTDB2 file=d:datanewsmgnt.dmp tables=(inner_notify,notify_staff_relat)` 只导出特定表 inner_notify 和 notify_staff_relat。 - 条件导出:`exp system/manager@TEST file=d:daochu.dmp tables=(table1) query="where filed1 like '00%'"` 导出 table1 中字段 filed1 以 "00" 开头的记录。 2. 数据导入 (imp): - 完全导入:`imp system/manager@TEST file=d:daochu.dmp` 将 d:daochu.dmp 文件中的数据导入到 TEST 数据库,保持原有结构。 - 特定文件导入:`imp aichannel/aichannel@HUST full=y file=d:datanewsmgnt.dmp` 将 d:datanewsmgnt.dmp 文件全部内容导入到 HUST 数据库,使用 aichannel 用户和其密码。 此外,exp 命令还支持压缩选项 `compress=y`,用于压缩导出文件,减少存储空间。同时,导出的 .dmp 文件可以通过 Winzip 或类似工具进一步压缩,以节省磁盘空间。 在执行这些操作时,需要确保在 SQL*Plus 或 DOS 命令行环境下运行,且路径已经包含了 EXP.EXE 和 IMP.EXE 执行文件。在 Oracle 8i 中,通常 ora81BIN 目录会被添加到全局路径中。这些命令可能由 Java 编写的类文件包装,SQL*Plus.EXE 通过调用这些类来执行导入导出任务。 使用 impexp 命令需要注意以下几点: - 用户权限:执行 impexp 命令的用户必须具有足够的权限,如 SELECT, INSERT, UPDATE, DELETE 等,以及在某些情况下,可能需要 DBA 权限。 - 数据一致性:在进行数据导入导出时,确保数据库处于一致状态,避免并发操作导致的数据不一致。 - 错误处理:检查日志文件以捕获和解决可能出现的错误。 - 大型数据集:对于大型数据库,可能需要分批导出或使用其他工具(如 Data Pump)以提高效率。 Oracle 的 impexp 命令是数据库管理中的重要工具,对于数据迁移、备份和恢复具有重要作用。通过熟练掌握这些命令,数据库管理员可以更加有效地管理和维护他们的数据库环境。