oracle 表分区
温馨提示:
本文最后更新于 2023年12月19日,已超过 522 天没有更新。若文章内的图片失效(无法正常加载),请留言反馈或直接联系我。
oracle 表分区
1. 创建表分区
1.1 新表
- 新表的话可以直接创建
1.2 老表建立分区
-
在线重定义功能(百度)
-
直接建立
-
先备份老表(最好)
-
查询老表的索引
-
创建分区(以hash分区为例)
-
-- 创建分区 create table IDX_MAKT_QUOT_PARTITION partition by hash(PROD_CD) ( partition p1 , partition p2 , partition p3 , partition p4 ) as select * from IDX_MAKT_QUOT
-
-
查看分区数据
-
-- 查看对应分区的数据 select count(*) from IDX_MAKT_QUOT_PARTITION partition(p2); select PROD_CD from IDX_MAKT_QUOT_PARTITION partition(p3) GROUP BY PROD_CD HAVING count(PROD_CD) >1 ;
-
-
查看分区表信息
-
select * from user_tab_partitions; select * from DBA_PART_TABLES a where a.owner=upper('otc') and a.table_name=upper('IDX_MAKT_QUOT_PARTITION');
-
-
使更新操作可以跨越表分区(最好分区字段不会变更)
-
-- 使更新操作可以跨越表分区 默认分区表对于分区字段是不允许update操作的,报错——ORA-14402: 更新分区关键字列将导致分区的更改 alter table IDX_MAKT_QUOT_PARTITION enable row movement; -- 关闭行迁移 alter table IDX_MAKT_QUOT_PARTITION disable row movement;
-
-
更多分区维护参考 https://blog.csdn.net/woailyoo0000/article/details/78836474
-
2. 创建索引
-
创建索引(本地索引)
-
create index IDX_MAKT_QUOT_PARTITION_INDEX on IDX_MAKT_QUOT_PARTITION(PROD_CD) local ( partition p1 , partition p2 , partition p3 , partition p4 )
-
-
查看索引信息
-
-- 查看索引信息,查看分区信息(包括每个分区的行数) select * from dba_ind_partitions where index_name='IDX_MAKT_QUOT_PARTITION_INDEX' select * from user_indexes where index_name='IDX_MAKT_QUOT_PARTITION_INDEX';
-
-
更多参考 https://www.cnblogs.com/xcnblog3035/p/5266894.html https://blog.csdn.net/wonderful_life_mrchi/article/details/77062861https://blog.csdn.net/xujinyang/article/details/710955
3. 删除分区表
-
直接删除
-
ALTER TABLE IDX_MAKT_QUOT_PARTITION DROP PARTITION p1;
-
-
如果不小心先将表删除了,查看分区信息还能看到分区表,但是表名是随机的
-
-- 删除回收站中的表 ALTER TABLE IDX_MAKT_QUOT_PARTITION DROP PARTITION p1;
-
-
更多参考 https://blog.csdn.net/shangzhiliang_2008/article/details/46728279 https://blog.csdn.net/smilecjw/article/details/78658984
正文到此结束
- 本文标签: 数据库
- 本文链接: https://www.yynhworld.cn/article/15
- 版权声明: 本文由御影年华原创发布,转载请遵循《署名-非商业性使用-相同方式共享 4.0 国际 (CC BY-NC-SA 4.0)》许可协议授权