Oracle CMD命令:高效导出导入DMP文件指南

需积分: 16 2 下载量 91 浏览量 更新于2024-09-05 收藏 248KB DOCX 举报
Oracle数据库管理中,使用命令行工具(cmd)进行数据导入导出是一项常见的操作,特别是在需要批量处理或自动化流程时。本文档主要介绍了如何通过exp和expdp这两个实用的Oracle工具来实现数据的导出(export)和导入(import)。 **Oracle exp命令导出数据** 1. **登录到cmd窗口并启动SQL*Plus**:首先,使用管理员账号登录到cmd,然后打开SQL*Plus,这是一个图形化的交互式SQL查询环境。 2. **创建目录对象**:在SQL*Plus中,管理员需要创建一个目录对象,用于存放导出的DMP文件。这可以通过`CREATE DIRECTORY`命令完成。 3. **退出SQL*Plus**:执行完目录创建后,关闭SQL*Plus,以便在操作系统层面进行后续操作。 4. **创建本地目录**:在操作系统层面,比如在D盘创建一个名为`fzb`的文件夹,用于存放即将导出的DMP文件。 5. **执行导出命令**:回到cmd,使用`exp`命令,格式如下: ``` exp user/password@sid(实例) owner=userfile=D:\user.dmp feedback=10000 buffer=10240000 ``` - `owner=user`:指定表的所有者,即导出数据的用户名。 - `freeback=10000`:设置显示处理记录数量,非零值可实时跟踪进度。 - `buffer=10240000`:定义数据块大小,增大这个值可以提高导入/导出效率,减少数据读取次数。 **Oracle expdp命令导出数据** expdp是Oracle 11g及更高版本引入的新工具,它提供了更多的功能和更好的性能。与exp类似,但更加强大。 1. **连接数据库和启动SQL*Plus**:同样先登录到cmd,然后启动SQL*Plus。 2. **创建目录对象**:使用管理员账号创建目录对象。 3. **创建本地目录**:在操作系统中创建文件夹。 4. **执行导出命令**: ``` expdp user/password@sid(实例) owner=user file=D:\user.dmp fromuser=user rows=y commit=y feedback=10000 buffer=10240000 ``` - `fromuser=user`:源用户,即DMP文件来源的用户名。 - `touser=user`:目标用户,导入数据的目的地。 - `rows=y`:选择是否导出数据行,`y`表示导出。 - `commit=y`:启用行级提交,每导入一行数据就提交一次,节省系统资源。 - 其他参数与exp命令相同,如`buffer`控制数据块大小和`freeback`显示处理记录数。 **注意事项** - `expdp`默认不会下载索引数据,若需包含索引,需要明确指定`indexes=n`,尽管它不会下载索引数据,但在导入时`imp`会自动更新索引。 - 两个命令中的`buffer`参数用于设置数据缓存大小,以优化导入/导出过程。 Oracle的cmd命令行工具为数据迁移提供了灵活且高效的手段,掌握这些基本操作有助于日常数据库维护和备份恢复工作。在实际操作中,确保权限正确、路径清晰,以避免潜在问题。