oracle表空间

本文详细介绍了Oracle数据库中创建表空间的语句,以及如何查看和分析表空间内的段、区块、表、列和索引的统计信息。通过各种SQL查询,可以获取表的行数、块使用情况、列的唯一值、索引深度等关键数据。最后,还给出了刷新缓冲区缓存的命令。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.Oracle建表空间的语句

create smallfile tablespace "DATA1"
DATAFILE 'D:\ORACLE\ORADATA\ORCL\DATA1_01.DBF' SIZE 100M REUSE
AUTOEXTEND ON NEXT 100M MAXSIZE UNLIMITED--表空间自动扩展100M
LOGGING
EXTEND MANAGEMENT LOCAL--区的管理方式:本地
SEGMENT SPACE MANAGEMENT AUTO--段的管理方式:自动

2.查看段区块的信息

select segment_name,blocks,extents,bytes,segment_type,tablespace_name 
from dba_segments where segment_name='t2';

注意:这些统计信息不是实时的。要想获得当前信息,需要执行下面的语句

2.1       analyze table t2 compute statistics;
2.2       exec dbms_stats.gather_table_stats('SYS','T2');--常用的统计语句

3.查看表有哪些块及空块的信息

select table_name, blocks,empty_blocks from dba_tables where table_name='EMP';



4.表的统计信息:包含表行数,使用的块数,空的块数,块的使用率,行迁移和链接的数量,pctfree,pctused的数据,行的平均大小

select
num_rows,--表中的记录数
blocks,--表中数据所占的数据块数
empty_blocks,--表中的空块数
avg_space,--数据块中的平均的使用空间
chain_cnt,--表中行连接和行迁移的数量
avg_row_len--每条记录的平均长度
from user_tables;

5.列的统计信息:包含唯一的值个数,列最大/小值,密度(选择率),数据分布(直方图信息),NULL值个数

select
num_distinct,--唯一值的个数
low_value,--列上的最小值
high_value,--列上的最大值
density,--选择率因子(密度)
num_nulls,--空值个数
num_buckets,--直方图的BUCKET个数
histogram--直方图的类型
from user_tab_columns;

6.索引列的统计信息:包含索引的深度(B-tress的级别),索引叶级的块数量,集群因子(clustering_factor),唯一值的个数。

select
blevel,--索引的层数
leaf_block,--叶子结点的个数
distinct_keys,--唯一值的个数
avg_leaf_blocks_per_key,--每个key的平均叶块个数
avg_data_block_per_key,--每个KEY的平均数据块个数
clustering_factors--群集因子
from user_indexes;

 7.将buffer cache中的脏数据全部刷到磁盘的命令

alter system flush buffer_cache;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值