作者:Lucifer三思而后行

(第51天)分区表转换之数据泵导出导入

介绍

分区表作为 Oracle 三大组件之一,在 Oracle 数据库中,起着至关重要的作用。

分区表有什么优点?

  • 提高性能:SQL 语句的 where 子句会过滤分区数据,只扫描需要查询的分区
  • 方便管理:各个分区隔离管理,部分分区故障不影响其他分区数据,支持对单个分区进行数据加载、数据备份、数据恢复以及索引重建等操作
  • 业务无感知:在数据库级完成分区,无需应用程序修改
  • 归档历史数据:对历史数据进行分区化归档,无需 DML 操作

在运维开发过程中,发现有部分应用厂商在建表之初并未考虑到数据体量的问题,导致很多大表都没有建成分区表。在系统运行过程中,这些表的数据量一直在增大,当达到一定体量时,我们就需要考虑对其进行分区表转换,以提高数据库的性能。

普通表转换为分区表,Oracle 提供了以下几种常用方式:

  • 数据泵
  • CTAS
  • 在线重定义
  • ALTER TABLE…MODIFY…方式(12.2之后支持)

本文主要讲解使用数据泵的方式进行分区表转换。

环境准备

主机名 IP地址 数据库版本 用户 表空间 表名 分区列 分区时长
lucifer 10.211.55.200 19C par par_tbs
lock