select * from user_tables a where a.partitioned='YES'
删除一个表的数据
truncate table table_name;
删除分区表一个分区的数据
alter table table_name truncate partition p5;
如何查询某用户下所有分区表:
select table_name,partition_name,tablespace_name from USER_TAB_PARTITIONS;
对数据库进行瘦身,用下面语句查询出来直接执行即可:
select 'alter table ' || table_name || ' truncate partition ' || partition_name || ';' from USER_TAB_PARTITIONS where partition_name < 'P_2012' order by table_name,partition_name
常用数据字典说明:
显示数据库所有分区表的信息:
DBA_PART_TABLES
显示当前用户可访问的所有分区表信息:
ALL_PART_TABLES
显示当前用户所有分区表的信息:
USER_PART_TABLES
显示表分区信息显示数据库所有分区表的详细分区信息:
DBA_TAB_PARTITIONS
显示当前用户可访问的所有分区表的详细分区信息:
ALL_TAB_PARTITIONS
显示当前用户所有分区表的详细分区信息:
USER_TAB_PARTITIONS
显示子分区信息显示数据库所有组合分区表的子分区信息:
DBA_TAB_SUBPARTITIONS
显示当前用户可访问的所有组合分区表的子分区信息:
ALL_TAB_SUBPARTITIONS
显示当前用户所有组合分区表的子分区信息:
USER_TAB_SUBPARTITIONS
显示分区列显示数据库所有分区表的分区列信息:
DBA_PART_KEY_COLUMNS
显示当前用户可访问的所有分区表的分区列信息:
ALL_PART_KEY_COLUMNS
显示当前用户所有分区表的分区列信息:
USER_PART_KEY_COLUMNS
显示子分区列显示数据库所有分区表的子分区列信息:
DBA_SUBPART_KEY_COLUMNS
显示当前用户可访问的所有分区表的子分区列信息:
ALL_SUBPART_KEY_COLUMNS
显示当前用户所有分区表的子分区列信息:
USER_SUBPART_KEY_COLUMNS