当前位置:Gxlcms > mysql > EXP/IMP导出生产库表的指定数据到测试库一例

EXP/IMP导出生产库表的指定数据到测试库一例

时间:2021-07-01 10:21:17 帮助过:30人阅读

一般来讲,EXP/IMP是上一代导出导入程序,EXPDP/IMPDP是新一代的导出导入程序。对于大数据量的导出导入首选EXPDP/IMPDP,可以用到

一般来讲,EXP/IMP是上一代导出导入程序,EXPDP/IMPDP是新一代的导出导入程序。对于大数据量的导出导入首选EXPDP/IMPDP,可以用到并行度,对表空间等操作上也更加的灵活。对于小数据量的迁移,可以使用exp/imp,操作更简单。

需求: exp 导出 A库(11.2.0.3)zjy用户的分区表t_jingyu_part部分数据,数据表空间 dbs_d_jingyu,索引表空间dbs_i_jingyu.

imp 导入 B库(11.2.0.4)test用户下,test用户的默认表空间dbs_d_test。

A库zjy用户下准备工作:

create tablespace dbs_d_jingyu datafile '+data' size 100M autoextend off;
create tablespace dbs_i_jingyu datafile '+data' size 20M autoextend off;
create user zjy identified by zjy default tablespace dbs_d_jingyu;

create table t_jingyu_part(
id number,
deal_date date,
area_code number,
contents varchar2(4000))
partition by range(deal_date)
(partition p1 values less than(to_date('2014-02-01','YYYY-MM-DD')) tablespace dbs_d_jingyu,
partition p2 values less than(to_date('2014-03-01','YYYY-MM-DD')) tablespace dbs_d_jingyu,
partition p3 values less than(to_date('2014-04-01','YYYY-MM-DD')) tablespace dbs_d_jingyu,
partition p4 values less than(to_date('2014-05-01','YYYY-MM-DD')) tablespace dbs_d_jingyu,
partition p5 values less than(to_date('2014-06-01','YYYY-MM-DD')) tablespace dbs_d_jingyu,
partition p6 values less than(to_date('2014-07-01','YYYY-MM-DD')) tablespace dbs_d_jingyu,
partition p7 values less than(to_date('2014-08-01','YYYY-MM-DD')) tablespace dbs_d_jingyu,
partition p8 values less than(to_date('2014-09-01','YYYY-MM-DD')) tablespace dbs_d_jingyu,
partition p9 values less than(to_date('2014-10-01','YYYY-MM-DD')) tablespace dbs_d_jingyu,
partition p10 values less than(to_date('2014-11-01','YYYY-MM-DD')) tablespace dbs_d_jingyu,
partition p11 values less than(to_date('2014-12-01','YYYY-MM-DD')) tablespace dbs_d_jingyu,
partition p12 values less than(to_date('2015-01-01','YYYY-MM-DD')) tablespace dbs_d_jingyu,
partition p_max values less than(maxvalue) tablespace dbs_d_jingyu );

insert into t_jingyu_part(id, deal_date, area_code, contents)
select rownum, to_date(to_char(sysdate-365,'J')+trunc(dbms_random.value(0,365)),'J'), ceil(dbms_random.value(590,599)), rpad('*',400,'*') from dual
connect by rownum <= 100000;
commit;

create index idx_t_jingyu_part_id on t_jingyu_part(id, area_code) local tablespace dbs_i_jingyu;

select count(1) from t_jingyu_part partition(P1);
select count(1) from t_jingyu_part partition(P2);

select count(1) from t_jingyu_part where deal_date >= to_date('2014-11-11','yyyy-mm-dd') and deal_date <= to_date('2014-12-12','yyyy-mm-dd');

exp zjy/zjy parfile=exp.par

file=t_jingyu_part.dmp
log=exp_t_jingyu_part.log
tables=t_jingyu_part
query="where deal_date >= to_date('2014-11-11','yyyy-mm-dd') and deal_date <= to_date('2014-12-12','yyyy-mm-dd')"
statistics=none

在可以使用直接路径导出的情景建议使用直接路径导出:direct=y 但在本例中不适用。

B库test用户:

create tablespace dbs_d_test datafile '+data' size 100M autoextend off;
create user test identified by test default tablespace dbs_d_test;

注:如果按需求,不在B库建立原表在A库时对应的表空间,就需要先在B库建立表,指定B库的表空间,比如dbs_d_test;然后再imp导入,,否则必须先建立之前的表空间。

imp test/test file=t_jingyu_part.dmp log=imp_t_jingyu_part.log buffer=1024000 ignore=y full=y RESUMABLE=y

----------------------------华丽丽的分割线----------------------------

Oracle导入导出expdp IMPDP详解

Oracle 10g expdp导出报错ORA-4031的解决方法

Oracle 10gr2 rac expdp 报错UDE-00008 ORA-31626

Oracle中利用expdp/impdp备份数据库的使用说明

Oracle备份还原(expdp/impdp)

----------------------------Expdp/Impdp的相关参数----------------------------

本文永久更新链接地址

人气教程排行