Oracle使用实例:exp和expdp导出数据
EXP和EXPDP是Oracle提供的两种数据导出工具。
关于exp和expdp
EXP和IMP是客户端工具程序,它们既可以在客户端使用,也可以在服务端使用。
EXPDP和IMPDP是服务端的工具程序,他们只能在ORACLE服务端使用,不能在客户端使用。
IMP只适用于EXP导出的文件,不适用于EXPDP导出文件;IMPDP只适用于EXPDP导出的文件,而不适用于EXP导出文件。
实践场景
导出数据库orcl(服务名)的所有表和数据,其普通用户:scott/tiger, 管理员:system/manager
该实践暂不考虑关于根据用户、表或表空间等因素条件导出,只是导出全库。
如果在客户端使用exp时,需要已安装Oracle Client,确保可以使用exp工具。同样使用imp导入工具也是类似。
exp方式
这种方式很简单,打开命令终端cmd,输入:
exp scott/tiger@orcl file=d:\expdata.dmp full=y
其中:
scott/[email protected] – 用户名/密码@服务名
file=d:\expdata.dmp – 导出路径和导出文件名
full=y – 导出整个数据库更多参数说明可以使用exp -help进行查看
导入也很简单,同样命令:
imp scott/tiger@orcl file=d:\expdata.dmp full=y ignore=y
expdp方式
expdp方式步骤稍微复杂一些,不过不要害怕。
1.管理员用户登陆sqlplus
打开cmd,输入:
sqlplus system/manager@orcl
或输入:
sqlplus scott/[email protected] as sysdba
以上都可以,因为要创建目录,请使用管理员身份这样才有权限,另外要指明登陆的数据库服务名orcl,否则后续导出时可能找不到目录。
2.创建逻辑导出目录
sqlplus下,在SQL>后输入:
create directory dpdata as 'D:\expdpdata';
其中,dpdata就是我们创建的一个目录代号而已,后面执行命令用得着,而’D:\expdpdata’是我们要导出文件存放的目录。
创建成功后,可以通过下面命令进行查看:
select * from dba_directories;
需要注意的是,执行命令并不是真正创建目录,需要手动在该路径下创建目录,否则后续导出会不成功。
3.给导出操作用户赋予在指定目录的操作权限
如果我们后续就用system用户导出,这一步可以省略,但是如果我们用scott用户导出,那么在SQL>后输入:
grant read, write on directory dpdata to scott;
4.导出整个数据库
执行完上述操作,我们可以退出sqlplus回到cmd窗口,执行下面的命令:
expdp system/[email protected] directory=dpdata dumpfile=expdpfile.dmp full=y
其中:
system/[email protected] – 用户名/密码@服务名
directory=dpdata – 导出目录
dumpfile=expdpfile.dmp – 导出文件名
full=y – 导出整个数据库更多参数说明可以使用expdp -help进行查看
上面的命令是用管理员用户导出全库的,如果我们想指定导出某个模式(schema)下的数据表(即某个用户的数据库对象集合),可以使用如下命令参数控制:
expdp system/[email protected] directory=dpdata dumpfile=expdpfile.dmp schemas=scott
或
expdp scott/[email protected] directory=dpdata dumpfile=expdpfile.dmp
这样就导出scott下所有表和数据。
5.说说导入impdp
需要说的是,要导入的数据库一定要首先创建好相应的用户,和导出时用的用户一致赋予相应权限。
cmd命令如下:
全库导入
impdp system/[email protected] directory=dpdata dumpfile=expdpfile.dmp full=y
指定用户导入
impdp system/[email protected] directory=dpdata dumpfile=expdpfile.dmp schemas=scott
或
impdp scott/[email protected] directory=dpdata dumpfile=expdpfile.dmp
就这么多,大家动动手试试看。
除此之外,导出导入工具还有很多参数功能可选,尤其有并行操作,提高数据库备份的效率。
下一篇: DES加密和解密
推荐阅读
-
Oracle使用实例:exp和expdp导出数据
-
oracle expdp导出和impdp导入使用方法
-
使用expdp/impdp远程导入导出oracle数据
-
oracle数据库导入导出,exp/imp,impdp/expdp数据泵,最详细最简单
-
Oracle 11g中用exp不能导出空表,异构平台迁移可以使用expdp、impdp
-
MongoDB使用mongoexport和mongoimport命令,批量导出和导入JSON数据到同一张表的实例
-
Oracle数据导入导出imp/exp命令 10g以上expdp/impdp命令
-
oracle expdp导出和impdp导入使用方法
-
Oracle数据导入导出imp/exp命令 10g以上expdp/impdp命令
-
oracle数据库中impdp和expdp使用实例讲解