数据泵参数partition_options 在对于迁移分区表的使用。

数据泵参数partition_options 在对于迁移分区表的使用。
1 NONE 象在系统上的分区表一样创建。
2 DEPARTITION 每个分区表和子分区表作为一个独立的表创建,名字使用表和分区(子分区)名字的组合。
3 MERGE 将所有分区合并到一个表
一 创建环境:
yang@rac1>create table yang_part2 (
  2                 id number,
  3                 create_time date,
  4                 value varchar2(20),
  5                 name varchar2(30)
  6      )
  7      partition by range (create_time) (
  8                 partition p2090 values less than (to_date('20100101','yyyymmdd')),
  9                 partition p201001 values less than (to_date('20100401','yyyymmdd')),
 10                partition p201002 values less than (to_date('20100701','yyyymmdd')),
 11                partition p201003 values less than (to_date('20101001','yyyymmdd')),
 12                partition p201004 values less than (MAXVALUE)
 13       );
表已创建。
yang@rac1>insert into yang_part2
  2  select rownum id, sysdate - dbms_random.value(1,400) create_time,
  3  dbms_random.string('s',15) value,
  4  dbms_random.string('d',15) name
  5  from dual
  6  connect by level  <=1e4;

已创建10000行。
yang@rac1>COMMIT;
提交完成。
导出数据:
C:\Users\aaaa>expdp yang/yang tables=yang_part2 directory=dumpdir dumpfile=yangpart2.dmp logfile=yangpart2.log
Export: Release 11.1.0.6.0 - Production on 星期三, 30 3月, 2011 22:25:47
Copyright (c) 2003, 2007, Oracle.  All rights reserved.
连接到: Oracle Database 11g Enterprise Edition Release 11.1.0.6.0 - Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options
启动 "YANG"."SYS_EXPORT_TABLE_01":  yang/******** tables=yang_part2 directory=dumpdir dumpfile=yangp
art2.dmp logfile=yangpart2.log
正在使用 BLOCKS 方法进行估计...
处理对象类型 TABLE_EXPORT/TABLE/TABLE_DATA
使用 BLOCKS 方法的总估计: 832 KB
处理对象类型 TABLE_EXPORT/TABLE/TABLE
. . 导出了 "YANG"."YANG_PART2":"P201004"               219.3 KB    4549 行
. . 导出了 "YANG"."YANG_PART2":"P201002"               111.1 KB    2239 行
. . 导出了 "YANG"."YANG_PART2":"P201003"               114.5 KB    2312 行
. . 导出了 "YANG"."YANG_PART2":"P201001"               48.36 KB     900 行
. . 导出了 "YANG"."YANG_PART2":"P2090"                     0 KB       0 行
已成功加载/卸载了主表 "YANG"."SYS_EXPORT_TABLE_01"

yang@rac1>drop table yang_part2 purge;
******************************************************************************
YANG.SYS_EXPORT_TABLE_01 的转储文件集为:
  D:\DUMP\YANGPART2.DMP
作业 "YANG"."SYS_EXPORT_TABLE_01" 已于 22:26:04 成功完成
二 一下分别使用不同参数对分区表进行导入实验:
1)partition_options=none模式。
C:\Users\aaaa>impdp yang/yang directory=dumpdir dumpfile=yangpart2.dmp partition_options=none logfile=impdpyangpart2.log
Import: Release 11.1.0.6.0 - Production on 星期三, 30 3月, 2011 22:29:00
Copyright (c) 2003, 2007, Oracle.  All rights reserved.
连接到: Oracle Database 11g Enterprise Edition Release 11.1.0.6.0 - Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options
已成功加载/卸载了主表 "YANG"."SYS_IMPORT_FULL_01"
启动 "YANG"."SYS_IMPORT_FULL_01":  yang/******** directory=dumpdir dumpfile=yangpart2.dmp partition_options=none
logfile=impdpyangpart2.log
处理对象类型 TABLE_EXPORT/TABLE/TABLE
处理对象类型 TABLE_EXPORT/TABLE/TABLE_DATA
. . 导入了 "YANG"."YANG_PART2":"P201004"               219.3 KB    4549 行
. . 导入了 "YANG"."YANG_PART2":"P201002"               111.1 KB    2239 行
. . 导入了 "YANG"."YANG_PART2":"P201003"               114.5 KB    2312 行
. . 导入了 "YANG"."YANG_PART2":"P201001"               48.36 KB     900 行
. . 导入了 "YANG"."YANG_PART2":"P2090"                     0 KB       0 行
作业 "YANG"."SYS_IMPORT_FULL_01" 已于 22:29:04 成功完成

yang@rac1>select dbms_metadata.get_ddl('TABLE','YANG_PART2') FROM DUAL;
DBMS_METADATA.GET_DDL('TABLE','YANG_PART2')
--------------------------------------------------------------------------------

  CREATE TABLE "YANG"."YANG_PART2"
   (    "ID" NUMBER,
        "CREATE_TIME" DATE,
        "VALUE" VARCHAR2(20),
        "NAME" VARCHAR2(30)
   ) PCTFREE 10 PCTUSED 40 INITRANS 1 MAXTRANS 255
  STORAGE(
  BUFFER_POOL DEFAULT)
  TABLESPACE "USERS"
  PARTITION BY RANGE ("CREATE_TIME")
 (PARTITION "P2090"  VALUES LESS THAN (TO_DATE(' 2010-01-01 00:00:00', 'SYYYY-MM-DD HH24:MI
:SS', 'NLS_CALENDAR=GREGORIAN'))
  PCTFREE 10 PCTUSED 40 INITRANS 1 MAXTRANS 255
  STORAGE(INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645
  PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1 BUFFER_POOL DEFAULT)
  TABLESPACE "USERS" NOCOMPRESS ,
 PARTITION "P201001"  VALUES LESS THAN (TO_DATE(' 2010-04-01 00:00:00', 'SYYYY-MM-DD HH24:MI:SS', 'N
LS_
CALENDAR=GREGORIAN'))
  PCTFREE 10 PCTUSED 40 INITRANS 1 MAXTRANS 255
  STORAGE(INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645
  PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1 BUFFER_POOL DEFAULT)
  TABLESPACE "USERS" NOCOMPRESS ,
 PARTITION "P201002"  VALUES LESS THAN (TO_DATE(' 2010-07-01 00:00:00', 'SYYYY-MM-DD HH24:MI:SS', 'N
LS_CALENDAR=GR
EGORIAN'))
  PCTFREE 10 PCTUSED 40 INITRANS 1 MAXTRANS 255
  STORAGE(INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645
  PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1 BUFFER_POOL DEFAULT)
  TABLESPACE "USERS" NOCOMPRESS ,
 PARTITION "P201003"  VALUES LESS THAN (TO_DATE(' 2010-10-01 00:00:00', 'SYYYY-MM-DD
HH24:MI:SS', 'NLS_CALENDAR=GREGORIAN'))
  PCTFREE 10 PCTUSED 40 INITRANS 1 MAXTRANS 255
  STORAGE(INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645
  PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1 BUFFER_POOL DEFAULT)
  TABLESPACE "USERS" NOCOMPRESS ,
 PARTITION "P201004"  VALUES LESS THAN (MAXVALUE)
  PCTFREE 10 PCTUSED 40 INITRANS 1 MAXTRANS 255
  STORAGE(INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645
  PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1 BUFFER_POOL DEFAULT)
  TABLESPACE "USERS" NOCOMPRESS )
--导入的表和以前一样。
yang@rac1>select table_name from user_tables;
TABLE_NAME
------------------------------
MLOG$_YANGTAB
YANGTAB2
MV_YANGTAB
MV_YANGTAB2
YANGALL_MV
DA_TEST
RUPD$_YANGTAB
YANG_PART2
YANGTAB
已选择9行。
yang@rac1>select count(1) from yang_part2;
  COUNT(1)
----------
     10000
yang@rac1>drop table yang_part2;
表已删除。
yang@rac1>purge recyclebin;
回收站已清空。
2 partition_options=merge 模式:
C:\Users\aaaa>impdp yang/yang directory=dumpdir dumpfile=yangpart2.dmp partition_options=merge logfile=impdpyangpart3.log
Import: Release 11.1.0.6.0 - Production on 星期三, 30 3月, 2011 22:32:02
Copyright (c) 2003, 2007, Oracle.  All rights reserved.
连接到: Oracle Database 11g Enterprise Edition Release 11.1.0.6.0 - Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options
已成功加载/卸载了主表 "YANG"."SYS_IMPORT_FULL_01"
启动 "YANG"."SYS_IMPORT_FULL_01":  yang/******** directory=dumpdir dumpfile=yangpart2.dmp partition_options=merge
logfile=impdpyangpart3.log
处理对象类型 TABLE_EXPORT/TABLE/TABLE
处理对象类型 TABLE_EXPORT/TABLE/TABLE_DATA
. . 导入了 "YANG"."YANG_PART2":"P201004"               219.3 KB    4549 行
. . 导入了 "YANG"."YANG_PART2":"P201002"               111.1 KB    2239 行
. . 导入了 "YANG"."YANG_PART2":"P201003"               114.5 KB    2312 行
. . 导入了 "YANG"."YANG_PART2":"P201001"               48.36 KB     900 行
. . 导入了 "YANG"."YANG_PART2":"P2090"                     0 KB       0 行
作业 "YANG"."SYS_IMPORT_FULL_01" 已于 22:32:05 成功完成

yang@rac1>select count(1) from yang_part2;
  COUNT(1)
----------
     10000
yang@rac1>select dbms_metadata.get_ddl('TABLE','YANG_PART2') FROM DUAL;
DBMS_METADATA.GET_DDL('TABLE','YANG_PART2')
--------------------------------------------------------------------------------
  CREATE TABLE "YANG"."YANG_PART2"
   (    "ID" NUMBER,
        "CREATE_TIME" DATE,
        "VALUE" VARCHAR2(20),
        "NAME" VARCHAR2(30)
   ) PCTFREE 10 PCTUSED 40 INITRANS 1 MAXTRANS 255 NOCOMPRESS LOGGING
  STORAGE(INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645
  PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1 BUFFER_POOL DEFAULT)
  TABLESPACE "USERS"
--导入的表被合成一个表了。
yang@rac1>drop table yang_part2 purge;
注意:如果导出时使用了TRANSPORTABLE参数,这里就不能使用NONE和MERGE
3)partition_options=departition 模式:
C:\Users\aaaa>impdp yang/yang directory=dumpdir dumpfile=yangpart2.dmp partition_options=departition logfile=impdpyangpart3.log
Import: Release 11.1.0.6.0 - Production on 星期三, 30 3月, 2011 22:33:20
Copyright (c) 2003, 2007, Oracle.  All rights reserved.
连接到: Oracle Database 11g Enterprise Edition Release 11.1.0.6.0 - Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options
已成功加载/卸载了主表 "YANG"."SYS_IMPORT_FULL_01"
启动 "YANG"."SYS_IMPORT_FULL_01":  yang/******** directory=dumpdir dumpfile=yangpart2.dmp partition_options=departition
logfile=impdpyangpart3.log
处理对象类型 TABLE_EXPORT/TABLE/TABLE
处理对象类型 TABLE_EXPORT/TABLE/TABLE_DATA
. . 导入了 "YANG"."YANG_PART2_P201004"                 219.3 KB    4549 行
. . 导入了 "YANG"."YANG_PART2_P201002"                 111.1 KB    2239 行
. . 导入了 "YANG"."YANG_PART2_P201003"                 114.5 KB    2312 行
. . 导入了 "YANG"."YANG_PART2_P201001"                 48.36 KB     900 行
. . 导入了 "YANG"."YANG_PART2_P2090"                       0 KB       0 行
作业 "YANG"."SYS_IMPORT_FULL_01" 已于 22:33:26 成功完成
表已删除。
--在使用DEPARTITION选项导入后,Oracle采用默认命名方法TABLE_NAME + ‘_’ + PARTITION_NAME,将每个分区都创建为一张表。
yang@rac1>select table_name from user_tables;
TABLE_NAME
------------------------------
MLOG$_YANGTAB
YANGTAB2
MV_YANGTAB
MV_YANGTAB2
YANGALL_MV
DA_TEST
YANG_PART2_P201001  
YANG_PART2_P201002
YANG_PART2_P201003
YANG_PART2_P201004
YANG_PART2_P2090
RUPD$_YANGTAB
YANGTAB

已选择13行。
yang@rac1>select count(1) from yang_part2_p2090;
  COUNT(1)
----------
         0
yang@rac1>select count(1) from yang_part2_p201001;
  COUNT(1)
----------
       900
yang@rac1>select count(1) from yang_part2_p201002;
  COUNT(1)
----------
      2239
yang@rac1>select count(1) from yang_part2_p201003;
  COUNT(1)
----------
      2312
yang@rac1>select count(1) from yang_part2_p201004;
  COUNT(1)
----------
      4549

时间: 2024-09-15 14:53:56

数据泵参数partition_options 在对于迁移分区表的使用。的相关文章

oracle数据泵导入分区表统计信息报错(三)

前不久检查了一篇以往的BLOG,意外的发现这个bug居然被我忘记了,时隔一年继续解决这个问题. 根据上一篇文章所介绍的分析过程,基本上可以确认和这几张分区表的统计信息本身有关. 由于当前数据库是从920环境EXP导出,IMP导入到同版本的中间数据库,最终通过数据泵IMPDP导入到当前数据库的.而分区表由于无法解决表空间的转换问题,因此在中间数据库手工创建,在IMP导入的时候指定了IGNORE=Y参数. 而现在恰好问题出在这个用户的所有分区表上,难道问题和迁移的过程有关系.检查了当时的脚本,没有发

【导入导出】数据泵 job_name参数的使用

数据泵的工作流程如下:        (1)在命令行执行命令        (2)expdp/impd 命令调用DBMS_DATAPUMP PL/SQL包. 这个API提供高速的导出导入功能.        (3)当data 移动的时候, Data Pump 会自动选择direct path 或者external table mechanism 或者 两种结合的方式. 当metadata(对象定 义) 移动的时候,Data Pump会使用DBMS_METADATA PL/SQL包. Metada

oracle数据泵导入分区表统计信息报错(二) 深入研究问题的现象

今天在进行数据泵导入操作时,发现一个bug. 上一篇记录了问题的现象,这一篇继续深入研究. 上一篇文章已经描述了问题的产生,而且提到了这个问题很难重现.无论如何去模拟实际的情况,都无法重现问题. 为了重现这个问题,在RAC数据库环境中,仿照问题表创建了分区表.并仿照问题数据库收集了统计信息的方式进行了统计信息的收集,都无法重现问题. 但是,利用问题数据库导出的统计信息,就可以重现问题.上周五发现的问题,但是由于数据不方便带回家,因此由于时间的限制仅仅测试了这么多. 今天一早到了公司,就继续这个问

oracle数据泵导入分区表统计信息报错(一) 问题的现象

今天在进行数据泵导入操作时,发现一个bug. 数据库版本Oracle 10203 for Solaris RAC,执行导入在处理表的统计信息时报错,错误信息为:ORA-39083和ORA-917. 经过仔细排查,对比源数据库分析情况和目标数据库的表分析情况,发现所有的分区表的统计信息都没有导入. 基本确认问题是IMPDP在处理分区表的统计信息时出现了问题. 可惜现在问题无法通过构造案例来重现:在目标数据库中(RAC环境)尝试建立分区表并执行数据泵的导出和导入,无法重现问题.将源数据库中出现问题的

【impdp】IMPDP中的TRANSFORM参数--【数据泵】EXPDP导出表结构(真实案例)后传

        在上一篇文章[数据泵]EXPDP导出表结构(真实案例) 中:http://blog.itpub.net/26736162/viewspace-1657828/  ,由于表的storage参数存储很大,导致不能导入到测试库,我提出了2种办法,但是今天经过网友selectshen (http://blog.itpub.net/28539951/)的提醒说是有一个参数TRANSFORM可以解决这个问题,于是就研究了一下这个参数,发现大牛的一篇文章,http://blog.itpub.n

Oracle学习(二十一) 使用数据泵data bump进行导入和导出

data pump(数据泵)可以实现在测试环境.开发环境.生产环境以及高级复制或热备份数据库之间 的快速数据迁移.data pump还能实现部分或全部数据库逻辑备份,以及跨平台的可传输表空间备份. data pump技术相对应的工具是data pump export和data pump import,即expdp和impdp,它们的功 能与exp和imp类似,所不同的是data pump技术的速度更快.另外,data pump技术还可以实现断点重启 ,即在任务中断后可以从断点处重新启动. 在使用

Oracle 11g r2数据泵新特性简介(一)数据泵的Legacy模式

Oracle的11gr2版本中,并没有对数据泵做出多大的改动,主要是增加了对原始版本参数的支持,并且去掉了一些小的限制. 这一篇介绍数据泵的Legacy模式. 在11.2中推出的这个功能主要是EXP/IMP工具要逐渐地推出历史舞台了.虽然无论从功能上还是从性能上,数据泵导入导出都要优于传统的导出导入工具EXP/IMP,但是如果用户包含了大量的脚本调用EXP,那么全部迁移到EXPDP方式就会非常麻烦. 而数据库的LEGACY模式就是为了能将传统的导出.导入方式平滑的迁移到数据泵方式下. [orac

数据泵 EXPDP 导出工具的使用

--================================= --数据泵 EXPDP 导出工具的使用 --=================================       对于Oracle 数据库之间的导入导出,可以使用Oracle提供的导入导出工具EXP/IMP来实现.EXP/IMP是Oracle早期提供的数据导入导出工具.在Oracle 10g 中,提供了高速导入导出数据泵IMPDP,EXPDP,本文主要讲述EXPDP的用法.     关于IMPDP的用法,请参照:数

[20150729]数据泵造成的数据损失2.txt

[20150729]数据泵造成的数据损失2.txt --前一阵子,重复测试: http://blog.itpub.net/267265/viewspace-1725204/ --参看链接,重复测试http://yangtingkun.net/?p=652 1.建立测试环境: SCOTT@test> @ver1 PORT_STRING                    VERSION        BANNER ------------------------------ ----------