少了64k
来源:互联网 发布:mac pro如何使用 编辑:程序博客网 时间:2024/04/28 05:17
SQL> select tablespace_name,sum(bytes)/1024/1024 from dba_free_space where tablespace_n
ame like '%USER%' group by tablespace_name;
TABLESPACE_NAME SUM(BYTES)/1024/1024
------------------------------ --------------------
USERS 292.25
已选择 1 行。
SQL> select sum(bytes)/1024/1024 from dba_segments where tablespace_name like '%USER%';
SUM(BYTES)/1024/1024
--------------------
7.6875
已选择 1 行。
SQL> select file_name,tablespace_name,sum(bytes)/1024/1024 from dba_data_files where ta
blespace_name like '%USER%' group by file_name,tablespace_name;
FILE_NAME
--------------------------------------------------------------------------------
TABLESPACE_NAME SUM(BYTES)/1024/1024
------------------------------ --------------------
C:/ORAHOME92/ORACLE/ORA10G/ORADATA/ORCL/USERS01.DBF
USERS 300
已选择 1 行。
******************************************************************************************
SQL> select file_name,tablespace_name,bytes from dba_data_fileS where tablespace_name l
ike '%USER%';
FILE_NAME
--------------------------------------------------------------------------------
TABLESPACE_NAME BYTES
------------------------------ ----------
C:/ORAHOME92/ORACLE/ORA10G/ORADATA/ORCL/USERS01.DBF
USERS 314572800
已选择 1 行。
SQL> select sum(bytes) from dba_segments where tablespace_name like '%USER%';
SUM(BYTES)
----------
8060928
已选择 1 行。
SQL> select tablespace_name,sum(bytes) from dba_free_space where tablespace_name like '
%USER%' group by tablespace_name;
TABLESPACE_NAME SUM(BYTES)
------------------------------ ----------
USERS 306446336
已选择 1 行。
314572800-(306446336+8060928)=65536(64k)
answer:
from:http://www.itpub.net/viewthread.php?tid=1070404&pid=11827357&page=1&extra=
LMT的管理方式
LMT就是指Oracle不再利用数据字典表来记录Oracle表空间里面的区的使用状况,而是在每个表空间的数
据文件的头部加入了一个位图区,在其中记录每个区的使用状况。每个表文件头会有64K用于bit map。每
当一个区被使用,或者被释放以供重新使用时,Oracle都会更新数据文件头部的这个记录,反映这个变化
区大小的管理
extent_management_clause(表空间级参数)
AUTOALLOCATE(默认值)
区的大小由系统来管理,如果数据块小于16K.则默认是64K,如果大于16K,则默认是1M.然后再根据表的
情况分配区。大小是64K,1M,8M..
而系统表空间只能是autoallocate。
UNIFORM
规定了每个区的大小,而每个区至少包括5个数据库块大小
区属性的管理
segment_management_clause(表空间级参数)
MANUAL
用free lists来管理段空间
AUTO
这种段的管理方式也称为automatic segment- ace management.它是用位图来管理段空间,
会忽略对像的PCTUSED, FREELIST和FREELIST GROU 参数。oracle会自动管理表和索引的FREELISTS。对于
A M而言,INITIAL最小的值是三个块。
下面就详细的说说A M
传统的管理方式中。PCTUSED的设置影响着freelist的联接。如果我们想充分的利用disk。就会设一个大
大高于avg_row_len的value.相反,如果我们想提高i ert的性能,我们就要设一个低的PCTUSED,确保所
有的block有足够的空间来实现数据的更新。如果PCTUSED设置不合理,就会导致i ert性能的降低。如果
PCTUSED设置过大。使得新的数据无法在当前的块中更新,就必需去freelist中获取的别的。从而提高了
I/O的争用。如果经过5次获取都无法i ert这个数据,那oracle就会将HWM提高5块的空间。把这5个块分配
给这个I ert使用。
用A M管理方式。oracle就会根据dba_tables.avg_row_Len来调整PCTUSED的大小。从而使性能提高。使用
A M的最大的好处就是减少缓冲忙的等待。在oracle9i以前的版本中,缓冲忙的等待是最主要的问题。如
果是用单个freelist的时候。oracle会在表头用一个块来管理表中空闲的块。如果多个用户向同一个表i
ert数据,oracle会向table的freelist申请空闲的块,每次只能处理一个请求。这样就会造成等待。
由于A M使用位图来管理空闲的块。一个对像中,文件头会占三个块,其中有一个是位图信息。打个比方
,在一个表中,如果区大小是64K,那么前面16个块由第一个位图块管理,然后第17个块又是位图块,来
管理17到31个数据块。以此类推。
如果是64K/区,那么,一个位图块管理16个数据块
如果是1M/区,那么,一个位图块管理64个数据块
如果是8M/区,那么,一个位图块管理256个数据块
- 少了64k
- 内存少了
- 时间太少了
- 少发了一块钱。
- 逛CSDN少了
- 少了点什么?
- 我们少了什么?
- 原创太少了
- 少了这一课
- 人 又少了一个
- 少了些夜凉如水的感觉
- 资源分少了怎么办?
- 知道的太少了
- 我少了点什么?
- 这积分太少了
- 少了撕心裂肺的痛楚
- 不咸不淡,却少了温暖
- 少了6个小时
- sqlloader 用法
- struts2的一些用法(二):类型转换
- oracle db block structure
- DataView.Item 属性
- MyIE 开发日志
- 少了64k
- distinct() vs count()
- RAID模拟器(raid练习者好帮好)(界面未上传)
- struts2的一些用法(三):3.拦截器的设置
- 货币金额大写转换库源码 Money2String.dll
- dba_ts_quotas
- JavaScript小技巧
- 鬼谷子 ---捭阖第一
- check localhost port in use