WEB开发网
开发学院数据库Oracle Oracle数据库内存结构SGA的区域信息 阅读

Oracle数据库内存结构SGA的区域信息

 2007-05-12 12:27:21 来源:WEB开发网   
核心提示:SGA的区域信息SGA(system global area)系统全局区跟一些必须的后台进程合进来称为实例(Instance).说它是全局区是包含了全局变量和数据结构,是系统区是包含了进入整个Oracle Instance的数据结构而不是特定的进程结构,SGA区域:SGA大概包括下面四到五种区域:The fixed a

SGA的区域信息

SGA(system global area)系统全局区跟一些必须的后台进程合进来称为实例(Instance).说它是全局区是包含了全局变量和数据结构,是系统区是包含了进入整个Oracle Instance的数据结构而不是特定的进程结构。

SGA区域:

SGA大概包括下面四到五种区域:

The fixed area;

The variable area;

The database blocks area;

The log buffer;

The instance lock database(for parallel server instances)----OPS&RAC。

根据内存的大小,我们可以把The fixed area和The log buffer设为很小。

The fixed area:

SGA中的The fixed area包含了数千个原子变量,以及如latches和指向SGA中其它区域的pointers(指针)等小的数据结构.通过对fixed table内表X$KSMFSV查询(如下)可以获得这些变量的名字,变量类型,大小和在内存中的地址.

SQL> select ksmfsnam, ksmfstyp, ksmfssiz, ksmfsadr
2> from x$ksmfsv;

这些SGA变量的名字是隐藏的而且几乎完全不需要去知道.但是我们可以通过结合fixed table内表X$KSMMEM获得这些变量的值或者检查它们所指向的数据结构.

SQL>select a.ksmmmval from x$ksmmem a
where addr=(select addr from x$ksmfsv where ksmfsnam=’kcrfal_’);

SGA中的fixed area的每个组成部分的大小是固定的.也就是说它们是不依靠于其它的初始化参数的设置来进行调整的.fixed area中的所以组成部分的大小相加就是fixed area的大小。

The variable area:

SGA中的the variable area是由large pool和shared pool组成的.large pool的内存大小是动态分配的,而shared pool的内存大小即包含了动态管理的内存又包含了永久性的(已经分配的)内存.实际上,初始化参数shared_pool_size的大小设置是指定shared pool中动态分配的那部分内存的一个大概的SIZES而不是整个shared pool的SIZES。

1 2  下一页

Tags:Oracle 数据库 内存

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接