# 44631
HELLO
|
|
To: 盖老师
老师,您好,我想请教个问题,问题描述是,有个生产库版本是11.1.0.7 ,操作系统环境是2008SERVER,所包含的有多个表中包含BLOB,CLOB字段,在进行本地导出很正常,但是远程全库导出(EXP)时,会报致命错误,终止导出,具体错误提示是:exp-00056:遇到ORACLE错误3135
ora-03135:连接失去联系
进程ID:11960
会话ID:102
序列号:12661
exp-00056:遇到ORACLE错误24324
ora-24324:未初始化服务句柄
exp-000000:导出终止失败
对于BLOB,CLOB大字段的表改怎么导出来呢?
From: HELLO 2010.07.11 19:09
|
|
|
|
# 44623
ora_study
|
|
To: 盖老师
盖老师
您在书上说
“结合dba_extends,可以查询到这些热点Buffers来自哪些对象
select e.owner, e.segment_name,e.segment_type
from dba_extents e,
( select * from
(select addr, ts#, file#,dbarfil, dbablk, tch from x$bh order by tch desc )
where rownum < 11 ) b
where e.relative_fno = b.dbarfil and
e.block_id <= b.dbablkand
e.block_id + e.blocks > b.dbablk
”
我想请教一下这个SQL?
Question 1: x$bh 中 dbablk 的具体含义?
Question 1: 下面这个查询条件 您是如何推理得出的
“
where e.relative_fno = b.dbarfil and
e.block_id <= b.dbablkand
e.block_id + e.blocks > b.dbablk
From: ora_study 2010.07.02 00:26
|
|
|
|
To: ora_study
dbablk 是 数据块号
where e.relative_fno = b.dbarfil and
e.block_id <= b.dbablk and
e.block_id + e.blocks > b.dbablk
这个between就找到了这个数据块属于哪个对象。
From: eygle 2010.07.09 06:08
|
|
|
|
# 44622
etl2007
|
|
To: 盖老师
" 从一个包含100个BH的Bucket上找到一个数据块快,还是 从一个包含1个BH的Bucket里找一个数据块快呢?
Search时间因为BH数量的减少 ,大幅缩减了,Latch也可以更快的被释放,性能为何不提升呢?
"
真的感谢大师指点,我终于又向真相前走了一步。
但是我想继续请教一下
按照书上的说法
“
从oracle 8i 开始, _db_block_hash_buckets 的数量较以前增加了8倍,而 _db_block_hash_latches 的数量增加有限。 这意味着每个Latch 需要管理多个Bucket,但是由于Bucket 数量的多倍增加,每个Bucket 上的Block数量得以减少,从而使得少量Latch 管理更多Bucket成为可能。
”
下面说下我的斫鈂r 假设 原先是一个bucket下面是下挂80个BH,即对应80个数据块
那么现在是每个bucket下挂挂10个BH,即对应10个数据块
那么查询一个数据块,时间较之以前提高了8倍,
但是修改呢?
因为latch并不是成倍增加,所以不再是“一个bucket对应一个latch”。
现在我们假设一个latch对应2个bucket
那么过去时一个latch是管80个BH,现在一个latch管20个BH
修改速度较之前提高了4倍,
但是按照复杂度而言,虽然这连一个数量级的提升(即10倍的提升)也没有达到
但是应当也很不错了。
不知我这段理解是否正确
From: etl2007 2010.07.01 01:51
|
|
|
|
To: etl2007
这应当是性能提升的一部分,这与全部情形如何,不得而知了。
From: eygle 2010.07.09 06:08
|
|
|
|
|