oracle数据库中,有很多分区表都放在不同的表空间,不同用户下,怎么找出所有分区表?

解决方案 »

  1.   

    查看所有用户分区表及分区策略(1、2级分区表均包括):  SELECT p.table_name AS 表名, decode(p.partitioning_key_count, 1, '主分区') AS 分区类型,
           p.partitioning_type AS 分区类型, p.column_name AS 分区键,
           decode(nvl(q.subpartitioning_key_count, 0), 0, '无子分区', 1, '子分区') AS 有无子分区,
           q.subpartitioning_type AS 子分区类型, q.column_name AS 子分区键
      FROM (SELECT a.table_name, a.partitioning_type, b.column_name, a.partitioning_key_count
               FROM user_part_tables a, user_part_key_columns b
              WHERE a.table_name = b.NAME
                AND b.object_type = 'TABLE') p,
           (SELECT a.table_name, a.subpartitioning_type, b.column_name, a.subpartitioning_key_count
               FROM user_part_tables a, user_subpart_key_columns b
              WHERE a.table_name = b.NAME
                AND a.subpartitioning_key_count <> 0
                AND b.object_type = 'TABLE') q
     WHERE p.table_name = q.table_name(+)
     ORDER BY 5,4,1;       显示数据库所有分区表的信息:DBA_PART_TABLES显示当前用户可访问的所有分区表信息:ALL_PART_TABLES显示当前用户所有分区表的信息:USER_PART_TABLES
      

  2.   

    显示表分区信息 显示数据库所有分区表的详细分区信息: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--------------------------------------------------------------------------------------------------怎样查询出oracle数据库中所有的的分区表select * from user_tables a where a.partitioned='YES' 删除一个表的数据是truncate   table   table_name;删除分区表一个分区的数据是alter   table   table_name   truncate   partition   p5;如果我要将分区表中各个分区的数据都清空,可以用truncate   table   table_name直接删除;也可以用:alter   table   table_name   truncate   partition   p1;alter   table   table_name   truncate   partition   p2;alter   table   table_name   truncate   partition   p3;alter   table   table_name   truncate   partition   p4;alter   table   table_name   truncate   partition   p5;alter   table   table_name   truncate   partition   p6;逐个删除。