oracle 11g expdp impdp详细使用方法

前端之家收集整理的这篇文章主要介绍了oracle 11g expdp impdp详细使用方法前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

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

解决方法如下图:

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

1、导出expdp工具使用方法

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

导出语法:

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


C:\Users\ganjh>expdp eas/kingdee@nskf_localhost schemas=eas dumpfile=expdp2.dmp
directory=expdir include=table:\"like \'CT%\'\"

2、导入impdp工具使用方法

首先建立directory -- data_bak

导入语法:

C:\Users\ganjh>impdpeas/kingdee@nskf_localhostdirectory=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位windows2003的Oracle11gR2数据库迁移到64位LinuxredhatEnterprise 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.dmplogfile=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目录下必须有读写权限

(chmod777 impdp_dir)

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

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

6、在DOS命令窗口导出:

imppdp test/test@B_database DIRECTORY=impdp_dir DUMPFILE=test.dmplogfile=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

原文链接:https://www.f2er.com/oracle/208753.html

猜你在找的Oracle相关文章