- Rongsen.Com.Cn 版权所有 2008-2010 京ICP备08007000号 京公海网安备11010802026356号 朝阳网安编号:110105199号
- 北京黑客防线网安工作室-黑客防线网安服务器维护基地为您提供专业的
服务器维护
,企业网站维护
,网站维护
服务 - (建议采用1024×768分辨率,以达到最佳视觉效果) Powered by 黑客防线网安 ©2009-2010 www.rongsen.com.cn
作者:黑客防线网安Oracle维护基地 来源:黑客防线网安Oracle维护基地 浏览次数:0 |
要提高应用系统的性能,在维持现有硬件平台不变的情况下,主要采用的方法由以下几种:
l 调整操作系统参数,提高操作系统的管理性能;
l 调整数据库管理系统的参数,提高数据库管理系统的性能;
l 修改应用程序,提高应用程序的运行效率。
一、ORACLE数据库的内存结构
本文将着重对SGA的结构进行介绍:
SGA 通常又被称作 Shared Global Area,包括以下几个共享区域:
l 数据缓存(the Database buffer cache)
数据缓存存放从数据库文件中读取的数据,可分为剩余缓存(Free buffer)、正在使用的缓存(Pinned buffer)、已使用缓存(Dirty buffer)。
l 日志缓存(redo log buffer)
存放数据库已改变的信息。
l 共享存储池(shared pool)
共享存储池主要由三个方面构成:
Library cache
Library cache 包括共享SQL区、用户自有SQL区、PL/SQL过程和程序包及控制结构;
Dictionary Cache
存放数据库字典信息,如:表及视图名、列名及数据类型、各用户的存取权限;
Control structures
l 请求及响应队列(request and response queues)(仅用于多线索模式)
l 其他(other miscellaneous information)
二、ORACLE 内存的工作机制
当用户请求被接受后,ORACLE 的内存分配将分以下几个步骤进行:
1.首先检查共享SQL区有无该SQL语句,如有在使用该SQL区执行用户的SQL语句(称作一次library cache hit),否则为该SQL语句分配共享SQL 区(称作一次library cache miss),同时为该语句分配自有SQL 区。
2.检查Dictionary cache 中有无要访问的表/视图信息,若无则将其读入Dictionary cache 中(称作一次rowcache miss)。
3.检查数据缓存(Database buffer cache),有无要操作的数据,如有则使用当前的缓存(称作一次 data buffer hit),否则,将按下列步骤为该数据请求新的缓存(称作一次 data buffer miss):
1) 搜索least-recently-used(LRU) list,若发现dirty buffer 则写入dirty list 并继续搜索,如发现free buffer则将其分配给该用户,同时将该buffer移至most-recently-used(MRU) list,若未能搜索到free buffer,则触发DBWR进程将一些dirty buffer 写入磁盘,并将这部分dirty buffer 释放为free buffer。
2) 从数据文件中将要操作的数据读入buffer cache 中;
4.如果用户执行的是INSERT、DELETE、UPDATE等操作,系统将为其分配redo log buffer,用于记录数据的变更情况,当redo log buffer中无free buffer时触发LGWR进程,将redo log buffer中的一些信息写如数据库的LOG FILE 中。
我要申请本站:N点 | 黑客防线官网 | |
专业服务器维护及网站维护手工安全搭建环境,网站安全加固服务。黑客防线网安服务器维护基地招商进行中!QQ:29769479 |