Oracle DB 自动管理共享内存
- Oracle 数据库体系结构
态调整大小由下列两个后台进程进行处理:内存管理器 (MMAN) 和可管理性监视程序
(MMON) 。
STATISTICS_LEVEL 参数设置为 TYPICAL或ALL ,以使用 ASMM。
- 动态SGA 功能
更改其SGA 配置
FROM V$SGAINFO
区高速缓存、共享池、大型池、Java 池和流池。
数文件,以及重新启动实例。
的参数为 SGA_MAX_SIZE。这是在实例启动时分配的内存量,与个别组件是否会利用全
部内存量无关。
的数量,则将调整 SGA_MAX_SIZE的值,以满足内存要求。
- 区组
FROM V$SGAINFO
区组大小由总 SGA 大小决定。在大多数平台上,如果总 SGA 大小小于 1 GB,则区组大
小为4 MB,如果 SGA 大于1 GB,则区组大小为 16 MB 。某些平台的相关性会增加。例
如,在 32 位Windows 上,如果 SGA 大于 1 GB,则区组大小为 8 MB。
- 内存指导
流池大小的溢出或未溢出活动的关联时间的信息。
- 在组件中手动添加区组
内存。
加组件的内存使用量。
请求。
时才能实现此操作。
小将舍入至与区组大小最接近的倍数。只有存在满足请求的足够可用区组
(SGA_MAX_SIZE减去所有 SGA 组件的当前大小)时,才能成功地使用 ALTER SYSTEM
命令增加组件的内存使用量。服务器不会释放另一个组件的区组来支持 SGA 组件的增加。
服务器可以分配更多的区组,直到 SGA 大小达到 SGA_MAX_SIZE。
区组。
- 增加SGA 组件的大小
- 自动管理共享内存:概览
时的重新学习过程
组件,这样您就不必手动配置这些组件了。ASMM 使用内存指导数据来评估最佳的内存配
置,然后使用动态 SGA 功能调整组件的大小。通过 ASMM 可以更有效地使用可用内存,
从而减少了由采购其它硬件内存资源而导致的成本,并通过更加动态、灵活且更具适应性
的内存管理方案,显著简化了 Oracle 数据库管理。
缓冲区高速缓存和大型池来满足高峰期的要求。通过 ASMM,在运行 OLTP 工作量时,将
为缓冲区高速缓存分配所需的内存,以优化缓冲区高速缓存访问。以后启动决策支持系统
(DSS) 批处理作业时,内存将自动迁移到大型池,以便并行查询操作可以使用内存,而不
会产生内存溢出错误。
闭之前的大小,从而消除了重新学习过程。
- SGA 调整大小参数:概览
动优化的参数”。
会自动优化这些参数。
- 自动管理共享内存的优点
据库中,需要手动指定要为数据库缓冲区高速缓存、共享池、Java 池、大型池和流池分
配的内存量。通常很难将这些组件调整为最佳大小。大小不足可能会导致性能较差,并
出现内存不足错误 (ORA-4031 ),而大小过大可能会浪费内存。
量的要求,定期在幻灯片中所示的组件之间重新分配内存。
以及超过用户指定 SGA 参数的总大小的其它内部元数据分配。此附加内存通常在 10 到
20 MB 之间。
中的所有内存,其中包括自动调整大小的组件、手动调整大小的组件以及启动时的任何
内部分配。
- 动态SGA 传递模式
足错误。为了避免出现该错误,系统将尝试从另一个组件传递区组。如果没有完全
空的可用区组,则此传递可以是部分传递。如果是这种情况,则系统会开始耗尽来
自其它组件的区组来满足内存请求,并将区组部分传递给请求内存的组件。
内存。使用与指导有关的数据来确定最佳内存分配。
大小操作。如果没有空的区组,则增大请求将返回 ORA-4033 错误,收缩请求将返
回ORA-4034 错误。
- 内存中介体系结构
变化这个目标。如果总的来说这样做有好处,则会完成传递。
不同缓冲区条目之间的增量代表不同时段的统计信息。这些增量由 MMON 计算。
MMON 使用内存中介策略分析增量并检查长期趋势和短期趋势。
MMON 通过在调整大小请求系统队列中发布请求,可以根据此分析生成调整大小决策。
MMAN 定期扫描请求系统队列,以执行相应的内存传递。
- 手动调整动态SGA 参数的大小
的大小
调整大小才会立即更改组件的大小。例如,如果将 SGA_TARGET设置为8 GB,并将
SHARED_POOL_SIZE 设置为 2 GB,则应确保共享池始终至少为 2 GB,以适应必要的内
存分配。此后,如果将 SHARED_POOL_SIZE 的值调整为 1 GB,则不会立即影响共享池
的大小。这样做只会允许自动内存优化算法在必要时将共享池大小减少到 1 GB。但是,
如果最初将共享池的大小设置为 1 GB,则将 SHARED_POOL_SIZE 的值调整为 2 GB 会
使共享池组件的大小增加到 2 GB。此调整大小操作使用的内存从一个或多个自动优化的
组件中获取,手动组件的大小不受影响。
的精确大小。因此,如果手动组件的大小增加,则会从一个或多个自动调整大小的组件
获取额外的内存。如果手动组件的大小减小,则会将释放的内存分配给自动调整大小的
组件。
- 自动优化的SGA 参数的行为
包含内部启动开销
与以前的版本相比,值可能需要增加
FROM V$SGA_DYNAMIC_COMPONENTS;
SHARED_POOL_SIZE 参数不包含元数据(进程、会话等的数据结构)的内部开销分配,
但是现在包含这些内部开销分配。
SHARED_POOL_SIZE 的值,以包含内部分配。例如,如果在以前的版本中使用的
SHARED_POOL_SIZE 值为 256 MB,并且内部分配的值为 32 MB ,则需要将 Oracle
Database 10 g 的SHARED_POOL_SIZE 设置为288 MB。使用以下查询可以找到内部启动
开销的准确值:
自动调整这些组件的大小。但是,如果将它们设置为非零值,则指定的值将作为下限使用。
例如,如果将 SGA_TARGET设置为8 GB,并将 SHARED_POOL_SIZE 设置为1 GB,则
共享池不会收缩到小于 1 GB 的值,但是可能增加到更大的值。可以使用查询来确定 SGA
中自动优化的组件的实际大小。
- 手动优化的SGA 参数的行为
控制SGA 大小。
将余数分配给自动优化的 SGA 组件。
则五个自动优化的组件(共享池、Java 池、默认缓冲区高速缓存、大型池和流池)的总大
小限制为 7 GB。7 GB 大小包括固定 SGA 和日志缓冲区。只有分配了这些内存之后,才
会在自动优化的组件之间分配剩余的内存。保留高速缓存的大小为 1 GB,由参数指定。
- 使用V$PARAMETER 视图
V$PARAMETER 视图中自动优化的 SGA 参数的值为 0,ISDEFAULT 列的值为 TRUE。
如果为任何自动优化的 SGA 参数指定了一个值,则查询 V$PARAMETER 时显示的值是为
该参数指定的值。
- 调整SGA_TARGET 的大小
SGA_TARGET最大可以增大到 SGA_MAX_SIZE的值。可以缩小此参数,直到任何一个自
动优化的组件都达到其最小大小:用户指定的最小值或内部确定的最小值。
如果增加 SGA_TARGET的值,则将根据自动优化策略在自动优化的组件之间分配附加的
内存。
内存。因此,SGA_TARGET的值中的任何更改只影响自动优化的组件大小。
DB_KEEP_CACHE_SIZE 设置为1 GB,并将 SGA_TARGET增加到9 GB,则只在
SGA_TARGET控制的组件之间分配附加的 1 GB。DB_KEEP_CACHE_SIZE 的值不受影响。
同样,如果将 SGA_TARGET减小到7 GB,则将只从 SGA_TARGET控制的组件获取 1 GB。
此减小操作不会更改明确设置的参数(例如 DB_KEEP_CACHE_SIZE )的最小值设置。
- 禁用自动管理共享内存
会将所有自动优化的参数的值设置为相应组件的当前大小,即使以前为自动优化的参数指
定了不同的非零值也是如此。
如果系统在内部将共享池组件的大小调整为 1.5 GB ,然后将 SGA_TARGET设置为零,则
会使SHARED_POOL_SIZE 被设置为1.5 GB ,从而覆盖原来用户指定的值。
- 配置ASMM
参数)”。
(启用)”按钮,然后输入总的 SGA 大小(MB)。此大小代表为 SGA_TARGET指定
的值。
“Disable(禁用)”。
在“Memory Parameters(内存参数)”页上可以看到一个新的图表,用于显示 SGA 分配
的历史记录。可以将光标放在图表中您感兴趣的区域,以便在图表右侧突出显示图例中的
组件。
- SGA Advisor
例中,如果总的 SGA 大小增加到大约 470 MB,则数据库时间方面大约可以得到 5% 的
改善。
据库时间包括执行操作的所有等待,在这种情况下,差异在于不同 SGA_TARGET大小所
需的读取数和写入数。
- 监视ASMM
决策:
大小SGA 操作的信息
请求的循环历史记录缓冲区
状态
操作可用的SGA 内存的信息
操作可以是增加或收缩动态 SGA 组件。
包括当前正在进行的任何操作。
动后完成的所有 SGA 调整大小操作汇总信息。
内存量的信息。
- 小结
Oracle DB 自动管理共享内存的更多相关文章
- Oracle DB管理内存
• 描述SGA 中的内存组件• 实施自动内存管理• 手动配置SGA 参数• 配置自动PGA 内存管理 内存管理:概览DBA 必须将内存管理视为其工作中至关重要的部分,因为:• 可用内存空间量有限• ...
- Delphi内存管理(Integer、Boolean、Record、枚举等都是在作用域内编译器自动申请内存,出了作用域自动释放;另外,字符串、Variant、动态数组、接口也是由Delphi自动管理)
一.什么是堆.栈? 程序需要的内存空间分为 heap(堆) 和 stack(栈),heap 是自由存储区, stack 是自动存储区,使用 heap 需要手动申请.手动释放, stack 是自动申请. ...
- Boost:shared_memory_object --- 共享内存
什么是共享内存 共享内存是最快速的进程间通信机制.操作系统在几个进程的地址空间上映射一段内存,然后这几个进程可以在不需要调用操作系统函数的情况下在那段内存上进行读/写操作.但是,在进程读写共享内存时, ...
- Linux进程间通信—共享内存
五.共享内存(shared memory) 共享内存映射为一段可以被其他进程访问的内存.该共享内存由一个进程所创建,然后其他进程可以挂载到该共享内存中.共享内存是最快的IPC机制,但由于linux本身 ...
- Linux共享内存使用常见陷阱与分析
所谓共享内存就是使得多个进程可以访问同一块内存空间,是最快的可用IPC形式.是针对其他通信机制运行效率较低而设计的.往往与其它通信机制,如 信号量结合使用,来达到进程间的同步及互斥.其他进程能把同一段 ...
- linux网络编程之system v共享内存
接着上次的共享内存继续学习,这次主要是学习system v共享内存的使用,下面继续: 跟消息队列一样,共享内存也是有自己的数据结构的,system v共享内存也是随内核持续的,也就是说当最后一个访问内 ...
- 转:Linux--进程间通信(信号量,共享内存)
源地址:http://www.cnblogs.com/forstudy/archive/2012/03/26/2413724.html Linux--进程间通信(信号量,共享内存)(转) 一. 信 ...
- Oracle DB 使用调度程序自动执行任务
• 使用调度程序来简化管理任务 • 创建作业.程序和调度 • 监视作业执行 • 使用基于时间或基于事件的调度来执行调度程序作业 • 描述窗口.窗口组.作业类和使用者组的用途 • 使用电子邮件通知 • ...
- Oracle DB 管理数据库的空间
• 描述4 KB 扇区磁盘的概念及使用 • 使用可移动表空间 • 描述可移动表空间的概念 数据库存储 数据库存储 数据库包括物理结构和逻辑结构.由于物理结构和逻辑结构是分开的,因此管理数据的物 理存储 ...
随机推荐
- CentOS 6.4 安装思维到图工具TheBrain
最近学习中需要使用思维导图的工具,但是使用的系统是CentOS,在网上找到了一个比较好的思维导图工具:TheBrain,安装完成后还是汉化版的不错啊,由于用的是linux系统,还没有找到合适的截图软件 ...
- PHP中,JS和CSS优化工具Minify的使用方法
为减少HTTP请求,我们往往需要合并和压缩多个JS和CSS文件,下面记录下网上关于实现这个功能的PHP源码以及开源项目Minify的使用方法 一.实现合并和压缩多个JS和CSS文件的代码请参考 1.一 ...
- 学习python网络数据采集笔记-1、2章
英文不好只能看中文版的.邮电出版社翻译的真很烂. 以上是吐槽,以下是正文. 书中用的pthon 3.X版本,建议安装python3.4以上的版本,低版本的没有自带pip安装插件会比较麻烦. 下载地址: ...
- Homebrew安装php5及composer for mac教程
安装brew 可以查看教程:mac os x 10.9.1 安装 Homebrew软件包管理工具及brew安装maven3.1.1 首先更新下brew软件库 brew update brew tap ...
- “T”必须是具有公共的无参数构造函数的非抽象类型,才能用作泛型类型或方法
最近在项目中,使用EF编程时,在使用泛型类型的过程中,写了一上午,结果生成时,编译不通过,报出如下错误: “T”必须是具有公共的无参数构造函数的非抽象类型,才能用作泛型类型或方法.如图: 找了好久,终 ...
- 在ubuntu12.0.4上搭建samba服务器以实现文件共享
在安装之前samba服务器之前,先进行以下配置和测试. <壹> 准备工作 一.NAT联网方式 (1)硬件连接 无需网线,无需路由器 (2)虚拟机选择NAT连接方式 (3)测试网络通不通 在 ...
- Keil的c语言编译器
我曾经通过查看反汇编代码对KEILC编译器进行了测试,大概有这么一下内容,也得出一些结论. (1)全局变量:如果程序中定义了全局变量,而且初始值不是0.此时,在程序调到main()函数执行前,除了要进 ...
- 欧几里得旅行商问题 java与c++实现
双调欧几里得旅行商问题是一个经典动态规划问题.<算法导论(第二版)>思考题15-1 旅行商问题描述:平面上n个点,确定一条连接各点的最短闭合旅程.这个解的一般形式为NP的(在多项式时间内可 ...
- XSS测试用例与原理讲解
1.<a href="javascript:alert(32)">DIBRG</a>2.<img href="javascript:aler ...
- CT 来值班,让您安心过新年!
春节,盼了整整一年的节日,我们一定要抛开工作,狠狠的开心,狠狠的幸福,但是作为苦逼的运维,你们真的能完全抛开工作(对网站不闻不问)吗?OneAPM CT 24 小时监控您的网站,让您无忧无虑过新年. ...