返回顶部
首页 > 资讯 > 数据库 >【读书笔记】ORACLE 内存管理
  • 346
分享到

【读书笔记】ORACLE 内存管理

2024-04-02 19:04:59 346人浏览 薄情痞子
摘要

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

 《Administrator's Guide》第6章介绍了oracle实例的内存管理,在11g中,ORACLE默认使用自动内存管理(AMM)来管理SGA和PGA的大小。除了默认的方法之外,还可以使用自动共享内存管理SGA(ASMM)、手动共享内存管理SGA、自动PGA内存管理、手动PGA内存管理。

一、自动内存管理

  自动内存管理是最方便的内存管理方式,只需要设定参数MEMORY_TARGET的值,ORACLE 就会根据实际需要分配SGA和PGA。

1.1应用自动内存管理

  1.用SYSDBA的身份连接sql*PLUS

  2. 计算MEMORY_TARGET的值

    1)show parameter target,查看sga_target和pga_aggregate_target的值

   2)查看实例启动之后分配的最大的pga的值

    select round(value/1024/1024) "MB" 

    from v$pgastat 

    where name='maximum PGA allocated';

   3)MEMORY_TARGET=sga_target+max(pga_aggregate_target,maximum PGA allocated)

  3.可以使用第二步中计算出来的MEMORY_TARGET的值,或者设定一定大于计算出来的值,记为m.

  4.可以使用MEMORY_TARGET或者一个大于MEMORY_TARGET的值作为MEMORY_MAX_TARGET的值,MEMORY_MAX_TARGET是MEMORY_TARGET所能调整到的最大值,记为n。

  5.修改MEMORY_MAX_TARGET的值:

   ALTER SYSTEM SET MEMORY_MAX_TARGET = nM SCOPE = SPFILE;

  6.重启数据库

  7.修改MEMORY_TARGET的值。

   ALTER SYSTEM SET MEMORY_TARGET = nM;

   ALTER SYSTEM SET SGA_TARGET = 0;

   ALTER SYSTEM SET PGA_AGGREGATE_TARGET = 0;


1.2 监控自动内存管理

 select * from v$memory_target_advice order by memory_size;

二、自动共享内存管理

  自动共享内存管理(ASMM)简化了SGA的管理,通过设置SGA_TARGRT的值,数据库会自动管理SGA组成部分的值。SGA可以被自动管理的部分分别是shared pool、large pool、Java pool、buffer cache、Streams pool,需要手动设值的部分是log buffer、keep and recycle buffer caches、Nonstandard block size buffer caches。

  监控ASMM内存管理的视图是v$sga_target_advice:

  select * from v$sga_target_advice order by sga_size;

  应用自动共享内存管理:

  1.从手动共享内存管理切换到自动共享内存管理

    1)运行以下SQL:

    SELECT round(((SELECT SUM(value) FROM V$SGA) - (SELECT CURRENT_SIZE FROM V$SGA_DYNAMIC_FREE_MEMORY))/1024/1024,2) "SGA_TARGET"

    FROM DUAL;

    2)设置SGA_TARGET的值:

    ALTER SYSTEM SET SGA_TARGET=value [SCOPE={SPFILE|MEMORY|BOTH}]

    value的值可以是1)中计算出的值,也可以是SGA各个部分之和至 SGA_MAX_SIZE中的值。

    3)指定SHARED_POOL_SIZE、LARGE_POOL_SIZE、JAVA_POOL_SIZE、DB_CACHE_SIZE、STREAMS_POOL_SIZE的最小值(可以是0也可以是非0值)。

  2.从AMM切换到ASMM:

   1)ALTER SYSTEM SET MEMORY_TARGET = 0;

   2)设置SGA_TARGET的值

   3)指定SHARED_POOL_SIZE、LARGE_POOL_SIZE、JAVA_POOL_SIZE、DB_CACHE_SIZE、STREAMS_POOL_SIZE的最小值(可以是0也可以是非0值)。

三、手动共享内存管理

    在这种模式下,需要设置SGA各个部分的值,如果没有设置的话,就会使用默认值。

    要启用这种模式,则需要禁用MEMORY_TARGET、SGA_TARGET的值。

四、自动PGA内存管理

    需设置pga_aggregate_target的值。

五、手动PGA内存管理

    workarea_size_policy的值要设置成manual, 需要设置SORT_AREA_SIZE、HASH_AREA_SIZE、BITMAP_MERGE_AREA_SIZE 、 CREATE_BITMAP_AREA_SIZE.的值。

    Oracle强烈建议使用自动管理PGA的模式。

您可能感兴趣的文档:

--结束END--

本文标题: 【读书笔记】ORACLE 内存管理

本文链接: https://lsjlt.com/news/42258.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • 【读书笔记】ORACLE 内存管理
     《Administrator's Guide》第6章介绍了ORACLE实例的内存管理,在11g中,ORACLE默认使用自动内存管理(AMM)来管理SGA和PGA的大小。除了默认的方法之外,还可以...
    99+
    2024-04-02
  • [读书笔记]ORACLE数据库文件管理
      数据库文件包括数据文件、日志文件、控制文件和密码文件、参数文件等,对于这些文件的管理可以看作是增删改查的过程。1.数据文件管理增:新增表空间时增加数据文件create ta...
    99+
    2024-04-02
  • 【C++笔记】C++内存管理
    【C++笔记】C++内存管理 一、C++中动态内存申请的方式二、new和delete的实现原理2.1、operator new和operator delete函数 一、C++中动态内存申请的方式 在C语言中我们需要动态申请空...
    99+
    2023-08-30
    c++ 笔记 开发语言 c语言
  • 读书笔记1
    元组与列表变量分配操作符身份操作符动态类型成员操作符short-circuit逻辑异常处理增强的赋值操作符pager(26)...
    99+
    2023-01-31
    读书笔记
  • 几点PostgreSQL读书笔记
    我去年出差略多,于是在路上把目前主要的两本PostgreSQL书大概翻了翻,做了些笔记,谈点个人看法。 以下简称PG,反正都懂。文内对PG有误解或说错的地方还请批评指正。 第一部分笔记,基于《PostgreSQL修炼之道》一书为主。...
    99+
    2022-01-24
    几点PostgreSQL读书笔记
  • [读书笔记]ORACLE11GR2 DataGuard架构
    一、Data Guard架构图图1.1 Data Guard 架构图Data Guard(以下简称DG)由5个部分组成,分别是重做数据服务、角色管理与切换、备库的应用服务、主库的保护模式、DG的管理。二、重...
    99+
    2024-04-02
  • Linux内核设备驱动之内存管理笔记整理
    到目前为止,内存管理是unix内核中最复杂的活动。我们简单介绍一下内存管理,并通过实例说明如何在内核态获得内存。 (1)各种地址 对于x86处理器,需要区分以下三种地址: *逻辑地址(logical addres...
    99+
    2022-06-04
    linux内存 linux内存管理 linux内核设备驱动
  • 【读书笔记】数据库审计
    数据库版本: Oracle Database 11g Enterprise Edition Release 11.2.0.1.0&nbs...
    99+
    2024-04-02
  • 《可爱的Python》读书笔记(一)
    Just use it! don't learn!——只用,不学!无意间了解到《可爱的Python》就被它的名字所吸引。查了书评得知这本书是有争议的,有人觉得书中很多都是点到为止不适合新手入门,处处给读者挖坑,结构混乱更不能作为参考书。有人...
    99+
    2023-01-31
    读书笔记 可爱 Python
  • java核心技术读书笔记
    ...
    99+
    2023-06-03
  • oracle读书笔记之Oracle 11g R2 DBA操作指南(前三章)
        Oracle 11g R2 DBA操作指南是我学习的第一本讲述oracle数据库知识的书籍,在此记录下自己的学习笔记,对于书中的知识点本人通过实际操作进行验证...
    99+
    2024-04-02
  • oracle学习笔记-用户管理
    1:创建用户create user username identified by password;注意:密码开头要字母2:修改密码自己:password别人:password username  ...
    99+
    2024-04-02
  • oracle 11g与oracle 10g内存管理
        11g 中新增MEMORY_MAX_TARGET参数,此参数一出现就如在10g中第一次出现SGA_MAX_SIZE参数一样给人以耳目一新的感觉。memory_max_target是设定Oracle能...
    99+
    2024-04-02
  • MySQL必知必会1-20章读书笔记
    MySQL备忘 目录 目录使用MySQL检索数据排序检索数据过滤数据数据过滤用通配符进行过滤用正则表达式进行搜索创建计算字段使用数据处理函数数值处理函数汇总数据分组数据使用子查询作为计算字段使用子查询联结表创建高级联结组合查询全...
    99+
    2019-01-02
    MySQL必知必会1-20章读书笔记
  • MongoDB-Manual-Master 读书笔记-简介及安装
    MongoDB介绍1.1 什么是MongoDBMongoDB 是开源的文档数据库,提供了高性能、高可用性、高扩展性。1.1.1 文档数据库在MongoDB中一条记录称之为文档,也可以理解成关系数据库中的行。...
    99+
    2024-04-02
  • 数据库基本概念(读书笔记)--python
    1.数据库的概念: 通俗来说就是把数据囤积起来的地方,存储的地方,不局限于磁盘、硬盘、软盘等掉电不易失的地方,掉电易失内存等也可以用来数据囤积。 官方定义:按照数据结构来组织、存储、管理数据的仓库。 早期存...
    99+
    2024-04-02
  • 流畅的python读书笔记-第十章-继
    推出继承的初衷是让新手顺利使用只有专家才能设计出来的框架。——Alan Kay 子类化内置类型很麻烦 (如 list 或 dict)) ,别搞这种 直接子类化内置类型(如 dict、list 或 str)容易出错,因为内置类型的 方法...
    99+
    2023-01-31
    第十章 流畅 读书笔记
  • Oracle的内存管理方式
    本篇内容主要讲解“Oracle的内存管理方式”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Oracle的内存管理方式”吧!Oracle 内存管理方式oracle...
    99+
    2024-04-02
  • 【读书笔记】手动生成段顾问建议
    DECLARE      my_task_id   number;    &...
    99+
    2024-04-02
  • 设置ORACLE自动内存管理
    文章参考:ORACLE 11g官方文档[Managing Memory]前言:之前搭建数据库集群环境后,现场的维护人员不知何时改为了手动内存管理,且参数设置存在不合理,导致客户plsql执行报错,如下所示:...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作