oracle 查询哪些表分区

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了oracle 查询哪些表分区相关的知识,希望对你有一定的参考价值。

我的数据库里有部分表是分区表,请问怎么能查到有哪些表是分区表?

如果查询当前用户下得分区表:
select * from user_tables where partitioned='YES'
如果要查询整个数据库中的分区表:
select * from dba_tables where partitioned='YES'
如果要查询某个用户下得分区表:
select * from dba_tables where partitioned='YES' and owner='ABCDEFG'
其中ABCDEFG为用户名
参考技术A v$dba_tables
v$user_tables
参考技术B select * from USER_TABLES
where partitioned='YES';

oracle怎样查询哪些表分区?

如果查询当前用户下得分区表:
select * from user_tables where partitioned='YES'
如果要查询整个数据库中的分区表:
select * from dba_tables where partitioned='YES'
如果要查询某个用户下得分区表:
select * from dba_tables where partitioned='YES' and owner='ABCDEFG'
其中ABCDEFG为用户名
参考技术A

执行SQL 使用分区键检索:

select*from 分区表 t where createdate > to_date('搜索内容','yyyy-mm-dd') and createdate < to_date('搜索内容','yyyy-mm-dd')

执行SQL 不使用分区键检索:

select*from 分区表 t where sms_report_date > to_date('2009-07-12','yyyy-mm-dd') and sms_report_date < to_date('2009-08-12','yyyy-mm-dd')

执行SQL 使用分区键检索执行计划如下:

SELECT STATEMENT, GOAL = ALL_ROWS

PARTITION RANGE ITERATOR    Partition start=2    Partition stop=3

TABLE ACCESS FULL            Partition start=2    Partition stop=3

执行SQL 不使用分区键检索执行计划如下:

SELECT STATEMENT, GOAL = ALL_ROWS  www.2cto.com  

PARTITION RANGE ALL        Partition start=1    Partition stop=31

TABLE ACCESS FULL            Partition start=1    Partition stop=31

参考技术B

如何查看与显示oracle表的分区信息:

显示分区表信息
显示数据库所有分区表的信息: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

参考技术C 如果查询当前用户下得分区表:
select * from user_tables where partitioned='YES'
如果要查询整个数据库中的分区表:
select * from dba_tables where partitioned='YES'
如果要查询某个用户下得分区表:
select * from dba_tables where partitioned='YES' and owner='ABCDEFG'
其中ABCDEFG为用户名

以上是关于oracle 查询哪些表分区的主要内容,如果未能解决你的问题,请参考以下文章

oracle怎样查询哪些表分区?

oracle怎样查询哪些表分区?

oracle数据库如何查看表的表分区的信息(每个表分区的名字和所属表空间)

oracle表分区问题 做过数据库表分区的高手请进,非常感谢

查看oracle的分区表都有哪些分区

Oracle 表分区