ORA-14016: 对 LOCAL 分区索引的基础表进行分区

 时间:2026-02-14 06:36:40

1、查看一个表是不是分区表

select table_name from dba_part_tables where owner = 'HS_HIS' and table_name='HIS_TRADEDAILYTOTAL';

这里查询结果为空,代表该表不是分区表

ORA-14016: 对 LOCAL 分区索引的基础表进行分区

2、创建分区表(结构和非分区表相同)

create table hs_his.t_his_tradedailytotal

partition by range(init_date)

(partition PMAX values less than (maxvalue))

as select * from hs_his.his_tradedailytotal where 1=2;

ORA-14016: 对 LOCAL 分区索引的基础表进行分区

3、对原表进行备份包括索引也进行备份

PL/SQL 有个查看SQL的功能,

ORA-14016: 对 LOCAL 分区索引的基础表进行分区

4、交换数据(数据从非分区表到分区表)

alter table hs_his.t_his_tradedailytotal exchange partition pmax with table hs_his.his_tradedailytotal;

ORA-14016: 对 LOCAL 分区索引的基础表进行分区

5、删除非分区表  

drop table his_tradedailytotal;

ORA-14016: 对 LOCAL 分区索引的基础表进行分区

6、将分区表重命名为原非分区表名

alter table t_his_tradedailytotal rename to his_tradedailytotal;

ORA-14016: 对 LOCAL 分区索引的基础表进行分区

7、再次检查表是否为分区表

select table_owner,table_name,partition_name from dba_tab_partitions a where a.table_owner='HS_HIS' and a.table_name='HIS_TRADEDAILYTOTAL';

ORA-14016: 对 LOCAL 分区索引的基础表进行分区

8、对pmax进行split分区,(把所需分区从pmax split出来):

ALTER TABLE HIS_TRADEDAILYTOTAL SPLIT PARTITION PMAX AT (20180800) INTO (partition P201801, partition PMAX) ;

分区区间仅供参考

ORA-14016: 对 LOCAL 分区索引的基础表进行分区

9、备份的索引进行重建,以及检查分区表是否正确

  • notepad自动换行
  • Linux 怎样删除前N天、N小时、N分钟数据文件
  • db2字符与数字类型的互换
  • oracle如何修改字段长度
  • Java 设置Excel数字格式
  • 热门搜索
    如何选购洗衣机 喜出望外怎么造句 hdr是什么拍照功能 罗莱生活 耳机参数怎么看 非洲人的生活 生活片一级播放 生活是多么广阔 美女生活照组图 生活哲理