一个操作系统是鼠标由哪几部分组成成的?我说的...

本文欢迎转载,转载请注明:转载自中国学网: []
用户还关注
可能有帮助一、UGA由哪几部分组成?
由上述图片可知,
一个会话里如果处理的是SQL语句,那么在shared pool中就有该SQL语句对应的Shared& Areas,该Shared& Areas的类型为Shared SQL& Areas,在该会话对应的进程对应的uga中,就有该SQL语句对应的Private&Areas,该Private& Areas的类型为PrivateSQL Areas。当然由于当一个SQL语句执行完毕后它对应的PrivateSQL Area也会释放掉,又一个会话里同时只有一个SQL语句执行,所以该会话对应的进程对应的uga中始终最多只有一个Private
SQL Area存在。
一个会话里如果处理的是 PL/SQL programunits,那么在shared pool中就有该 PL/SQL program units对应的Shared&Areas,该Shared& Areas的类型为SharedPL/SQL&
Areas,在该会话对应的进程对应的uga中,就有该SQL语句对应的Private&Areas,该Private& Areas的类型为PrivatePL/SQL Areas。当然由于当一个PL/SQL program units执行完毕后它对应的Private SQL Area也会释放掉,又一个会话里同时只有一个PL/SQL
program units执行,所以该会话对应的进程对应的uga中始终最多只有一个Private
PL/SQL Areas存在。
由此可知,uga里必然包括session& memory,而private sqlarea这个部分是当有SQL语句运行时存在于uga里,PrivatePL/SQL
Area也是如此。
如果oracle还安装了组件,那么uga里也必有the
uga组成部分结论的得出过程:
Pga和uga分别包含哪些部分?
当uga处于pga中(专用服务器模式)时,两者的分别包含哪些部分是否很清楚:uga全部处于pga中,uga包括session
memory(记录会话信息)和私有sql区(包括the persistent area和 the runtime area(包括sql工作区和query&
execution stateinformation(即记录SQL语句执行进度的部分)两部分)两部分)。
当uga处于sga中(共享服务器模式)时,两者的分别包含哪些部分分别可理解为以下三种说法:
首先说明的是,按照oracle11gR2官方文档里的图示(),sql工作区不包含在私有sql区的,uga就是图示中的session&
memory。按照oracle10g官方文档的说法,sql工作区是包含在私有sql区的。
Memory Area
Dedicated Server
Shared Server
Nature of session memory
Location of the persistent area
Location of part& of the& run-time area forSELECT statements
Location of the run-time area for DML/DDL statements
再参考上述来自oracle11gR2官方文档里的表格(),可理解出三种说法。
第一种,uga就是图示中的session& memory,uga处于sga中,而thepersistent
area也处于sga中,那么the persistent area还是pga的一部分吗?还是说
第二种,上述表格中处于sga里的都是uga的组成部分。
第三种,uga包括session& memory和private sql area两部分,当uga对应的进程是共享服务器进程时,那么uga分成两块,分别放在pga和sga上。
个人倾向认同第三种。
oracle10gR2官方文档对Library Cache解释:
LibraryCache
The librarycache includes the shared SQL areas,
private SQL areas (in the case of a shared serverconfiguration),
PL/SQL procedures andpackages, and
control structures suchas locks and library cache handles.
从上面的表格可以看出,这里说的共享服务器模式时共享服务器进程的private SQL areas应该是部分在Library
二、PGA上内存空间的分配与回收的方式
0、PGA上内存空间的分配与回收的过程可能会引起ora-4030。发生ora-4030,是可能因为操作系统的内存耗尽没有多余可以再分配了。
1、Pga中uga占了大头,uga中sql工作区又占了大头。
2、自动管理pga实际上调整的就是SQL工作区域(SQL Work Area)。
3、从V$PROCESS_MEMORY中字段CATEGORY上可以看出pga上内存空间分别用于什么用途,即pga上内存空间可以分成包括Freeable在内的六种类型。
<span style="color:#、
从上面可得出如下结论:
无论是手动管理pga(的内存分配回收),还是自动管理pga(的内存分配回收),假设当一个进程产生时它对应的pga分配的空间大小为A,使用的空间大小为B,则当该进程运行一SQL语句时,要用到sql工作区,故而此时pga分配的空间大小和使用的空间大小就要变大,即pga分配的空间大小变为C,使用的空间大小变为D。
而当该SQL语句执行完毕后,就会释放sql工作区。此时,在手动管理pga(的内存分配回收)模式下,sql工作区所释放的空间就会释放给pga,故pga分配的空间大小依然为C,使用的空间大小变为B。在自动管理pga(的内存分配回收)模式下,sql工作区所释放的空间就会释放给操作系统,故pga分配的空间大小变为A,使用的空间大小变为B。
在手动管理pga(的内存分配回收)模式下,uga(包括其中的sql工作区)和cga所需的内存分配是从原本已有分配的pga上分配,如果原来操作系统给该pga分配的内存空间中不能分配出uga(包括其中的sql工作区)和cga所需的内存空间,则pga会先向操作系统申请内存分配给自己,再之后分配给uga(包括其中的sql工作区)和cga所需的内存。所以,释放的sql工作区所占的内存空间回收给pga,故而会产生pga内存空间可能一直增大的情况。
在自动管理pga(的内存分配回收)模式下,uga(包括其中的sql工作区)和cga所需的内存分配是直接从操作系统上分配,而不是从原本已有分配的pga上分配的,所以,释放的sql工作区所占的内存空间回收给操作系统,故而不会产生pga内存空间可能一直增大的情况,而有增有减。当然,这些从操作系统上分配的uga(包括其中的sql工作区)和cga的内存空间加上原本已有分配的pga内存空间,就成为该pga内存空间的新&#20540;,从V$PROCESS上的字段
PGA_ALLOC_MEM(或是PGA_USED_MEM)有增减变化这一现象或是从V$PROCESS_MEMORY上字段
CATEGORY 比如为SQL时&&&&&字段ALLOCATED(或是USED)有增减变化这一现象可以看出。
<span style="color:#、一个进程在视图V$PROCESS_MEMORY上各个字段CATEGORY&#20540;对应的ALLOCATED&#20540;之和,等于该进程在视图V$PROCESS上字段PGA_ALLOC_MEM&#20540;。同理,一个进程在视图V$PROCESS_MEMORY上各个字段CATEGORY&#20540;对应的USED&#20540;之和,等于该进程在视图V$PROCESS上字段PGA_USED_MEM&#20540;。
一个进程在视图V$PROCESS_MEMORY上字段CATEGORY&#20540;为Freeable对应的ALLOCATED&#20540;,等于该进程在视图V$PROCESS上字段PGA_FREEABLE_MEM
&#20540;。
刚开始以为视图V$PROCESS 中PGA_ALLOC_MEM字段减去 PGA_USED_MEM 字段& 所得的差&#20540;就是等于PGA_FREEABLE_MEM字段的&#20540;。但是实际上,发现不是这样,看到自己电脑上的显示的 V$PROCESS结果里,PGA_FREEABLE_MEM字段的&#20540;都是为0,而PGA_ALLOC_MEM字段减去 PGA_USED_MEM
字段& 所得的差&#20540;都不是0。因为内存空间的分配和使用这两个概念是软件设计中常用的管理内存空间的手段。例如,创建一个表时,会分配以一个区段大小为单位的整数倍的空间给该表,而当向表中添加数据时(也就是使用该表时),则是按一个oracle数据块的空间大小为单位来使用,即按数据块大小来添加数据的。再如,window下用的记事本文件都是先分配一定大小(假设为A)的空间,如果使用该记事本文件的大小超过了该分配的空间,则又会再分配一定大小(也为A)的空间给该记事本文件。如下图所示:
图示里大小:69字节表示该记事本文件已经使用了的空间大小,而占用空间:4096字节则表示操作系统给该记事本文件分配的空间大小。
那么视图V$PROCESS 中的PGA_FREEABLE_MEM字段表示什么呢?
我们可以从对V$PROCESS_MEMORY中字段CATEGORY的解释中得知:
Category name. Categoriesinclude &SQL&, &PL/SQL&, &OLAP& and&JAVA&. Special categories are &Freeable& and&Other&. Freeable memory has been allocated to theprocess by the operating system,
but has not been allocated to a category.&Other& memory has been allocated to a category, but not to one ofthe named categories.
从上面的解释中可以发现,pga上内存空间可以分成包括Freeable在内的六种类型。比如,会话执行sql语句时pga上就会有一块SQL类型的区域,执行PL/SQL存储过程时pga上就会有一块PL/SQL类型的区域。包括Freeable在内的每一个CATEGORY都有自己的ALLOCATED和USED属性。只是还不知道在什么情况下一个进程对应的pga里的Freeable是不为0。因为在V$PROCESS_MEMORY中CATEGORY例如为SQL,假如一个sql工作区释放时,则其对应的ALLOCATED和USED属性&#20540;也会下降,但是这些释放的空间&#20284;乎不是放到CATEGORY为Freeable的这里,它对应的ALLOCATED和USED属性&#20540;还是为0.
在手动管理pga(的内存分配回收)模式(即_use_realfree_heap=true时)下,例如SQL工作区的内存空间回收给了pga(里的uga,专用服务器模式时),则那么该回收的空间会给Freeable的这里吗?
视图V$PGASTAT
上的字段total freeable PGA memory的&#20540;等于数据库当前各个进程在视图V$PROCESS上字段PGA_FREEABLE_MEM&#20540;之和。
PGA memory freed back to OS字段&#20540;是字段totalfreeable PGA memory的&#20540;的累计&#20540;。(?)
1、pga内存主要用于排序(当一个SQL语句中有排序操作时)等操作,因为pga内存的大部分空间为SQL工作区所占。
2、pga中不是有CGA是用于例如分析调用、提取调用等(暂时存放的结果集)吗?那么一个没有带有排序等操作的SQL语句执行时,是否会把结果集先存放在CGA中?可以通过如下方法验证:
在运行一个没有带有排序等操作的SQL语句期间,查看v$process的use字段是否变大,或是查看v$process_memory的cartory字段为other时对应的use字段是否变大?
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:466626次
积分:8854
积分:8854
排名:第712名
原创:302篇
转载:888篇
评论:12条
(19)(41)(63)(76)(32)(33)(88)(41)(16)(25)(37)(73)(63)(92)(75)(120)(159)(55)(67)(13)(1)一个完整的网站是由哪几个部分组成?_百度知道
一个完整的网站是由哪几个部分组成?
知道的请详细点回答 不知道的一边呆去 别乱答!!!!
网站分动态和静态静态的,就是简简单单的几个网页,不需要什么后台等都可以作为一个网站。而动态的就是能够处理数据,例如用户注册登陆,管理员后台登陆,管理等等。简单来说,就是两部分:前台和后台。前台就是用户可以看到,可以操作的部分后台就是用户不能看到,只有管理员登陆之后才能看到,只有管理员才能操作的部分!憨肠封段莩灯凤犬脯华当然,任何的网页或网站都需要标题和正文内容!
其他类似问题
按默认排序
其他2条回答
完整的网站包括:服务器 --运行网站的机器防火墙 --提供安全保障操作系统 --运行网站的平台,包括运行环境(apache,iis 等等)数据库 --保存网络数据前台文件/系统 --提供网民所看到和使用的页面后台文件/憨肠封段莩灯凤犬脯华系统 --网站管理员管理网站内容的页面宽带网络 --....无法解释
网页主要由三部分组成:结构(Structure)、表现(Presentation)和行为(Behavior)。
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁电子产业链&&全程电子商务平台
电力系统由哪几部分组成各部分的作用是什么
电力系统由哪几部分组成各部分的作用是什么
发布: | 作者: | 来源:
| 查看:65次 | 用户关注:
电、输电、变电、配电、用电设备及相应的辅助系统组成的电能生产、输送、分配、使用的统一整体称为电力系统。由输电、变电、配电设备及相应的辅助系统组成的联系发电与用电的统一整体称为电力网。 也可描述为电力系统是由电源、电力网以及用户组成的整体。 电力网是电力系统的一部分。它包括所有的变、配电所的电气设备以及各种不同电压等级的线路组成的统一整体。它的作用是将电能转送和分配给各用电单位。电能的生产是产、供
电、输电、变电、、用电设备及相应的辅助系统组成的电能生产、输送、分配、使用的统一整体称为系统。由输电、变电、配电设备及相应的辅助系统组成的联系发电与用电的统一整体称为电力网。 也可描述为电力系统是由、电力网以及用户组成的整体。 电力网是电力系统的一部分。它包括所有的变、配电所的设备以及各种不同电压等级的线路组成的统一整体。它的作用是将电能转送和分配给各用电单位。电能的生产是产、供、销同时发生, 同时完成,既不能中断又不能储存。电力系统是一个由发、供、用三者联合组成的一个整体。其中任意一个环节配合不好, 都不能保证电力系统的安全、经济运行。 电力系统中,发、供、用之间始终是保持平衡的。
本页面信息由华强电子网用户提供,如果涉嫌侵权,请与我们客服联系,我们核实后将及时处理。
应用与方案分类
&&& 目前,处理器性能的主要衡量指标是时钟嵌入式系统_百度文库
两大类热门资源免费畅读
续费一年阅读会员,立省24元!
评价文档:
1页免费20页免费2页免费4页免费95页1下载券72页1下载券20页1下载券172页1下载券153页免费
喜欢此文档的还喜欢65页5下载券225页免费31页5下载券12页5下载券46页5下载券
嵌入式系统|
把文档贴到Blog、BBS或个人站等:
普通尺寸(450*500pix)
较大尺寸(630*500pix)
你可能喜欢

我要回帖

更多关于 鼠标由哪几部分组成 的文章

 

随机推荐