Oracle Database 内存管理

SGA
SQL> show parameter sga_target

NAME                                 TYPE                              VALUE
------------------------------------ --------------------------------- ------------------------------
sga_target                           big integer                       2G

SQL> show parameter sga_max_size

NAME                                 TYPE                              VALUE
------------------------------------ --------------------------------- ------------------------------
sga_max_size                         big integer                       2G

SQL> select name,value/1024/1024 as "SIZE (MB)" from v$sga;

NAME                            SIZE (MB)
------------------------------ ----------
Fixed Size                     2.11244965
Variable Size                  320.000832
Database Buffers                     1712
Redo Buffers                     4.734375

DB BUFFER CACHE
SQL> show parameter db_block_size

NAME                                 TYPE                              VALUE
------------------------------------ --------------------------------- ------------------------------
db_block_size                        integer                           8192

SQL> select * from v$sgainfo where name='Granule Size';

NAME                                BYTES RESIZEABL
------------------------------ ---------- ---------
Granule Size                     16777216 No

SQL> select 16777216/8192 from dual; -- granule中包含2048个buffer
16777216/8192
-------------
         2048
         
SQL> select * from v$sgainfo where name='Buffer Cache Size';

NAME                                BYTES RESIZEABL
------------------------------ ---------- ---------
Buffer Cache Size              1795162112 Yes

SQL> select 1795162112/1024/1024 from dual;

1795162112/1024/1024
--------------------
                1712
                
SQL> select 1795162112/8192 from dual;  --db_cache中包含219136个buffer
1795162112/8192
---------------
         219136
         
SQL> select 219136/2048 from dual; --db_cache由107个granule组成
219136/2048
-----------
        107
        
SHARED POOL
SQL> select * from v$sgainfo where name='Shared Pool Size';

NAME                                BYTES RESIZEABL
------------------------------ ---------- ---------
Shared Pool Size                285212672 Yes

SQL> select 285212672/1024/1024 from dual;

285212672/1024/1024
-------------------
                272 
                
SQL> column indx heading "indx | indx num"
SQL> column kghlurcr heading "recurrent|chunks"
SQL> column kghlutrn heading "transient|chunks"
SQL> column kghlufsh heading "flushed|chunks"
SQL> column kghluops heading "pins and|releases"
SQL> column kghlunfu heading "ora-4031|errors"
SQL> column kghlunfs heading "last error|size"
SQL> select indx,kghlurcr,kghlutrn,kghlufsh,kghluops,kghlunfu,kghlunfs from x$kghlu where inst_id=userenv('Instance');

indx   recurrent  transient    flushed   pins and   ora-4031 last error
  indx num     chunks     chunks     chunks   releases     errors       size
---------- ---------- ---------- ---------- ---------- ---------- ----------
         0       3541       8077          0      22813          0          0      
         
SQL> show parameter shared_pool_reserved_size

NAME                                 TYPE                              VALUE
------------------------------------ --------------------------------- ------------------------------
shared_pool_reserved_size            big integer                       14260633

SQL> col ksppinm for a35
SQL> col ksppstvl for a20
SQL> col ksppdesc for a80
SQL> select ksppinm,ksppstvl,ksppdesc from x$ksppi x,x$ksppcv y where x.indx = y.indx and ksppinm = '_shared_pool_reserved_min_alloc';

KSPPINM                             KSPPSTVL             KSPPDESC
----------------------------------- -------------------- --------------------------------------------------------------------------------
_shared_pool_reserved_min_alloc     4400                 minimum allocation size in bytes for reserved area of shared pool

SQL> select free_space,avg_free_size,used_space,request_failures,last_failure_size from v$shared_pool_reserved;

FREE_SPACE AVG_FREE_SIZE USED_SPACE REQUEST_FAILURES LAST_FAILURE_SIZE
---------- ------------- ---------- ---------------- -----------------
  10146416        724744   16704568                0                 0    
  
SQL> col ksppinm for a35
SQL> col ksppstvl for a20
SQL> col ksppdesc for a50
SQL> select ksppinm,ksppstvl,ksppdesc from x$ksppi x,x$ksppcv y where x.indx = y.indx and ksppinm = '_kghdsidx_count';

KSPPINM                             KSPPSTVL             KSPPDESC
----------------------------------- -------------------- --------------------------------------------------
_kghdsidx_count                     1                    max kghdsidx count

SQL> select 'shared pool('||nvl (decode (to_char(ksmdsidx),'0','0-Unused',ksmdsidx),'Total')||'):'subpool,round(sum(ksmsslen)/1048576,2) "SIZE(MB)"
  2  from x$ksmss where ksmsslen > 0
  3  group by rollup(ksmdsidx) order by subpool asc;

SUBPOOL                          SIZE(MB)
------------------------------ ----------
shared pool(0-Unused):                 64
shared pool(1):                       208
shared pool(Total):                   272

SQL>  select subpool,name,round(sum(bytes)/1048576,2) "FREE SIZE(MB)"
from (select 'shared pool (' || decode (to_char (ksmdsidx),'0','0-Unused',ksmdsidx) || '):' subpool,ksmssnam name,
ksmsslen bytes from x$ksmss where ksmsslen>0 and lower(ksmssnam) like lower ('%free memory%'))
group by subpool,name order by subpool asc,sum(bytes) desc;

SUBPOOL                        NAME                           FREE SIZE(MB)
------------------------------ ------------------------------ -------------
shared pool (0-Unused):        free memory                               64
shared pool (1):               free memory                            48.41

原文地址:http://blog.51cto.com/13598811/2135909

时间: 2024-10-14 23:05:19

Oracle Database 内存管理的相关文章

oracle的内存管理(之一)

[深入解析oracle-eygle]学习笔记 1.内存管理 ORACLE数据库所使用的内存主要涉及到两个方面:PGA和SGA. 1.1 PGA管理 PGA指的是程序全局区(Program Global Area),是服务器进程(Server Process)使用的一块包含数据和控制信息的内存区域,PGA是非共享的内存,在服务器进程启动或创建时分配(在系统运行时,排序.连接风操作也可能需要进一步的PGA分配),并为Server Process排他访问,所以PGA中的数据结构并不需要通过latch来

Oracle 自动内存管理 SGA、PGA 详解

ASMM自动共享内存管理: 自动根据工作量变化调整 最大程度地提高内存利用率 有助于消除内存不足的错误 [email protected]>show parameter sga NAME                                 TYPE        VALUE ------------------------------------ ----------- ------------------------------ lock_sga                  

设置ORACLE自动内存管理

文章参考:ORACLE 11g官方文档[Managing Memory] 前言:之前搭建数据库集群环境后,现场的维护人员不知何时改为了手动内存管理,且参数设置存在不合理,导致客户plsql执行报错,如下所示: 查看数据库日志,有如下提示: Wed Mar 15 00:15:08 2017 Errors in file /app/oracle/diag/rdbms/resdb/resdb1/trace/resdb1_ora_12320832.trc  (incident=441054): ORA-

oracle体系结构-内存管理

一.Oracle体系结构概述 数据库--驻留在磁盘上的--各种磁盘文件(数据文件.控制文件.日志文件) 实例--驻留在内存--内存组件+进程---------------一旦数据库关闭,不存在了 数据库和实例的关系 A 一个数据库对一个实例(单节点) 数据库--实例 B 一个数据库对N个实例(多节点)--防止单点故障(oracle高可用架构)--7*24的系统 实例1     实例2      实例3    ... 实例n    ----每个实例都独立安装在独自的虚拟机上            

ORACLE 11G内存管理方式

SGA包含的组件: 组件名 说明 参数 buffer cache 存放从数据文件中读取的数据拷贝,所有用户之间是可以共享的 db_cache_size db_keep_cache_size db_recycle_cache_size db_nk_cache_size redo log buffer redo数据 log_buffer shared pool 存放库缓存和数据字典缓存,结果缓存,并行执行消息缓存,以及控制结构信息 shared_pool_size shared_pool_reser

Oracle数据库之内存管理

大页内存 备注 备注1:不能使用oracle自动内存管理: 备注2:目的是减少swap的使用: 备注3:建议SGA大于8G: 备注4:只限于linux系统: 备注5:不会使用/dev/shm空间: 备注6:需要设置内存锁: 如果配置了大页内存但没有被oracle使用 1.sga_max_size超过了大页内存: 2.没有设置内存锁: 3.没有取消自动内存管理: 查看系统大页内存的使用情况 cat /proc/meminfo | grep -i HugePages 备注1:一般大页内存的默认大小为

Oracle内存管理(之五)

[深入解析--eygle]学习笔记 1.4. 2其他内存组件 Large Pool-大池是SGA的一个可选组件,通常用于共享服务器模式(MTS). 并行计算或 RMAN的备份恢复等操作. Java Pool-Java池主要用于JVM等Java选件. Streams Pool-Streams pool是Oracle10g引入的概念,为Oracle的Streams功能所使用,如果不定义该参数,这部分内存将从Shread Pool中分配 对于SGA各部分内存分配,可以从数据库的视图中查询得到: 17:

Oracle内存管理(之二)

[深入解析--eygle] 学习笔记 1.2.2 UGA和CGA UGA(用户全局区)由用户会话数据.游标状态和索引区组成.在共享服务器模式下,一个共享服务进程被多个用户进程共享,此时UGA是Shared Pool或Large Pool的一部分,而在专用服务器模式下,UGA则是PGA的一部分. 不考虑Shared  Server模式,在Dedicated模式下,PGA与UGA关系,就如同Process和Session的关系,PGA是服务于进程的内存结构,包含进程信息:而UGA是服务于会话的,它包

Oracle 11G R2的内存管理

基本知识点 基本的内存结构:SGA+PGA+UGA+Software code area(软件代码区) 了解SGA内存的组件与一些常用的功能 了解oracle 11G地自动内存管理功能 具体介绍 oracle数据库实例是由一些列的系统全局区域与后台进程组成. 一个客户端访问数据库的方式是客户端进程---->Program global are----->Database buffer cache,同时在Redo log buffer重写一份 oracle 内存管理的方式:自动内存管理与手动内存