ORACLE数据库修改sga_max_size和sga_target后重启报ORA-00821错

故障背景:

为服务器进行操作系统重启,因硬件问题,服务器重启后128GB内存丢失一半,导致应用进程处理数据缓慢。Oracle软件版本为10.2.0.5。特别之处在于,数据库数据文件使用共享卷组裸设备,spfile是共享卷组上裸设备。

紧急决定,将此服务器上历史数据库SGA内存配置减少一般。

突发问题:

修改sga_max_size和sga_target后,重启数据库实例,报错提示ORA-00821。

应急处置:

在shutdown状态下,由spfile生产pfile。编辑pfile文件,调小sga_max_size和sga_target参数值。以pfile启动数据库,在将pfile内容写入spfile

操作步骤:

(1)在open状态下,修改sga内存配置,原配置减少至一般

alter system set sga_max_size=12240m scope=spfile;

alter system set sga_target=12240m scope=spfile;

(2)启动数据库报ORA-00821错

SQL> shutdown immediate

SQL> startup

ORA-00821: Specified value of sga_target 3072M is too small, needs to be at least 12896M

(3)查看spfile为裸设备文件

$ more  /home/db/oracle/product/10.2.0/dbs/initwcmdb.ora

SPFILE=‘/home/db/oracle/oradata/wcmdb/rspfile_01_512M‘

$ ls -l rspfileptdb_128m

lrwxrwxrwx 1 oracle dba 14 Jun 10 14:29 rspfileptdb_128m -> /dev/raw/raw10

(4)在shutdown状态下,由spfile生产pfile

SQL> create pfile=‘/tmp/pfile.0919‘ from spfile=‘/home/db/oracle/oradata/wcmdb/rspfile_01_512M‘;

(5)编辑pfile

$ vi /tmp/pfile.0919

将修改sga_max_size和sga_target参数值调小

(6)在shutdown状态下,以pfile启动数据库

SQL> startup pfile=‘/tmp/pfile.0919‘

(7)在open状态下,由pfile生产spfile

create spfile=‘/home/db/oracle/oradata/wcmdb/rspfile_01_512M‘ from  pfile=‘/tmp/pfile.0919‘

注意:spfile后必须写全路径

时间: 2024-10-05 04:19:34

ORACLE数据库修改sga_max_size和sga_target后重启报ORA-00821错的相关文章

解决Eclipse异常关闭后重启报 org.eclipse.swt.SWTException: Invalid thread access 的问题

. . . . . 很久没有写博客了,最近实在是太忙,一直想写点干货,但是一直没静下心来学习. 今天又在加班忙碌之中,结果谁知道越忙碌越出问题.先是 weblogic 没有正常启动,凭经验第一反应就是7001端口被其它程序占用了,然后通过命令查看之后,发现果然是被占用了,占用端口的竟然是Eclipse,查找占用端口的方式请移步至博主的另一篇文章<[windows]查询占用端口的程序——记一次解决webloigc启动失败的过程>. Eclipse之前是不占用7011端口的,这次占用估计可能是启动

Oracle数据库修改密码思路

如果你想修改自己的邮箱密码,不用想太多,改了就好,只要改的密码自己要记得.可是数据库密码就不一样了,数据库必然会有与之相对应的应用或者其他使用人员.如果贸然修改必然会引起其他人员或者用户的问题. 因此,在修密码之前必须先确定这次修改能不会导致令人难以接受的问题,比如应用长时间无法连接服务,其他人员使用老的密码无法连接数据库. 考虑缓存机制服务的情况,为了尽量减少服务中断的时间,这是看起来最好的方案: 1.修改配置文件. 由于是缓存机制服务,改过配置文件并不对现在运行的服务产生影响,因此选一个时间

oracle数据库修改连接数

最近在用weblogic部署项目,同时用的是oracle数据库,然后今天遇到一个问题:多个用户连接数据库连接不成功,有时提示被锁住,经检查发现一方面weblogic控制台中数据源的连接池配置没有配置足够的容量,另一方面是oracle数据库没有配足够的连接数 1.weblogic控制台修改如下 2.通过cmd命令修改数据库连接数并重启数据库 C:\Users\Administrator>sqlplus sys/sys@192.168.13.211/oanet as sysdba SQL*Plus:

问题1:Oracle数据库监听启动失败(重启监听,提示The listener supports no services)

编辑监听文件:/home/DB/oracle/11gR2/db/network/admin/listener.ora 在文件内添加静态监听实例,如下内容: SID_LIST_LISTENER =(SID_LIST = (SID_DESC = (GLOBAL_DBNAME = orcl) (SID_NAME = ora11g) )) 要注意的是,全局名和实例名要完全正确,此处区分大小写,比如之前试过,实际SID实例名是:ORA11g,但是我写成了ora11g,结果发现还是启动不了,把实例名改成OR

ORACLE 数据库建了非法表后无法操作和删除问题

问题描述: oracle 用PL/SQL DEVELOPER 可视化建表时,表名没有按照规范,建立一个非法格式的表 ICD-10th-Version (中间有横杆,非法).但是不知道怎么回事却建成功了.之后这表操作不了(增删改查)都不行.我想删除这表,但是都删不了.怎么办? SELECT * FROM ALL_TABLES t where t.owner='emr01' select * from all_objects where ....都可以查询到该表对象 尝试了一下删除语句: DROP

Oracle数据库修改用户密码

su - oracle sqlplus /nolog connect / as sysdba alter user zabbix(用户名)  identified by zabbix(新密码) 成功后马上登陆发现登陆不上了提示用户名被锁,所以重新进入运行下面代码: alter user myuser account unlock; 原文地址:https://www.cnblogs.com/A121/p/10531758.html

更改Oracle数据库密码导致vcenter服务无法启动

一.背景介绍 某企业生产环境中采用一台Windows2008R2物理服务器安装vCenter Server 5.5和Oracle 11g数据库,VC使用system账户连接Oracle数据库.安装之初对密码合规性没有明确规定,随意设置了该服务器administrator和Oracle的system账户密码,后期要求对这两个账户密码按要求进行整改. 二.问题及排查过程 当更改完administrator和oracle的system账户密码后,重启服务器,发现vcenter服务无法启动,手动启动出现

Oracle数据库的链接数目超标

测试场景:Oracle数据库的链接数目超标,iServer是否自动连接. 测试步骤:(1)设置了最大连接数为85,oracle后台进程有83:(2)开启3台iserver(A,B,C)A,B发布test正常,在C上发布后,A,B上的服务连接失败.(3)关闭iserver B,iserverC 后,发布在iserverA里的test服务重新连接成功 测试结论:Oracle数据库的链接数目超标后,iServer自动连接数据库功能正常. 总结: 1.查看oracle默认的连接数为: >show par

Oracle数据库的安装与卸载

Oracle数据库的安装 在stage/cvu/cvu_prereq.xml中添加Windows 10 <OPERATING_SYSTEM RELEASE="6.2"> <VERSION VALUE="3"/> <ARCHITECTURE VALUE="64-bit"/> <NAME VALUE="Windows 10"/> <ENV_VAR_LIST> <EN