|
数据库:oracle 19.3
系统:Windows 11
问题描述:修改sga_max_size值后,重启数据库出现ORA-00823异常,如下所示:
SQL> show parameter sga_max_size
NAME TYPE VALUE
------------------------------------ ---------------------- ------------------------------
sga_max_size big integer 9824M
SQL> alter system set sga_max_size=8000M scope=spfile;
SQL> startup force
ORA-00823: Specified value of sga_target greater than sga_max_size
ORA-01078: 处理系统参数失败
SQL> select open_mode from v$database;
select open_mode from v$database
*
第 1 行出现错误:
ORA-01034: ORACLE not available
进程 ID: 0
会话 ID: 745 序列号: 27597
ERROR:
OCI-21710: 参数要求对象的有效内存地址
异常原因:修改过sga_max_size或者sga_target参数值,导致sga_target比sga_max_size值大。
处理过程:
C:\Users\Administrator>sqlplus / as sysdba
SQL*Plus: Release 19.0.0.0.0 - Production on 星期日 5月 15 20:10:58 2022
Version 19.3.0.0.0
Copyright (c) 1982, 2019, Oracle. All rights reserved.
已连接到空闲例程。
SQL> create pfile='F:\oracle19c\dbs\initorcl.ora' from spfile;
File created.
SQL> shutdown immediate
修改生成的pfile文件,以下为修改前的参数值:
*.sga_max_size=8388608000
*.sga_target=9799m
可以看到sga_target比sga_max_size值大。
将sga_max_size修改为:
*.sga_max_size=12000m
C:\Users\Administrator>sqlplus / as sysdba
SQL*Plus: Release 19.0.0.0.0 - Production on 星期日 5月 15 20:15:13 2022
Version 19.3.0.0.0
Copyright (c) 1982, 2019, Oracle. All rights reserved.
已连接到空闲例程。
SQL> startup nomount pfile='F:\oracle19c\dbs\INITORCL.ORA';
ORACLE 例程已经启动。
Total System Global Area 1.2583E+10 bytes
Fixed Size 12581272 bytes
Variable Size 4060086272 bytes
Database Buffers 8489271296 bytes
Redo Buffers 20971520 bytes
SQL> create spfile from pfile='F:\oracle19c\dbs\INITORCL.ORA';
文件已创建。
SQL> shutdown immediate
ORA-01507: ??????
ORACLE 例程已经关闭。
SQL>
SQL>
SQL> startup
ORACLE 例程已经启动。
Total System Global Area 1.2583E+10 bytes
Fixed Size 12581272 bytes
Variable Size 4060086272 bytes
Database Buffers 8489271296 bytes
Redo Buffers 20971520 bytes
数据库装载完毕。
数据库已经打开。
|
|