oracle数据库服务器例程

oracle数据库服务器例程

ID:27567282

大小:318.50 KB

页数:49页

时间:2018-12-01

oracle数据库服务器例程_第1页
oracle数据库服务器例程_第2页
oracle数据库服务器例程_第3页
oracle数据库服务器例程_第4页
oracle数据库服务器例程_第5页
资源描述:

《oracle数据库服务器例程》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、第六讲Oracle数据库服务器例程本章学习目标Oracle数据库服务器是一个对象关系型数据库管理系统,由数据库文件和实例组成。本章将介绍Oracle服务器的例程结构,包括内存管理和后台进程。6.1Oracle9i内存管理6.2Oracle9i进程管理6.1Oracle9i内存管理6.1.1系统全局区(SGA)6.1.2程序全局区(PGA)6.1.1系统全局区(SGA)系统全局区是ORACLE系统为实例分配的一组共享缓冲存储区,用于存放数据库数据和控制信息,以实现对数据库数据的管理和操作。Redolog bufferDatabuffer cach

2、eSharedpoolDatadict. cacheLibrarycacheSGALargepoolJavapool共享池(sharepool)大小由SHARED_POOL_SIZE定义库缓冲包含语句文本,编译后的代码以及执行计划等字典缓冲包括表和列的定义和权限等共享池库缓冲字典缓冲库缓冲(Librarycache)库缓冲保存最近用过的SQL语句和PL/SQL使用过程中的下列信息:语句文本分析树,即编译后的语句执行计划,即优化器定义的语句执行步骤库缓冲又称为共享SQL区。由于库缓冲保存了这些信息,所以当一查询在执行计划被换出之前重新执行时,服务

3、进程不必重新分析语句,因此库缓冲能改善应用的性能。.数据字典缓冲(DataDictionaryCache)数据字典缓冲保存最近使用过的数据字典信息如表和列的定义,用户名口令和权限。在分析阶段,服务进程查找缓冲中的信息以解释语句中指定的对象名并验证访问权限。如有必要服务进程可请求从数据文件中装入这些信息共享池大小查询在参数文件中查询初始化参数shared_pool_size查询数据字典v$parametersql>selectname,valuefromv$parameterwherenamelike'%size';使用show命令查询sql>s

4、howparametershared_pool_size数据库数据缓冲区 (DatabaseBufferCache)在oracle9i中,使用DB_BLOCK_SIZE来决定,并且可以通过下面的命令动态的改变其大小:ALTERSYSTEMSETDB_CACHE_SIZE=120M;处理查询时,服务进程在数据库缓冲区中寻找所需的数据块。如果在缓冲区中找不到所需数据块,服务进程从数据文件中将数据块读入缓冲区。以后对同样数据块的请求在内存中进行,不需物理读写。缓冲区用LRU(LeastRecentlyUsed)置换算法,在检查点发生时由DBWR写入数

5、据文件数据缓冲区的查询如果要查询数据缓冲区的大小,可以按如下方法查找:sql>showparameterdb也可以通过动态性能视图v$buffer_cache来监视缓存的使用情况。Sql>select*fromv$buffer_cache;写数据文件数据缓冲区数据文件Oracle服务器使用延迟、多个块写以减缓磁盘I/O的冲突:灰数据缓冲区的数量达到阈值;当进行扫描而无法找到任何空闲缓冲区时进程扫描了指定数量的块;出现超时每三秒;出现检查点(检查点是使数据库缓冲区高速缓存与数据文件同步的一种方法)日志缓冲区(LogBuffer)重做日志缓冲区用于

6、在内存中存储未被刷新写入联机重做日志文件的重做信息。它是循环使用的缓冲区,当重做日志缓冲区填满时,将它的内容写入联机重做日志文件。重做日志缓冲区的大小是由LOG_BUFFER初始化参数决定,以字节为单位。所有服务进程(SERVERPROCESS)将重作记录写入重作日志缓冲在事务提交时由LGWR写入日志文件写日志文件日志缓冲区日志文件LGWR执行写入操作的条件是:发生提交(commit)重做日志缓冲区满度达到三分之一或3秒在DBW0将数据库缓冲区高速缓存中修改的块写入数据文件以前写满1M因此,太大的redologbuffer是没有意义的,因为真正

7、用于生产的时候,很少有3秒内没有提交事务的应用,而且,每到1M就会写redologfile,所以,大多数情况下,超过3M的redologbuffer几乎就浪费了。重做日志缓冲区的查询在初始化参数文件中查找log_buffer参数查询数据字典v$parametersql>selectname,valuefromv$parameterwherenamelike'%buffer';使用show命令查询sql>showparameterlog_bufferJava池Oracle8i引入的一项新特性(从8.1.5版本后开始出现的),用于支持数据库中jav

8、a的运行,负责容纳与会话有关的Java代码,以及要由Java虚拟机(JVM)用到的一些数据。大小由初始化参数文件中的java_pool_size指定大

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。