Oracle数据库导入导出:使用SQLPLUS与DOS命令行操作impexp

5星 · 超过95%的资源 需积分: 10 118 下载量 87 浏览量 更新于2024-09-19 1 收藏 6KB TXT 举报
"Oracle数据库的导入导出工具impexp通常可以在SQLPLUS.EXE或DOS命令行环境中执行,用于数据库对象的迁移、备份和恢复。本文将详细介绍如何在这些环境中操作impexp,并提供多个示例来说明不同场景下的导入导出过程。" Oracle数据库提供了强大的数据导入导出工具,即IMP(Import)和EXP(Export),它们允许用户方便地进行数据的迁移、备份和恢复。IMP工具用于将导出文件中的数据和对象导入到数据库中,而EXP工具则负责将数据库中的数据和对象导出到文件。 在DOS环境下,首先确保你已正确配置了Oracle的环境变量,尤其是ORACLE_HOME指向了Oracle的安装目录,如例子中的ora81\BIN。在这个目录下,你可以找到EXP.EXE和IMP.EXE这两个命令行工具,它们分别对应于Export和Import操作。 1. 创建新用户并授予权限: 在SQL*Plus中,登录为管理员(例如system/manager),创建新的用户并赋予相应的权限,如: ``` CREATE USER 新用户名 IDENTIFIED BY 密码; GRANT CREATEUSER, DROPUSER, ALTERUSER, CREATEANYVIEW, DROPANYVIEW, EXP_FULL_DATABASE, IMP_FULL_DATABASE, DBA, CONNECT, RESOURCE, CREATESESSION TO 新用户名; ``` 2. 全库导入与导出: - 导出整个数据库,可以使用以下命令: ``` exp system/manager@数据库名 file=导出文件名.dmp full=y ``` - 导入整个数据库: ``` imp system/manager@数据库名 file=导入文件名.dmp full=y ``` 例如,在DOS命令行中: ``` F:WorkOracle_Databackup>imp userid=test/test full=y file=inner_notify.dmp ``` 3. 指定用户的所有对象导出与导入: - 导出特定用户的所有对象: ``` exp system/manager@数据库名 file=导出文件名.dmp owner=(用户名1, 用户名2) ``` - 如: ``` exp system/manager@TEST file=d:daochu.dmp owner=(system,sys) ``` 4. 单一表或多个表的导出与导入: - 导出单个表: ``` exp system/manager@数据库名 file=导出文件名.dmp tables=(表名) ``` - 示例: ``` exp system/manager@TEST file=d:datanewsmgnt.dmp tables=(inner_notify,notify_staff_relat) ``` - 导入单个表并根据条件过滤数据: ``` exp system/manager@TEST file=d:daochu.dmp tables=(table1) query="where filed1 like '00%'" ``` 5. 压缩导出文件: Oracle导出时可以启用压缩选项,节省存储空间: ``` exp system/manager@数据库名 file=导出文件名.dmp compress=y ``` 然后,可以使用WinZip或其他压缩软件解压和压缩导入导出的.dmp文件。 6. 导入导出注意事项: - 在执行导入导出操作时,确保数据库服务器运行正常,且用户有足够的权限。 - 为了确保数据的完整性和一致性,建议在无事务操作时段进行导入导出。 - 在导入前,检查目标数据库是否有冲突的对象,如有,可能需要先删除或重命名。 - 对于大容量的数据,可以考虑使用分区导出导入,以提高效率。 通过以上步骤,用户可以在DOS命令行或SQL*Plus中有效地管理和操作Oracle数据库的导入导出,实现数据的备份、迁移和恢复。