oracle分区表分区导出,Oracle分区表数据的导入与导出
Oracle分区表的使用在一定程度上提高了对表数据的存储及处理性能,在查询性能和数据存储安全上体现了其特有的优势,因此很好的利用分区表,在一定程度上有利于数据库性能的优化。而Oracle分区表数据的导入导出也成了这些工作中不可忽略的一部分。分区表的导入导出同普通表的导入导出方式没有什么很大区别,只不过在导入导出时需要考虑到分区的特殊性,如:分区索引,将分区迁移到普通表,或使用原始分区表导入到新的分区表。下面将描述使用imp/exp,impdp/expdp导入导出分区表数据。
有关分区表的特性请参考:
有关导入导出工具请参考:
有关导入导出的官方文档请参考:
一、分区级别的导入导出
1、可以导出一个或多个分区,也可以导出所有分区(即整个表)。
2、可以导入所有分区(即整个表),一个或多个分区以及子分区。
3、对于已经存在数据的表,使用imp导入时需要使用参数IGNORE=y;而使用impdp导入数据时,需要加table_exists_action=append。
4、相关参数的说明,ignore=y(表示忽略创建错误,继续后面的操作),statistics=none(表示不接收统计信息)。
二、创建测试实例
1、查看当前Oracle数据库版本
select * from v$version where rownum<2
BANNER
-------------------------------------------------------------
Oracle9i Enterprise Edition Release 9.2.0.1.0 -
Production
2、创建一个分区表
create table test_pt
(
tid number primary key not null,
sdate date not null,
srow number(8) not null
)
partition by range(srow)
(
partition p1 values less than(100),
partition p2 values less than(200),
partition p3 values less than(maxvalue)
)nologging;
其中,tid为自增序列,需要创建对应的序列和触发器,其创建脚本如下:
创建序列脚本:
create sequence sq_test_pt
increment by 1 start with 1
maxvalue 1.0E28
minvalue 1
nocycle cache 20 order;
创建触发器脚本:
create or replace trigger tr_test_pt
before insert on test_pt for each row
begin
select sq_test.nextval into :new.tid from dual;
end;
3、为分区表插入数据
insert into test_pt(sdate,srow) select trunc(sysdate),rownum
from dual connect by level<=5000;
commit;
4、查询分区表数据
select count(*) from test_pt
COUNT(*)
--------------
5000
select count(*) from test_pt partition(p1)
COUNT(*)
---------------
99
select count(*) from test_pt partition(p3)
COUNT(*)
---------------
4801
select * from test_pt partition(p2) where rownum
TID SDATE SROW
----- --------------- -------
5720 2013-1-17 100
5721 2013-1-17 101
三、使用exp/imp进行数据导出、导入操作
1、导出整个分区表
在windows CMD命令下执行导出语句。
C:\Documents and Settings\Administrator>exp orcluser/orcl
file='c:\test_pt.dmp'
log='c:\test_pt.log' tables=test_pt
Export: Release 9.2.0.1.0 - Production on 星期二 1月 22 16:26:46
2013
Copyright (c) 1982, 2002, Oracle Corporation.
All rights reserved.
连接到: Oracle9i Enterprise Edition Release 9.2.0.1.0 -
Production
With the Partitioning, OLAP and Oracle Data Mining
options
JServer Release 9.2.0.1.0 - Production
已导出 ZHS16GBK 字符集和 AL16UTF16 NCHAR 字符集
即将导出指定的表通过常规路径 ...
. . 正在导出表 TEST_PT
. . 正在导出分区 P1 99 行被导出
. . 正在导出分区 P2 100 行被导出
. . 正在导出分区 P3 4801 行被导出
在没有警告的情况下成功终止导出。
2、导出单个(p1)分区
C:\Documents and Settings\Administrator>exp orcluser/orcl
file='c:\test_ptp1.dmp
' log='c:\test_ptp1.log' tables=test_pt:p1
statistics=none
Export: Release 9.2.0.1.0 - Production on 星期二 1月 22 16:30:32
2013
Copyright (c) 1982, 2002, Oracle Corporation.
All rights reserved.
连接到: Oracle9i Enterprise Edition Release 9.2.0.1.0 -
Production
With the Partitioning, OLAP and Oracle Data Mining
options
JServer Release 9.2.0.1.0 - Production
已导出 ZHS16GBK 字符集和 AL16UTF16 NCHAR 字符集
即将导出指定的表通过常规路径 ...
. . 正在导出表 TEST_PT
. . 正在导出分区 P1 99 行被导出
在没有警告的情况下成功终止导出。
3、导出多个分区(p1和p3区)数据
C:\Documents and Settings\Administrator>exp orcluser/orcl
file='c:\test_ptp13.dm
p' log='c:\test_ptp13.log' tables=(test_pt:p1,test_pt:p3)
statistics=none
Export: Release 9.2.0.1.0 - Production on 星期二 1月 22 16:34:17
2013
Copyright (c) 1982, 2002, Oracle Corporation.
All rights reserved.
连接到: Oracle9i Enterprise Edition Release 9.2.0.1.0 -
Production
With the Partitioning, OLAP and Oracle Data Mining
options
JServer Release 9.2.0.1.0 - Production
已导出 ZHS16GBK 字符集和 AL16UTF16 NCHAR 字符集
即将导出指定的表通过常规路径 ...
. . 正在导出表 TEST_PT
. . 正在导出分区 P1 99 行被导出
. . 正在导出分区 P3 4801 行被导出
在没有警告的情况下成功终止导出。
4、导入单个分区数据(使用之前备份的p1分区数据)
首先通过SQL语句删掉该分区(p1)的数据
alter table test_pt truncate partition p1;
然后再利用备份的数据test_ptp1.dmp实现恢复
C:\Documents and Settings\Administrator>imp orcluser/orcl
file='c:\test_ptp1.dmp
' tables=test_pt:p1 ignore=y
Import: Release 9.2.0.1.0 - Production on 星期二 1月 22 16:48:55
2013
Copyright (c) 1982, 2002, Oracle Corporation.
All rights reserved.
连接到: Oracle9i Enterprise Edition Release 9.2.0.1.0 -
Production
With the Partitioning, OLAP and Oracle Data Mining
options
JServer Release 9.2.0.1.0 - Production
经由常规路径导出由EXPORT:V09.02.00创建的文件
已经完成ZHS16GBK字符集和AL16UTF16 NCHAR 字符集中的导入
. 正在将ORCLUSER的对象导入到 ORCLUSER
. . 正在导入分区 "TEST_PT":"P1"
IMP-00058: 遇到 ORACLE 错误 1502
ORA-01502: 索引'ORCLUSER.SYS_C003020'或这类索引的分区处于不可用状态
成功终止导入,但出现警告。
注意:此时,出现错误“ORA-01502:
索引'ORCLUSER.SYS_C003020'或这类索引的分区处于不可用状态”的错误。提示此时的分区索引(此处为主键索引)处于脱机(offline)状态,需要将其修改为联机(online)状态。说明在对区数据进行截断时会导致索引脱机。
通过SQL语句执行:
alter index sys_c003020 rebuild
online;
此时再次执行上面的导入语句(成功导入数据):
C:\Documents and Settings\Administrator>imp orcluser/orcl
file='c:\test_ptp1.dmp
' tables=test_pt:p1 ignore=y
Import: Release 9.2.0.1.0 - Production on 星期二 1月 22 16:54:31
2013
Copyright (c) 1982, 2002, Oracle Corporation.
All rights reserved.
连接到: Oracle9i Enterprise Edition Release 9.2.0.1.0 -
Production
With the Partitioning, OLAP and Oracle Data Mining
options
JServer Release 9.2.0.1.0 - Production
经由常规路径导出由EXPORT:V09.02.00创建的文件
已经完成ZHS16GBK字符集和AL16UTF16 NCHAR 字符集中的导入
. 正在将ORCLUSER的对象导入到 ORCLUSER
. . 正在导入分区 "TEST_PT":"P1" 99行被导入
成功终止导入,但出现警告。
5、导入整个分区表
首先通过SQL将表中的数据清空
TRUNCATE TABLE TEST_PT;
SELECT COUNT(*) FROM TEST_PT
COUNT(*)
--------
0
利用前面的备份数据test_pt.dmp实现数据恢复
C:\Documents and Settings\Administrator>imp orcluser/orcl
tables=test_pt file='c
:\test_pt.dmp' ignore=y
Import: Release 9.2.0.1.0 - Production on 星期二 1月 22 17:04:51
2013
Copyright (c) 1982, 2002, Oracle Corporation.
All rights reserved.
连接到: Oracle9i Enterprise Edition Release 9.2.0.1.0 -
Production
With the Partitioning, OLAP and Oracle Data Mining
options
JServer Release 9.2.0.1.0 - Production
经由常规路径导出由EXPORT:V09.02.00创建的文件
已经完成ZHS16GBK字符集和AL16UTF16 NCHAR 字符集中的导入
. 正在将ORCLUSER的对象导入到 ORCLUSER
. . 正在导入分区 "TEST_PT":"P1" 99行被导入
. . 正在导入分区 "TEST_PT":"P2" 100行被导入
. . 正在导入分区 "TEST_PT":"P3" 4801行被导入
成功终止导入,但出现警告。
本文参考资料:http://blog.csdn.net/robinson_0612/article/details/6246738
oracle分区表分区导出,Oracle分区表数据的导入与导出相关推荐
- Oracle用imp和exp实现数据的导入和导出
使用方法如下: Imp username/password@connect_string param=value - exp username/password@connect_string para ...
- matlab将图片导入工作区,matlab数据的导入和导出,以matlab工作区workspace为source和destination...
MATLAB支持工作区的保存.用户可以将工作区或工作区中的变量以文件的形式保存,以备在需要时再次导入. 保存工作区可以通过菜单进行,也可以通过命令窗口进行. 数据导出 1. 保存整个工作区 选择Fil ...
- oracle导入失败后怎样删除已导入数据,Oracle数据的导入、导出、插入、更新及删除总结...
Oracle数据的导入.导出.插入.更新及删除总结 今天主要介绍一下使用Oracle的IDE:PL\SQL Developer进行数据的导入及导出操做方法. web 1. 数据导出 数据的导出比较简单 ...
- R 数据的导入和导出
2019独角兽企业重金招聘Python工程师标准>>> R 数据的导入和导出 这是从R中导入或导出数据的一个指导手册. 本文档的当前版本为0.01 β.该文档译自 R-2.6.1 文 ...
- mysql数据泵导入导出_ORACLE使用数据泵导入导出部分表
1.导出名字为A的表(这里会导出SEQUENCES及FUNCTION等内容) expdp TEST/TEST@orcl schemas=TEST dumpfile=TEST.dmp DIRECTORY ...
- Java解析xml文件dom4j篇(基于xml配置文件完成Excel数据的导入、导出功能完整实现)
DOM4J解析XML文件 dom4j是一个Java的XML API,是jdom的升级产品,用来读写XML文件.另外对比其他API读写XML文件,dom4j是一个十分优秀的JavaXML API,具有性 ...
- Hadoop之Hive数据的导入与导出(DML)
上一张章节我们已经讲完了数据库和表的增删改查,感兴趣的小伙伴可以点这里: Hadoop之Hive数据库和表的增删改查(DDL). 本章节将要学习对数据操作的DML,主要包括数据的导入和导出,清除. 目 ...
- 基于Metronic的Bootstrap开发框架经验总结(7)--数据的导入、导出及附件的查看处理...
在很多系统模块里面,我们可能都需要进行一定的数据交换处理,也就是数据的导入或者导出操作,这样的批量处理能给系统用户更好的操作体验,也提高了用户录入数据的效率.我在较早时期的EasyUI的Web框架上, ...
- MySQL基础day03_数据的导入、导出-MySQL 5.6
MySQL基础day03_数据的导入.导出-MySQL 5.6 注:把数据按照一定格式存放到文件里才能进行数据的导入. 1,数据导入的条件 把文件里的内容保存到数据的表里: 把数据按照一定格式存放文件 ...
- (转)基于Metronic的Bootstrap开发框架经验总结(7)--数据的导入、导出及附件的查看处理...
http://www.cnblogs.com/wuhuacong/p/4777720.html 在很多系统模块里面,我们可能都需要进行一定的数据交换处理,也就是数据的导入或者导出操作,这样的批量处理能 ...
最新文章
- LeetCode简单题之将所有数字用字符替换
- LR11之web_reg_find文本检查点的使用
- CRM项目经验总结-从DAO层到链接数据池
- es6学习笔记11--Proxy和Reflect
- PROC系列之/proc/stat/
- TCP/IP 中的二进制反码求和算法
- POJ 1150 The Last Non-zero Digit 数论+容斥
- 怎么在linux的cmd中运行c项目,如何在cmd窗口编译运行c语言程序?
- 容器日志管理 (2) 开源日志管理方案 ELK/EFK
- gazebo 直接获取传感器数据_【ROS-Gazebo】IMU插件使用与数据采集——以四足机器人pigot为例...
- Spring-自定义类实现AOP(八)
- 阅读理解常规解题思路
- switch更新主机服务器维护,switch更新链接不到服务器
- 《嵌入式 - 语音识别TWen-ASR-ONE开发笔记》第5章 TWen-ASR-ONE 串口使用
- 苹果官方mfi认证名单_阿里六星级运营服务商名单出炉!获得官方认证的公司花落谁家?...
- 【周记】腾讯犀牛鸟「云开发」校园技术布道师养成计划
- 07-PDI(Kettle)源码编译8.2.0.0.R版本
- 国内网页无法加载reCAPTCHA解决方案
- 图像质量调试色温值对照2021-04-20
- PADS的layout单个元器件删除时提示“复用元素无法修改,首先打散复用模块”
热门文章
- Andriod WIFI 隐藏SSID
- git安装 tor_tortoriseGit的使用
- 2020年蜀山区信息学竞赛试卷(小学组)
- 努比亚Z9 / Z9MAX Plus 换电池教程 NX508J NX510J
- [批处理]自己写的“WindowsXP关机定时器”(提供源码和下载)
- [算法导论] Alpha-Beta 剪枝(Alpha-Beta Pruning)
- LATEX中常用的插图和插表格的方法
- 基于51单片机的MQ-5天然气监测报警系统设计
- Android版本适配
- java web——servlet+jsp实现前后台交互