Oracle 内存结构(Memory Structure)

WBOY
Lepaskan: 2016-06-07 17:03:10
asal
867 orang telah melayarinya

Oracle的内存结构包括两个部分:System Global Area(SGA)和Program Global Area(PGA)。 SGA:当一个实例启动的时候分配(all

Oracle的内存结构包括两个部分:System Global Area(SGA)和Program Global Area(PGA)。

SGA:当一个实例启动的时候分配(allocated),是一个实例的基本组成部分。

PGA:当一个Server Process启动的时候分配。Server Process上面已经讲到。 

Memory -> SGA

SGA是动态的,可以通过SGA_MAX_SIZE参数来设置大小。SGA的增大和缩小有一个基本的单位granule。

在Sql plus我们可以查看SGA分配和granule。

SQL> show sga 

SQL> select component,granule_size from

  2  v$sga_dynamic_components; 

SGA还有它的组成部件,这里主要介绍Shared Pool,Large Pool和Java Pool。当然还包括一些其他的buffer和cache,如Data Buffer Cache.在Oracle11g还多了Stream Pool。 

Large Pool和Java Pool是SGA中可选的内存结构。前者在备份和IO处理以及并行操作时会用到,后者在使用Java的时候会用到。 

Memory -> SGA -> Shared Poll

Shared Pool主要用来存储最近执行的绝大多数的SQL语句和最近使用的数据定义(data definitions)。我们可以通过SHARED_POOL_SIZE来设置其大小。语句为:ALERT SYSTEM SET SHARED_POOL_SIZE = 64M;Shared Pool包括两个主要的影响性能的内存结构:Library Cache和Data Dictionary Cache。

Libray Cache用来存储绝大多数的最近使用的SQL和PL/SQL语句,并提供最近使用语句的共享。它主要包括Shared SQL area和Shared PL/SQL area。它的大小是由Shared Pool决定的,它由最少最近使用机制管理(Least recently used,LRU algorithm)。

Data Dictionary Cache是一个存储大多数最近使用数据库中的定义的集合,包括数据库文件,表,列,用户,,权限等的信息。它为server process提供对象名称解析和访问验证(validate access)。它的大小也由Shared Pool决定。

Shared Pool还存储一些数据块(data blocks)和重做日志缓冲。        

Memory -> PGA

 每一个连接到Oracle数据库的用户都会有一个自己的PGA。它随用户进程的创建而创建,随用户进程的终结而终结。

linux

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!