欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

Oracle使用实例:exp和expdp导出数据

程序员文章站 2024-03-13 22:51:46
...

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

就这么多,大家动动手试试看。
除此之外,导出导入工具还有很多参数功能可选,尤其有并行操作,提高数据库备份的效率。