Oracle 导入/出数据泵总结

最近在做一些数据库相关工作,需要频繁用到一些数据导入/出的操作,在这简单总结一下:

导入/出数据时,存在两种方式:1. imp/exp  2.impdp/expdp

两种推荐使用第二种,即impdp/expdp方式,原因在于其导入/出效率较于第一种高太多。

需要注意的是,在导入/出的时候,两种方式操作的文件格式是不同的。

因此切记不要用impdp命令来导入exp命令导出的dmp文件。

下面以impdp/expdp为例介绍导入/出操作流程

导出(expdp):

1.进入sqlplus,并以dba权限登陆。

sqlplus /nolog;
conn / as sysdba;

2.创建导出目录

create or replace directory dpdata as '/home/oracle/dmp';

 3.给导出目录赋权限

grant read,write on directory dpdata to test;
--语法格式:grant 权限内容(多个以逗号隔开) on directory 目录名称(即步骤2中创建的目录名) to 用户名

4.导出

1)按用户导
expdp test/test@orcl schemas=test dumpfile=expdp.dmp DIRECTORY=dpdata;
--格式:expdp 用户名/密码@数据库实例名称 schemas=名称(一般为用户名) dumpfile=导出文件名 DIRECTORY=导出目录;

2)按表名导
expdp test/test@orcl TABLES=aaa,bbb dumpfile=expdp.dmp DIRECTORY=dpdata;
--格式:expdp 用户名/密码@数据库实例名称 TABLES=表名称(多个以逗号分隔) dumpfile=导出文件名 DIRECTORY=导出目录;

3)导整个数据库
expdp test/test@orcl DIRECTORY=dpdata DUMPFILE=expdp.dmp FULL=y;
--格式:expdp 用户名/密码@数据库实例名称 DIRECTORY=导出目录 dumpfile=导出文件名 FULL=y/n(是否导出整个数据库);

4)按查询条件导
expdp test/test@orcl DIRECTORY=dpdata DUMPFILE=expdp.dmp Tables=emp query='WHERE deptno=20';
--格式:expdp 用户名/密码@数据库实例名称 DIRECTORY=导出目录 dumpfile=导出文件名 Tables=表名称 query=条件语句;

猜你喜欢

转载自blog.csdn.net/x8826054/article/details/81291493
今日推荐