重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
查看当前用户下的分区表:
成都创新互联公司为客户提供专业的成都网站建设、成都网站设计、程序、域名、空间一条龙服务,提供基于WEB的系统开发. 服务项目涵盖了网页设计、网站程序开发、WEB系统开发、微信二次开发、手机网站制作等网站方面业务。
select * from user_part_tables ;
或者下面的语句可以:
select * from dba_part_tables where owner ='scheme名称' ;
dba_part_tables表是sys用户下的表。
要想查看表分区的名称:
select partition_name from user_segments where segment_type='TABLE PARTITION' and segment_name='表名';
或者下面的语句可以:
select * from dba_part_col_statistics where lower(table_name)= '表名';
dba_part_col_statistics表是sys用户下的表。
这样SELECT TABLE_NAME,PARTITION_NAME,TABLESPACE_NAME
FROM USER_TAB_PARTITIONS
注:
USER_TAB_PARTITIONS:可查看分区表的名字、归属表空间以及表的详细分区情况。
USER_PART_TABLES:可查看用户所有的分区表,以及分区方式。
扩展资料:
分区表的作用
Oracle的表分区功能通过改善可管理性、性能和可用性,从而为各式应用程序带来了极大的好处。通常,分区可以使某些查询以及维护操作的性能大大提高。此外分区还可以极大简化常见的管理任务,分区是构建千兆字节数据系统或超高可用性系统的关键工具。
分区功能能够将表、索引或索引组织表进一步细分为段,这些数据库对象的段叫做分区。每个分区有自己的名称,还可以选择自己的存储特性。从数据库管理员的角度来看,一个分区后的对象具有多个段,这些段既可进行集体管理,也可单独管理,这就使数据库管理员在管理分区后的对象时有相当大的灵活性。
但是,从应用程序的角度来看,分区后的表与非分区表完全相同,使用 SQL DML 命令访问分区后的表时,无需任何修改。
oracle 已经分区的表需要怎样查询
显示分区表信息
显示数据库所有分区表的信息:DBA_PART_TABLES
显示当前用户可访问的所有分区表信息:ALL_PART_TABLES
显示当前用户所有分区表的信息:USER_PART_TABLES
显示表分区信息 显示数据库所有分区表的详细分区信息:DBA_TAB_PARTITIONS
显示当前用户可访问的所有分区表的详细分区信息:ALL_TAB_PARTITIONS
执行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
PARTITION RANGE ALL Partition start=1 Partition stop=31
TABLE ACCESS FULL Partition start=1 Partition stop=31
查分区表user_tab_partitions,或者user_segments,或者user_objects都行。
个人感觉user_tab_partitions比较好。
至于6个月之前,可以用sysdate和add_months来做,然后再to_char截取,就行
如果查询当前用户下得分区表:
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为用户名