ORA-00700: soft internal error, arguments: [pga physmem limit]

When starting an Oracle Instance, the following messages are displayed in the warning log files, ORA-700 errors are called flexible claims to note that something unexpected has happened, but not fatal to a transaction or moment, so the transaction can proceed without any damage.

Cause

PGA_AGGREGATE_TARGET specified is high
Errors in file /u01/app/oracle/diag/rdbms/bugra/BUGRA/trace/BUGRA_ora_14488.trc (incident=948025):
ORA-00700: soft internal error, arguments: [pga physmem limit], [139586437120], [95766457958], [], [], [], [], [], [], [], [], []
Incident details in: /u01/app/oracle/diag/rdbms/bugra/BUGRA/incident/incdir_948025/BUGRA_ora_14488_i948025.trc
LICENSE_MAX_SESSION = 0
LICENSE_SESSIONS_WARNING = 0

2023-02-13 23:24:37.775 : USRTHRD:4015187712: [     INFO] {2:20523:2} InstConnection::connectInt 280 OCIException OCI error 3135

2023-02-13 23:24:37.775 : USRTHRD:4015187712: [     INFO] {2:20523:2} InstConnection::disConnect 100 this:0x7fbd100680e0 get SessionLock 0x7fbce403a970 for OCISessionEnd

2023-02-13 23:24:37.775 : USRTHRD:4015187712: [     INFO] {2:20523:2} InstConnection:connect 040 excp OCIException OCI error 3135 count 1

2023-02-13 23:24:37.775 : USRTHRD:4015187712: [     INFO] {2:20523:2} InstConnection::connectInt 020 this:0x7fbd100680e0 logon_mode:8000 m_oracleSid:+ASM2 m_oracleHome:/u01/app/19.3.0/grid attach

2023-02-13 23:24:37.795 : USRTHRD:4015187712: [     INFO] {2:20523:2} ORA-01034: ORACLE not available

ORA-27101: shared memory realm does not exist

Linux-x86_64 Error: 2: No such file or directory

Additional information: 4475

Additional information: 1262282731

Process ID: 0

Session ID: 0 Serial number: 0

Solutions

  • Set the SGA size or PGA size to solve the problem.
  • Set the Hugepage size

Check out -> Control OS Huge pages and OS free memory

vi /etc/sysctl.conf or /etc/sysctl.d/sysctl.conf

-> net.ipv4.ipfrag_high_thresh = 16777216
-> net.ipv4.ipfrag_low_thresh = 15728640
vm.min_free_kbytes = It is necessary to calculate
vm.min_free_kbytes -> 0.5% or 1 gb of physical memory, whichever is larger – which was 256 gb in the SDF, we wanted it to be set to 2 gb.
vm.nr_hugepages or Hugepagesize = It is necessary to calculate

Auto script:

https://gist.github.com/vinayakrk/d0b572bc0580c1f09d37b9ba7b58cf05

Recommended setting: vm.nr_hugepages = xxxx

OR

grep Huge /proc/meminfo Hugepagesize Oracle Linux: Shell Script to Calculate Values Recommended Linux HugePages / HugeTLB Configuration (Doc ID 401749.1) Root – > sysctl -p Check out the sga and pga Check that the MEMORY_TARGET parameters have not been set for the database and that the SGA_TARGET and PGA_AGGREGATE_TARGET parameters are being used instead.

Show spparameter pga -> An instance restart is required

Show spparameter sga -> An instance restart is required

Let’s check the use_large_pages parameter in the database; if it’s not TRUE, let’s make it TRUE.

SQL> select value from v$parameter where name = ‘use_large_pages’;
VALUE ——————————————————————————–
TRUE

İt’s not true

ALTER SYSTEM SET use_large_pages=true SCOPE=SPFILE;
SHUTDOWN IMMEDIATE;
STARTUP;

For SGA/PGA

sql> alter system set pga_aggregate_target = 24g comment='internally adjusted'  scope=spfile; 
sql> alter system set pga_aggregate_limit=48G scope=spfile;
sql>alter system set sga_max_size = 48g  comment='internally adjusted' scope=spfile;
sql> alter system set sga_target = 48g  comment='internally adjusted'  scope=spfile;

SHUTDOWN IMMEDIATE;
STARTUP;


Have a nice day.

Tags:

Comments