老方块oracle培训21班..初中.第四节107_第1页
老方块oracle培训21班..初中.第四节107_第2页
老方块oracle培训21班..初中.第四节107_第3页
老方块oracle培训21班..初中.第四节107_第4页
老方块oracle培训21班..初中.第四节107_第5页
已阅读5页,还剩102页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、消息消息分组:群消息对象:老方块 ORACLE 培训 21 班日期: 2013-1-519:59:22大家都到了吗?19:59:32到了L54-梁耀(534133204)19:59:321L113-飞扬岁月(2478689873)19:59:3519:59:39119:59:5820:00:07L21-dreams(303495811) 20:00:161L37-学委(380407449)20:00:23120:00:30好的,我们开始吧L01-Cheng(164708491) 20:00:30220:00:39刚从客户那里赶回来20:00:48先提问20:00:5220:00:54你是接客的

2、?L01-Cheng(164708491) 20:01:08。20:01:08第一个问题:sort_area_retained_size= 0 是什么意思?L21-dreams(303495811) 20:01:29自动分配L114 shawwang(674431873) 20:01:37不 sort_area_size 一致吧20:01:37等于 sort_area_size20:01:47和 sort_area_size 相等L01-Cheng(164708491) 20:01:48和 sort_area_size 相等L21-dreams(303495811) 20:01:56啊,看来我

3、记忆L01-Cheng(164708491) 20:02:05老了20:02:14哈哈20:02:22sort_area_size =sort_area_retained_size20:02:25就是和 sort_area_size 相等,即 sort_area_size = sort_area_retained_size20:02:40大家都记性不错20:02:50看的笔记L21-dreams(303495811)20:02:5320:02:54都记不到20:03:0120:03:22大家觉得,L114 答的,能算对吗L37-学委(380407449) 20:03:25笔头不错20:03:3

4、4L52 的不对吗20:03:50一致,是不是相等的意思?L37-学委(380407449) 20:03:50算L54-梁耀(534133204) 20:03:57相等就是自动分配吗L54-梁耀(534133204)20:04:04给 114 吧20:04:16不是的,相等就是大小一样L54-梁耀(534133204)20:04:27奥。20:04:30好吧,给 L114 吧20:04:36等于跟相等一样吗L01-Cheng(164708491)20:04:42都 114 了啊。20:04:50第二个问题:SORT_AREA_RETAINED_SIZE 会在哪里分配?SORT_AREA_SIZ

5、E - SORT_AREA_RETAINED_SIZE这部分会在哪里分配?20:04:51我沉默L68-byf(2468217977) 20:05:09UGA, PGA20:05:11属于 UGA 部分L21-dreams(303495811) 20:05:14SORT_AREA_RETAINED_SIZEuga20:05:18UGA PGAL01-Cheng(164708491) 20:05:23uga 和 pgaL21-dreams(303495811) 20:05:37嗯20:05:47这题给L68L68-byf(2468217977)20:05:5620:06:13第三题:排序并显示完

6、成后,SORT_AREA_RETAINED_SIZE 会,释放给谁的?可以重复使用吗?L18-课代表(12669627) 20:06:26会20:06:25PGAL18-课代表(12669627)20:06:27可以20:06:29不可以重20:06:30复L18-课代表(12669627)20:06:33pga20:06:32用L114 shawwang(674431873)20:06:33,PGAL37-学委(380407449)20:06:35会 不能L54-梁耀(534133204) 20:06:36会,给用户自己,丌可以重复L114 shawwang(674431873)20:06:

7、38可以20:06:49会给自己 其他用户不能使用L21-dreams(303495811) 20:06:59会,给用户,可以重复给当前用户使用20:07:07给 UGA20:07:19会,给 UGAL18-课代表(12669627) 20:07:22给 sgaL18-课代表(12669627)20:07:48会给 sga 可以复用L54-梁耀(534133204)20:07:48别的用户丌可以重复使用,自己可以重复使用。L21-dreams(303495811) 20:07:54其他用户不能使用20:07:57的空间,只有自己可以重用,别人是不可以重用的L01-Cheng(164708491

8、) 20:08:06给 ugaL37-学委(380407449) 20:08:11私有的20:08:32放不下还会放到临时表 产生物理 IO20:08:49会,给 UGA 的这部分空间,自己可以重复使用,别人不能用20:09:03看一下,谁答得比较完整的?20:09:18L87L21-dreams(303495811) 20:09:5387 是错的吖,他说给 pga 的L01-Cheng(164708491) 20:09:56给 24L21-dreams(303495811) 20:10:05嗯20:10:10恩20:10:22给 L24 吧,相对完整一点20:10:33uga 属于 pga

9、么,就当他对好了20:10:40好久没拿奖了L01-Cheng(164708491)20:10:43。L01-Cheng(164708491)20:10:54uga 不一定属于 pga 啊L37-学委(380407449)20:10:5520:10:57L52,在专有模式,UGA 是属于PGA 的20:11:04UGA 不一定属于 PGA20:11:06共享模式,UGA 属于哪里的?20:11:13共享模式属于 SGA20:11:16sgaL18-课代表(12669627) 20:11:19pga20:11:21L01-Cheng(164708491) 20:11:21uga 在共享池L54-

10、梁耀(534133204) 20:11:23SGA20:11:25对了还有一个问题L01-Cheng(164708491)20:11:26属于 sga20:11:26SGA20:11:37共享模式20:11:49其他用户可以用吧20:11:54的空间20:11:55?20:12:03不可以L21-dreams(303495811)20:12:06额。不能吧20:12:10L01-Cheng(164708491) 20:12:22uga 是私有的20:12:24既然共享 在 SGA 中 为何不能L37-学委(380407449) 20:12:37共享是 pga 共享20:12:38共享模式 ug

11、a 在 SGA 中20:12:4520:12:48L01-Cheng(164708491) 20:12:51共享是 pga 共享20:13:02pga 共享应该永远共享20:13:19好像我错了?、L21-dreams(303495811)20:13:20pga 才会给别的用户使用20:13:27UGA 都是私有的吧L21-dreams(303495811)20:13:36uga 是属于当前用户的20:13:59别争了 问问老师L37-学委(380407449) 20:14:06老师呢?20:14:07这倒是个问题,哈哈大家别争了,我下来查一下再回答吧20:14:14当前用户了 自然在 SGA

12、20:14:18我感觉应该是不可以的20:14:42原因L37-学委(380407449) 20:14:49感觉20:14:52我们继续吧,课间我查一下,再给确切的L21-dreams(303495811)20:14:58嗯L21-dreams(303495811)20:14:59继续20:15:03恩20:15:08快点讲课,不然又要 11 点了L21-dreams(303495811)20:15:14是啊。20:15:19不确定的,我不想误导大家L21-dreams(303495811) 20:15:21明天我值班20:15:24第四题:select * from t order by1;

13、insert into t2 select * from t order by name;这两句,分别用到了 SORT_AREA_RETAINED_SIZE 吗?用到了SORT_AREA _SIZE 吗?为什么?20:15:25恩20:15:37是20:15:42因为 都排序了L18-课代表(12669627)20:15:43用到那L18-课代表(12669627)20:15:46进行那排序L21-dreams(303495811)20:15:47用到了L21-dreams(303495811)20:15:51因为。20:15:531 用到,2 不用,2 没有显示给用户,20:15:56所以不

14、用L21-dreams(303495811) 20:15:56上面说了L114 shawwang(674431873) 20:15:581 都用到 2 用到了 area_size20:16:02yong dao20:16:10第一个用到 SORT_AREA _SIZE SORT_AREA_RETAINED_SIZEL37-学委(380407449) 20:16:131 都用到了,2 只有到 SORT_AREA _SIZE20:16:21第二个用到 SORT_AREA _SIZE20:16:41都用到 sort_area_size 了,因为都有排序L01-Cheng(164708491) 20:

15、16:451 都用到 2 只用到 SORT_AREA _SIZE20:16:49因为第一个要显示给用户 第二个只是20:16:59一二用到 sort_area_size20:17:11排序都会用到 SORT_AREA _SIZE 显示会用到L21-dreams(303495811) 20:17:13排序显示的用到,后面那个没用到L68-byf(2468217977) 20:17:22同意 24 的看法SORT_AREA_RETAINED_SIZE20:17:27第一句两个都用到了,因为要显示给用户看L21-dreams(303495811) 20:17:28嗯20:17:40第二句,只用到了

16、SORT_AREA_SIZEL54-梁耀(534133204)20:17:42select 语句 2 者都用到了,排序和显示给用户,insert 只用了 SORT_AREA _SIZE,排序,丌用显示给用户20:17:44因为不需要显示20:17:53它有一个出口,就是到了表中20:18:03这题给L24 吧L21-dreams(303495811)20:18:04L2420:18:16最后一题:简述 cursor 是什么?20:18:25句柄 指针20:18:30CURSOR 其实是一个句柄,指向私有 SQL 区20:18:37一个 SQL 就会对应一个CURSOR,在 CURSOR 关闭时

17、L18-课代表(12669627) 20:18:45游标L114 shawwang(674431873)20:18:51sql 的帐号凭证?L54-梁耀(534133204) 20:18:52句柄,可以指向私有的 SQL 区20:18:52L68-byf(2468217977) 20:18:59指针,指向私有 SQL 区域,私有 SQL 区域有指向SQL 共享区20:19:04直接截图了啊20:19:06这个真解释 就是一个账户.20:19:12着急了L21-dreams(303495811)20:19:20我也是,说了20:19:21L21-dreams(303495811) 20:19:2

18、4直接看20:19:36你取钱了 钱是你的 否则钱是的20:20:02CURSOR 其实是一个句柄,指向私有 SQL 区私有SQL 区有指针指向共享 SQL 区20:20:16这题给L87 吧L21-dreams(303495811) 20:20:23嗯20:20:2620:20:2920:20:33好了,我们开始新课吧20:20:37我就记住钱了哈哈20:20:41上节课,我们做了 PGA 的实验20:21:04L24,那个例子,是帐户类似一个指针20:21:09就是类似 cursor20:21:26上课20:21:27它是指向里的钱的L68-byf(2468217977) 20:21:39

19、老师,我上节课的实验结果和你的差别很大,在 11.2.0.2 下,环境闹心啊20:21:4020:21:52我也是20:22:14原理明白了吗20:22:28结果不一样正常的啊L68-byf(2468217977) 20:22:34巨大的差异,影响到对原理的理解20:22:52同理L21-dreams(303495811) 20:23:05你笨,换个环境阿L21-dreams(303495811) 20:23:17装多台虚拟机而已L68-byf(2468217977) 20:23:25晕,俺现在正在装 10gL21-dreams(303495811) 20:23:32老师继续,快点睡觉的20:

20、23:35先上新课吧,白天答疑群问吧,今天校长的L68-byf(2468217977)20:23:39好20:23:54工作区策略20:24:04我们知道工作区设置有 2 种方法20:24:11自动和手动20:24:17它是通过哪个参数来实现的?20:24:22还记得吗?20:24:25工作区策略是什么20:24:26我们实验中用到了20:24:46workarea_size_policy20:24:54有印象吗?20:25:02恩20:25:10如果是手动,那么我们的工作区参数就起作用20:25:16如果是自动,那么我们的工作区参数就不起作用20:25:25啊 找到了20:25:2520:2

21、5:38如果设置成手动,那 DBA 是很难控制的,而且会很浪费 PGA20:25:42所以我们设置自动管理工作区20:25:50并设置工作区的目标大小20:25:57那就是PGA_AGGREGATE_TARGET20:26:08PGA_AGGREGATE_TARGET 是一个上限目标,而不是启动数据库时预分配的内存大小20:26:26那我问一下,工作区是指哪些?20:26:46PGA + SGA20:27:01uga 吧20:27:16排序工作区 保存已排序20:27:43SORT_AREA_SIZESORT_AREA_RETAINED_SIZEHASH_AREA_SIZE20:27:47L2

22、4 说了一个,还有吗20:28:06对的,HASH 也是L68-byf(2468217977) 20:28:06cga20:28:20*_area_size 的是工作区20:28:26包括排序区,排序保留区HASH 连接区位图MERGE 区20:28:50那我问下大家 PGA_AGGREGATE_TARGET=1G.,是不是我们数据库总的PGA 就不能超过 1G 了呢?20:29:00可以超过L114 shawwang(674431873) 20:29:00是的L115-ylc(369132667) 20:29:03不是L01-Cheng(164708491) 20:29:17不是20:29:

23、26是可以超过的20:29:26不明白20:29:32我们说,这个只是一个上限目标吧20:29:39恩20:29:42PGA_AGGREGATE_TARGET 只是一个上限目标,但是可以PGA_AGGREGATE_TARGET20:29:48不是强制的20:29:51目标20:29:53我晕20:29:57他是一个目标,大家朝这个目标调整20:30:11我们知道,ORACLE 有很多进程,每个进程都有 PGA20:30:18包括进程,服务器进程等20:30:28那我们设置了 PGA_AGGREGATE_TARGET 后,每个进程使用的 PGA量是不是被限制了呢?20:30:34我们来看 PGA

24、 的限制:20:30:461.串行(非并行)会话会使用 PGA_AGGREGATE_TARGET 中的很少一部分,大约 5%或者更少。20:30:56所以,如果把 PGA_AGGREGATE_TARGET 设置为 100 MB,可能每个工作区只会使用大约不到 5MB。20:31:08应该限制20:31:11我们前面的实验,一个SQLPLUS,什么事情都不干,就花了400 多K的 PGA20:31:29如果每个初始固定的 PGA 有 5M,那你 1G 的PGA,也就 200 个进程使用20:31:38而且这 200 个进程可能大部分都已经休眠,什么事情都没干过20:31:45这是不是就很浪费啊?

25、L54-梁耀(534133204)20:31:57嗯20:32:03随着服务器上工作负载的增加(可能有的并发和的并发用户),分配给各个工作区的 PGA 内存量会减少。20:32:13200 个进程是不是指的是 200 个客户端连接20:32:132.一个并行最多可以使用 PGA_AGGREGATE_TARGET 的 30%20:32:21对的20:32:33200 个用户并发20:32:46如果PGA_AGGREGATE_TARGET 设置为 256 MB20:32:58如我前面的例子,每个Oracle 连接在完成排序之前会使用大约0.5MB 的RAM20:33:05如果有 500 个并发用户

26、全部登录20:33:14单单是他们登录所用的内存就已经非常接近所设置的PGA_AGGREGATE_TARGET20:33:26所以有些进程长期不关闭,你就要考虑程序问题了20:33:38需要KILL 这样的进程, 因为他们都会占有一定的20:33:46包括PGA,SGA,甚至 CPU20:33:58我们来看一张表20:34:0720:34:23当活动会话为 1 个的时候,PGA 只用了 220:34:40为什么?20:35:12我们这里的前提是 PGA_AGGREGATE_TARGET=256M20:35:185%的话,也有 10 多 M20:35:31还记得会话中工作区是会的吗?20:35:

27、48既然工作区会,那么PGA 只留下固定的部分,所以这里看到是 2M20:36:02我们看活动会话数 1 到 51 的时候,没有临时表空间写20:36:09完全在内存排序20:36:32前两行的第四列,第五列20:36:34看见了吧20:36:41全是 0L54-梁耀(534133204)20:36:47都是 020:37:07但是等到有 50 个用户登录并执行排序时,数据库就会开始控制一次能使用的内存量20:37:13从临时 会话中读写为 020:37:16所用的PGA 量要退回到可接受的限值(256 MB)以内20:37:32在此之前需要几分钟的时间来调整,不过最后总是会落回到阈值范围内。

28、20:37:37大家看20:37:4420:37:56会话数在51-101 的时候,PGA 需求超过了PGA_AGGREGATE_TARGET20:38:11所以他只是一个目标,尽量往这个目标发展20:38:2120:38:23所以到 101 后,通过时间的调整,会更趋向于 256ML54-梁耀(534133204)20:38:41阀值就是 256M 吧20:39:01我们这里设置的 PGA_AGGREGATE_TARGET = 256M20:39:16另外,我们看到每个会话的 PGA 开始的时候很大,7.5M 到 3M20:39:27第二列,看到吗20:39:34到后来变成 1.4M20:3

29、9:49嗯20:39:5120:40:00我们看到 201 个会话后,每个会话的 PGA 都固定在 1.3M20:40:07所以,256M 是不够的20:40:20PGA 会话 是 UGA 吗20:40:31是20:40:50在这里是的20:41:08UGA 是PGA 的一部分20:41:12其它地方还有?20:41:14L115-ylc(369132667)20:41:22在这里是 dedicate?20:41:24PGA 又开始增大 LE20:41:24用户数达到 300351之间,从这里开始,系统使用的 PGA 开始有规律地超过20:41:53并延续至测试结束20:42:04好, 这是系

30、统自动工作区管理的情况L114 shawwang(674431873) 20:42:17先降 第二行,后增第三行20:42:19第三列 = 第一列 * 第二列,一个是这样的吧L114 shawwang(674431873)20:42:21?20:42:24是什么 让其刚好在 300351 之间有规律地超过20:42:37应该L01-Cheng(164708491)20:42:461.3m 已经固定了L01-Cheng(164708491)20:42:50已经很小了20:43:12自动管理,它是在根据情况,自己在自动地调整20:43:31我们设置了一个值,他会根据这个值,来尽量调整到接近这个值2

31、0:43:50那后来越来越大 是怎么回事?20:43:52但调整有一个过程,中间会有超过,慢慢再接近这个值20:44:00因为用户数越来越大20:44:08每一个用户,都有一个固定的部分20:44:12是没法再缩小每个用户的?20:44:17都有最起码的空间需求20:44:19设置 51220:44:20呢20:44:20是的20:44:31哦20:44:31是的,L24L01-Cheng(164708491) 20:45:00设置 512m 那个每个会话 pga1.3 会变吗20:45:13只是尽量的自动调整了 但是超出太多也没办法20:45:17也就是说,你用得多,就给你多分一点,别人用得

32、少,就少分一点20:45:23L01,会变的L21-dreams(303495811) 20:45:241.3 没法少了20:45:48也就是系统给一个它认为合理的值20:45:50对吧L114 shawwang(674431873) 20:46:01先压价,再调预算L114 shawwang(674431873) 20:46:08理解L21-dreams(303495811) 20:46:11512 是另外一个值了,系统自动给的20:46:13对的,系统根据你设置的值,调整一个它认为合理的值20:46:21明白L68-byf(2468217977) 20:46:23L114 做财务的?20:

33、46:26老师可以继续了20:46:34我们前面测试了自动工作区管理的特性,那手动工作区管理,总PGA 会怎么变呢?20:46:44假设SORT_AREA_SIZE 设置为 5 MB20:46:55这样每个会话会使用 67MB 的RAM20:47:11比如CURSOR这里说的是专有模式下20:47:2720:47:41我们看手工设置工作区,是不是每个会话的 PGA 很有规律?20:47:49都是 6.4M20:48:12但是到了 51 个活动会话,总内存就已经超过 256M 了20:48:25我们看,是 283 吧20:48:34是20:48:40嗯20:48:43等到用户数达到 302 时,

34、换页和交换开始过于频繁,而无法继续工作20:48:49是不是很糟糕?20:48:51自动调整 了20:48:58会话 怎么比 PGA 的 还大20:49:01有 500 个并发用户时,我就要分配大约 2750 MB 的RAM!20:49:05第一行20:49:20所以,在这个系统上 DBA 可能将 SORT_AREA_SIZE 设置为5MB,而是设置为 0.5MB20:49:29力图使期的最大 PGA 使用量在可以忍受的范围内20:49:44如果SORT_AREA_SIZE 设置为 0.5 MB,再运行以上测试,看下图20:49:5220:50:04PGA 的总内存小多了吧20:50:26现在

35、单个会话的 PGA 变成 1.2M 了20:50:36500 多个用户也就 500 多 M20:50:45sort_area_size 跟 pga 是什么关系20:51:02sort_area_size 是 pga 的一部分L21-dreams(303495811)20:51:10这样设置每个用户的L114 shawwang(674431873) 20:51:20sort_area_size 多少合适会慢么?20:51:20当然会20:51:26但是工作区太小,可能会造成排序多个 PASS,性能也20:51:45L114,多少合适,在本科会讲,光这一个知识点,都有几节课20:52:06让他直接

36、去本科班吧20:52:06工作区太小,就会用到临时表空间吧20:52:09都需要等到本科L01-Cheng(164708491) 20:52:12怎么上来就本科。高中讲什么20:52:1220:52:23用到临时表空间,是不是就有 IO 了?20:52:28想跳级,没门20:52:30高中讲备份和恢复20:52:33有物理 IO 了20:52:3920:52:49有物理IO 了,性能就会下降L21-dreams(303495811) 20:52:52物理的是不是就是 728 那个20:53:11内存大还是好20:53:12是的20:53:31内存太大也不好20:53:36在有足够的内存时,自动

37、内存管理会让少量的用户尽可能多地使用 RAM20:53:54而过一段时间负载增加时,可以减少分配,再过一段时间,随着负载的减少,为每个操作分配的 RAM 量又能增加。20:54:03ORACLE 会来帮你调节L21-dreams(303495811) 20:54:14内存大不好。不是吧!20:54:19PGA_AGGREGATE_TARGET 并不是一个硬性限制。实例会尽力保持在 PGA_AGGREGATE_TARGET 限制以内20:54:42但是如果实在无法保证,它也停止处理;只是要求超过这个阈值。20:54:51最初会话中使用了大约 1.5 MB 的 PGA 内存(因为还要编译PL/SQ

38、L 包,运行这个,等等)20:55:07L21,是的,内存大了也不好的20:55:11ram 指硬件 I/o 吗20:55:24在 one-pass 的范围内,基本上是内存越大性能越差L01-Cheng(164708491) 20:55:36设定 PGA_AGGREGATE_TARGET 的值有意义L114 shawwang(674431873)20:55:38啥叫 one-pass?L01-Cheng(164708491) 20:55:40有什么意义20:55:40是内存,L5220:55:49one-passL54-梁耀(534133204)20:55:50单迚程20:55:50什么20:

39、55:5620:56:0120:55:49one-pass20:56:11差了20:56:15one-pass 就是一次和临时表空间的交换L01-Cheng(164708491)20:56:1520:56:32这个留到本科吧,一句两句说不清楚20:56:39这个范围 在那里看L21-dreams(303495811)20:56:39嗯L21-dreams(303495811)20:56:41继续L114 shawwang(674431873)20:56:45o20:56:47大家记住这个就行了,内存并不是越大越好20:56:47打好基础20:56:48把L21-dreams(303495811

40、) 20:56:50答疑群吧L01-Cheng(164708491) 20:56:53设定 PGA_AGGREGATE_TARGET 的值有什么意义20:56:55合适的才是最好的L21-dreams(303495811)20:56:56先上课20:56:57go onL54-梁耀(534133204)20:57:07嗯,记住了,继续吧20:57:12L01,设置了,让 oracle 有一个参考值L01-Cheng(164708491)20:57:23噢20:57:25它会根据你的设定值来调整L01-Cheng(164708491)20:57:30dba 的吧L68-byf(246821797

41、7) 20:57:36你这个这道理,就像告诉大家,不时钱多了就好,比较郁闷20:57:56我们接下来,对前面学习的 SGA,PGA,UGA 的知识通过 3 个故事把他串联起来20:58:02来了解处理内存的机制20:58:13对的,钱多了也有钱多的烦恼L54-梁耀(534133204)20:58:24钱多了容易学坏,20:58:26我们还是用前面馆的例子来全面了解 ORACLE 处理这些内存的机制。20:58:28让我烦恼吧!20:58:30关键是没钱20:58:33我们来看几个故事,以帮助我们理解L01-Cheng(164708491) 20:58:39我来帮你分担烦恼吧20:58:40第一

42、个故事=20:58:42烦死我把20:58:50静安书店刚开业,小丽要买某一本书,书名叫“CBO 基础”20:58:5320:59:01而且必须是最新上架的书,因为小丽希望买到的是最新的“CBO基础”,怕这本书被顾客翻旧了。20:59:16有一个刚被静安书店招聘进来的 A 售货员接到了小丽的服务20:59:26她们建立了的会话关系20:59:35而且由于书店刚开业,A 售货员第一次上班,从来不知道该如何去找这本书20:59:49A 售货员脑子里不记得该如何去找这个书,那 A 售货员只能通过有限的知识去获取最快的方法找到这本书。20:59:55怎么找?L21-dreams(303495811)

43、21:00:04电脑21:00:04问别人L21-dreams(303495811) 21:00:16查一下位置L39-21:00:16小青春(1004050304)21:00:17问别人L114 shawwang(674431873)21:00:18ERPL01-Cheng(164708491)21:00:19like%CBO 基础%21:00:24第法:21:00:35从书架的第 1 本书开始,按书架的编号顺序找,直到找到第 1本“CBO 基础”,然后再继续找第 2 本“CBO 基础”,然后按时间排序,直找到书架最后一本书。21:00:46这种方法是不是很笨21:00:51全表扫描L54-

44、梁耀(534133204)21:00:58估计一天都找丌到21:01:01对的,全表扫描L114 shawwang(674431873) 21:01:02看运气了L68-byf(2468217977) 21:01:02物理读,全表?21:01:10虽然笨点,但是它也是一种有效的查找方法21:01:23还有什么方法?L68-byf(2468217977) 21:01:32走索引L54-梁耀(534133204) 21:01:33找 C 开头的21:01:44书 肯定有标记 目录索引什么的21:01:46第二种方法:L33-孤狼(1160243729) 21:01:48嗯21:02:00店里的前台

45、 MM 电脑里有所有书的检索目录,是按书名拼音排序的21:02:00或者分类21:02:09用它来快速这本书21:02:18由于检索目录是按书名排序的,选取出来的书还要按日期排序,然后选出最新的一本“CBO 基础”。21:02:38对的,分类也可以,就是我们的分区21:02:47这个,现在这里暂时不涉及21:03:03我们现在有两种方法21:03:08但是决定哪种选择来获取“CBO 基础”,这个工作不是由 A 售货员来做21:03:16A 售货员首先会把这个请求交给店里的一个检索员,让他决定:21:03:22 判断这本书小丽有没限买21:03:30 让检索员评估哪种方法能更快的拿到“CBO 基

46、础”21:03:38这就类似于 SQL 的语意分析、语法分析、CBO 分析21:03:49检索员负责管理检索室,所以检索室里的信息是我们关注的焦点21:04:06当确定了检索方法后,这时检索员会把小丽提出的请求和检索的方法做上(电脑检索目录),并存放在检索室的柜架上。21:04:18检索员柜架是按一定的方式来放21:04:30尽量让刚检索的或者频繁检索的请求和方法放在最外面,便于以后当检索室满了后不容易被检索员作为侯选 T 出去21:04:42这时检索员告诉 A 售货员,说你还是在电脑里用检索目录搜索快,21:04:52这时 A 售货员会把书名,检索的方法的地址等记下来作为小丽这次请求的会话信

47、息。21:05:03然后 A 售货员开始执行,并执行的状态信息21:05:09比如取到第几本书了21:05:19我们知道小丽就是用户会话,他的信息是 UGA21:05:31检索的方法的地址就是CURSOR 中指向共享SQL 区的指针,而当前已经取到第几本,这就是运行时的 CURSOR 信息。21:05:44执行完后,A 售货员把最新的一本“CBO 基础”书给小丽21:06:02这时小丽可以决定结束这次会话的所有请求21:06:20好,这是我们第 1 段故事21:06:25从这段故事里我们能跟 ORACLE 关联上哪些知识点呢?21:06:42 我们前面提到的买某一本书“CBO 基础”就是提交了

48、一个 SQL语句21:06:50 检索员是 CBO21:07:01 电脑检索目录是索引21:07:14 检索员存放检索方式信息按最近最多执行顺序排列,对应就是 LRU21:07:23 A 售货员服务器进程21:07:30 小丽是用户进程21:07:45 检索室是 LIBRARY CACHE,是shared_pool_size 的一部分,一些语句信息21:07:56 小丽有没限买等的信息是语意分析时存放在 ROW CACHE里21:08:14 小丽会话信息里有要买的书名(绑定信息),检索的方法的地址,检索到第几本书等信息。这是私有 CURSOR。21:08:30 检索室的搜索方法,书名等信息是

49、LIBRARY CACHE 里的子cursor,就是共享 cursor。21:08:43好,第一个故事完了21:08:51大家能听明白吗?21:09:16信息量 好大L54-梁耀(534133204)21:09:20LRU 丌太清楚L114 shawwang(674431873) 21:09:23检索员是 C ,啥意思L21-dreams(303495811) 21:09:40突然接收了很多不懂的知识L68-byf(2468217977) 21:09:42这句: 检索室的搜索方法,书名等信息是 LIBRARYcursorCACHE 里的子 cursor,就是共享21:09:43C 应该是性能优

50、化选择吧L54-梁耀(534133204)21:09:46CBO 是成本的运算器21:09:47LRU 是最近最少使用链表L01-Cheng(164708491) 21:10:08私有 cursor 共享 cursor 这里解释一下21:10:09也就是说,使用频率比较小的,如果没空间了,就先把它 T 掉L68-byf(2468217977) 21:10:09这句有些晕: 检索室的搜索方法,书名等信息是 LIBRARY CACHE 里的子 cursor,就是共享 cursor21:10:11least recently usedL54-梁耀(534133204) 21:10:24奥,晓得了。21:10:30CBO 是成本评估21:11:39L68-byf(2468217977)21:09:42这句:检索室的搜索方法,书名等信息是 LIBRARYCACHE 里的子cursor,就是共享 cursorL68,这个的意思,其实是执行计划L54-梁耀(534133204)21:11:55LRU 上面是最近最多了,呵呵,一下没理解。21:11:59执行计划是放在 library cache 中的21:12:15哦,最近最多,是 MRUL54-梁耀(534133204)21:12:24奥21:12:44其实就是一个链表,

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论