如何检查文件的HWM?

原创 2004年07月09日 10:49:00

SQL> declare<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />

  2  cursor c_dbfile is

  3  select tablespace_name

  4  ,file_name

  5  ,file_id

  6  ,bytes

  7  from sys.dba_data_files

  8  where status !='INVALID'

  9  order by tablespace_name,file_id;

 10  cursor c_space(v_file_id in number) is

 11  select block_id,blocks

 12  from sys.dba_free_space

 13  where file_id=v_file_id

 14  order by block_id desc;

 15  blocksize binary_integer;

 16  filesize binary_integer;

 17  extsize binary_integer;

 18  begin

 19  select value

 20  into blocksize

 21  from v$parameter

 22  where name = 'db_block_size';

 23  for c_rec1 in c_dbfile

 24  loop

 25  filesize := c_rec1.bytes;

 26  <>

 27  for c_rec2 in c_space(c_rec1.file_id)

 28  loop

 29  extsize := ((c_rec2.block_id - 1)*blocksize + c_rec2.blocks*blocksize);

 30  if extsize = filesize

 31  then

 32  filesize := (c_rec2.block_id - 1)*blocksize;

 33  else

 34  exit outer;

 35  end if;

 36  end loop outer;

 37  if filesize = c_rec1.bytes

 38  then

 39  dbms_output.put_line('Tablespace: '

 40  ||' '||c_rec1.tablespace_name||' Datafile: '||c_rec1.file_name);

 41  dbms_output.put_line('Can not be resized, no free space at end of file.')

 42  ;

 43  dbms_output.put_line('.');

 44  else

 45  if filesize < 2*blocksize

 46  then

 47  dbms_output.put_line('Tablespace: '

 48  ||' '||c_rec1.tablespace_name||' Datafile: '||c_rec1.file_name);

 49  dbms_output.put_line('Can be resized uptil: '||2*blocksize

 50  ||' Bytes, Actual size: '||c_rec1.bytes||' Bytes');

 51  dbms_output.put_line('.');

 52  else

 53  dbms_output.put_line('Tablespace: '

 54  ||' '||c_rec1.tablespace_name||' Datafile: '||c_rec1.file_name);

 55  dbms_output.put_line('Can be resized uptil: '||filesize

 56  ||' Bytes, Actual size: '||c_rec1.bytes);

 57  dbms_output.put_line('.');

 58  end if;

 59  end if;

 60  end loop;

 61  end;

 62  /

 

Tablespace:  DRSYS Datafile: /usr/oracle/data/oradata/cint208/drsys01.dbf

Can be resized uptil: 4333568 Bytes, Actual size: 5242880

.

Tablespace:  INDX Datafile: /usr/oracle/data/oradata/cint208/indx01.dbf

Can be resized uptil: 16384 Bytes, Actual size: 5242880 Bytes

.

Tablespace:  RBS Datafile: /usr/oracle/data/oradata/cint208/rbs01.dbf

Can be resized uptil: 57155584 Bytes, Actual size: 57671680

.

Tablespace:  SYSTEM Datafile: /usr/oracle/data/oradata/cint208/system01.dbf

Can be resized uptil: 280182784 Bytes, Actual size: 283115520

.

Tablespace:  TEMP Datafile: /usr/oracle/data/oradata/cint208/temp01.dbf

Can be resized uptil: 16384 Bytes, Actual size: 5242880 Bytes

.

Tablespace:  TESTSPACE Datafile: /usr/oracle/data/oradata/cint208/testspace1.dbf

Can be resized uptil: 16384 Bytes, Actual size: 5242880 Bytes

.

Tablespace:  TOOLS Datafile: /usr/oracle/data/oradata/cint208/tools01.dbf

Can be resized uptil: 16384 Bytes, Actual size: 5242880 Bytes

.

Tablespace:  USERS Datafile: /usr/oracle/data/oradata/cint208/users01.dbf

Can be resized uptil: 23076864 Bytes, Actual size: 23592960

.

 

PL/SQL procedure successfully completed.

 

SQL>

SQL>

SQL>

 

如何降低表的HWM

(HWM=total_blocks-Unused Blocks+1) 可以在DUMP文件第一个EXTENT的前三个数据块中看到HWM. 释放在HWM之上的空闲BLOCK: alter tab...
  • lively1982
  • lively1982
  • 2013年12月06日 12:06
  • 824

Oracle数据库降低HWM的几种方法

HWM是oracle中block有没有使用的分界线,它会随着数据的insert而上升,但它并不会随数据的delete而下降,因此全表扫描的时间并不因数据的delete而减少,相反可能由于块清除反而全表...
  • wh62592855
  • wh62592855
  • 2009年10月16日 23:38
  • 1602

分析HWM

下面结合官方文档和实验介绍下HWM: 以下英文摘自11gR2官方文档: HWM(high water mark):The boundary between used and unused spac...
  • BAT_os
  • BAT_os
  • 2015年04月16日 14:57
  • 889

Oracle中HWM与数据库性能的探讨

Oracle中HWM与数据库性能的探讨 一、什么是高水位 HWM(high water mark),高水标记,这个概念在segment的存储内容中是比较重要的.简单来说,HWM就是一个segmen...
  • happyqwz
  • happyqwz
  • 2012年05月02日 21:55
  • 2113

挖掘需求的实用战术

不论测试部门还是兄弟部门,规模扩展都非常迅速,以前做不同的项目开发测试人员就这么几个,现在可不同了,一个项目中,前期与后期的人员都存在变化的可能。正因为“人”这个重要因素,我们可以看到,项目与项目的过...
  • phphot
  • phphot
  • 2009年04月05日 16:21
  • 694

ORACLE HWM 和 low HWM

今天在学习的过程中看到了LOW HWM,印象中以前在什么地方看到过可是死活想不起来,去百度了半天都没找到相关的信息。无奈之下还是GOOGLE了一下,找到一篇asktom上的帖子。记录在这里,顺便和大家...
  • wh62592855
  • wh62592855
  • 2009年09月28日 21:39
  • 1425

如何检查投标文件以及常见错误?

技术文件 1.   检查项目名称。 2.   检查采购编号。 3.   检查采购人。 4.   检查封面、目录以及页码,同时注意是否更新目录。 5.   检查份数、正本、副本。 6.   对照招投标要...
  • lilinoscar
  • lilinoscar
  • 2017年06月14日 09:56
  • 3063

计算广告学(二)

本系列文章主要参考刘鹏老师的计算广告学课程 ---------------------------------------------------------------------------...
  • Datuqiqi
  • Datuqiqi
  • 2015年05月12日 22:01
  • 2324

高水位线(HWM)

一、什么是水线(High Water Mark)? 所有的oracle段(segments,在此,为了理解方便,建议把segment作为表的一个同义词) 都有一个在段内容纳数据的上限,我们把这个...
  • u013412535
  • u013412535
  • 2015年02月03日 16:51
  • 366

HWM

HighWater Mark 简介:Interfacetables traditionally have rows inserted and then deleted after they arep...
  • chichimanman
  • chichimanman
  • 2014年08月18日 11:04
  • 218
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:如何检查文件的HWM?
举报原因:
原因补充:

(最多只允许输入30个字)