蒋蒋~~大家吼啊,又是我,智商233的天才少呂,今天给大家带来的是数据库内核的介绍,包括实例,数据库本身的一些进程,第二篇哈哈,SGA的介绍
那么废话不多BB,上内容
系统全局区:SGA (System Global Area)是Oracle Instance的 基本组成部分,在实例启动时分配
在创建数据库的时候SGA大小初设为物理内存的35%
修改SGA大小:alter system set sga_max_size=1024m scope=spfile;
其中SGA主要是
1.高速数据缓冲Database Buffer Cache:用于存放从数据文件中读取出来的数据块,缓冲系统正在使用或者最近使用完的数据块。所有连接到数据库的用户,都可以共享该内存区域。
未使用块:缓冲中从未被使用或者当前未被使用的块。
干净块:状态与数据文件中的数据块保持一致,不需要被检查点进程写入数据文件,可以被复用。
脏块:数据块被修改,且未写入磁盘。
在oracle DB buffer中,脏块放入到检查点队列中,等待CKPT进行检查点位置维护并写入数据文件中;干净块放入到LRU链表,使用LRU算法进行管理。
LRU:当写满了时候就要把不常用的给剔除出去,保留常用的
2.Redo log Buffer:Oracle进行dml或者ddl操作的时候,在写数据高速缓冲区之前,先写入重做日志缓冲区(Redo log Buffer),然后达到一定的峰值之后,由LGWR进程写入到重做日志文件
3.共享池(Shared Pool):用于缓冲SQL语句,数据字典,资源锁等信息
包括:1.库高速缓冲区,包括SQL区,最近使用的SQL,执行计划等
2.字典高速缓冲区,用于存放Oracle数据字典等信息
4.大型池(Large Pool)是SGA的可选部分,在以下几种情形下会启用:
一,backup 和 restore 操作的时候
二,当启动UGA, I/O slaves的时候
三,设置MTS服务器的时候,用户信息的存放也使用到Large Pool
今天分享就到这里,白了个白
想要学习更多的,Oracle学习资料获取方式:关注我+转发此文,然后私信我“Oracle资料”就可以获取啦!!
有什么想法或者问题欢迎私信!作为菜鸟的我会尽最大努力帮助的,共同进步