在数据高速缓冲区中存放着Oracle系统使用过的数据块(即用户的高速缓冲区),当把数据写入数据库时,它以数据块为单位进行读写,当数据高速缓冲区填满时,则系统自动去掉一些不常被用户访问的数据。
如果毕渗用户要查的数据不在数据高速缓冲区时,Oracle自动从磁盘中去读取。数据高速缓冲区包括三个类型的区:
(1)脏数据区(Dirty Buffers):包含有已经改变过并需要写回数据文件的数据块。
(2)自由区(Free Buffers):没有包含任何数据并可以再写入的区,Oracle可以从数据文件读数据块该区。
(3)保留区(Pinned Buffers):此区包含有正在处理的或者明确保留用作将来用的区。
2、Redo Log Buffer Cache缓存对于数据块的所有修改。
主要用于恢复其中的每一项修改记录都被称为redo 条目。利用Redo条目的信息可手塌脊以重做修改。
3、Shared Pool用于缓存被执行的SQL语句和衫高被使用的数据定义。
它主要由两个内存结构构成:Library cache和Data dictionary cache
修改共享池的大小:ALTER SYSTEM SET SHARED_POOL_SIZE = 64M
Library Cache缓存被执行的SQL和PL/SQL的相关信息,即存放SQL语句的文本,分析后的代码及执行计划。
内存分配(sga和pga)sga:是用于存储数据库信息的内存区,该信息为数据库进程所敏野共享。它包含oracle
服务器的数据和控制信息,它是在oracle服务器所驻留的计算蔽橡机的实际内存中得以分配,如果实际内存不够再往虚拟内存中写宏拿旁。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)