Oracle数据库导入导出:使用SQLPLUS与DOS命令行操作impexp
5星 · 超过95%的资源 需积分: 10 56 浏览量
更新于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数据库的导入导出,实现数据的备份、迁移和恢复。
902 浏览量
176 浏览量
1541 浏览量
3816 浏览量
275 浏览量
167 浏览量
234 浏览量
120 浏览量
289 浏览量