booloot 2017-07-02
和exp不同,在使用expdp导出数据时先要用DBA用户进入Oracle中执行一条指定备份路径后再授权可读写后,才能操作,具体操作步骤如下:
SQL>
create
or
replace
directory dpdata1
as
'/data/backup/oracle_backup'
;
Directory created.
SQL>
grant
read
,write
on
directory dpdata1
to
u01;
grant
succeeded.
SQL>
grant
read
,write
on
directory dpdata1
to
u02;
grant
succeeded.
SQL>
select
*
from
dba_directories;
这里dpdatal指定下要备份导出数据的路径,然后授权这个目录给要导出用户,这里要注意的是这个目录必须是Oracle用户的属组以确保文件权限可写入,在完成指定备份目录后就可以用expdp开始导出数据了,在使用expdp导出数据时会有import.log的日志文件生成,因为在这里是多个用户导出,我这里就指定下日志文件的文件名
[oracle@localhost ~]$ expdp u01
/passwword_u01
directory=dpdata1 dumpfile=u01.dmp logfile=u01.log
expdp u02
/password_u02
directory=dpdata1 dumpfile=u02.dmp logfile=u02.log
在导出后就会在指定的备份目录下生成备份文件和日志。
在导入的时候使用impdp导入,具体的使用方法同imp差不多,不过需要的是要指定备份目录,操作如下:
[oracle@localhost oracle_backup]$ impdp u01
/passwword_u01
directory=dpdata1 dumpfile=u02.dmp FULL=y
[oracle@localhost oracle_backup]$ impdp u02
/passwword_u02
directory=dpdata1 dumpfile=u02.dmp FULL=y
这样就导入完成了,不过在这里需要注意的一点是在使用impdp导入数据时,如果Oracle中没有创建相应的用户时,在导入后也会自动创建用户,所以在导入的时候需要注意千万不要把数据导错了,简单的Oracle数据泵expdp/impdp大致就是如此,其他还有按照表名、查询条件、全库导入导出的操作大致是一样,仅仅是需要修改几个参数,在此就不做过多的说明了
----------------------------华丽丽的分割线----------------------------