- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
Oracle数据库的实例构成分析
摘要:内存结构是Oracle数据库体系结构中最为重要的部分之一,也是影响数据库性能的主要因素。在Oracle数据库中,服务器内存的大小将直接影响数据库的运行速度,特别是多个用户连接数据库时,服务器必须有足够的内存支持,否则不是有的用户可能连接上,就是查询速度明显下降。因此,在开始对Oracle数据库学习和操作前,有必要理解Oracle的内存结构。
关键词:Oracle数据库 内存结构 运行速度
中图分类号:TP311.13 文献标识码:A 文章编号:1007-9416(2016)10-0251-01
1 内存结构
影响数据库性能的最主要因素是内存。Oracle数据库的内存结构分为程序全局区(PGA)和系统全局区(SGA),每个Oracle数据库实例有且仅有一个系统全局区SGA。在Oracle实例的启动时自动分配内存,Oracle数据库关闭时释放。
SGA(System Global Area)是一组共享缓冲存储区,它由Oracle系统分配,用来存放控制信息和数据库数据,以便实现对oracle数据库的管理和操作。SGA中包含3个必备(共享池(Shared Pool)、日志缓冲区(RedoLog Buffer Cache))、数据缓冲区(Database Buffer Cache)和2个可选(Java池(可选)(Java Pool)、大型池(可选)(Lager Pool))。可通过SHOW命令查看SGA的大小,SQLSHOW PARAMETER sga_max_size;
共享池包含的库高速缓存器对SQL语句和PL/SQL程序进行语法分析、编译和执行的内存区能提高SQL性能和用于收集最近使用的数据库中的数据定义信息的数据字典缓存器能有效改善响应时间。可通过SHOW命令查看shared pool的大小并用ALTER SYSTEM SET命令修改shared pool的大小,SQLSHOW PARAMETER shared_pool_size;
SQLALTER SYSTEM SET shared_pool_size =15M;
数据缓冲区(Database Buffer Cache)存储数据文件中数据块的拷贝。利用最近最少使用算法(LRU)可以使数据的更新操作性能大大地提高。查看数据缓冲区的大小和修改大小的方法同上用SHOW和ALTER SYSTEM SET命令,只需将shared_pool_size改为db_cache_size即可。
日志缓冲区(Database Buffer Cache)是个环状的(可循环的)缓存器,用于存储数据库的修改操作信息,恢复数据库信息。其查看大小方法为:SQLSHOW PARAMETER log_buffer;
Java池(Java Pool)是可选项,为执行Java命令提供分析与执行的内存空间。其查看大小和修改大小的方法同上用SHOW和ALTER SYSTEM SET命令,只需将shared_pool_size改为java_pool_size即可。
大型池(Lager Pool)也是可选项,用于Oracle数据库的备份与恢复操作、并行的消息缓存等。其查看和修改大小的方法同上,将shared_pool_size改为large_pool_size。
2 进程结构
Oracle进程结构的类型有:用户进程和Oracle进程,服务器进程和后台进程构成Oracle进程,每个系统进程的大部分操作都是相互独立的,互不干扰。
用户进程是连接Oracle数据库执行应用程序时创建用以完成相关用户所指定的任务。在oracle数据库中有两个与用户进程相关的概念:连接与会话。连接是一条用于连接用户进程与数据库实例的通信路径,该通信路径由硬件线路、网络协议和操作系统进程通信机制构成。
服务器进程用于处理用户进程所提出的请求,此用户进程是由连接到Oracle数据库实例的用户所提出的。
后台进程:是一些相互独立的附加进程。此进程用于确保oracle数据库不仅能在任意时刻都能处理复杂的数据操作和多用户的并发请求,还能提高并优化系统性能。
后台进程分为必备进程和可选进程。
必备进程是当Oracle开启时所必须要有的5个基本进程,缺一不可,如果进程崩溃数据库也会崩溃。它们分别是:DBWRn(将数据缓冲区中被修改过的数据写回到数据文件里)、LGWR(将日志缓冲区写入磁盘上的一个日志文件,是负责管理日志缓冲区的一个Oracle后台进程)、PMON(监视数据库的用户进程,并释放不当中断连接而被占用的资源)、SMON(在实例开始时执行必要的恢复。负责清理不再使用的临时段和在字典管理的表空间中合并临近的
文档评论(0)