调整Oracle sga的大小导致 ORA-00851和ORA-00844错误

企鹅博客
企鹅博客
企鹅博客
25193
文章
0
评论
2020年8月31日10:49:43 评论 42 views

今天调整了下Oracle sga的大小,结果重启数据库的时候报如下错误。
 SQL>alter system set sga_max_size=1024M scope=spfile;
 SQL> shutdown immediate
 SQL> startup
 ORA-00844: Parameter not taking MEMORY_TARGET into account
 ORA-00851: SGA_MAX_SIZE 1073741824 cannot be set to more than MEMORY_TARGET 784334848.
 在Oracle查了下,原来11g新增了个参数MEMORY_TARGET,其大小等于PGA+SGA,当sga的大小大于MEMORY_TARGET就会报如上错误。
 

解决方法:
 可以直接修改spflie文件中MEMORY_TARGET的大小,可是由于之前没查看spfile的位置,不知道spfile的具体位置,所以只能采用如下方法
 1.sqlplus  / as sysdba
 SQL>create pfile='/home/oracle/pfile' from spfile;
 创建pfile文件,修改pfile文件中的MEMORY_TARGET参数,
 然后重新创建spfile文件
 SQL>create spfile from pfile='/home/oracle/pfile';
 

重启结果又报下面的错
 SQL> startup
 ORA-00845: MEMORY_TARGET not supported on this system
 这个是由于系统tmpfs小于MEMORY_TARGET导致的,需要调整tmpfs的大小
 vi /etc/fstab
 tmpfs                  /dev/shm                tmpfs  defaults,size=2G      0 0
 修改size的大小
 重新挂载
 mount -o remount /dev/shm
 验证下
 df -h
 

现在终于可以正常启动数据库了
 SQL> startup
 ORACLE instance started.
 

Total System Global Area 1068937216 bytes
 Fixed Size                  2220200 bytes
 Variable Size            943722328 bytes
 Database Buffers          117440512 bytes
 Redo Buffers                5554176 bytes
 Database mounted.
 Database opened.

总结一下,以后调整sga的顺序是,先调整tmpfs的大小,再调整MEMORY_TARGET 的大小,最后调整sga,保证tmpfs>MEMORY_TARGET >sga+pga

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

Linux-6-64下安装Oracle 12C笔记 http://www.linuxidc.com/Linux/2013-07/86805.htm

在CentOS 6.4下安装Oracle 11gR2(x64) http://www.linuxidc.com/Linux/2014-02/97374.htm

Oracle 11gR2 在VMWare虚拟机中安装步骤 http://www.linuxidc.com/Linux/2013-09/89579p2.htm

Debian 下 安装 Oracle 11g XE R2 http://www.linuxidc.com/Linux/2014-03/98881.htm

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

继续阅读
企鹅博客
  • 本文由 发表于 2020年8月31日10:49:43
  • 转载请务必保留本文链接:https://www.qieseo.com/190030.html
NUMA导致的Oracle性能问题 Linux-数据库

NUMA导致的Oracle性能问题

背景简介: Oracle版本:11.2.0.4   OS 版本:OEL5.8 在一次Oracle的Dataguard正常switchover过程中,遇到了一个极其诡异的问题,一条主业务的SQL语句在新...
Oracle中IP地址和掩码转换成CIDR格式 Linux-数据库

Oracle中IP地址和掩码转换成CIDR格式

遇到的问题如下:数据库中存储了IP地址,以及IP地址掩码,需要将他们转化成CIDR格式的,并且不仅仅是将掩码转化成CIDR对应的数字的问题,需要将原有的IP地址转化成对应的网络地址,例如IP地址是58...
匿名

发表评论

匿名网友 填写信息

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: