eygle.com   eygle.com
eygle.com  
 
留言簿 - Oracle Life - Powered by Eygle.com
eygle.com 我要留言
新书《循序渐进Oracle》即将出版
昵称
内容 页: 1 - << < 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 > >> - 403
# 44621
etl2007




To: 盖老师
  盖老师
昨天我问了你这个问题

在Oracle 8i之前,_db_block_hash_latches的数量和Bucket的数量是一致的,每个Latch管理一个Bucket;从Oracle8i开始每个latch需要管理多个Bucket,由于每个Bucket上的
Buffer数量大大降低,所以Latch的性能反而得到了提高

请问这个结论“由于每个Bucket上的
Buffer数量大大降低,所以Latch的性能反而得到了提高

我感觉实在不能明显的“由于”然后“所以”出来啊
过去是一个Bucket对应一个latch,假设一个Bucket下挂100个BH
那么就是一个latch控制100个BH
假设现在是2个Bucket对应1个latch,一个Bucket下挂50个BH
那么依然是 一个latch控制100个BH(2*50)
所以性能并没有提升啊

  To: etl2007
  你这种假设的状况可能永远不会出现,所以还是性能提升了。
原来的Bucket数量是buffers/4,现在是buffers*2,你很难见到Hash碰撞了。
 
对于您的答复,我还是不很理解,我依然有下面的疑问
例如过去一个 Bucket 下挂100个BH,假设 对应的是1到100这100个data block
 同时因为一个Latch控制一个1个Bucket,
 那么我们可以认为一个Latch控制1到100这100个数字
但是到了现在,假设现在是2个Bucket对应1个latch,一个Bucket下挂50个BH
那么依然是 一个latch控制100个BH(2*50)
我理解的“hash算法的不同”导致的结果只能是这样
过去这个latch是控制1到100这100个data block,现在因为算法不同
顶多变成了控制 1到50,450到500这5个数据块(或者更加分散,例如1到30,350到400,631到700;诸如此类情况),但是注意,此时一个latch控制的数目并没有变,只是控制数据块的内容变了。
但这从算法的角度,查询的复杂度依然是一致的。既然如此,那么又何来性能的提升呢?
From: etl2007
2010.06.30 23:41
To: etl2007
  从一个包含100个BH的Bucket上找到一个数据块快,还是 从一个包含1个BH的Bucket里找一个数据块快呢?

Search时间因为BH数量的减少 ,大幅缩减了,Latch也可以更快的被释放,性能为何不提升呢?
From: eygle
2010.07.01 01:00

版主选项: 回复 编辑
# 44620
etl2007




To: 盖老师
  盖老师
在Oracle 8i之前,_db_block_hash_latches的数量和Bucket的数量是一致的,每个Latch管理一个Bucket;从Oracle8i开始每个latch需要管理多个Bucket,由于每个Bucket上的
Buffer数量大大降低,所以Latch的性能反而得到了提高

请问这个结论“由于每个Bucket上的
Buffer数量大大降低,所以Latch的性能反而得到了提高

我感觉实在不能明显的“由于”然后“所以”出来啊

我说下我的理解吧
过去是一个Bucket对应一个latch,假设一个Bucket下挂100个BH
那么就是一个latch控制100个BH
假设现在是2个Bucket对应1个latch,一个Bucket下挂50个BH
那么依然是 一个latch控制100个BH(2*50)
所以性能并没有提升啊

From: etl2007
2010.06.29 20:32
To: etl2007
  你这种假设的状况可能永远不会出现,所以还是性能提升了。

原来的Bucket数量是buffers/4,现在是buffers*2,你很难见到Hash碰撞了。
From: eygle
2010.06.30 21:35

版主选项: 回复 编辑
# 44619
guojianjun




To:
  老师,你好,请问ORACLE是如何确定控制文件是从备分中恢复的呢?
今天我对比了两种方式:
1.mount状态下备份通过alter database backup 备份控制文件
然后关闭,更改control_files,启动到nomount状态下,restore恢复刚才备份的控制文件,
然后再mount,open这时提示需要resetlogs
2.更改control_files路径,启动到nomount状态下,restore恢复正在使用的控制文件,
然后再mount,open正常打开。
说明前一种方式,ORACLE从一些信息中得知其控制文件是从备份中恢复的。那是什么呢?数据库从未打开过,到底哪里改变了呢?

From: guojianjun
2010.06.28 05:28
To: guojianjun
  Open那个阶段,要根据数据文件的Header信息来校验控制文件,很容易就发现控制文件的Checkpoint / SCN等信息 < file header信息。
From: eygle
2010.06.28 08:24

版主选项: 回复 编辑
# 44618
azhen


来自: 北京


To: 盖老师
  盖老师您好,我在工作中面临Oracle10g数据库访问速度慢的问题。
现在有两台服务器,一台安装的是Windows XP系统,2G内存,Oracle9i数据库,另外一台安装的是Windows Server2008,磁盘阵列Raid10,16G内存,4核CPU,Oracle10g数据库。数据库采用的是C/S结构。
  我在同一台远程客户端使用C#通过存储过程向这两个数据库写数据,表结构和插入内容一摸一样,我使用循环插入了10000条数据,在Oracle9i的数据库上耗时10s左右,但是在Oracle10g数据库却耗时40s,有时甚至接近两分钟。
  同样的代码,同样的数据,怎么会差距这么大呢。
From: azhen
2010.06.28 04:52
To: azhen
  有很多其他因素的影响

如,日志大小等。你可以在10g中生成AWR报告,这样可以看到性能数据。
@?/rdbms/admin/awrrpt


From: eygle
2010.06.28 08:22

版主选项: 回复 编辑
# 44617
lixiao




To:
  盖老师,您好!
之前我装了ORACLE9I服务端,后来又装8I客户端,卸载8I客户端,原9I数据库就不能访问了,
一直报ORA-12514:TNS:监听进程不能解析在连接描述符中给出的SERVICE_NAME,请问该问题要如何解决呀?
From: lixiao
2010.06.28 03:06
To: lixiao
  你可以检查和修改一下监听器配置。


From: eygle
2010.06.28 08:20

版主选项: 回复 编辑
# 44616
etl2007




To: 盖大虾
  请教一个问题:
就是我在看了您的书之后
觉得
SGA_MAX_SIZE没有多大意义吗?
 
因为SGA_MAX_SIZE表示是SGA_TARGET所能调节的最大范围
但是因为Oracle 申请内存的时候已经按SGA_MAX_SIZE的大小申请下来,那么即使只用SGA_TARGET大小内存,多出的那部分也不能还给操作系统啊?
举例而言,就是假设我们设置
SGA_MAX_SIZE=3000M,SGA_TARGET=2500M
那么还有500M(3000-2500)的剩余,请问这500M要是Oracle不用,能够还给操作系统吗?
明显不能啊?因为Oracle向操作系统申请的就是3000M,这多余的500M你不用,就等于是空着啊。

所以我觉得到Oracle11g的时候,总是将设置SGA_TARGET=SGA_MAX_SIZE
就是基于这个原因。
其实我们在生产环境,通常也就是把SGA_TARGET,SGA_MAX_SIZE
设置为一致吧


From: etl2007
2010.06.27 19:42
To: etl2007
  通常服务器如果只运行数据库,那么这两个参数意义不大。

但是如果允许Swap,会有所不同的。
From: eygle
2010.06.28 08:19

版主选项: 回复 编辑
# 44615
baiya


来自: 福建


To: 盖老师
  您好!最近在学习data block的物理结构。
alter system dump datafile x block x
可是看不懂dump文件里面的内容。
请问您有什么文章介绍这方面的内容的吗?
谢谢!
From: baiya
2010.06.21 18:49
To: baiya
  这方面的内容没有专门的书讲,Oracle的Metalink上会有些说明。

再加上Google上的资源,可以获得不少信息。我的网站上有部分内容,可以通过搜索得到。
From: eygle
2010.06.22 18:44

版主选项: 回复 编辑
# 44614
ps_jiangyi@yeah.net




To:
  老师,你好!
  我是oracle的初学者,立志成为DBA.先想向您讨教一下,如何循序渐进地、系统地、理论加实践学习才好?OCP课程可以么?
From: ps_jiangyi@yeah.net
2010.06.21 00:27
To: ps_jiangyi@yeah.net
  我的一些推荐和建议,如果你读过了,再来说;
http://www.eygle.com/archives/2008/11/become_dba_quickly.html
From: eygle
2010.06.21 01:48

版主选项: 回复 编辑
# 44613
hebo


来自: 上海


To: 盖大侠
  多谢盖大侠指点,您的新书不错,很有实用价值,五位大侠的经验让人获益非浅
From: hebo
2010.06.20 17:55
To: hebo
  谢谢支持
From: eygle
2010.06.21 01:43

版主选项: 回复 编辑
# 44612
ks_reny


来自: 江苏苏州


To: 盖老师
  盖老师,你好,最近我有个问题一直困扰着我,我们公司的数据库是oracle8.1.17。我把其中一个表进行了分析,这个表大约有300w条记录,分析后导致了一个视图查询变得很慢了,之前查询的话需要1分钟,分析后查询需要15分钟左右,我看了执行计划,分析后查询就没有用到索引,全是全连接。不知道如何恢复到分析之前的那种状态。希望盖老师能帮助我解决这个困扰。
From: ks_reny
2010.06.20 07:58
To: ks_reny
  8i不要分析表,CBO基本无法选择正确的执行计划,将统计信息删除就好了。
From: eygle
2010.06.20 17:32

版主选项: 回复 编辑

页: 1 - << < 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 > >> - 403
我要留言
Copyright © 2003~2012 eygle.com All Rights Reserved.
Powered by: www.eygle.com