代码改变世界

Oracle数据泵

2015-08-26 17:17  ~Nirvana!。  阅读(512)  评论(-1编辑  收藏  举报

 

要使用数据泵必须先创建数据库目录

       数据库目录只允许sys创建

       普通用户使用 必须授权

假设scott 用户是导出导入用户

      

SQL> ! mkdir dp_dir

SQL> create directory dp_dir as '/home/oracle/dp_dir';

Directory created.

SQL> grant read,write on directory dp_dir to scott;

 

Grant succeeded.

 

数据泵导出方法: 导出scott用户

       expdp     

导出案例1,按表导出

expdp scott/tiger directory= dp_dir  dumpfile=tab.dmp logfile=scott.log tables=dept,emp

 

导出案例2,按用户导出

expdp scott/tiger directory= dp_dir  dumpfile=dumpscott.dmp schemas=scott

 

导出案例3,全库导出,且并行导出

expdp scott/tiger directory= dp_dir  dumpfile=full.dmp parallel=4 full=y

备份文件在/home/oracle/dp_dir/ 目录下

 

数据泵导入方法: 导入scott用户

       Impdp  将文件拷贝到/home/oracle/dp_dir/ 目录下

 

导入案例1,按表导入,从scott到scott2

impdp scott2/tiger directory=dp_dir  dumpfile=tab.dmp tables=scott.dept,scott.emp remap_schema=scott:scott2

 

导入案例2,按用户导入,从scott到scott2

impdp scott/tiger directory= dp_dir  dumpfile=schema.dmp remap_schema=scott:scott2

 

导入案例3,全库导入

impdp scott/tiger directory= dp_dir  dumpfile=full.dmp full=y

附:

不同用户不同表空间下的导入操作:

       impdp 用户名/密码 directory='您创建的目录的名称' dumpfile='导出的文件名称'

remap_schema=导出的用户名称:要导入的用户名称 remap_tablespace=导出的表空间名称:要导入的表空间名称

 

 

impdp system/oracle@XXX.XXX.XX.XXX/orcl directory=dp_dir remap_schema=EFMIS_23_YANSHI:efmis_23_20150511 transform=oid:n dumpfile=EFMIS_23_YANSHI_201505110900.dmp

 

expdp fasp_20000/123@192.168.3.36/orcl directory=dp_dir dumpfile=dumpscott.dmp schemas=fasp_20000

 

expdp efmis_62/EFMIS_62@192.168.100.82/orcl directory=dpdump dumpfile=EFMIS_62_20150821.dmp schemas=EFMIS_62

 

impdp system/oracle@192.168.3.36/orcl directory=dp_dir remap_schema=OA_0608:HQOA_20150806  dumpfile= OA_0608_20150806.DMP

 

logfile=EFMIS_62_20150821.log