ORA-00823 sga_target 大于 sga_max_size 異常處理
數據庫: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';
文件已創(chuàng)建。
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
數據庫裝載完畢。
數據庫已經打開。
