您的位置:首页 > 数据库 > Oracle

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

2017-09-20 21:10 591 查看
故障背景:
为服务器进行操作系统重启,因硬件问题,服务器重启后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后必须写全路径
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  ORACLE 数据库 sga