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>impdp eas/kingdee@nskf_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/test@B_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;


  • 3
    点赞
  • 40
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
expdpimpdpOracle 数据库中用来导出和导入数据的工具。 expdpOracle 数据库中用来导出数据的工具,它可以将数据库中的表、索引、视图、存储过程等数据导出到一个文件中。expdp 命令的语法如下: ``` expdp username/password@connect_string DIRECTORY=directory_name DUMPFILE=dump_file_name SCHEMAS=schema_name [TABLES=table_name [,table_name ...]] ``` 其中,`username/password@connect_string` 是连接字符串;`DIRECTORY` 指定导出文件的路径;`DUMPFILE` 指定导出文件的文件名;`SCHEMAS` 指定需要导出的数据库用户,可以导出多个用户;`TABLES` 可选参数,指定需要导出的表名。 impdpOracle 数据库中用来导入数据的工具,它可以将 expdp 导出的数据文件导入到数据库中。impdp 命令的语法如下: ``` impdp username/password@connect_string DIRECTORY=directory_name DUMPFILE=dump_file_name SCHEMAS=schema_name [TABLES=table_name [,table_name ...]] ``` 其中,`username/password@connect_string` 是连接字符串;`DIRECTORY` 指定导入文件的路径;`DUMPFILE` 指定导入文件的文件名;`SCHEMAS` 指定需要导入的数据库用户,可以导入多个用户;`TABLES` 可选参数,指定需要导入的表名。 需要注意的是,在使用 expdpimpdp 工具时,需要先创建一个目录(DIRECTORY),并授权给数据库用户使用。授权的命令如下: ``` CREATE DIRECTORY directory_name AS 'directory_path'; GRANT READ, WRITE ON DIRECTORY directory_name TO user_name; ```

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值