Case of a fault, the following error message
ORA-04030: attempting to allocate 16,328 bytes (koh-kghu call, kollrsz) when the process is out of memory
oerr see the error message, is the process not obtain enough memory, server process is consumed PGA, rather than the SGA
[Oracle @ febdb ~] $ OERR ORA 04030
04030, 00000, "OUT of Process Memory When Trying bytes to the allocate% S (% S,% S)"
// * the Cause: the Operating System Process Private Memory WAS exhausted.
// * Action:
lack of PGA, the main idea to view the PGA, since statistics parameter values and examples workarea start, can be divided into four steps to deal with, the first step query parameter value, the second step implicit query parameter values, the third step query v $ pgastat statistics, the fourth step in front of the three-step analysis of the worth concluded
the first step
SQL> show parameter pga
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
pga_aggregate_target big integer 8G
SQL> show parameter area_size
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
bitmap_merge_area_size integer 1048576
create_bitmap_area_size integer 8388608
hash_area_size integer 131072
sort_area_size integer 65536
workarea_size_policy string AUTO
The second step
SQL> col NAME format a25
SQL> col VALUE format a20
SQL> col DESCRIPTION format a55
SQL> set linesize 110
SQL> select a.ksppinm name, b.ksppstvl value, a.ksppdesc description from x$ksppi a, x$ksppcv b where a.indx = b.indx and a.ksppinm like '%_pga_max%';
NAME VALUE DESCRIPTION
--------------- --------------- --------------------------------------------------
_pga_max_size 1717985280 Maximum size of the PGA memory for one process
SQL> select a.ksppinm name, b.ksppstvl value, a.ksppdesc description from x$ksppi a, x$ksppcv b where a.indx = b.indx and a.ksppinm like '%smm_max%';
NAME VALUE DESCRIPTION
-------------------- --------------- -------------------------------------------------------
_smm_max_size_static 838860 static maximum work area size in auto mode (serial)
_smm_max_size 838860 maximum work area size in auto mode (serial)
SQL> select a.ksppinm name, b.ksppstvl value, a.ksppdesc description from x$ksppi a, x$ksppcv b where a.indx = b.indx and a.ksppinm like '%smm_px%';
NAME VALUE DESCRIPTION
------------------------- --------------- -------------------------------------------------------
_smm_px_max_size_static 4194304 static maximum work area size in auto mode (global)
_smm_px_max_size 4194304 maximum work area size in auto mode (global)
PGA maximum value of a process, in this case is 1717985280B (_Pga_max_size in units B)
In automatic mode, the maximum value of PGA work area of a process, in this case is 838860KB (_smm_max_size unit is KB , the value is generally 50% _pga_max_size of)
In automatic mode, PGA maximum work area of the total value of all the processes, this case is 4194304KB (_smm_px_max_size unit is KB , the value is generally 50% PGA_AGGREGATE_TARGET parameters)
Zhengzhou infertility hospital: http: //jbk.39.net/yiyuanzaixian/zztjyy//
third step
SQL> col value format 9999999999999999
SQL> col name format a40
SQL> select * from v$pgastat where name in ('aggregate PGA target parameter','maximum PGA allocated','maximum PGA used for auto workareas','maximum PGA used for manual workareas','total PGA allocated','total PGA inuse','cache hit percentage') order by 1;
NAME VALUE UNIT
---------------------------------------- ----------------- ------------
aggregate PGA target parameter 8589934592 bytes
cache hit percentage 97 percent
maximum PGA allocated 29975256064 bytes
maximum PGA used for auto workareas 3414564864 bytes
maximum PGA used for manual workareas 2713600 bytes
total PGA allocated 15749543936 bytes
total PGA inuse 12480521216 bytes
aggregate PGA target parameter
Current value of the PGA_AGGREGATE_TARGET initialization parameter
- The current parameter values of the PGA, in this case the same as 8589934592bytes, and parameter values pga_aggregate_target
cache hit percentage
A value of 100% means that all work areas executed by the system since instance startup have used an optimal amount of PGA memory.
- less than 100% means sorting and other operations are not necessarily consumed by work areas are in the PGA complete, but work areas to go disks use a temporary table space, in this case 97%
maximum PGA allocated
Maximum number of bytes of PGA memory allocated at one time since instance startup
- maximum PGA has been reached , this case is 29975256064bytes
maximum PGA used for auto workareas
Maximum amount of PGA memory consumed at one time by work areas running under the automatic memory management mode since instance startup
- maximum work areas in the automatic mode has been reached, this case is 3414564864bytes
maximum PGA used for manual workareas
Maximum amount of PGA memory consumed at one time by work areas running under the manual memory management mode since instance startup.
- maximum work in manual mode areas have achieved, this case is 2713600bytes
total PGA allocated
Current amount of PGA memory allocated by the instance. The Oracle Database attempts to keep this number below the value of the PGA_AGGREGATE_TARGET initialization parameter. However, it is possible for the PGA allocated to exceed that value by a small percentage and for a short period of time when the work area workload is increasing very rapidly or when PGA_AGGREGATE_TARGET is set to a small value.
- The current real value of PGA This case is 15749543936 bytes
Oracle Database trying to keep that number at initialization parameter values PGA_AGGREGATE_TARGET below. However, PGA with a smaller percentage distribution exceeds the value in a short time, when the workload is very fast growth in the work area, or when PGA_AGGREGATE_TARGET is set to a small value, it is possible.
total PGA inuse
Indicates how much PGA memory is currently consumed by work areas
- The current real value of the work areas . This case is 12480521216bytes
the fourth step
According to the data above 1, 2, or workarea_size_policy analysis is inadequate PGA is set to AUTO the problem.
If the PGA is insufficient, re-set the parameters pga_aggregate_target, use a larger value
If the PGA is set large, or security error, then set parameter values workarea_size_policy to MANUAL, then according to business settings * area_size values for these parameters.
- This case is obviously caused because of lack of PGA, PGA set the parameter value 20G solved.