031 study note-oracle的内存结构

oracle的内存结构由SGA和PGA一系列的后台进程组成。

内存结构将在oracle instance加载的时候完成加载。

sys@ORALOCAL> startup

ORACLE例程已经启动。

Total System Global Area 129571660 bytes

Fixed Size 453452 bytes

Variable Size 75497472 bytes

Database Buffers 50331648 bytes

Redo Buffers 3289088 bytes

数据库装载完毕。

数据库已经打开。

SGA(System Global Area):内存可有多个用户共享,sga的多个内存结构是动态的,但是其最大值有SGA_MAX_SIZE决定,SGA的大小不能超过这个数值(注:根据Thomas Kytes的《Oracle9i&10g编程艺术(Expert oracle database architecture)》SGA实际分配到的大小还是能够超过SGA_MAX_SIZE的值,SGA_MAX_SIZE只是一个建议值)。

Granule:粒度。SGA的最小单位,SGA有连续的granule组成。Granules的大小有SGA_MAX_SIZE决定,如果SGA小于128M,granule为4M,否则granule为16M。

下面,我用一个图来简单的展示SGA的组成,这个图基本上展示了sga的各个内存模块,但是仅仅是展示了sga,没有涉及到sga与其他的相关内容,如redolog buffer满后,向redog写内容;db buffer cache 按照LRU算法向datafile的blok写内容

相关文章

发表评论

电子邮件地址不会被公开。 必填项已用*标注

This site uses Akismet to reduce spam. Learn how your comment data is processed.