您的位置:制图网首页 -> 新闻动态 -> oracle分区维护操作【oracle查询命令总结】

热门排行

oracle分区维护操作【oracle查询命令总结】

2023/1/31 来自于:制图网 点击:42
概述

前面已经对Oracle数据库分区方面一些概念性东西做了一些介绍,所以今天就不多讲概念性东西了,主要分享一些表分区常用的维护命令。

添加分区

1、给SALES表添加一个P3分区

ALTER TABLE SALES ADD PARTITION P3 VALUES LESS THAN(TO_DATE('2003-06-01','YYYY-MM-DD'));

注意:以上添加的分区界限应该高于最后一个分区界限。

2、给SALES表的P3分区添加了一个P3SUB1子分区

ALTER TABLE SALES MODIFY PARTITION P3 ADD SUBPARTITION P3SUB1 VALUES('COMPLETE'); 删除分区

1、删除了P3表分区:

ALTER TABLE SALES DROP PARTITION P3;

2、删除了P4SUB1子分区:

ALTER TABLE SALES DROP SUBPARTITION P4SUB1;

注意:如果删除的分区是表中唯一的分区,那么此分区将不能被删除,要想删除此分区,必须删除表。

截断分区

截断某个分区是指删除某个分区中的数据,并不会删除分区,也不会删除其它分区中的数据。当表中即使只有一个分区时,也可以截断该分区。

1、截断分区:

ALTER TABLE SALES TRUNCATE PARTITION P2;

2、截断子分区:

ALTER TABLE SALES TRUNCATE SUBPARTITION P2SUB2; 合并分区

合并分区是将相邻的分区合并成一个分区,结果分区将采用较高分区的界限,值得注意的是,不能将分区合并到界限较低的分区。

实现P1 P2分区的合并:

ALTER TABLE SALES MERGE PARTITIONS P1,P2 INTO PARTITION P2; 拆分分区

拆分分区将一个分区拆分两个新分区,拆分后原来分区不再存在。注意不能对HASH类型的分区进行拆分。

ALTER TABLE SALES SBLIT PARTITION P2 AT(TO_DATE('2003-02-01','YYYY-MM-DD')) INTO (PARTITION P21,PARTITION P22); 接合分区(coalesca)

结合分区是将散列分区中的数据接合到其它分区中,当散列分区中的数据比较大时,可以增加散列分区,然后进行接合,值得注意的是,接合分区只能用于散列分区中。

接合分区:

ALTER TABLE SALES COALESCA PARTITION; 重命名表分区

将P21更改为P2

ALTER TABLE SALES RENAME PARTITION P21 TO P2; 相关查询

1、跨分区查询

select sum( *) from (select count(*) cn from t_table_SS PARTITION (P200709_1) union all select count(*) cn from t_table_SS PARTITION (P200709_2) );

2、查询表上有多少分区

SELECT * FROM useR_TAB_PARTITIONS WHERE TABLE_NAME='tableName' oracle分区维护操作【oracle查询命令总结】

3、查询索引信息

select object_name, object_type, tablespace_name, sum(value) from v$segment_statistics where statistic_name IN ('physical reads', 'physical write', 'logical reads') and object_type = 'INDEX' group by object_name, object_type, tablespace_name order by 4 desc; oracle分区维护操作【oracle查询命令总结】

4、显示分区表信息

--显示数据库所有分区表的信息 select * from DBA_PART_TABLES --显示当前用户可访问的所有分区表信息 select * from ALL_PART_TABLES --显示当前用户所有分区表的信息 select * from USER_PART_TABLES oracle分区维护操作【oracle查询命令总结】

5、显示表分区信息

-- 显示数据库所有分区表的详细分区信息 select * from DBA_TAB_PARTITIONS --显示当前用户可访问的所有分区表的详细分区信息: select * from ALL_TAB_PARTITIONS --显示当前用户所有分区表的详细分区信息: select * from USER_TAB_PARTITIONS

6、显示子分区信息

--显示子分区信息 显示数据库所有组合分区表的子分区信息: select * from DBA_TAB_SUBPARTITIONS --显示当前用户可访问的所有组合分区表的子分区信息: select * from ALL_TAB_SUBPARTITIONS --显示当前用户所有组合分区表的子分区信息: select * from USER_TAB_SUBPARTITIONS oracle分区维护操作【oracle查询命令总结】

7、显示分区列

-- 显示数据库所有分区表的分区列信息: select * from DBA_PART_KEY_COLUMNS --显示当前用户可访问的所有分区表的分区列信息: select * from ALL_PART_KEY_COLUMNS --显示当前用户所有分区表的分区列信息: select * from USER_PART_KEY_COLUMNS

8、显示子分区列

--显示数据库所有分区表的子分区列信息: select * from DBA_SUBPART_KEY_COLUMNS --显示当前用户可访问的所有分区表的子分区列信息: select * from ALL_SUBPART_KEY_COLUMNS --显示当前用户所有分区表的子分区列信息: select * from USER_SUBPART_KEY_COLUMNS

Oracle分区大致的命令就这些了,大家有需要也可以自己测试一下。

后面会分享更多DBA方面内容,感兴趣的朋友可以关注下!

oracle分区维护操作【oracle查询命令总结】

制图网(www.makepic.net),专业的logo免费设计在线生成网站,全自动智能化logo设计,商标设计,logo在线生成!

欢迎使用制图网制作属于您公司自己的logo,不仅专业而且经济实惠,全方位满足您公司品牌化、视觉化的需求。

输入激活码

只需简单一步,使用微信扫码(或长按识别二维码)并在任一小程序首页根据提示获取激活码! chatGPT中文网页版,无需注册,快来体验全网最火爆的人工智能应用!
刻字印章刻章子定刻光敏盖章印订制(淘宝商家)

输入激活码

只需简单一步,使用微信扫码(或长按识别二维码)并在任一小程序首页根据提示获取激活码! chatGPT中文网页版,无需注册,快来体验全网最火爆的人工智能应用!
刻字印章刻章子定刻光敏盖章印订制(淘宝商家)
请使用手机淘宝进行扫码