oracle 字典_Oracle内核技术揭秘第二篇(SGA)

3c391fd124a4245971411012bac42e17.png

蒋蒋~~大家吼啊,又是我,智商233的天才少呂,今天给大家带来的是数据库内核的介绍,包括实例,数据库本身的一些进程,第二篇哈哈,SGA的介绍

那么废话不多BB,上内容

0ad19d9249b16eda6aea46044b2591e2.gif

系统全局区: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:当写满了时候就要把不常用的给剔除出去,保留常用的

91577be25d2554c1c742cc73de5fa8d4.png

2.Redo log Buffer:Oracle进行dml或者ddl操作的时候,在写数据高速缓冲区之前,先写入重做日志缓冲区(Redo log Buffer),然后达到一定的峰值之后,由LGWR进程写入到重做日志文件

6b63e99444641f1301b9e2d128a0ed8d.png

3.共享池(Shared Pool):用于缓冲SQL语句,数据字典,资源锁等信息

包括:1.库高速缓冲区,包括SQL区,最近使用的SQL,执行计划等

2.字典高速缓冲区,用于存放Oracle数据字典等信息

a1d12828cbdd3e7e7989a016adf14a16.png

4.大型池(Large Pool)是SGA的可选部分,在以下几种情形下会启用:

一,backup 和 restore 操作的时候

二,当启动UGA, I/O slaves的时候

三,设置MTS服务器的时候,用户信息的存放也使用到Large Pool

今天分享就到这里,白了个白

e9c85b7a92a95ce82f0737a62909e7d4.png

想要学习更多的,Oracle学习资料获取方式:关注我+转发此文,然后私信我“Oracle资料”就可以获取啦!!

有什么想法或者问题欢迎私信!作为菜鸟的我会尽最大努力帮助的,共同进步

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值