数据泵到导入导出,适用范围11g不能导出空表,跨版本到导入导出


公司192.168.3.60 数据库导出目录为shuju 目录在/u01/shuju

select * from dba_directories


1 创建导出导入目录dba创建)

先在导出的电脑上创建一个导出的存放目录如:D:\bak

在数据库中创建导出导入的文件夹,并制定文件位置(位置就是上边创建的位置),这样sql就能操作这个目录了

CREATE DIRECTORY bak AS '/u01/bak';

如CREATE DIRECTORY bak as ‘D:\bak’;

授权用户操作导入导出文件夹

GRANT READ,WRITE ON DIRECTORY导入导出文件夹TO 用户名

如GRANT READ,WRITE ON DIRECTORY bak TO test

2 导出脚本

expdp  用户名/密码   directory=导出导入文件夹dumpfile= 导出文件名.dmp  logfile=导出日志.log  SCHEMAS=用户名 version =版本号

注:

directory=这些不能写路径,要写上边咱们创建的导出导入文件夹,文件就会直接导出到上边制定的目录

version 版本号只要是实现不同版本直接的数据导入导出,如11.0.2..0.1 导入到10.2.0.1

version=10.2.0.1这样11g导出的文件就能顺利导入到10g了。相同版本可以忽略


如:expdp test/test  directory= bakdumpfile= 备份.dmp logfile=备份.log SCHEMAS= test   version=11.2.0.1.0


3导入脚本

impdp 用户名/密码   directory=导出导入文件夹dumpfile= 导入文件名.dmp  logfile=导入日志.log   REMAP_SCHEMA=导出用户名 :导入用户名

REMAP_TABLESPACE=导出表空间:导入表空间 version=版本号

注: REMAP_SCHEMA导出的用户名和导入的用户名不相同时用

REMAP_SCHEMA把用户A的数据导入到用户BREMAP_SCHEMA=A:B

REMAP_TABLESPACE和REMAP_SCHEMA功能一样只是REMAP_TABLESPACE实现了不同表空间的之间的导入导出

导出导入文件夹 和导出一样的并且备份文件必须在指定的目录中


如 到用户为test导入用户为ceshi导出表空间为A 导入表空间为B

impdp test/ceshi directory= bakdumpfile=备份.dmpLOGFILE=导入.log REMAP_SCHEMA=test :ceshi REMAP_TABLESPACE= A:B  version=11.2.0.1.0



select * from dba_directories



创建表空间,创建用户,赋予权限,把表空间赋予用户

创建目录directory