sga_max_size是相对于操作系统来讲的,当启动oracle时,一次性分配给oracle实例的sga不会超过sga_max_size值;而sga_target是相对于oracle这个正在运行的应用软件来说的,在系统已经分配了sga_max_size值的内存给oracle的前提下,对sga_target值进修改。对sga_max_size修改时,scope只对spfile生效。

  第一次启动oracle时,sga_target与sga_max_size数值一样。




SQL> show parameter sga;




NAME

 
  
 
  
  
 
  
  
 
  
  
 
  
  
 
 TYPE  
  
 
  
  
 
VALUE

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

lock_sga  
  
  
 
  
  
 
  
  
 
  
  
 
  
 boolean  
 
  
  
 
FALSE

pre_page_sga  
  
 
  
  
 
  
  
 
  
  
 
 boolean  
  
 
  
  
FALSE

sga_max_size  
  
 
  
  
 
  
  
 
  
  
 
 big integer  
 
 
 892M

sga_target  
  
  
 
  
  
 
  
  
 
  
  
 
 big integer  
 
  
892M





一、对sga_max_size提高、降低的限制



1、用户调高sga_max_size,不对sga_target进行修改,重启oracle时,sga_max_size会相应变化



SQL> alter system set sga_max_size=1024mscope=spfile;



System altered.



SQL> show parameter sga;



NAME  
  
  
 
  
  
 
  
  
 
  
  
 
  
  
 
 TYPE  
  
 
  
  
 
VALUE

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

lock_sga  
  
  
 
  
  
 
  
  
 
  
  
 
  
 boolean  
 
  
  
FALSE

pre_page_sga  
  
 
  
  
 
  
  
 
  
  
 boolean 
  
  
 
 FALSE

sga_max_size  
  
 
  
  
 
  
  
 
  
  
 
big integer  
  
892M

sga_target  
  
  
 
  
  
 
  
  
 
  
  
 
big integer  
  
892M

SQL> shutdown immediate

Database closed.

Database dismounted.

ORACLE instance shut down.

SQL> startup

ORACLE instance started.



Total System Global Area 1073741824 bytes

Fixed Size 2026296 bytes

Variable Size 377488584 bytes

Database Buffers 687865856 bytes

Redo Buffers 6361088 bytes

Database mounted.

Database opened.

SQL> show parameter sga



NAME  
  
  
 
  
  
 
  
  
 
  
  
 
  
  
 
 TYPE  
  
 
  
  
 
VALUE

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

lock_sga  
  
  
 
  
  
 
  
  
 
  
  
 
  
 boolean  
 
  
  
FALSE

pre_page_sga  
  
 
  
  
 
  
  
 
  
  
 
boolean  
  
 
  
 FALSE

sga_max_size  
  
 
  
  
 
  
  
 
  
  
 
big integer  
  
1G

sga_target  
  
  
 
  
  
 
  
  
 
  
  
 
big integer  
  
892M





2、当用户调整sga_max_size的大小,使其小于sga_target,重新启动oracle的时候,系统分配给sga_max_size将参照sga_target值



SQL> alter system set sga_max_size=520mscope=spfile;



System altered.



SQL> show parameter sga



NAME  
  
  
 
  
  
 
  
  
 
  
  
 
  
  
 
 TYPE  
  
 
  
  
 
VALUE

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

lock_sga  
  
  
 
  
  
 
  
  
 
  
  
 
  
 boolean  
 
  
  
FALSE

pre_page_sga  
  
 
  
  
 
  
  
 
  
  
 
boolean  
  
 
  
 FALSE

sga_max_size  
  
 
  
  
 
  
  
 
  
  
 
big integer  
  
1G

sga_target  
  
  
 
  
  
 
  
  
 
  
  
 
big integer  
  
892M

SQL> shutdown immediate

startup

Database closed.

Database dismounted.

ORACLE instance shut down.

SQL> ORACLE instance started.



Total System Global Area 935329792 bytes

Fixed Size 2025168 bytes

Variable Size 243271984 bytes

Database Buffers 683671552 bytes

Redo Buffers 6361088 bytes

Database mounted.

Database opened.

SQL> show parameter sga



NAME  
  
  
 
  
  
 
  
  
 
  
  
 
  
  
 
 TYPE  
  
 
  
  
 
VALUE

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

lock_sga  
  
  
 
  
  
 
  
  
 
  
  
 
  
 boolean  
 
  
  
FALSE

pre_page_sga  
  
 
  
  
 
  
  
 
  
  
 
boolean  
  
 
  
 FALSE

sga_max_size  
  
 
  
  
 
  
  
 
  
  
 
big integer  
  
 
892M

sga_target  
  
  
 
  
  
 
  
  
 
  
  
 
big integer  
  
892M



二、对sga_target提高、降低的限制

3、想提高sga_target值使其大于sga_max_size,需先提高sga_max_size值,重启oracle后才能修改并提高sga_target值



SQL> show parameter sga



NAME  
  
  
 
  
  
 
  
  
 
  
  
 
  
  
 
 TYPE  
  
 
  
  
 
VALUE

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

lock_sga  
  
  
 
  
  
 
  
  
 
  
  
 
  
 boolean  
 
  
  
FALSE

pre_page_sga  
  
 
  
  
 
  
  
 
  
  
 
boolean  
  
 
  
 FALSE

sga_max_size  
  
 
  
  
 
  
  
 
  
  
 
big integer  
  
892M

sga_target  
  
  
 
  
  
 
  
  
 
  
  
 
big integer  
  
892M

SQL> alter system set sga_target=1024mscope=both;

alter system set sga_target=1024m scope=both

*

ERROR at line 1:

ORA-02097: parameter cannot be modified because specified value isinvalid

ORA-00823: Specified value of sga_target greater thansga_max_size





SQL> alter system set sga_max_size=1024mscope=spfile;



System altered.



SQL> alter system set sga_target=1024mscope=both;

alter system set sga_target=1024m scope=both

*

ERROR at line 1:

ORA-02097: parameter cannot be modified because specified value isinvalid

ORA-00823: Specified value of sga_target greater thansga_max_size





SQL> shutdown immediate

startup

Database closed.

Database dismounted.

ORACLE instance shut down.

SQL> ORACLE instance started.



Total System Global Area 1073741824 bytes

Fixed Size 2026296 bytes

Variable Size 385877192 bytes

Database Buffers 679477248 bytes

Redo Buffers 6361088 bytes

Database mounted.

Database opened.

SQL> show parameter sga



NAME  
  
  
 
  
  
 
  
  
 
  
  
 
  
  
 
 TYPE  
  
 
  
  
 
VALUE

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

lock_sga  
  
  
 
  
  
 
  
  
 
  
  
 
  
boolean  
 
  
  
FALSE

pre_page_sga  
  
 
  
  
 
  
  
 
  
  
 
boolean  
  
 
  
 FALSE

sga_max_size                    big integer    1G

sga_target                      big integer    892M

SQL> alter system set sga_target=1gscope=both;

System altered.



SQL> show parameter sga



NAME  
  
  
 
  
  
 
  
  
 
  
  
 
  
  
 
 TYPE  
  
 
  
  
 
VALUE

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

lock_sga  
  
  
 
  
  
 
  
  
 
  
  
 
  
boolean  
 
  
  
FALSE

pre_page_sga  
  
 
  
  
 
  
  
 
  
  
 boolean 
  
  
 
 FALSE

sga_max_size  
  
 
  
  
 
  
  
 
  
  
 
big integer  
  
1G

sga_target  
  
  
 
  
  
 
  
  
 
  
 
 
 big integer  
 
 1G

总结:1、sga_max_size值调大、调小不受sga_target的限制,但若要让sga_max_size调小后的值生效,则必须先降低sga_target的大小,然后再修改sga_max_size,重启使其生效;

2、sga_target调高,必须在sga_max_size范围内,调小不受sga_max_size的限制。


转自:http://blog.csdn.net/u010722938/article/details/39342887

Oracle 10g 如何调整 sga_max_size 与 sga_target的更多相关文章

  1. 深入解析Oracle 10g中SGA_MAX_SIZE和SGA_TARGET参数的区别和作用

    原文链接:http://m.blog.csdn.net/blog/aaron8219/40037005 SGA_MAX_SIZE是从9i以来就有的作为设置SGA大小的一个参数,而SGA_TARGET则 ...

  2. Install Oracle 10g on Red Hat Linux 5.3 Step by Step

    一.虚拟机配置 1. 虚拟机(VBox 4.3.12) 2. 配置虚拟机网卡网络.选择host-only.VirtualBox Host-Only Network网卡IP为设置为192.168.1.1 ...

  3. Linux 内核参数 和 Oracle相关参数调整

    Linux 内核参数 和 Oracle相关参数调整 分类: Oracle Basic Knowledge2009-10-14 12:23 9648人阅读 评论(0) 收藏 举报 oraclelinux ...

  4. CENTOS 6.4 安装oracle 10g,手工建库及升级到10.2.0.5

    一. 数据库软件安装 参照官方手册 1.安装rpm包 注这里的yum直接用163的yum yum -y install binutils compat-libstdc++-33 compat-libs ...

  5. Oracle10G的Sga_max_size和sga_target应该如何设置啊!

    1调整原因 我们的客户反应现在我们公司的软件使用起来比较漫.目前他们已经用快要两年了.根据用户反应的情况,公司派我到现场做数据库调优.我在现场走访了几个部门,也向操作人员了解了一些情况.我初步分析认定 ...

  6. oracle数据库内存调整之增加内存

    注:本文来源:小颜Kevin   <oracle数据库内存调整之增加内存> 模拟操作系统内存从2G增加为8G后,调整数据库内存参数,示例中参数不作为实际生产环境参考,因为因需所取,调整参数 ...

  7. 关于Oracle的性能调整(一)

    Oracle Tuning的一些总结 关于Oracle的性能调整,一般包括两个方面,一是指Oracle数据库本身的调整,比如SGA.PGA的优化设置,二是连接Oracle的应用程序以及SQL语句的优化 ...

  8. [笔记]--Oracle 10g在Windows 32位系统使用2G以上内存

    1.修改c:\boot.ini文件 打开boot.ini文件,我的电脑->属性->高级->启动和恢复->编辑,设置在最后一行末尾添加/PAE选项后如下: [boot loade ...

  9. oracle 10g升级到11g

    Linux 上Oracle RAC 10g 升级到 Oracle RAC 11g 了解如何在 Oracle Enterprise Linux 5 上逐步将 Oracle RAC 10g 第 2 版升级 ...

随机推荐

  1. webpack入门级 - 从0开始搭建单页项目配置

    前言 webpack 作为前端最知名的打包工具,能够把散落的模块打包成一个完整的应用,大多数的知名框架 cli 都是基于 webpack 来编写.这些 cli 为使用者预设好各种处理配置,使用多了就会 ...

  2. node目录

    1 [了解nodejs] 1.1 [node简介] 1.2 [node的特点] 1.3 [如何安装] 1.4 [如何运行] 2 [es6--基本语法] 2.1 [变量的解构赋值] 2.2 [解构赋值] ...

  3. cmd.exe解释器漏洞

    安全研究员Julian Horoszkiewicz发现了cmd.exe命令行解释器中的漏洞,该漏洞允许执行任意命令. 在寻找新的攻击媒介以允许Windows中注入命令时,Khoroshkevich发现 ...

  4. 第 16 章 【硬核!】 垃圾回收相关 GC细讲

    第 16 章 垃圾回收相关概念 1.System.gc() 的理解 1.1.System.gc() 方法 System.gc() 方法 在默认情况下,通过System.gc()者Runtime.get ...

  5. Stream并行流详解

    1.并行与并发的区别 在说到并行的时候,相信很多人都会想到并发的概念.那么并行和并发两者一字之差,有什么区别呢? 并行:多个任务在同一时间点发生,并由不同的cpu进行处理,不互相抢占资源 并行: 并发 ...

  6. (四)linux的常用环境变量及设置

    一.为什么要设置环境变量 1.环境变量能解决什么问题? 你是否经历过输入$python命令后,屏幕上打印出python:command not found的尴尬:每一次都要输入$/home/tools ...

  7. spark 系列之一 RDD的使用

    spark中常用的两种数据类型,一个是RDD,一个是DataFrame,本篇主要介绍RDD的一些应用场景见代码本代码的应用场景是在spark本地调试(windows环境) /** * 创建 spark ...

  8. double 转为long类型

    System.out.println(new Double(234314.999999999).longValue());//234314  System.out.println(new Double ...

  9. Oracle中除数为0的两种解决办法(decode与nullif)

    Oracle中Decode函数,语句DECODE(tag,''ZCGS'',0,1)=decode(''@corp-No@'',''6010'',1,0) decode(字段或字段的运算,值1,值2, ...

  10. [leetcode]207. Course Schedule课程表

    在一个有向图中,每次找到一个没有前驱节点的节点(也就是入度为0的节点),然后把它指向其他节点的边都去掉,重复这个过程(BFS),直到所有节点已被找到,或者没有符合条件的节点(如果图中有环存在). /* ...