最近在Linux平台下安装Oracle 19c,启动时告警日志出现ORA-00700错误的问题:
环境描述:
操作系统:Oracle Linux Server release 7.6
内存大小:16GB
数据库 :19.16.0.0.0
问题描述:
在Oracle 19c启动时,在Oracle的告警日志中会出现下面这样一条告警信息:
Errors in file /u01/app/oracle/diag/rdbms/orcl_std1/orcl/trace/orcl_ora_23094.trc (incident=1):
ORA-00700: soft internal error, arguments: [pga physmem limit], [3221225472], [3137240883], [], [], [], [], [], [], [], [], []
Incident details in: /u01/app/oracle/diag/rdbms/orcl_std1/orcl/incident/incdir_1/orcl_ora_23094_i1.trc
分析解决:
分析ORA-00700错误的信息,我们可以知道这个错误是由于不正确的数据库设置导致的。这个失败目前对实例不是致命的,但是,这可能会导致在查询执行期间发生意外行为。所以最好还是解决掉这个问题.
[oracle@orcl trace]$ oerr ora 700
00700, 00000, "soft internal error, arguments: [%s], [%s], [%s], [%s], [%s], [%s], [%s], [%s], [%s], [%s], [%s], [%s]"
// *Cause: Internal inconsistency that will not crash a process
// *Action: Report as a bug - the first argument is the internal error.
[oracle@LZ3Q-SMT-IMES-DB01 trace]$ 根据alter.log日志文件信息,错误记录在/u01/app/oracle/diag/rdbms/orcl_std1/orcl/trace/orcl_ora_23094.trc文件中,查看文件
Incident 1 create,dump file:/u01/app/oracle/diag/rdbms/orcl_std1/orcl/incident/incdir_1/orcl_ora_23094_i1.trc
ORA-00700: soft internal error, arguments: [pga physmem limit], [3221225472], [3137240883], [], [], [], [], [], [], [], [], []错误生成/u01/app/oracle/diag/rdbms/orcl_std1/orcl/incident/incdir_1/orcl_ora_23094_i1.trc 日志
[TOC00000]
Jump to table of contents
Dump continued from file: /u01/app/oracle/diag/rdbms/orcl_std1/orcl/trace/orcl_ora_23094.trc
[TOC00001]
ORA-00700: soft internal error, arguments: [pga physmem limit], [3221225472], [3137240883], [], [], [], [], [], [], [], [], []
[TOC00001-END]
[TOC00002]
========= Dump for incident 1 (ORA 700 [pga physmem limit]) ========
[TOC00003]
----- Beginning of Customized Incident Dump(s) -----
WARNING: PGA_AGGREGATE_TARGET (3072 MB) is too high for
the amount of physical memory (15750 MB) and
SGA size (8192 MB) - it should be less than 2991 MB.根据日志:PGA_AGGREGATE_TARGET:设置3072 MB 过大,要求在SGA设置为8192MB的前提下,必须小于2991 MB。
设置后重启数据库,问题解决。
ORACLE官网建议
For example, the following settings can be used to startup the instance:
PGA_AGGREGATE_TARGET = 25% of 85% total memory
PGA_AGGREGATE_LIMIT = 50% of 85% total memory
SGA_TARGET = 50% of 85% total memory
-OR-
PGA_AGGREGATE_TARGET = 33% of 85% total memory
PGA_AGGREGATE_LIMIT = 67% of 85% total memory
SGA_TARGET = 33% of 85% total memory
最后:
the threshold for the ORA-700 is that twich the PGA target plus the SGA szie must be kess than 90% iof physical memory(2*PGA+SGA<0.9*memory)




