热门标签 | HotTags
当前位置:  开发笔记 > 数据库 > 正文

Oracle11gAMM与ASMM切换-mysql教程

默认情况下,Oracle11g是使用AMM的。我们在安装过程中,指定Oracle使用内存的百分比,这个取值就作为MEMORY_TARGET和MEMORY_MAX

默认情况下,Oracle 11g是使用AMM的。我们在安装过程中,指定Oracle使用内存的百分比,这个取值就作为MEMORY_TARGET和MEMORY_MAX

现在的Oracle正在往智能化方向发展。如果我们现在找一些8i/9i时代的Oracle书籍,怎么样配置合适的数据库各内存池大小是非常重要的话题。但是进入10g之后,自动内存池调节成为一个重要Oracle特性。

在10g时,Oracle推出了ASMM(Automatic Shared Memory Management),实现了Oracle SGA和PGA内部结构的自调节。进入11g之后,AMM(Automatic Memory Management)实现了参数MEMORY_TARGET,将SGA和PGA的规划全部统筹起来对待。

默认情况下,Oracle 11g是使用AMM的。我们在安装过程中,指定Oracle使用内存的百分比,,这个取值就作为MEMORY_TARGET和MEMORY_MAX_TARGET的初始取值使用。如果这两个参数设置为非零取值,那么Oracle就是采用AMM管理策略的。

同时,如果我们设置这两个参数为0,则AMM自动关闭。对应的SGA_TARGET、PGA_AGGREGATE_TARGET参数取值非零之后,Oracle自动退化使用ASMM特性。

--------------------------------------分割线 --------------------------------------

Oracle数据库不完全恢复

RMAN备份与恢复之基于时间点的不完全恢复

归档模式下,使用RMAN的同一备份两次用于不完全恢复

RMAN全库【完全恢复/不完全恢复】

CentOS 5.2 x86 安装Oracle 11g R2 笔记

在CentOS 6.4下安装Oracle 11gR2(x64)

Oracle 11gR2 在VMWare虚拟机中安装步骤

--------------------------------------分割线 --------------------------------------

本篇简单介绍一下AMM和ASMM的相互切换。

1、实验环境介绍

我们选择11.2.0.3进行试验,当前状态为ASMM。

SQL> select * from v$version;

BANNER

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

Oracle Database 11g Enterprise Edition Release 11.2.0.3.0 - Production

PL/SQL Release 11.2.0.3.0 - Production

CORE 11.2.0.3.0 Production





当前MEMORY_TARGET设置为零,AMM没有启用。





SQL> show parameter target



NAME TYPE VALUE

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

archive_lag_target integer 0

db_flashback_retention_target integer 1440

fast_start_io_target integer 0

fast_start_mttr_target integer 0

memory_max_target big integer 0

memory_target big integer 0

parallel_servers_target integer 16

pga_aggregate_target big integer 108M

sga_target big integer 252M





2、从ASMM到AMM



在11g中,如果使用ASMM,对应的内存共享段是真实的共享段。





[oracle@SimpleLinux ~]$ ipcs -m



------ Shared Memory Segments --------

key shmid owner perms bytes nattch status

0x00000000 32768 oracle 640 4194304 32

0x00000000 65537 oracle 640 260046848 32

0x01606d30 98306 oracle 640 4194304 32

下面进行参数的调整,这里笔者有一个建议,很多时候启动umount阶段故障都是由于不当的参数修改造成的。在进行参数修改之前,可以使用create pfile进行一下参数备份,可以加快故障出现时候的系统修复速度。

SQL> show parameter spfile

NAME TYPE VALUE

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

spfile string /u01/app/oracle/dbs/spfileora11g.ora



SQL> create pfile from spfile;

Done

修改系统参数,将sga和pga的target值设置为0,memory的target设置非0。注意,这个过程很多参数是静态的参数,可以都在spfile可见性中进行修改,之后重启服务器生效。

SQL> alter system set memory_max_target=360m scope=spfile;

System altered



SQL> alter system set memory_target=360m scope=spfile;

System altered



SQL> alter system set sga_target=0m scope=spfile;

System altered



SQL> alter system set sga_max_size=0 scope=spfile;

System altered



SQL> alter system set pga_aggregate_target=0 scope=spfile;

System altered

重新启动数据库服务器,查看参数配置。

SQL> conn / as sysdba

Connected.

SQL> startup force

ORACLE instance started.



Total System Global Area 263651328 bytes

Fixed Size 1344284 bytes

Variable Size 176164068 bytes

Database Buffers 83886080 bytes

Redo Buffers 2256896 bytes

Database mounted.

Database opened.



SQL> show parameter target

NAME TYPE VALUE

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

archive_lag_target integer 0

db_flashback_retention_target integer 1440

fast_start_io_target integer 0

fast_start_mttr_target integer 0

memory_max_target big integer 360M

memory_target big integer 360M

parallel_servers_target integer 16

pga_aggregate_target big integer 0

sga_target big integer 0

AMM启动之后,系统共享段变为“虚拟”共享段。

[oracle@SimpleLinux dbs]$ ipcs -m



------ Shared Memory Segments --------

key shmid owner perms bytes nattch status

0x00000000 163840 oracle 640 4096 0

0x00000000 196609 oracle 640 4096 0

0x01606d30 229378 oracle 640 4096 0

更多详情见请继续阅读下一页的精彩内容:


推荐阅读
  • CentOS下ProFTPD的安装与配置指南
    本文详细介绍在CentOS操作系统上安装和配置ProFTPD服务的方法,包括基本配置、安全设置及高级功能的启用。 ... [详细]
  • 软件测试行业深度解析:迈向高薪的必经之路
    本文深入探讨了软件测试行业的发展现状及未来趋势,旨在帮助有志于在该领域取得高薪的技术人员明确职业方向和发展路径。 ... [详细]
  • 在Android应用开发过程中,开发者经常遇到诸如CPU使用率过高、内存泄漏等问题。本文将介绍几种常用的命令及其应用场景,帮助开发者有效定位并解决问题。 ... [详细]
  • 龙蜥社区开发者访谈:技术生涯的三次蜕变 | 第3期
    龙蜥社区的开发者们通过自己的实践和经验,推动着开源技术的发展。本期「龙蜥开发者说」聚焦于一位资深开发者的三次技术转型,分享他在龙蜥社区的成长故事。 ... [详细]
  • 本文详细探讨了在Web开发中常见的UTF-8编码问题及其解决方案,包括HTML页面、PHP脚本、MySQL数据库以及JavaScript和Flash应用中的乱码问题。 ... [详细]
  • 探讨密码安全的重要性
    近期,多家知名网站如CSDN、人人网、多玩、开心网等的数据库相继被泄露,其中大量用户的账户密码因明文存储而暴露无遗。本文将探讨黑客获取密码的常见手段,网站如何安全存储用户信息,以及用户应如何保护自己的密码。 ... [详细]
  • CentOS7通过RealVNC实现多人使用服务器桌面
    背景:公司研发团队通过VNC登录到CentOS服务器的桌面实现软件开发工作为防止数据外泄,需要在RealVNC设置禁止传输文件、访问粘贴板等策略过程&# ... [详细]
  • 本文详细介绍了如何在CentOS 6.5系统上安装和配置Redis 3.0.6,包括必要的环境准备、软件包下载、编译安装及基本功能测试。 ... [详细]
  • 本文探讨了如何在PHP与MySQL环境中实现高效的分页查询,包括基本的分页实现、性能优化技巧以及高级的分页策略。 ... [详细]
  • H5技术实现经典游戏《贪吃蛇》
    本文将分享一个使用HTML5技术实现的经典小游戏——《贪吃蛇》。通过H5技术,我们将探讨如何构建这款游戏的两种主要玩法:积分闯关和无尽模式。 ... [详细]
  • Docker安全策略与管理
    本文探讨了Docker的安全挑战、核心安全特性及其管理策略,旨在帮助读者深入理解Docker安全机制,并提供实用的安全管理建议。 ... [详细]
  • 本文详细介绍了Oracle 11g中的创建表空间的方法,以及如何设置客户端和服务端的基本配置,包括用户管理、环境变量配置等。 ... [详细]
  • JUnit下的测试和suite
    nsitionalENhttp:www.w3.orgTRxhtml1DTDxhtml1-transitional.dtd ... [详细]
  • 从CodeIgniter中提取图像处理组件
    本指南旨在帮助开发者在未使用CodeIgniter框架的情况下,如何独立使用其强大的图像处理功能,包括图像尺寸调整、创建缩略图、裁剪、旋转及添加水印等。 ... [详细]
  • C# 中创建和执行存储过程的方法
    本文详细介绍了如何使用 C# 创建和调用 SQL Server 存储过程,包括连接数据库、定义命令类型、设置参数等步骤。 ... [详细]
author-avatar
mobiledu2502856411
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有