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

Oracle10g修改SGA_TARGET

在Oracle10g中,Oracle引入了sga_target初始化参数,进而实现了ASMM(AutomaticSharedMemoryManagement),即让设置一个SGA的目

在Oracle10g中,Oracle引入了sga_target初始化参数,进而实现了 ASMM(Automatic Shared Memory Management),即让设置一个SGA的目

在Oracle10g中,Oracle引入了sga_target初始化参数,进而实现了 ASMM(Automatic Shared Memory Management),即让设置一个SGA的目标值以及SGA的最大值,数据库来动态调整其中的各个组件,如Database buffer cache、Shared pool等等。从使用的角度来说ASMM的出现极大地简化了Oracle内存初始化参数的设置,在ASMM的使用上高级DBA和初学者不会有太大的差别;然而,ASMM带来便利的同时,更大程度上它是一个黑盒,黑盒里面藏了很多秘密,这些秘密带来比手动管理更多的不确定性。

下面我们看一下如何修改sga_target初始化参数的大小。

1.测试环境

我们在Oracle10g中进行测试,操作系统是Windows Server 2008 R2 Standard。

2.官方文档定义

接下来,我们看一下和ASMM相关的两个初始化参数在官方文档中的说明。

SGA_MAX_SIZE

属性

描述

参数类型

Big integer

语法

SGA_MAX_SIZE = integer [K | M | G]

默认值

是否可修改

取值范围

0~视操作系统而定

SGA_TARGET

属性

描述

参数类型

Big integer

语法

SGA_TARGET = integer [K | M | G]

默认值

是否可修改

ALTER SYSTEM

取值范围

64M~视操作系统而定

是否基本参数

l Buffer cache (DB_CACHE_SIZE)

l Shared pool (SHARED_POOL_SIZE)

l Large pool (LARGE_POOL_SIZE)

l Java pool (JAVA_POOL_SIZE)

l Streams pool (STREAMS_POOL_SIZE)

l Log buffer

l Fixed SGA and other internal allocations


3.查看相关初始化参数值

我们通过show parameter来查看初始化参数值,相关的参数包括sga_max_size、sga_target、pga_aggregate_target等。

我们看到,sga_max_size和sga_target两个参数的值都是1232M。

4.修改sga_target

我们通过alter system语句来修改sga_target,需要注意的是,sga_target是个动态参数,而sga_max_size是个静态参数。
这样一来,当修改值<=sga_max_size时,我们可以直接修改sga_target值;但是,当修改值>sga_max_size时,我们必须首先修改sga_max_size参数值,重启数据库使静态参数生效后再去修改sga_target值,否则,数据库会报错。

4.1修改值<=SGA_MAX_SIZE

首先,尝试将sga_target参数值修改为800M,,修改成功;
然后,尝试将sga_target参数值修改为500M,数据库报错ORA-00827,提示“无法将 sga_target 压缩到指定值”;

修改完成后,我们可以查看一下参数值,确认参数是否修改成功。

4.2修改值>SGA_MAX_SIZE

首先,尝试将sga_target参数值修改为2G,数据库报错ORA-00823,提示“指定的 sga_target 的值大于 sga_max_size”;


从官方文档对两个初始化参数的解释得知,sga_target的最大值是sga_max_size。
因此,我们需要首先修改sga_max_size的值,由于sga_max_size是静态参数,因此需要重启数据库,待静态参数修改生效后,这时才能将ga_target设置为目标值。

但是在重启过程中报错,提示“ORA-28547: 连接服务器失败, 可能是 Oracle Net 管理错误”。报错过程如下:

SQL>

经过分析可能和Windows下的服务有关,Windows平台下,oracle 中组成实例的后台进程是由 oracle 服务派生出来的线程实现的,所以任务管理器看不见 DBWn 之类的后台进程。shutdown 停掉实例过程,是关闭后台进程(这里对应线程)和释放 SGA 内存。因为关闭的是线程,所以在任务管理器中看不出变化。停掉 oracle 服务,才能停掉 oracle 进程。于是,我手动关闭并重启了Oracle服务,再次连接sys用户,顺利登陆。

我们看到,sga_max_size参数已经成功修改为2G,此时我们就可以修改sga_target的值了。

本文永久更新链接地址

推荐阅读
  • 如何实现织梦DedeCms全站伪静态
    本文介绍了如何通过修改织梦DedeCms源代码来实现全站伪静态,以提高管理和SEO效果。全站伪静态可以避免重复URL的问题,同时通过使用mod_rewrite伪静态模块和.htaccess正则表达式,可以更好地适应搜索引擎的需求。文章还提到了一些相关的技术和工具,如Ubuntu、qt编程、tomcat端口、爬虫、php request根目录等。 ... [详细]
  • 基于PgpoolII的PostgreSQL集群安装与配置教程
    本文介绍了基于PgpoolII的PostgreSQL集群的安装与配置教程。Pgpool-II是一个位于PostgreSQL服务器和PostgreSQL数据库客户端之间的中间件,提供了连接池、复制、负载均衡、缓存、看门狗、限制链接等功能,可以用于搭建高可用的PostgreSQL集群。文章详细介绍了通过yum安装Pgpool-II的步骤,并提供了相关的官方参考地址。 ... [详细]
  • 本文详细介绍了SQL日志收缩的方法,包括截断日志和删除不需要的旧日志记录。通过备份日志和使用DBCC SHRINKFILE命令可以实现日志的收缩。同时,还介绍了截断日志的原理和注意事项,包括不能截断事务日志的活动部分和MinLSN的确定方法。通过本文的方法,可以有效减小逻辑日志的大小,提高数据库的性能。 ... [详细]
  • 本文介绍了在开发Android新闻App时,搭建本地服务器的步骤。通过使用XAMPP软件,可以一键式搭建起开发环境,包括Apache、MySQL、PHP、PERL。在本地服务器上新建数据库和表,并设置相应的属性。最后,给出了创建new表的SQL语句。这个教程适合初学者参考。 ... [详细]
  • 搭建Windows Server 2012 R2 IIS8.5+PHP(FastCGI)+MySQL环境的详细步骤
    本文详细介绍了搭建Windows Server 2012 R2 IIS8.5+PHP(FastCGI)+MySQL环境的步骤,包括环境说明、相关软件下载的地址以及所需的插件下载地址。 ... [详细]
  • 本文介绍了如何使用php限制数据库插入的条数并显示每次插入数据库之间的数据数目,以及避免重复提交的方法。同时还介绍了如何限制某一个数据库用户的并发连接数,以及设置数据库的连接数和连接超时时间的方法。最后提供了一些关于浏览器在线用户数和数据库连接数量比例的参考值。 ... [详细]
  • 本文介绍了在Hibernate配置lazy=false时无法加载数据的问题,通过采用OpenSessionInView模式和修改数据库服务器版本解决了该问题。详细描述了问题的出现和解决过程,包括运行环境和数据库的配置信息。 ... [详细]
  • 在说Hibernate映射前,我们先来了解下对象关系映射ORM。ORM的实现思想就是将关系数据库中表的数据映射成对象,以对象的形式展现。这样开发人员就可以把对数据库的操作转化为对 ... [详细]
  • 推荐一个ASP的内容管理框架(ASP Nuke)的优势和适用场景
    本文推荐了一个ASP的内容管理框架ASP Nuke,并介绍了其主要功能和特点。ASP Nuke支持文章新闻管理、投票、论坛等主要内容,并可以自定义模块。最新版本为0.8,虽然目前仍处于Alpha状态,但作者表示会继续更新完善。文章还分析了使用ASP的原因,包括ASP相对较小、易于部署和较简单等优势,适用于建立门户、网站的组织和小公司等场景。 ... [详细]
  • 在数据分析工作中,我们通常会遇到这样的问题,一个业务部门由若干业务组构成,需要筛选出每个业务组里业绩前N名的业务员。这其实是一个分组排序的 ... [详细]
  • 阿,里,云,物,联网,net,core,客户端,czgl,aliiotclient, ... [详细]
  • [译]技术公司十年经验的职场生涯回顾
    本文是一位在技术公司工作十年的职场人士对自己职业生涯的总结回顾。她的职业规划与众不同,令人深思又有趣。其中涉及到的内容有机器学习、创新创业以及引用了女性主义者在TED演讲中的部分讲义。文章表达了对职业生涯的愿望和希望,认为人类有能力不断改善自己。 ... [详细]
  • 如何基于ggplot2构建相关系数矩阵热图以及一个友情故事
    本文介绍了如何在rstudio中安装ggplot2,并使用ggplot2构建相关系数矩阵热图。同时,通过一个友情故事,讲述了真爱难觅的故事背后的数据量化和皮尔逊相关系数的概念。故事中的小伙伴们在本科时参加各种考试,其中有些沉迷网络游戏,有些热爱体育,通过他们的故事,展示了不同兴趣和特长对学习和成绩的影响。 ... [详细]
  • 如何用UE4制作2D游戏文档——计算篇
    篇首语:本文由编程笔记#小编为大家整理,主要介绍了如何用UE4制作2D游戏文档——计算篇相关的知识,希望对你有一定的参考价值。 ... [详细]
  • 本文介绍了使用PHP实现断点续传乱序合并文件的方法和源码。由于网络原因,文件需要分割成多个部分发送,因此无法按顺序接收。文章中提供了merge2.php的源码,通过使用shuffle函数打乱文件读取顺序,实现了乱序合并文件的功能。同时,还介绍了filesize、glob、unlink、fopen等相关函数的使用。阅读本文可以了解如何使用PHP实现断点续传乱序合并文件的具体步骤。 ... [详细]
author-avatar
陈宗翰彦泉怡孜
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有