ORACLE DBA 内存管理 SGA Multiple Block Sizes,Large Pool

Multiple Block Sizes

9i前只能设置一种blocksize,如果想改变只能重装数据库.9I后可以设置多种.要设置多种blocksize必须先设置相应的buffer cache area.

SQL> show parameter cache_size

NAME TYPE VALUE

------------------------------------ ---------------------- -------------------

db_16k_cache_size big integer 0

db_2k_cache_size big integer 0

db_32k_cache_size big integer 0

db_4k_cache_size big integer 0

db_8k_cache_size big integer 0

db_cache_size big integer 243269632

db_keep_cache_size big integer 0

db_recycle_cache_size big integer 0

SQL> show parameter db_block_size

NAME TYPE VALUE

------------------------------------ ---------------------- ---------

db_block_size integer 8192

可以看到DEFAULT是8K,默认值用的时db_cache_size所以是不需要设置相应的db_xk_cache_size的。

当想建立一个32K的表空间但是又没有设置 db_32k_cache_size的时候会出错的:

1 create tablespace ts_wwm_32k

2 datafile 'D:ORACLEORADATAJMCOEMDBTS_WWM_32K.DBF' size 10m

3* blocksize 32k

SQL> /

create tablespace ts_wwm_32k

*

ORA-29339: 表空间块大小32768 与配置的块大小不匹配

所以必须先设置32K的cache size,要保证有这部分空余mem可以分配出来,先看sga_max_size是否大于当前sga 的大小,如果大于当前sga说明有一部分mem没有分配,可以用来分配给32k_cache_size。如果等于当前sga的大小说明可用内存都已用掉,此时需要缩小其他组件的大小来让出地方给32k_cache_Size.

SQL> show sga

Total System Global Area 420551900 bytes

Fixed Size 453852 bytes

Variable Size 176160768 bytes

Database Buffers 243269632 bytes

Redo Buffers 667648 bytes

SQL> show parameter sga_max_size

NAME TYPE VALUE

------------------------------------ ---------------------- --------------

sga_max_size big integer 420551900

可以看到sga_max_size=420551900

缩小default 的db_cache_Size以便空出地方。

SQL> alter system set db_cache_Size=200M;

SQL> alter system set db_32k_cache_size=50m;
alter system set db_32k_cache_size=50m
*
ERROR at line 1:
ORA-02097: parameter cannot be modified because specified value is invalid
ORA-00382: 32768 not a valid block size, valid range [2048..16384]

由于做实验用的是WIN2000,只支持2k---16k.所以修改成16K

1* alter system set db_16k_cache_size=30M

create tablespace ts_wwm_16k

datafile 'D:ORACLEORADATAJMCOEMDBTS_WWM_16K.DBF' size 20M

blocksize 16k;

表空间已创建.

现在有了两个buffer cache了,8k的cache size是200M,16K的是30M,这两个区域不能通用,16K的30M用完后不能用8k的200M.所以增加灵活性的同时也增加了管理的复杂性.

Large Pool

large pool 并不是因为他本身大,而是说他分配的PIECE比较大,8.0前large pool需要实现的功能都在shared pool里实现.但是shared pool里用LRU算法,LRU对于那些用了之后还要用的数据比较好,但LARGE的特征却是需要的时候要分配大块的内存,不需要的时候可以不保留数据,也就是说不会被重用. 所以8.0后就单独分出来large pool.shared pool和large pool的关系就像buffer cache里的 recycle和keep的关系一样,large pool,就相当于recycle,shared pool就像keep一样。

Large pool在一下情况用到:

* Shared Server Connections – to allocate the UGA region in the SGA.

* Parallel Execution of statements – to allow for the allocation of inter-process message buffers, used to coordinate the parallel query servers.

* Backup – for RMAN disk I/O buffers in some cases.

摘自:http://sunmoonking.spaces.msn.com[@more@]

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/633084/viewspace-888425/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/633084/viewspace-888425/

ORACLE 内存管理 之六 SGA Multiple Block Sizes,Large Pool相关推荐

  1. ORACLE 内存管理 之二 PGA v$pgastat

    ORACLE 内存管理 PGA v$pgastat PGA 自动管理 需要设置两个基本点参数 : WORKAREA_SIZE_POLICY=AUTO,默认就是AUTO, PGA_AGGREGATE_T ...

  2. Oracle内存管理(修改SGA与PGA)

    目录: Oracle11g数据库内存管理 一.Oracle数据库内存管理概念: 二.内存管理方式的切换: 三.修改实例SGA与PGA大小(ASMM) 1.使用sqlplus命令在数据库中修改 (1). ...

  3. oracle内存管理模式amm,Oracle 11g自动内存管理(AMM)相关的初始化参数

    Oracle对内存的管理越来越趋向智能化.自动化,从9i通过PGA_AGGREGATE_TARGET参数实现PGA的自动管理,10g通过Automatic Shared Memory Manageme ...

  4. Oracle内存管理(五)

    [深度分析--eygle]学习笔记 1.4. 2其他内存组件 Large Pool-大池是SGA的一个可选组件,通经常使用于共享server模式(MTS). 并行计算或 RMAN的备份恢复等操作. J ...

  5. oracle内存管理模式amm,【读书笔记】ORACLE 内存管理

    <Administrator's Guide>第6章介绍了ORACLE实例的内存管理,在11g中,ORACLE默认使用自动内存管理(AMM)来管理SGA和PGA的大小.除了默认的方法之外, ...

  6. Oracle内存管理PGA详解

    当用户进程连接到数据库并创建一个对应的会话时,Oracle服务进程会为这个用户专门设置一个PGA区,用来存储这个用户会话的相关内容.当这个用户会话终止时,系统会自动释放这个PGA区所占用的内存.这个P ...

  7. Oracle内存结构:SGA PGA UGA

    oracle内存结构: SGA.PGA.UGA 内存结构是oracle数据库最重要的组成部分之一,在数据库中的操作或多或少都会依赖到内存,是影响数据库性能的重要因素Oracle数据库中包括3个基本的内 ...

  8. oracle自动内存管理要不要开,Oracle 11g的自动内存管理

    Oracle 的 9i/10g 中已经对内存管理逐步做了很大的简化,11g 则更进一步,引入了一个新的概念自动化内存管理(Automatic Memory Management,AMM) . 如果 D ...

  9. 云和恩墨技术通讯:Oracle AMM自动内存管理引起数据库阻塞

    各位亲爱的用户/读者朋友们: 为了及时共享行业案例,通告共性问题,达成知识共享和提前预防,我们整理和编辑了<云和恩墨技术通讯>(4月刊),通过对过去一段时间的知识回顾和故障归纳,以期提供有 ...

最新文章

  1. linux C 内存管理方式之半动态
  2. multi-CPU, multi-core and hyper-thread--转
  3. .Net AppDomain详解(一)
  4. 深入理解 C 语言的函数调用过程
  5. 解决java.lang.NoClassDefFoundError: org/apache/log4j/Level
  6. zookeeper 日志查看_zookeeper 安装和集群配置
  7. JavaScript 随笔
  8. 如何为resin的jvm-default.log瘦身
  9. 农村包围城市:企业网站关键词排名上首页
  10. Linux网卡up但是没有running,eth0 up但是没有running的小问题
  11. 关于计算机的英语作文初中,关于电脑的英语作文
  12. Android Studio如何更新至最新版本4.2.2
  13. 微软zone DNS服务器,在DNS服务器上创建DNS zone
  14. [bzoj1003]物流运输trans
  15. 阿里的人工智能之路 与谷歌亚马逊还有多大差距
  16. html特殊字符如何转义,Html特殊字符转义处理
  17. SIEMENS/西门子1214 PID/通信模板 西门子P SIEMENS/西门子1214 PID/通信模板
  18. 少儿编程教育好不好---《浅谈青少儿编程教育与计算思维》
  19. 如何在ubuntu14.04中安装IE8
  20. Linux 安装Git Server

热门文章

  1. 劳动经济学知识点汇总
  2. OrmLite for android--Ormlite的大概介绍
  3. 智能家居进入下半场,欧瑞博难以让消费者买单
  4. html文本框禁止汉字,html 文本框屏蔽非法字符
  5. 常见远程控制协议及漏洞总结
  6. 16_MySQL中的存储过程和触发器
  7. A6000显卡转换成无显模式,才能使用VGPU功能
  8. 树莓派4B设置代理服务器的方法
  9. win10识别android,修复:Win10无法识别Android手机
  10. python网址拼接_用 urllib 的 urljoin() 拼接两个网址