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

oracle 11g expdp impdp详细使用方法

程序员文章站 2024-03-13 17:09:27
...

11G中有个新特性,当表无数据时,不分配segment,以节省空间

解决方法如下图:

oracle 11g expdp impdp详细使用方法

二、oracle10g以后提供了expdp/impdp工具,同样可以解决此问题

1、导出expdp工具使用方法:

首先建立directory -- expdir(导入导出都要建立,对应的E:/exp文件夹如果不存在,需要手工建立)

oracle 11g expdp impdp详细使用方法

导出语法:

oracle 11g expdp impdp详细使用方法

如果只是要导出某些表,可以使用include


C:\Users\ganjh>expdp eas/[email protected]_localhost schemas=eas dumpfile=expdp2.dmp
directory=expdir include=table:\"like \'CT%\'\"


2、导入impdp工具使用方法:

首先建立directory -- data_bak

oracle 11g expdp impdp详细使用方法

导入语法:

C:\Users\ganjh>impdp eas/[email protected]_localhost directory=db_bak dumpfile=EXPDP.
DMP FULL=y;


 

从一个用户expdp导出再impdp导入到另一个用户

 

如果想导入的用户已经存在:
1. 导出用户 expdp user1/pass1 directory=dumpdir dumpfile=user1.dmp
2. 导入用户 impdp user2/pass2 directory=dumpdir dumpfile=user1.dmp REMAP_SCHEMA=user1:user2 EXCLUDE=USER full=y;

如果想导入的用户不存在:
1. 导出用户 expdp user1/pass1 directory=dumpdir dumpfile=user1.dmp
2. 导入用户 impdp system/passsystem directory=dumpdir dumpfile=user1.dmp REMAP_SCHEMA=user1:user2 full=y;
3. user2会自动建立,其权限和使用的表空间与user1相同,但此时用user2无法登录,必须修改user2的密码


--------------------------------------------------------- Linux环境 ---------------------------------------------------------------------

Oracle11g中,exp默认不能导出空表。用传统的exp,imp进行异构平台数据库迁移会比较麻烦。不过可以使用expdp、impdp进行迁移。

把64位windows 2003的Oracle11gR2数据库迁移到64位Linux redhat Enterprise 5中,可以使用expdp、impdp进行迁移数据。

如:Windows为A服务器linux为B服务器,数据库用户为test,把A服务器的数据迁移到B服务器中

在A服务器操作:

1、

SQL> create directory expdp_dir as 'D:\mzl\backup ';

SQL> grant read,write on directory expdp_dir to test;

 

2、在windows目录创建目录D:\mzl\backup

 

3、在DOS命令窗口导出:

expdp test/test DIRECTORY=expdp_dir DUMPFILE=test.dmp logfile=testexpdp.log

 

在B服务器中操作:

4、SQL> create directory impdp_dir as '/home/Oracle/impdp_dir';

  SQL> grant read,write on directory impdp_dir to test;

 

 

1、 在系统中需要有/home/oracle/impdp_dir目录,在impdp_dir目录下必须有读写权限

(chmod 777 impdp_dir)

 

5、用ftp把A服务器导出的数据上传到B服务器的/home/oracle/impdp_dir目录中

 

在A服务器中配置好B服务器的服务器名,在A服务器导入数据

6、在DOS命令窗口导出:

imppdp test/[email protected]_database DIRECTORY=impdp_dir DUMPFILE=test.dmp logfile=testimpdp.log

(这里注意大小写,如果test.dmp在linux中为大写,必须更改为大写。Linux区分大小写)


create temporary tablespace EAS_T_NSKFTEST_STANDARD tempfile 'F:\oradata\oradata\orcltest\EAS_T_NSKFTEST_STANDARD' size 500M
autoextend on next 50M maxsize 2048M extent management local;

create tablespace EAS_D_NSKFTEST_STANDARD datafile 'F:\oradata\oradata\orcltest\EAS_D_NSKFTEST_STANDARD' size 2048M
autoextend on next 100M maxsize 5000M extent management local;

create temporary tablespace EAS_D_NSKFTEST_TEMP2 tempfile 'F:\oradata\oradata\orcltest\EAS_D_NSKFTEST_TEMP2' size 500M
autoextend on next 50M maxsize 2048M extent management local;

create user nskftest identified by kingdee default tablespace EAS_D_NSKFTEST_STANDARD temporary tablespace EAS_T_NSKFTEST_STANDARD;

grant connect,resource,dba to nskftest;

impdp nskftest/kingdee directory=db_bak dumpfile=XWY_SCHEMAS20150717.dmp REMAP_SCHEMA=nskf:nskftest remap_tablespace=EAS_D_NSKF_STANDARD:EAS_D_NSKFTEST_STANDARD remap_tablespace=EAS_T_NSKF_STANDARD:EAS_T_NSKFTEST_STANDARD remap_tablespace=EAS_D_NSKF_TEMP2:EAS_D_NSKFTEST_TEMP2 EXCLUDE=USER full=y;

http://blog.csdn.net/giianhui/article/details/7788550