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

今天调整了下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

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

时间: 2024-08-06 03:45:36

调整oracle sga的大小导致 ORA-00851和ORA-00844错误的相关文章

Oracle SGA详解

SGA(SYSTEM Global Area )系统全局区 l 数据高速缓存 在Oracle进行数据处理的过程中,代价最昂贵的就是物理 I/O操作了.同样的数据从内存中得到要比从磁盘上读取快的多.因此,优化Oracle的一个重要的目标就是尽可能的降低物理 I/O操作. Oracle的 Buffer Cache用于缓存从磁盘中读取的数据,当 Oracle需要查找某些信息的时候,首先会在 BufferCache中寻找,如果找到了,则直接将结果返回.如果找不到,则需要对磁盘进行扫描, Oracle将在

oracle SGA

3.2 SGA系统全局区--System global area(SGA) 是一组共享的内存结构,它里面存储了oracle数据库实例(instance)的数据和控制文件信息.如果有多个用户同时连接到数据库,他们会共享这一区域,因此SGA也称之为Shared Global Area.当数据库实例启动时,SGA的内存被自动分配;当数据库实例关闭时,SGA内存被回收.SGA是占用内存最大的一个区域,同时也是影响数据库性能的重要因素.SGA主要包括以下几部分:? 共享池? 数据缓冲区? 大型池? Jav

真心崩溃了,oracle安装完成后居然没有tnsnames.ora和listener.ora文件

problem: oracle  11  r2  64位安装完成后NETWORK/ADMIN目录下居然没有tnsnames.ora和listener.ora文件 solution: 问题是之前安装了另外一个版本的oracle,我是安装了oracle xe,没有卸载干净,导致在环境变量中存在TNS_ADMIN指向了不正确的目录.如下图所示: 上图中的TNS_ADMIN的配置是正确的,原来的配置是错误的.原来的配置指向的是d:\oraclexe下的某个目录,因为指向的目录已经被删除,所以用oracl

oracle crs中监听资源状态异常(ora.LISTENER.lsnr)

一:版本信息 操作系统版本:AIX 61009 数据库版本:11.2.0.3.11(RAC) 二:错误描述 1) crsctl stat res -t命令查看crs资源状态的时候,发现"ora.LISTENER.lsnr"资源状态异常: ora.LISTENER.lsnr ONLINE OFFLINE ****1 ##实例1 ONLINE OFFLINE ****2 ##实例2 2)检查监听状态正常 lsnrctl LSNRCTL for IBM/AIX RISC System/600

iOS模拟器太大 如何调整XCode5的模拟器大小

基于Xcode5创建一个project, 运行后,你会发现模拟器有点儿不爽. 早期的模拟器,那可真的称得上拟物化,特像一个手机的样子. 而Xcode5 模拟器运行后,是一个白板,而且是一个大大的白板. 竟然连 home 键都不见了. 首先要做的是,如何调整这个模拟器的大小. command + R  模拟器运行后, 再按 command +1. command+2. command+3, 试试看. 你会发现 模拟器的大小发生了变化. 其实,模拟器还是那个模拟器,只不过是等比缩放了而已.  操作方

jquery实现的拖动可以调整table单元格大小代码实例

jquery实现的拖动可以调整table单元格大小代码实例: 本章节介绍一下如果利用jquery实现表格单元格可以通过鼠标拖动调整大小的效果,当然如果让我们完全写代码的话,可能会比较的复杂,不过有现成的插件可以使用,只要简单的几个步骤就可以实现我们的要求. 一.引入相关库文件: 要使用相关插件,那就必须要引入相关的代码文件,如下: <script src="/js/jquery-1.8.0.min.js" type="text/javascript">&

调整oracle数据库编码

新装数据库可能需要调整oracle数据库编码,否则在导入数据是可能会出错. oracle11g更改字符集AL32UTF8为ZHS16GBK Sql代码 Database character set (AL32UTF8) and Client character set (ZHS16GBK) are different. Character set conversion may cause unexpected results. Note: you can set the client chara

查看oracle数据库的大小和空间使用情况

查看oracle数据库的大小和空间使用情况 (2012-06-19 14:44:30) 转载▼ 标签: 杂谈 分类: oracle 1.查看表空间的使用状况 SELECT upper(f.tablespace_name) 表空间名, d.Tot_grootte_Mb "表空间大小(M) ", d.Tot_grootte_Mb - f.total_bytes "已使用空间(M) ", round((d.Tot_grootte_Mb - f.total_bytes) /

Mac 上VitrualBox安装CentOS6.5 调整root分区的大小

安装centOS的时候因为选择了动态调整磁盘大小,所以分配磁盘空间的时候就没多想,直接用的default的8G,以为不够了自己会调整,没想到是个大坑 发现提示空间不足的时候root只有0k了.... 解决方法: 1. 先重新分配虚拟机VHD文件的大小, cd /Users/apple/VirtualBox VMs/centos VBoxManage modifyhd centos.vhd --resize 30000 这里30000的单位是MB,所以就是重新分配VHD文件为30G 2. 这个时候