Oracle数据导入导出:impdp与expdp操作详解
需积分: 17 172 浏览量
更新于2024-09-09
收藏 2KB TXT 举报
"本文主要介绍了Oracle数据库中的数据导入与导出工具expdp和impdp的使用方法,包括创建目录对象、赋予权限、执行expdp和impdp命令,以及在导入过程中涉及的表空间管理和用户权限配置。"
在Oracle数据库管理中,expdp(Export Data Pump)和impdp(Import Data Pump)是两个非常重要的实用程序,用于数据的备份和恢复,或者在不同数据库之间迁移数据。这两个工具使用Data Pump技术,能够快速高效地处理大量数据。
1. expdp:数据导出
在使用expdp之前,需要创建一个目录对象来指定存储导出文件的位置。在描述中,我们看到以下命令:
```
SQL>> create or replace directory dir_dp as 'd:\bak';
```
这条SQL语句创建了一个名为`dir_dp`的目录,其路径为`d:\bak`。接着,我们需要给当前用户(这里是`system`)授予对这个目录的读写权限:
```
SQL>> Grant READ, WRITE, EXECUTE on directory dir_dp to system;
```
接下来,使用expdp命令导出数据:
```
CMD>> expdp system/system@projmdirectory=dir_dpdumpfile=projm20180118.dmplogfile=expdp_projm_20180118.logschemas=MIS_BASE,MIS_BLOB,MIS_CONFIG,MIS_LOG,MIS_REPORT,MIS_SYS,MIS_WF,HM_PROJ
```
上述命令将从`projm`数据库实例导出多个模式(schemas)的数据到名为`projm20180118.dmp`的文件,并生成日志文件`expdp_projm_20180118.log`。
2. impdp:数据导入
在导入数据前,可能需要创建或调整表空间。例如,为了创建名为`HM_PROJ`的表空间,可以执行:
```
CMD>> --droptablespace hm_proj INCLUDING CONTENTS;
Createtablespace hm_proj
datafile 'D:\app\Administrator\oradata\projmp\hm_proj.ora' size 50m reuse autoextend on
next 10m;
```
创建用户并分配权限:
```
CMD>> create user hm_proj identified by hm_proj default tablespace hm_proj;
CMD>> grant connect, resource, dba to hm_proj;
CMD>> grant select any table to hm_proj;
```
最后,使用impdp命令导入数据:
```
CMD>> impdp system/oracle@projmdirectory=dir_dpdumpfile=projm20180118.dmplogfile=PROJM20180118-imp-2.logschemas=MIS_BASE,MIS_BLOB,MIS_CONFIG,MIS_LOG,MIS_REPORT,MIS_SYS,MIS_WF,HM_PROJ
```
这个命令将`projm20180118.dmp`文件中的数据导入到`projm`数据库中,同时记录在`PROJM20180118-imp-2.log`日志文件中。
通过这些操作,我们可以完成Oracle数据库的数据备份和恢复,或者在不同的数据库环境间迁移数据。需要注意的是,操作过程中应确保有足够的权限,并谨慎处理数据导入导出,避免丢失或覆盖重要数据。在实际环境中,还需要根据具体需求调整参数,例如设置导出导入的参数选项,控制数据转换、约束处理等。
2020-12-15 上传
2018-01-22 上传
2015-03-19 上传
2011-07-06 上传
2011-05-24 上传
2023-06-30 上传