+ -
当前位置:首页 → 问答吧 → 去亚信面试,觉得亚信的DBA这么计算高水位点有问题

去亚信面试,觉得亚信的DBA这么计算高水位点有问题

时间:2011-09-14

来源:互联网

面试官问我,如何计算高水位点,我说不知道,他说计算高水位点就是dba_segments.header_block + dba_segments.blocks,但是我觉得这个是有问题的,因为EXTENT可能不是连续分配的

作者: translate   发布时间: 2011-09-14

高水位点和extent是不是连续分配没有关系。

他这样计算是不对的。

作者: kewin   发布时间: 2011-09-14

过于关注这个有点孔乙己的感觉,你只要理解高水位的意思,知道它意味着什么,具体怎么查,方法很多了,即便一时半会想不起来,也没有什么啊。

面试官考这些东西,感觉有点可笑。

作者: sunfire999   发布时间: 2011-09-14

TEST 分配了72个block,不能说HWM是dba_segments.header_block + dba_segments.blocks。
而且还有个问题blocks包括了header_block(12 个headerblock是在72个block之中的)

  1* select segment_name, HEADER_BLOCK, blocks from dba_segments where segment_n
ame ='TEST'
SQL> /

SEGMENT_NAME         HEADER_BLOCK     BLOCKS
-------------------- ------------ ----------
TEST                           11         72

SQL> SELECT sum(blocks) from dba_extents where segment_name ='TEST';

SUM(BLOCKS)
-----------
         72

作者: kewin   发布时间: 2011-09-14

Dba_Segments .blocks=Dba_Tables.Blocks+Dba_Tables.Empty_Blocks+1
Dba_Tables的值需要对表分析后才准确,分析后,Dba_Tables.Blocks+1是搞水位点。Dba_Segments .blocks是表分配的块数,不是高水位点。

作者: ysping   发布时间: 2011-09-14

把segment head dump出来,就知道高水位在哪里

作者: maolinxie   发布时间: 2011-09-14



QUOTE:原帖由 sunfire999 于 2011-9-14 09:47 发表
过于关注这个有点孔乙己的感觉,你只要理解高水位的意思,知道它意味着什么,具体怎么查,方法很多了,即便一时半会想不起来,也没有什么啊。

面试官考这些东西,感觉有点可笑。

方法很多?

觉得除了DUMP之外,应该没有办法

作者: translate   发布时间: 2011-09-14

考这个太无聊了

作者: ice_bean   发布时间: 2011-09-14

我也觉得问怎么查,还不如去问概念及对其理解。

作者: outdo   发布时间: 2011-09-14



QUOTE:原帖由 kewin 于 2011-9-14 09:49 发表
TEST 分配了72个block,不能说HWM是dba_segments.header_block + dba_segments.blocks。
而且还有个问题blocks包括了header_block(12 个headerblock是在72个block之中的)

  1* select segment_name, HEADER_BLOCK, blocks from dba_segments where segment_n
ame ='TEST'
SQL> /

SEGMENT_NAME         HEADER_BLOCK     BLOCKS
-------------------- ------------ ----------
TEST                           11         72

SQL> SELECT sum(blocks) from dba_extents where segment_name ='TEST';

SUM(BLOCKS)
-----------
         72

例子还是你这个例子,但结论相反,
HMW=dba_segments.header_block + dba_segments.blocks
我觉得也可以这么去理解.

作者: outdo   发布时间: 2011-09-14

哪里的亚信?

作者: yyp2009   发布时间: 2011-09-14



QUOTE:原帖由 translate 于 2011-9-14 09:53 发表


  方法很多?

觉得除了DUMP之外,应该没有办法

SHOW_SPACE这个存储过程也能查,既然这个存储过程能查,自然有相关的语句可以查

作者: sunfire999   发布时间: 2011-09-14

官方是这么定义的吗? 有待查证

作者: solomon_007   发布时间: 2011-09-14