数据泵到导入导出,适用范围: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 导出脚本
用户名/密码 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