关于oracle分区表信息的查询
2011-01-04 17:23
197 查看
原帖:http://space.itpub.net/11813230/viewspace-663226
查看所有用户分区表及分区策略(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;
显示[b]数据库所有分区表的信息[/b]: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
--------------------------------------------------------------------------------------------------
怎样查询出[b]oracle数据库中所有的的分区表[/b]
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;
逐个删除。
查看所有用户分区表及分区策略(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;
显示[b]数据库所有分区表的信息[/b]: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
--------------------------------------------------------------------------------------------------
怎样查询出[b]oracle数据库中所有的的分区表[/b]
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;
逐个删除。
相关文章推荐
- 关于Oracle分区表信息的查询
- 关于Oracle创建分区表以及如何在mybatis中插入分区表信息
- Oracle分区表信息的查询
- 一些与oracle相关的关于查询锁的信息
- 关于oracle 11g自动分区+分区改名+定时任务综合使用实现自动分区后可以进行分区查询
- 查询oracle表的信息(表,字段,约束,索引)
- 关于oracle-sql-时间区间查询精确到时分秒
- 关于oracle的多表连接查询,分页的问题
- oracle 中查询本周,本月信息
- Oracle字符集的查看、修改和版本信息的查询
- oracle查询表 索引、唯一约束、字段等相关信息
- 如何查询Oracle中所有用户信息
- 关于Oracle的动态查询
- 查询oracle中所有用户信息
- 查询数据库当前用户连接信息(MySQL,Oracle)
- oracle分区表常用统计信息
- 关于Oracle的动态查询
- oracle--查询表的信息 查看备注字段
- 关于oracle查询视图中的insufficient privileges
- oracle sqlplus下查询错误输出信息