ORA 04030 (QERHJ hash-joi,kllcqas:kllsltba)
I'm on a Windows Server 32 bit EE with /PAE options.
8 GB Ram
dual Xeon E5440.
Oracle DB 11.1.0.7 Standard
Actual Memory usage (avail/total): 5.9 G/ 8 G
oracle.exe mem usage : 1.1 G
Total Memory Size: 2008 M
Total SGA Size: 1312 M
Shared Pool 776
Buffer Cache 488
Large Pool 8
Java Pool 24
Other 16
Aggregate PGA Target (B) 0
Current PGA Allocated (KB) 139411
Maximum PGA Allocated (KB) 299016
(since startup)
Cache Hit Percentage (%) 95.98
Automatic memory management set on
Sort_area_size:65536 (I read that can be important)
When I try to do the merge (via PL/SQL procedure) of >100000 record then the procedure fails and database raise an ora-04030 exception.
ORA-04030: out of process memory when trying to allocate 246284 bytes (QERHJ hash-joi,kllcqas:kllsltba)
Note that when I run the procedure the memory usage of oracle.exe grows just to 1.2 G. So it seems not a problem of memory consumption.
What I have to change?
trc file
Dump file e:\oradata\setup\diag\rdbms\dtawre\dtawre\incident\incdir_63427\dtawre_ora_2260_i63427.trc
Oracle Database 11g Release 11.1.0.7.0 - Production
Windows NT Version V5.2 Service Pack 2
CPU : 8 - type 586, 2 Physical Cores
Process Affinity : 0x00000000
Memory (Avail/Total): Ph:5278M/8189M, Ph+PgF:14123M/20250M, VA:38M/2047M
Instance name: dtawre
Redo thread mounted by this instance: 1
Oracle process number: 107
Windows thread id: 2260, image: ORACLE.EXE (SHAD)
*** 2010-02-26 11:46:36.374
*** SESSION ID:(74.2947) 2010-02-26 11:46:36.374
*** CLIENT ID:([email protected]@Mozilla/4.0 (compatible; MSIE 6.0; Windows NT) 2010-02-26 11:46:36.374
*** SERVICE NAME:(SYS$USERS) 2010-02-26 11:46:36.374
*** MODULE NAME:(Admin Connection) 2010-02-26 11:46:36.374
*** ACTION NAME:() 2010-02-26 11:46:36.374
Dump continued from file: e:\oradata\setup\diag\rdbms\dtawre\dtawre\trace\dtawre_ora_2260.trc
ORA-04030: out of process memory when trying to allocate 4194328 bytes (QERHJ hash-joi,QERHJ list array)
*** 2010-02-26 11:46:36.389
========= Dump for incident 63427 (ORA 4030) ========
*** 2010-02-26 11:46:36.389
----- Current SQL Statement for this session (sql_id=4d28t1mjpwrqp) -----
select component, final_size, end_time from v$sga_resize_ops where initial_size <> final_size order by end_time
----- Call Stack Trace -----
calling call entry argument values in hex
location type point (? means dubious value)
EnumerateLoadedModules64 failed with error 183
skdstdst()+114 CALLrel kgdsdst()+0 7A1C7FD8 2
ksedst1()+88 CALLrel skdstdst()+0 7A1C7FD8 0 1 45A3B0 45AD88
45A3B0
ksedst()+50 CALLrel ksedst1()+0 0 1
dbkedDefDump()+118 CALLrel ksedst()+0 0
7
ksedmp()+36 CALLrel dbkedDefDump()+0 3 2
__PGOSF60__ksfdmp() CALLrel _ksedmp()+0 3EB
+29
_dbgexPhaseII()+225 CALLreg 00000000 72E1A0C0 3EB
dbgexProcessError( CALLrel dbgexPhaseII()+0 D67043C D676E18 7A1CBB5C
)+973
dbgeExecuteForErro CALLrel dbgexProcessError( D67043C D676E18 1 0 D67043C
r()+40 )+0 D676E18
dbgePostErrorKGE() CALLrel dbgeExecuteForErro D67043C D676E18 0 1 0
+1715 r()+0
dbkePostKGEkgsf() CALLrel _dbgePostErrorKGE() 72E1A0C0 733A0020 FBE
+49 +0
_kgeade()+268 CALLreg 00000000 72E1A0C0 733A0020 FBE
kgesev()+54 CALLrel kgeade()+0 72E1A0C0 72E1A1E8 733A0020
FBE 0 0
kgesec3()+18 CALLrel kgesev()+0 72E1A0C0 733A0020 FBE 3
7A1CC2A4
__VInfreq__kghfsh() CALLrel _kgesec3()+0 72E1A0C0 733A0020 FBE 0
+1678 400018 0 1 E 74B25E84 1 10
562D680
kghalf()+889 CALLrel kghnospc()+0 72E1A0C0 74B25E5C 400018
562D680 0
qerhjManageListEle CALLrel kghalf()+0 72E1A0C0 74B25E5C 40000C 0 0
ment()+143 562D680
qerhjadf()+69 CALLrel qerhjManageListEle 7346CE80 7346CEE8 74B25E5C 1
ment()+0
qerhjBuildHashTabl CALLrel qerhjadf()+0 7A1CC498 7E3D0000 75B4B
e()+775 7EBE0000
__PGOSF504__qerhjIn CALLrel _qerhjBuildHashTabl 4D206CC8 7346CE80 7A1CC6A0
nerProbeHashTable() e()+0
+580
_qerfxFetch()+845 CALLreg 00000000 7A1CC6A0 7FFF 392 434 0
72E19CA0
_rwsfcd()+109 CALLptr 00000000 4D2073B4 7346C9A0 24E22B8
7A1CC6A0 7FFF
_qerhjFetch()+484 CALLreg 00000000 4D206E78 7346CE50 24E22B8
7A1CC6A0 7FFF 5EB33C5
_qersoProcessULS()+ CALLptr 00000000 4D206CC8 7346CE80 2DEDAFC
173 7A1CC778 7FFF
qersoFetch()+1144 CALLrel qersoProcessULS()+ 4D206644 7346D070 1A6CF0C
0 7A1CC97C A
_opifch2()+3479 CALLreg 00000000 4D206644 7346D070 1A6CF0C
7A1CC97C A
kpoal8()+3186 CALLrel opifch2()+0 89 5 7A1CCD00
_opiodr()+1299 CALLreg 00000000 5E 1C 7A1CF210
_ttcpip()+2790 CALLreg 00000000 5E 1C 7A1CF210 0
_opitsk()+1278 CALL??? 00000000 72E24260 5E 7A1CF210 0
7A1CEEA0 7A1CF334
opiino()+1067 CALLrel opitsk()+0 0 0
_opiodr()+1299 CALLreg 00000000 3C 4 7A1CFC28
opidrv()+1319 CALLrel opiodr()+0 3C 4 7A1CFC28 0
sou2o()+45 CALLrel opidrv()+0 3C 4 7A1CFC28
opimaireal()+130 CALLrel _sou2o()+0 7A1CFC1C 3C 4 7A1CFC28
opimai()+92 CALLrel opimai_real()+0 2 7A1CFC54
OracleThreadStart@ CALLrel opimai()+0 2 7A1CFF44 7C8897F4 7A1CFC34
4()+792 0 7A1CFD04
77E6482C CALLreg 00000000 79CCFF9C 0 0 79CCFF9C 0
7A1CFFC4
00000000 CALL??? 00000000
--------------------- Binary Stack Dump ---------------------
========== FRAME [1] (_skdstdst()+114 -> _kgdsdst()+0) ==========
defined by frame pointers 0x7a1c7fc4 and 0x7a1c7fb0
normalized: skdstdst()+114 -> kgdsdst()+0
CALL TYPE: CALLrel ERROR SIGNALED: no COMPONENT: (null)
Dump of memory from 0x7A1C7FB0 to 0x7A1C7FC4
7A1C7FB0 7A1C7FC4 0046BD83 7A1C7FD8 00000002 [...z..F....z....]
7A1C7FC0 00000000 [....]
--------------------------------------------------------------End------------------------------------------------------------------
Strangely, the merge gives me error ORA-04030, while if I do a insert on the same fields with the same data it works correctly!
Similar Messages
-
Hello All,
I've got this message error during procedure's execution into QA environment.
*ORA-04030: OUT OF PROCESS MEMORY WHEN TRYING TO ALLOCATE 254476 BYTES (CALLHEAP,KLLCQAS:KLLSLTBA)
ORA-04030: out of process memory when trying to allocate 16396 bytes (koh-kghu call ,pmuccst: adt/record)*
The same procedure executed into PRD environment is running fine.
How can I know a how much memory is needed to solve this issue?
Thanks,
Martin
P.S.: Do you have any other recommendation that isn't "just add RAM memory"?Sorry folks, but I couldn't solved it yet.
The error is the same as was yesterday, ORA-04030: out of process memory when trying to allocate 123404 bytes (QERHJ hash-joi,kllcqas:kllsltba) - -4030.
I had identified how to reproduce this code, while running a stored procedure what does some inserts (at least 10M-rows) with BULK Collect senteces... I got this ORA error.
I did an alter session set SQL_TRACE = TRUE; to trace the process execution but I couldn't find any useful inside this tracefile.
Could you help me? How should I procede with this kind of issue?
Thanks,
Martin
P.S:
user@server:~ $ ulimit -a
core file size (blocks, -c) 0
data seg size (kbytes, -d) unlimited
file size (blocks, -f) unlimited
max locked memory (kbytes, -l) unlimited
max memory size (kbytes, -m) unlimited
open files (-n) 65536
pipe size (512 bytes, -p) 8
stack size (kbytes, -s) unlimited
cpu time (seconds, -t) unlimited
max user processes (-u) 16384
virtual memory (kbytes, -v) unlimited
SELECT SUM(value) / 1024 / 1024 Mb
FROM v$sesstat s,
v$statname n
WHERE n.STATISTIC# = s.STATISTIC#
AND name = 'session pga memory';
MB
116.75286102294921875
SELECT sid,
name ,
value / 1024 Kb
FROM v$statname n,
v$sesstat s
where n.STATISTIC# = s.STATISTIC#
AND name LIKE 'session%memory%'
ORDER BY 3 DESC;
SID NAME KB
842 session pga memory max 3874.9921875
842 session uga memory max 1986.19140625
842 session pga memory 1698.9921875
842 session uga memory 1368.69140625
Edited by: martinmorono on Sep 30, 2008 6:07 PM
Some parameters are:
sga_max_size 1694498816
pre_page_sga FALSE
sga_target 1694498816
processes 800
shared_pool_reserved_size 18454937
If you need some other data about my problem, please let me know.
Thanks
Martin
Edited by: martinmorono on Sep 30, 2008 6:08 PM -
ORA-04030 On ORACLE 10g RAC database with two nodes as active
OS-HP-AIX 5L(5.3)----IBM
DATABASE-10.2.0.2(10G)
I am getting error "ORA-04030" while executing a query
I have already set the ulimits for oracle account to UNLIMITED
1)STACK----UNLIMITED(BOTH SOFT/HARD LIMITs)
2)DATA----UNLIMITED(BOTH SOFT/HARD LIMITs)
3)MEMORY----UNLIMITED(BOTH SOFT/HARD LIMITs)
4)TIME----UNLIMITED(BOTH SOFT/HARD LIMITs)
step 1:-When I skip the listener then query executes very fine.But when
i go through the listener the "ORA-04030" errors come.
step 2:-Then when i stop and start listener on both the nodes the all
the query works fine.
This thing happens every time the system reboots
Can anyone tell me the solution for this
and why this thing happensThanks for ur immediate response
ORA-04030: out of process memory when trying to allocate 127000 bytes (QERHJ
hash-joi,kllcqas:kllsltba)
ORA-04030: out of process memory when trying to allocate 66184 bytes (pga
heap,kco buffer)
ORA-04030: out of process memory when trying to allocate 127000 bytes (QERHJ
hash-joi,kllcqas:kllsltba)
sql qurry
SELECT
WRK_PERF_ID, WRK_ID, PTY_NA_ID, PTY_ID PTY_ID,
PTY_TYP_CDE, PTY_ROL_TYP_CDE, SOC_CDE2 SOC_CDE,
DECODE(SOC_CDE2,'10','Y',NULL,'N',
NVL(( SELECT NVL(AFL_IND, 'N') FROM pty y WHERE y. IPI_BAS_NR = SOC_CDE2 AND NVL(DEL_FL,'N') = 'N'
AND ROWNUM < 2 ),'N')) AFL_IND,
pDate,
ENTMT_ID, ROL_TYP_CDE, IP_STA_IND_CDE, UNID_ID_FST_NA,
UNID_IP_NA, IP_PAY_STA, REASON, SHR_OWN_PTY_NA_ID,
PGM_STT_DT, PAY DIRIND,
ACTV_OWN_SHR, ACTV_COPY_SHR, CLM_OWN_SHR, CLM_COPY_SHR,
FNC_PTY_RESIGNED_ON_DIS_DT ( PTY_ID,
TO_DATE( DECODE(PTY_TYP_CDE,'WRTMB',
'2004-04-10' ,'AFMBR', '2004-05-10' , '2004-03-10'),'YYYY-MM-DD')) TF
FROM
SELECT WRK_PERF_ID, WRK_ID, PTY_NA_ID, PTY_ID PTY_ID,
PTY_TYP_CDE, PTY_ROL_TYP_CDE, NVL(SOC_CDE2,'0') SOC_CDE2,
DECODE(PTY_TYP_CDE,'WRTMB', '2004-04-10' ,'AFMBR', '2004-05-10' , '2004-03-10') pDATE,
ENTMT_ID, ROL_TYP_CDE, IP_STA_IND_CDE, UNID_ID_FST_NA,
UNID_IP_NA, IP_PAY_STA, REASON, SHR_OWN_PTY_NA_ID,
PGM_STT_DT, PAY_DIR_IND,
SUM(NVL(ACTV_OWN_SHR,0)) ACTV_OWN_SHR,
SUM(NVL(ACTV_COPY_SHR,0)) ACTV_COPY_SHR,
NVL( SUM(NVL(CLM_OWN_SHR,0)),0) CLM_OWN_SHR,
NVL(SUM(NVL(CLM_COPY_SHR,0)),0) CLM_COPY_SHR
FROM
SELECT B.WRK_PERF_ID, B.WRK_ID, B.PTY_NA_ID,
D.PTY_ID , D.PTY_TYP_CDE, D.PTY_ROL_TYP_CDE,
CASE
WHEN D.PTY_ROL_TYP_CDE ='W' OR D.PTY_ROL_TYP_CDE ='P'
THEN
SELECT MIN(soc_cde)
FROM MBRSH_AGR_TER A
WHERE A.pty_id = D.PTY_ID
AND A.STT_DT <= TO_DATE( DECODE(D.PTY_TYP_CDE,'WRTMB', '2004-04-10' ,'AFMBR', '2004-
05-10' , '2004-03-10' ),'YYYY-MM-DD')
AND ( A.END_DT >= TO_DATE( DECODE(D.PTY_TYP_CDE,'WRTMB', '2004-04-10' ,'AFMBR', '2004-05-10' , '2004-03-1
0' ),'YYYY-MM-DD') OR A.END_DT IS NULL)
AND A.INCL_EXCL_IND = 'I'
AND ( A.TIS_CDE = 840 OR
EXISTS (
SELECT 1
FROM CPST_TERR C
WHERE C.CHILD_TIS_CDE = 840
AND C.PARENT_TIS_CDE = A.TIS_CDE
AND NVL(C.DEL_FL, 'N') = 'N'
AND NVL(A.DEL_FL,'N') = 'N'
AND soc_cde NOT IN
SELECT soc_cde
FROM MBRSH_AGR_TER B
WHERE B.pty_id = D.PTY_ID
-- b.soc_cde = a.soc_cde
AND B.STT_DT <= TO_DATE( DECODE(D.PTY_TYP_CDE,'WRTMB', '2004-04-10' ,'AFMBR', '2004-0
5-10' , '2004-03-10' ),'YYYY-MM-DD')
AND (B.END_DT >= TO_DATE( DECODE(D.PTY_TYP_CDE,'WRTMB', '2004-04-10' ,'AFMBR', '2004-05-10' , '2004-03-10'
),'YYYY-MM-DD') OR B.END_DT IS NULL)
AND B.INCL_EXCL_IND = 'E'
AND NVL(B.DEL_FL,'N') = 'N'
AND ( B.TIS_CDE = 840 OR
EXISTS ( SELECT 1
FROM CPST_TERR D2
WHERE D2.CHILD_TIS_CDE = 840
AND D2.PARENT_TIS_CDE = B.TIS_CDE
AND NVL(D2.DEL_FL, 'N') = 'N'
)-- NOT IN
) --w,p end
WHEN D.PTY_TYP_CDE='SOC' THEN D.IPI_BAS_NR
END
) SOC_CDE2,
B.ENTMT_ID, B.ROL_TYP_CDE,
B.IP_STA_IND_CDE, B.UNID_ID_FST_NA, B.UNID_IP_NA, B.IP_PAY_STA, B.REASON, B.SHR_OWN_PTY_NA_ID,
A.PGM_STT_DT, D.PAY_DIR_IND,
ACTV_OWN_SHR, ACTV_COPY_SHR, CLM_OWN_SHR, CLM_COPY_SHR
FROM STG_ACIP_DIST_MODE1 B, STAGING_USAGE_SELECTION_MODE1 A, PTY_NA C, PTY D
WHERE B.WRK_PERF_ID = A.WRK_PERF_ID
AND B.PTY_NA_ID = C.PTY_NA_ID
AND C.PTY_ID = D.PTY_ID
AND A.CALC_RUN_CTL_ID = 279
AND A.DIS_ID = 241
GROUP BY WRK_PERF_ID, WRK_ID, PTY_NA_ID, PTY_ID, PTY_TYP_CDE, PTY_ROL_TYP_CDE,
SOC_CDE2, ENTMT_ID, ROL_TYP_CDE, IP_STA_IND_CDE, UNID_ID_FST_NA,
UNID_IP_NA, IP_PAY_STA, REASON, SHR_OWN_PTY_NA_ID,
PGM_STT_DT, PAY_DIR_IND
order by WRK_PERF_ID, WRK_ID, PTY_NA_ID, PTY_ID
It is just a simple query with group by which i ran by sqlplus but it is geting more then million records. -
ORA-04030: out of process memory when trying ....
Hi!
Environment: Oracle Database 10.2.0.5.0 on Windows Server 2003 SP1. Memory: 4GB Ram. /3GB and PAE not set in boot.ini
There is a job that runs at night that triggered this message. We assume that not enough OS memory was free for this
process? Any recommendations greatly appreciated. Thanks!
SGA
Total System Global Area 734003200 bytes
Fixed Size 1305424 bytes
Variable Size 213910704 bytes
Database Buffers 511705088 bytes
Redo Buffers 7081984 bytesExcerpt of alert log:
Wed Oct 19 01:00:51 W. Europe Daylight Time 2011
Process startup failed, error stack:
Wed Oct 19 01:00:51 W. Europe Daylight Time 2011
Errors in file h:\oracle\admin\trwprod\bdump\trwprod_psp0_3392.trc:
ORA-27300: OS system dependent operation:CreateThread failed with status: 8
ORA-27301: OS failure message: Not enough storage is available to process this command.
ORA-27302: failure occurred at: ssthrddcr
Wed Oct 19 01:00:52 W. Europe Daylight Time 2011
Process m001 died, see its trace file
Wed Oct 19 01:00:52 W. Europe Daylight Time 2011
ksvcreate: Process(m001) creation failed
Wed Oct 19 02:00:07 W. Europe Daylight Time 2011
Errors in file h:\oracle\admin\trwprod\bdump\trwprod_j007_1320.trc:
ORA-12012: Fehler beim autom Ausführen von Job 21
ORA-04030: Zu wenig Prozessspeicher für Versuch 123404 Bytes zuzuweisen (QERHJ hash-joi,kllcqas:kllsltba)
ORA-06512: in "WKSYS.WK_JOB", Zeile 443
ORA-04030: Zu wenig Prozessspeicher für Versuch 123404 Bytes zuzuweisen (QERHJ hash-joi,kllcqas:kllsltba)
ORA-06510: PL/SQL: Unbehandelte benutzerdefinierte Exception
ORA-06512: in "WKSYS.WK_JOB", Zeile 766
ORA-04030: Zu wenig Prozessspeicher für Versuch 123404 Bytes zuzuweisen (QERHJ hash-joi,kllcqas:kllsltba)
ORA-06512: in Zeile 1Excerpt of trace log
Wed Oct 19 02:37:09 W. Europe Daylight Time 2011
Process m000 died, see its trace file
Wed Oct 19 02:37:09 W. Europe Daylight Time 2011
ksvcreate: Process(m000) creation failed
Wed Oct 19 02:51:03 W. Europe Daylight Time 2011
Thread 1 advanced to log sequence 3210 (LGWR switch)
Current log# 3 seq# 3210 mem# 0: K:\ORACLE\ORADATA\TRWPROD\REDO03A.LOG
Current log# 3 seq# 3210 mem# 1: L:\ORACLE\ORADATA\TRWPROD\REDO03B.LOG
Wed Oct 19 07:37:00 W. Europe Daylight Time 2011
Thread 1 advanced to log sequence 3211 (LGWR switch)
Current log# 1 seq# 3211 mem# 0: K:\ORACLE\ORADATA\TRWPROD\REDO01A.LOG
Current log# 1 seq# 3211 mem# 1: L:\ORACLE\ORADATA\TRWPROD\REDO01B.LOG
======================================================
PRIVATE MEMORY USAGE FOR LARGEST PROCESS
Begin memory detail for largest PGA user, pid 37
============================
Begin PGA memory detail dump
============================
Dumping only 0 of 1 process heap scans requested
============================
End PGA memory detail dump
============================
End of memory detail for pid 37
(if there was no memory detail for pid 37, it probably timed out and
may appear in the trace file for pid 37)
Died during process startup with error 4030 (seq=155312)
OPIRIP: Uncaught error 4030. Error stack:
ORA-04030: out of process memory when trying to allocate 1636 bytes (pga heap,ldm context)I too believe that this is a memory issue, but need to get confirmed.
Can you tell us what is the bit-version (32 or 64 bit?) of windows?
Generally when we get ora-04030 error, we have some recommendations. see this link
http://www.dba-oracle.com/t_ora_04030_out_process_memory.htm
I also faced same problem and I archived that in my blog
http://pavandba.com/2009/10/30/handling-ora-04030-ora-600723-on-32-bit-windows-machine/ -
ORA-04030 .database service shutting down automatically.
i have a production server running in windows server 2003 R 2.
Errors in file c:\oracle\product\10.2.0\admin\mydb\bdump\mydb_j001_2976.trc:
ORA-12012: error on auto execute of job 74341
ORA-04030: out of process memory when trying to allocate 123416 bytes (QERHJ hash-joi,kllcqas:kllsltba)
ORA-06512: at "alpha.PKG_AC_CONTROLLER_PANEL", line 89
ORA-06512: at "alpha.PKG_JOB_CALL", line 266
ORA-06512: at line 1
after this error my db service(services.msc) going down automatically(only service down)
my user & bdump trace files also increasing rapidly. i have limited to 150MB.but i have enough swap space. 12GB RAM,
I am running this prod database in VMWARE. oracle is also not supporting for VMWARE environments. any body please help me?64-bit Windows Error: 2: No such file or directory
08-JAN-2010 19:51:07 * (CONNECT_DATA=(SID=myserver)(CID=(PROGRAM=C:\oracle\product\10.2.0\db_1\bin\emagent.exe)(HOST=myserver)(USER=SYSTEM))) * (ADDRESS=(PROTOCOL=tcp)(HOST=192.168.110.112)(PORT=1179)) * establish mydb 12518
TNS-12518: TNS:listener could not hand off client connection
TNS-12560: TNS:protocol adapter error
TNS-00530: Protocol adapter error
64-bit Windows Error: 2: No such file or directory
08-JAN-2010 19:51:21 * (CONNECT_DATA=(CID=(PROGRAM=)(HOST=__jdbc__)(USER=))(SERVICE_NAME=myserver)) * (ADDRESS=(PROTOCOL=tcp)(HOST=192.168.110.112)(PORT=1183)) * establish mydb 12518
TNS-12518: TNS:listener could not hand off client connection
TNS-12560: TNS:protocol adapter error
TNS-00530: Protocol adapter error
64-bit Windows Error: 2: No such file or directory
08-JAN-2010 19:51:21 * (CONNECT_DATA=(CID=(PROGRAM=)(HOST=__jdbc__)(USER=))(SERVICE_NAME=myserver)) * (ADDRESS=(PROTOCOL=tcp)(HOST=192.168.110.112)(PORT=1185)) * establish mydb 0
08-JAN-2010 19:51:21 * (CONNECT_DATA=(CID=(PROGRAM=)(HOST=__jdbc__)(USER=))(SERVICE_NAME=myserver)) * (ADDRESS=(PROTOCOL=tcp)(HOST=192.168.110.112)(PORT=1186)) * establish mydb 12518
TNS-12518: TNS:listener could not hand off client connection
TNS-12560: TNS:protocol adapter error
TNS-00530: Protocol adapter error
64-bit Windows Error: 2: No such file or directory
08-JAN-2010 19:51:22 * (CONNECT_DATA=(SID=myserver)(CID=(PROGRAM=C:\oracle\product\10.2.0\db_1\bin\emagent.exe)(HOST=myserver)(USER=SYSTEM))) * (ADDRESS=(PROTOCOL=tcp)(HOST=192.168.110.112)(PORT=1187)) * establish mydb 0
08-JAN-2010 19:51:23 * service_register mydb 0
08-JAN-2010 19:51:29 * service_update mydb 0
08-JAN-2010 19:51:32 * service_update mydb 0 -
This is the description that occurred after executing a procedure (during the open of a cursor).
ERROR at line 1:
ORA-04030: out of process memory when trying to allocate 1048632 bytes
(callheap,kllcqas:kllsltba)
ORA-06512: at line 108
I don't think is an Oracle error: all the user_resource_limits are unlimited
Can you help me?
Thanx.The settings may be unlimited (but unless you've got a system that breaks the laws of physics) your RAM ain't. This is might be a problem with a SGA or unix setting, or else your program needs a rewrite because it is using too much memory.
Have a chat w/ your DBA / OS sysadmin bods first of all.
cheers, APC -
Ora-04030 out of process memory
Hai All,
My database is oracle 9i(9.2.0.1.0)in AIX
when I run one query from my oracle developer suite session then 'ora-04030 out of process memory error when trying to allocate 38424 bytes (hash-join subh,klcqc:kllcqslt)'
This same query when I run from sqlplus it works fine.
how this happened ?
Please help...urgent..The problem is in unsufficient memory for a hash join.
The questions are:
- do the explain plans differ, that only one session has this problem
- how do you manage the PGA (auto/manual), what are relevant parameter settings (pga_aggregate_target / hash_area_size etc.)
- do you use shared server - allocation methos differ for this case.
If you use manual pga tuning (or perhaps shared server), then increasing hash_area_size might help. But without relevant info, it's shooting in the dark. -
Hi Experts,
I loaded HR it went well, but now I am trying to load both HR and Financial Full load. I am getting below issue for some DAC tasks:
ORA-04030: out of process memory when trying to allocate 1049100 bytes (kxs-heap-w,kllcqgf:kllsltba)
Environment:
Source System:
Win server 2008 - 2 GB RAM; EBS R12.1.1.
Target System:
Windows Server 2008 32 bit (with /3G, /PEA switches enabled) – 4 GB RAM; obiee 10g;biapps 7.9.6.2;dac 10.1.3.4.1;Informatica PC 8.6.1 Hotfix 11;Oracle DB 11.1.0.7.
DAC Tasks that failed:
TASK_GROUP_Extract_GLLinkageInformation
SDE_ORA_GL_COGS_LinkageInformation_Extract
SDE_ORA_GL_AP_LinkageInformation_Extract
SDE_ORA_GL_AR_REV_LinkageInformation_Extract
SDE_ORA_GL_PO_LinkageInformation_Extract
All the above tasks are failing with above error.
Below are the memory parameters for BI Apps database:
SQL> show parameter target
NAME TYPE VALUE
archive_lag_target integer 0
db_flashback_retention_target integer 1440
fast_start_io_target integer 0
fast_start_mttr_target integer 0
memory_max_target big integer 820M
memory_target big integer 820M
pga_aggregate_target big integer 257374182
sga_target big integer 0
I also tested by increasing below parameters:
memory_max_target 2G
memory_target 2G
pga_aggregate_target 1G
sga_target 900M
But it didn’t work, same errors.
Please let me know how can I solve this issue. Thanks for your time.The below text is from doc id, I've picked solution part
let me know updates
=====Start======================
Solution
NON-ORACLE SOFTWARE STEPS
1.If you have 4Gb or less of RAM, add more RAM to the 32-bit computer system (add another 4Gb or more, if possible).
2.Enable the /3GB in the BOOT.INI, see note:
Note 225349.1 Implementing Address Windowing Extensions (AWE) or VLM on Windows Platforms
3.If using MS-Windows Enterprise Edition, enable Physical Address Extensions (PAE) by adding the /PAE switch to the BOOT.INI, see note Note 225349.1.
NOTE: The Windows tool Perfmon should be used in ORA-4030 problems on Windows. Task Manager is not a reliable tool to investigate ORACLE.EXE process memory size.
ORACLE SOFTWARE STEPS
Steps for both Enterprise and non-Enterprise Editions of MS-Windows
1.Check for excessive INACTIVE sessions:
select sum(PGA_ALLOC_MEM) from v$process p, v$session s where p.addr = s.paddr and s.status = 'INACTIVE';
If this query returns a large value (i.e. several hundred Megabytes or even greater that 1 Gigabyte), then it is recommended that you automate the cleanup of INACTIVE sessions. To see how this works, see notes;
Note 151972.1 Dead Connection Detection (DCD) Explained
Note 159978.1 How To Automate Disconnection of Idle Sessions
Implement DCD & IDLE_TIME, by doing the following;
Set SQLNET.EXPIRE_TIME = x (minutes) in the Server SQLNET.ORA file,
Create a PROFILE with IDLE_TIME set, and assign it to users.
If you find that the processes remain with status SNIPED, then you will need to implement removal of those processes as well, see note:
Note 96170.1 Script for killing sniped sessions shadow processes
For more information, see Note 601605.1 A discussion of Dead Connection Detection, Resource Limits, V$SESSION, V$PROCESS and OS processes
2.Review Note 46001.1 and determine the pro's and con's of running ORASTACK against the ORACLE.EXE.
If appropriate, shut down the database, and run the following command in an MS-DOS window:
orastack oracle.exe 500000
Re-start the database.
Steps for Enterprise Editions of MS-Windows
Determine if using AWE would fit your database needs. This allows the Buffer Cache component in the SGA to be relocated above the 4Gb memory footprint for the ORACLE.EXE process. Since this configuration requires a virtual memory window to map memory allocations above the 4Gb memory area, this option fits best with database requirements for a 1G and up sized Buffer Cache. It would not be efficient to have a 400M Buffer Cache above the 4Gb memory footprint and yet allocate a 1Gb virtual memory window to map to that memory.
1.Decide on the size of the SGA, PGA requirements and AWE (default 1Gb), given 300Mb overhead for the ORACLE.EXE and the 3Gb memory limit (as per the BOOT.INI /3GB switch). Please note that the minimum AWE size depends on the number of CPU's, see note Note 225349.1.
- Grant OracleService<SID> the 'Lock Pages in Memory' system privilege at the operating system level, see Note 225349.1.
- If necessary, change the Address Windowing Extensions (AWE) size from the default 1Gb, see Note 225349.1.
- Adjust any of the other SGA memory settings; SHARED_POOL_SIZE, LARGE_POOL_SIZE, JAVA_POOL_SIZE & STREAMS_POOL_SIZE.
- Adjust the PGA memory setting, PGA_AGGREGATE_TARGET. NOTE: This is a target, so a decrease in this process will not directly affect the memory footprint of the ORACLE.EXE.
- Unset SGA_TARGET and/or MEMORY_TARGET (11g).
- Set USE_INDIRECT_DATA_BUFFERS=TRUE.
- Unset DB_CACHE_SIZE. Set DB_BLOCK_BUFFERS to the desired size (this will use memory above the 4Gb range).
2.Start the database.
Steps for NON-Enterprise Editions of MS-Windows
1.Decide on the size of the SGA and PGA, given 0.1Gb overhead for the ORACLE.EXE and the 3Gb memory limit (as per the BOOT.INI /3GB switch).
2.Adjust the SGA_TARGET and/or MEMORY_TARGET (11g), or use explicit settings for the SGA components and eliminate auto-tuning. NOTE: Advantages of auto-tuning are often minimal on Windows 32-bit due to memory limit issues.
3.Adjust the PGA memory setting, PGA_AGGREGATE_TARGET (optional on 11g). NOTE: This is a target, so a decrease in this process will not directly affect the memory footprint of the ORACLE.EXE.
4.Start the database. -
Need help to avoid ORA-04030 error
Oracle version : 11.1.0.6.0
OS - Solaris 64bit Sparc
Hi All,
Today we have recieved the below error messeges in the alert log.
ORA-04030: out of process memory when trying to allocate 56 bytes (callheap,kghscAllocDataElem:dataElem)
ORA-04030: out of process memory when trying to allocate 184 bytes (callheap,temporary memory)
ORA-04030: out of process memory when trying to allocate 56 bytes (callheap,temporary memory)
Trace dumping is performing id=[cdmp_20110222134605]
Tue Feb 22 13:46:52 2011
Sweep Incident[104533]: completed
Sweep Incident[104532]: completed
Sweep Incident[104531]: completed
Sweep Incident[104530]: completed
Sweep Incident[104528]: completed
Tue Feb 22 17:04:25 2011
SYS@MYDB>!oerr ora 4030
04030, 00000, "out of process memory when trying to allocate %s bytes (%s,%s)"
//*Cause: Operating system process private memory was exhausted.
//*Action:I came to know that it was due to the operating system prvate memory exhausted. Database memory configuration is as below
SYS@MYDB>show parameter sga
NAME TYPE VALUE
lock_sga boolean FALSE
pre_page_sga boolean FALSE
sga_max_size big integer 2000M
sga_target big integer 0
SYS@MYDB>show parameter pga
NAME TYPE VALUE
pga_aggregate_target big integer 521658240
SYS@MYDB>OS Memory information
load averages: 1.58, 1.82, 2.13; up 196+10:43:15 20:55:35
408 processes: 406 sleeping, 2 on cpu
CPU states: 80.0% idle, 15.6% user, 4.4% kernel, 0.0% iowait, 0.0% swap
Memory: 32G phys mem, 18G free mem, 43G total swap, 42G free swapThere are other 2 more databases are running on this server, one is 10g and another one is 9i and its memory configuration have given below respectivly
SQL>show parameter sga
NAME TYPE VALUE
lock_sga boolean FALSE
pre_page_sga boolean FALSE
sga_max_size big integer 4G
sga_target big integer 4G
RPT>show parameter pga
NAME TYPE VALUE
pga_aggregate_target big integer 4G
SQL> show parameter sga
NAME TYPE VALUE
lock_sga boolean FALSE
pre_page_sga boolean FALSE
sga_max_size big integer 1135171060
SQL> show parameter pga
NAME TYPE VALUE
pga_aggregate_target big integer 2147483648
SQL>Could you please suggest me how to avoid this error in future ? Looks like i need to fine tune the memory parameters, could you please suggest how can i do so ? I also noticed SGA Target is set to 0 (Automatic Memory managment is not enabled), If i set SGA target will resolve the issue ?
Kindly advise ..
Thanks in advance
NishantI just took the plan by setting set autotrace traceonly explain. Please check this will help, I will check and update you the table's statistics soon.
Execution Plan
Plan hash value: 1841079096
| Id | Operation | Name | Rows | Bytes |TempSpc| Cost (%CPU)| Time |
| 0 | SELECT STATEMENT | | 210M| 96G| | 29M (1)| 99:12:47 |
| 1 | SORT ORDER BY | | 210M| 96G| | 29M (1)| 99:12:47 |
| 2 | HASH UNIQUE | | 210M| 96G| 1000K| 41115 (2)| 00:08:14 |
| 3 | CONCATENATION | | | | | | |
| 4 | NESTED LOOPS | | | | | | |
| 5 | NESTED LOOPS | | 980 | 470K| | 34365 (2)| 00:06:53 |
| 6 | NESTED LOOPS | | 980 | 455K| | 33384 (2)| 00:06:41 |
| 7 | NESTED LOOPS | | 980 | 445K| | 32893 (2)| 00:06:35 |
|* 8 | HASH JOIN | | 980 | 434K| 7968K| 31912 (2)| 00:06:23 |
| 9 | NESTED LOOPS | | 19606 | 7735K| | 28804 (2)| 00:05:46 |
|* 10 | HASH JOIN | | 1 | 306 | 11M| 27300 (2)| 00:05:28 |
| 11 | TABLE ACCESS FULL | VERSION_FILE_MAP | 517K| 6064K| | 2275 (3)| 00:00:28 |
|* 12 | HASH JOIN | | 296K| 83M| 11M| 20121 (2)| 00:04:02 |
|* 13 | HASH JOIN | | 296K| 8401K| 7168K| 4103 (4)| 00:00:50 |
| 14 | INDEX FAST FULL SCAN | ATTACHMENT_PK | 407K| 2389K| | 280 (3)| 00:00:04 |
|* 15 | HASH JOIN | | 296K| 6663K| 8408K| 2966 (4)| 00:00:36 |
| 16 | TABLE ACCESS FULL | ATTACHMENT_MAP | 296K| 4925K| | 1810 (5)| 00:00:22 |
| 17 | INDEX FAST FULL SCAN | VERSION_PK | 482K| 2829K| | 317 (3)| 00:00:04 |
| 18 | TABLE ACCESS FULL | FILES | 509K| 128M| | 8744 (1)| 00:01:45 |
|* 19 | TABLE ACCESS FULL | ATTACHMENT | 31967 | 3059K| | 1504 (2)| 00:00:19 |
| 20 | TABLE ACCESS FULL | VERSION | 482K| 23M| | 1290 (2)| 00:00:16 |
|* 21 | TABLE ACCESS BY INDEX ROWID | VERSION | 1 | 12 | | 1 (0)| 00:00:01 |
|* 22 | INDEX UNIQUE SCAN | VERSION_PK | 1 | | | 1 (0)| 00:00:01 |
|* 23 | INDEX UNIQUE SCAN | PAGE_THREE_PK | 1 | 10 | | 1 (0)| 00:00:01 |
|* 24 | INDEX UNIQUE SCAN | PAGE_TWO_PK | 1 | | | 1 (0)| 00:00:01 |
| 25 | TABLE ACCESS BY INDEX ROWID | PAGE_TWO | 1 | 16 | | 1 (0)| 00:00:01 |
| 26 | NESTED LOOPS | | | | | | |
| 27 | NESTED LOOPS | | 1 | 492 | | 6644 (2)| 00:01:20 |
| 28 | NESTED LOOPS | | 1 | 227 | | 6643 (2)| 00:01:20 |
| 29 | NESTED LOOPS | | 1 | 215 | | 6641 (2)| 00:01:20 |
| 30 | NESTED LOOPS | | 1 | 209 | | 6640 (2)| 00:01:20 |
| 31 | MERGE JOIN CARTESIAN | | 1 | 192 | | 6639 (2)| 00:01:20 |
| 32 | NESTED LOOPS | | | | | | |
| 33 | NESTED LOOPS | | 1 | 186 | | 6359 (2)| 00:01:17 |
| 34 | NESTED LOOPS | | 1 | 170 | | 6358 (2)| 00:01:17 |
| 35 | NESTED LOOPS | | 1 | 158 | | 6357 (2)| 00:01:17 |
|* 36 | HASH JOIN | | 1 | 148 | 28M| 6356 (2)| 00:01:17 |
| 37 | TABLE ACCESS FULL | VERSION | 482K| 23M| | 1290 (2)| 00:00:16 |
|* 38 | TABLE ACCESS FULL | ATTACHMENT | 407K| 38M| | 1504 (2)| 00:00:19 |
|* 39 | INDEX UNIQUE SCAN | PAGE_THREE_PK | 1 | 10 | | 1 (0)| 00:00:01 |
|* 40 | TABLE ACCESS BY INDEX ROWID| VERSION | 1 | 12 | | 1 (0)| 00:00:01 |
|* 41 | INDEX UNIQUE SCAN | VERSION_PK | 1 | | | 1 (0)| 00:00:01 |
|* 42 | INDEX UNIQUE SCAN | PAGE_TWO_PK | 1 | | | 1 (0)| 00:00:01 |
| 43 | TABLE ACCESS BY INDEX ROWID | PAGE_TWO | 1 | 16 | | 1 (0)| 00:00:01 |
| 44 | BUFFER SORT | | 407K| 2389K| | 6638 (2)| 00:01:20 |
| 45 | INDEX FAST FULL SCAN | ATTACHMENT_PK | 407K| 2389K| | 280 (3)| 00:00:04 |
|* 46 | TABLE ACCESS BY INDEX ROWID | ATTACHMENT_MAP | 1 | 17 | | 2 (0)| 00:00:01 |
|* 47 | INDEX RANGE SCAN | ATTACHMENTMAP_IDX3 | 1 | | | 1 (0)| 00:00:01 |
|* 48 | INDEX UNIQUE SCAN | VERSION_PK | 1 | 6 | | 1 (0)| 00:00:01 |
| 49 | TABLE ACCESS BY INDEX ROWID | VERSION_FILE_MAP | 1 | 12 | | 2 (0)| 00:00:01 |
|* 50 | INDEX RANGE SCAN | VERSION_FMAP_IDX2 | 1 | | | 1 (0)| 00:00:01 |
|* 51 | INDEX UNIQUE SCAN | FILES_PK | 1 | | | 1 (0)| 00:00:01 |
|* 52 | TABLE ACCESS BY INDEX ROWID | FILES | 1 | 265 | | 1 (0)| 00:00:01 |
Predicate Information (identified by operation id):
8 - access("A"."ID"="VERSION"."ATTACH_ID" AND "A"."LATEST_VSN"="VERSION"."ID")
filter("A"."LATEST_VSN">="VERSION"."ID")
10 - access("C"."ID"="D"."VERSION_ID" AND "D"."FILE_ID"="E"."ID")
12 - access("E"."ID"="A"."FILE_ID")
13 - access("A"."ATTACH_ID"="B"."ID")
15 - access("A"."LATEST_VSN"="C"."ID")
19 - filter(NVL("A"."DELETE_FLAG",0)=0 AND ("CTXSYS"."CONTAINS"("A"."DESCRIPTION",'EHS%')>0 OR
"CTXSYS"."CONTAINS"("E"."CONTENT_URL",'EHS%')>0 AND "E"."CONTENT_URL" IS NOT NULL))
21 - filter("A"."ID"="D"."ATTACH_ID")
22 - access("A"."LATEST_VSN"="D"."ID")
23 - access("A"."ID"="C"."ID" AND "A"."CLASS"="C"."CLASS")
24 - access("A"."ID"="B"."ID" AND "A"."CLASS"="B"."CLASS")
36 - access("A"."ID"="VERSION"."ATTACH_ID" AND "A"."LATEST_VSN"="VERSION"."ID")
filter("A"."LATEST_VSN">="VERSION"."ID")
38 - filter(NVL("A"."DELETE_FLAG",0)=0)
39 - access("A"."ID"="C"."ID" AND "A"."CLASS"="C"."CLASS")
40 - filter("A"."ID"="D"."ATTACH_ID")
41 - access("A"."LATEST_VSN"="D"."ID")
42 - access("A"."ID"="B"."ID" AND "A"."CLASS"="B"."CLASS")
46 - filter("A"."FILE_ID"=0)
47 - access("A"."ATTACH_ID"="B"."ID")
48 - access("A"."LATEST_VSN"="C"."ID")
50 - access("C"."ID"="D"."VERSION_ID")
51 - access("D"."FILE_ID"="E"."ID")
filter(LNNVL("E"."ID"="A"."FILE_ID"))
52 - filter("CTXSYS"."CONTAINS"("A"."DESCRIPTION",'EHS%')>0 OR
"CTXSYS"."CONTAINS"("E"."CONTENT_URL",'EHS%')>0 AND "E"."CONTENT_URL" IS NOT NULL) -
ORA-04030: out of process memory opening a cursor
Hi,
We are wonking on Oracle 9i dedicated server OLTP.
When a Pro*C process tries to open a big query cursor the ORA-04030 is returned by Oracle. Below is the query plan:
| Id | Operation | Name | Rows | Bytes | Cost |
| 0 | SELECT STATEMENT | | 41 | 4182 | 1038K|
| 1 | SORT UNIQUE | | 41 | 4182 | 1038K|
| 2 | HASH JOIN | | 41 | 4182 | 1038K|
| 3 | VIEW | | 157K| 8002K| 164K|
| 4 | SORT UNIQUE | | 157K| 11M| 162K|
| 5 | HASH JOIN | | 157K| 11M| 160K|
| 6 | VIEW | | 3151K| 126M| 51970 |
| 7 | SORT ORDER BY | | 3151K| 117M| 51970 |
| 8 | TABLE ACCESS FULL | RE_ASNEF | 3151K| 117M| 17637 |
| 9 | VIEW | | 6427K| 208M| 89856 |
| 10 | SORT ORDER BY | | 6427K| 214M| 89856 |
| 11 | HASH JOIN | | 6427K| 214M| 25130 |
| 12 | TABLE ACCESS FULL| TIPO_CLIENTE | 21 | 357 | 2 |
| 13 | TABLE ACCESS FULL| LISTA_CLIENTES | 11M| 204M| 25084 |
| 14 | VIEW | | 12M| 599M| 861K|
| 15 | SORT ORDER BY | | 12M| 695M| 861K|
| 16 | TABLE ACCESS FULL | RECIBOS | 12M| 695M| 670K|
-----------------------------------------------------------------------------We guess that the problem is that the dedicated server process is triying to allocate more memory that allowed by OS per process:
cobros1p:$ ulimit -a
time(seconds) unlimited
file(blocks) unlimited
data(kbytes) 131072
stack(kbytes) 32768
memory(kbytes) 32768 <<<-----
coredump(blocks) 2097151
nofiles(descriptors) 2000OS memory limit can´t be increased, so we guess that one posible solution is to split the query using temporary tables to reduce "hash join/sort" PGA space.
Are we right? Any hint about other possible solutions?
Thanks in advance,
Jose LuisFrom various notes you can find on MOS about 4030:
"Each Operating System will handle memory allocations with Oracle slightly differently."
"The application developer of an Oracle precompiler program or OCI program can explicitly open cursors, or handles to specific private SQL areas, and use them as a named resource throughout the execution of the program. Recursive cursors that Oracle issues implicitly for some SQL statements also use shared SQL areas.
The management of private SQL areas is the responsibility of the user process. The allocation and deallocation of private SQL areas depends largely on which application tool you are using, although the number of private SQL areas that a user process can allocate is always limited by the initialization parameter OPEN_CURSORS. The default value of this parameter is 50.
A private SQL area continues to exist until the corresponding cursor is closed or the statement handle is freed. Although Oracle frees the runtime area after the statement completes, the persistent area remains waiting. Application developers close all open cursors that will not be used again to free the persistent area and to minimize the amount of memory required for users of the application. "
"However, from within the database framework you cannot place a hard limit on the size of a process by setting any initialization parameters or database configuration.
You can limit the size of a process from the OS side by setting kernel limits or user shell limits.
However, this leads to the ORA-4030 and will cause transaction rollback."
You need to have some serious discussions with both your app developers and your OS admins, though if you are running something from the last century, that could be pointless. -
Ora -04030 in alert_log file
i am continously getting this error in my alert_log file, pls help me how to solve this error. as i am very new joined the company
pls provide me necessay steps to be performed
Errors in file c:\oracle\product\10.2.0\admin\oradb\bdump\oradb_j001_2876.trc:
ORA-00603: ORACLE server session terminated by fatal error
ORA-04030: out of process memory when trying to allocate 8512 bytes (pga heap,kgh stack)
ORA-04030: out of process memory when trying to allocate 8512 bytes (pga heap,kgh stack)
ORA-04030: out of process memory when trying to allocate 24332 bytes (QERGH hash-agg,kllcqc:kllcqslt)There is many reasons of such error, I would advise you to read the metalink note Diagnosing and Resolving ORA-4030 errors - 233869.1
Nicolas. -
ORA 04030 Out of process memory error
Dear experts,
I know there are multiple discussions around this error and I have been reading through most of them in the past one week or so, but looks like we are running out of options or are missing the color altogether. Ok, we are getting ORA-04030 - out of process memory while allocating....while one of our batch process runs in the night. It simply tries to insert/update to a table. Our installation is 11.2.0.1.0 with no RAC configuration and on 64-bit AIX having 6 cores, 12 CPUs and 16 GB memory.
We have checked the Workarea_Size_Policy is set to be as Auto so Oracle decides how much memory to allocate to PGA automatically on run-time based on the demand. And based on the AWR report it doesnt look like we are anywhere near the country having a PGA-deficit!! I am attaching the AWR report in a word document here for your reference.
Also attached below are the configurations and the ulimit values.
IKBTRN1> show parameter workarea;
NAME TYPE VALUE
workarea_size_policy string AUTO
oraipeikbtrn1:/home/oracle-> ulimit -a
time(seconds) unlimited
file(blocks) unlimited
data(kbytes) unlimited
stack(kbytes) 4194304
memory(kbytes) unlimited
coredump(blocks) unlimited
nofiles(descriptors) unlimited
threads(per process) unlimited
processes(per user) unlimited
Now, nothing seems to have contributed to the out of process memory issue from Oracle standpoint. I would be happy to be proved wrong here, if I am wrong.
So, whats going wrong here? A possible memory leak which we cannot zero down to, a OS memory limit or something else?
Seeking expert's advise on this, and also sincerely appreciate your time in looking at this.
Thanks.
P.S - I am pasting the whole AWR report since there is no 'upload file' option here that I can see.
WORKLOAD REPOSITORY report for
DB Name DB Id Instance Inst num Startup Time Release RAC
IKBTRN1 54659199 IKBTRN1 1 06-Jun-11 02:06 11.2.0.1.0 NO
Host Name Platform CPUs Cores Sockets Memory (GB)
oraipeikbtrn1.******.com AIX-Based Systems (64-bit) 12 6 16.00
Snap Id Snap Time Sessions Cursors/Session
Begin Snap: 5952 26-Aug-11 03:00:48 34 2.0
End Snap: 5953 26-Aug-11 04:00:52 32 1.9
Elapsed: 60.07 (mins)
DB Time: 1.93 (mins)
Report Summary
Cache Sizes
Begin End
Buffer Cache: 1,056M 704M Std Block Size: 8K
Shared Pool Size: 3,456M 3,456M Log Buffer: 7,184K
Load Profile
Load Profile
Per Second Per Transaction Per Exec Per Call
DB Time(s): 0.0 2.0 0.02 0.02
DB CPU(s): 0.0 0.5 0.00 0.00
Redo size: 556.1 34,554.8
Logical reads: 151.4 9,407.6
Block changes: 1.9 119.8
Physical reads: 14.2 882.6
Physical writes: 9.5 590.4
User calls: 1.8 112.8
Parses: 1.5 93.7
Hard parses: 0.1 8.9
W/A MB processed: -0.1 -6.9
Logons: 0.0 1.6
Executes: 1.9 115.4
Rollbacks: 0.0 0.0
Transactions: 0.0
Instance Efficiency Percentages (Target 100%)
Buffer Nowait %: 100.00 Redo NoWait %: 100.00
Buffer Hit %: 96.63 In-memory Sort %: 99.97
Library Hit %: 95.68 Soft Parse %: 90.49
Execute to Parse %: 18.74 Latch Hit %: 100.00
Parse CPU to Parse Elapsd %: 57.23 % Non-Parse CPU: 86.28
Shared Pool Statistics
Begin End
Memory Usage %: 85.72 85.76
% SQL with executions>1: 93.91 96.66
% Memory for SQL w/exec>1: 89.07 87.04
Top 5 Timed Foreground Events
Event Waits Time(s) Avg wait (ms) % DB time Wait Class
DB CPU 29 24.66
db file scattered read 3,456 17 5 14.92 User I/O
db file sequential read 4,304 17 4 14.77 User I/O
direct path read temp 764 17 22 14.31 User I/O
direct path write temp 259 5 21 4.70 User I/O
Host CPU (CPUs: 12 Cores: 6 Sockets: )
Load Average Begin Load Average End %User %System %WIO %Idle
1.39 1.37 0.2 0.2 0.2 99.6
Instance CPU
%Total CPU %Busy CPU %DB time waiting for CPU (Resource Manager)
0.1 20.5 0.0
Memory Statistics
Begin End
Host Mem (MB): 16,384.0 16,384.0
SGA use (MB): 4,704.0 4,352.0
PGA use (MB): 196.1 188.4
% Host Mem used for SGA+PGA: 29.91 27.71
Main Report
• Report Summary
• Wait Events Statistics
• SQL Statistics
• Instance Activity Statistics
• IO Stats
• Buffer Pool Statistics
• Advisory Statistics
• Wait Statistics
• Undo Statistics
• Latch Statistics
• Segment Statistics
• Dictionary Cache Statistics
• Library Cache Statistics
• Memory Statistics
• Streams Statistics
• Resource Limit Statistics
• Shared Server Statistics
• init.ora Parameters
Back to Top
Wait Events Statistics
• Time Model Statistics
• Operating System Statistics
• Operating System Statistics - Detail
• Foreground Wait Class
• Foreground Wait Events
• Background Wait Events
• Wait Event Histogram
• Wait Event Histogram Detail (64 msec to 2 sec)
• Wait Event Histogram Detail (4 sec to 2 min)
• Wait Event Histogram Detail (4 min to 1 hr)
• Service Statistics
• Service Wait Class Stats
Back to Top
Time Model Statistics
• Total time in database user-calls (DB Time): 115.9s
• Statistics including the word "background" measure background process time, and so do not contribute to the DB time statistic
• Ordered by % or DB time desc, Statistic name
Statistic Name Time (s) % of DB Time
sql execute elapsed time 101.69 87.75
DB CPU 28.58 24.66
parse time elapsed 10.14 8.75
hard parse elapsed time 9.92 8.56
failed parse elapsed time 4.92 4.25
hard parse (sharing criteria) elapsed time 4.27 3.68
connection management call elapsed time 0.42 0.36
PL/SQL compilation elapsed time 0.34 0.30
PL/SQL execution elapsed time 0.18 0.15
sequence load elapsed time 0.00 0.00
repeated bind elapsed time 0.00 0.00
DB time 115.88
background elapsed time 86.01
background cpu time 5.06
Back to Wait Events Statistics
Back to Top
Operating System Statistics
• *TIME statistic values are diffed. All others display actual values. End Value is displayed if different
• ordered by statistic type (CPU Use, Virtual Memory, Hardware Config), Name
Statistic Value End Value
NUM_LCPUS 0
NUM_VCPUS 0
AVG_BUSY_TIME 1,260
AVG_IDLE_TIME 360,705
AVG_IOWAIT_TIME 534
AVG_SYS_TIME 483
AVG_USER_TIME 679
BUSY_TIME 16,405
IDLE_TIME 4,329,811
IOWAIT_TIME 7,284
SYS_TIME 7,092
USER_TIME 9,313
LOAD 1 1
OS_CPU_WAIT_TIME 503,900
PHYSICAL_MEMORY_BYTES 17,179,869,184
NUM_CPUS 12
NUM_CPU_CORES 6
GLOBAL_RECEIVE_SIZE_MAX 1,310,720
GLOBAL_SEND_SIZE_MAX 1,310,720
TCP_RECEIVE_SIZE_DEFAULT 16,384
TCP_RECEIVE_SIZE_MAX 9,223,372,036,854,775,807
TCP_RECEIVE_SIZE_MIN 4,096
TCP_SEND_SIZE_DEFAULT 16,384
TCP_SEND_SIZE_MAX 9,223,372,036,854,775,807
TCP_SEND_SIZE_MIN 4,096
Back to Wait Events Statistics
Back to Top
Operating System Statistics - Detail
Snap Time Load %busy %user %sys %idle %iowait
26-Aug 03:00:48 1.39
26-Aug 04:00:52 1.37 0.38 0.21 0.16 99.62 0.17
Back to Wait Events Statistics
Back to Top
Foreground Wait Class
• s - second, ms - millisecond - 1000th of a second
• ordered by wait time desc, waits desc
• %Timeouts: value of 0 indicates value was < .5%. Value of null is truly 0
• Captured Time accounts for 78.2% of Total DB time 115.88 (s)
• Total FG Wait Time: 62.08 (s) DB CPU time: 28.58 (s)
Wait Class Waits %Time -outs Total Wait Time (s) Avg wait (ms) %DB time
User I/O 8,949 0 56 6 48.74
DB CPU 29 24.66
System I/O 1,916 0 3 1 2.18
Other 506 88 1 2 0.92
Configuration 2 50 1 500 0.86
Commit 37 0 1 18 0.56
Application 20 0 0 17 0.29
Network 4,792 0 0 0 0.01
Concurrency 1 0 0 0 0.00
Back to Wait Events Statistics
Back to Top
Foreground Wait Events
• s - second, ms - millisecond - 1000th of a second
• Only events with Total Wait Time (s) >= .001 are shown
• ordered by wait time desc, waits desc (idle events last)
• %Timeouts: value of 0 indicates value was < .5%. Value of null is truly 0
Event Waits %Time -outs Total Wait Time (s) Avg wait (ms) Waits /txn % DB time
db file scattered read 3,456 0 17 5 59.59 14.92
db file sequential read 4,304 0 17 4 74.21 14.77
direct path read temp 764 0 17 22 13.17 14.31
direct path write temp 259 0 5 21 4.47 4.70
control file sequential read 1,916 0 3 1 33.03 2.18
ADR block file read 38 0 1 28 0.66 0.92
log buffer space 2 50 1 500 0.03 0.86
log file sync 37 0 1 18 0.64 0.56
enq: RO - fast object reuse 14 0 0 24 0.24 0.29
local write wait 44 0 0 1 0.76 0.03
SQL*Net message to client 4,772 0 0 0 82.28 0.01
Disk file operations I/O 110 0 0 0 1.90 0.00
ADR block file write 7 0 0 0 0.12 0.00
SQL*Net message from client 4,773 0 15,396 3226 82.29
Streams AQ: waiting for messages in the queue 720 100 3,600 5000 12.41
Back to Wait Events Statistics
Back to Top
Background Wait Events
• ordered by wait time desc, waits desc (idle events last)
• Only events with Total Wait Time (s) >= .001 are shown
• %Timeouts: value of 0 indicates value was < .5%. Value of null is truly 0
Event Waits %Time -outs Total Wait Time (s) Avg wait (ms) Waits /txn % bg time
control file sequential read 4,950 0 35 7 85.34 40.74
control file parallel write 1,262 0 31 25 21.76 36.46
log file parallel write 383 0 4 10 6.60 4.37
db file parallel write 627 0 2 3 10.81 2.36
change tracking file synchronous read 56 0 2 34 0.97 2.21
os thread startup 17 0 1 88 0.29 1.74
ADR block file read 135 0 1 7 2.33 1.04
change tracking file synchronous write 56 0 1 15 0.97 0.98
SGA: allocation forcing component growth 8 100 1 100 0.14 0.93
db file sequential read 112 0 1 6 1.93 0.75
process diagnostic dump 94 0 0 1 1.62 0.09
ADR block file write 92 0 0 1 1.59 0.07
LGWR wait for redo copy 11 0 0 1 0.19 0.01
log file sync 2 0 0 3 0.03 0.01
ADR file lock 92 22 0 0 1.59 0.01
Parameter File I/O 24 0 0 0 0.41 0.01
direct path write 6 0 0 1 0.10 0.00
Disk file operations I/O 54 0 0 0 0.93 0.00
rdbms ipc message 17,637 97 61,836 3506 304.09
Streams AQ: waiting for time management or cleanup tasks 5 60 11,053 2210602 0.09
DIAG idle wait 7,203 100 7,203 1000 124.19
PX Idle Wait 1,802 100 3,604 2000 31.07
pmon timer 1,212 99 3,603 2973 20.90
Space Manager: slave idle wait 726 99 3,603 4963 12.52
smon timer 12 100 3,600 300004 0.21
Streams AQ: qmn slave idle wait 128 0 3,583 27993 2.21
Streams AQ: qmn coordinator idle wait 256 50 3,583 13996 4.41
SQL*Net message from client 293 0 2 5 5.05
Back to Wait Events Statistics
Back to Top
Wait Event Histogram
• Units for Total Waits column: K is 1000, M is 1000000, G is 1000000000
• % of Waits: value of .0 indicates value was <.05%; value of null is truly 0
• % of Waits: column heading of <=1s is truly <1024ms, >1s is truly >=1024ms
• Ordered by Event (idle events last)
% of Waits
Event Total Waits <1ms <2ms <4ms <8ms <16ms <32ms <=1s >1s
ADR block file read 173 80.3 5.2 2.3 5.8 1.7 4.6
ADR block file write 99 96.0 3.0 1.0
ADR file lock 102 100.0
Disk file operations I/O 165 100.0
LGWR wait for redo copy 11 90.9 9.1
Parameter File I/O 24 100.0
SGA: allocation forcing component growth 8 100.0
SQL*Net break/reset to client 6 100.0
SQL*Net message to client 4992 100.0
SQL*Net more data from client 20 100.0
asynch descriptor resize 541 100.0
change tracking file synchronous read 56 83.9 1.8 14.3
change tracking file synchronous write 56 80.4 7.1 1.8 10.7
control file parallel write 1262 80.3 1.7 .6 .6 .8 1.3 14.7
control file sequential read 6866 94.1 .9 .7 .7 .3 .4 2.9
db file parallel write 628 94.3 2.1 1.0 .8 .3 .3 1.3
db file scattered read 3457 72.6 7.2 5.4 6.9 5.7 .5 1.6
db file sequential read 4525 78.7 2.7 1.8 9.6 5.3 .4 1.5
direct path read temp 764 40.2 18.6 9.4 6.2 11.0 5.8 8.9
direct path sync 1 100.0
direct path write 6 83.3 16.7
direct path write temp 259 .4 1.2 88.8 .4 9.3
enq: RO - fast object reuse 14 42.9 42.9 7.1 7.1
latch free 1 100.0
latch: cache buffers lru chain 2 100.0
latch: checkpoint queue latch 2 100.0
latch: messages 2 100.0
latch: object queue header operation 2 100.0
latch: redo allocation 1 100.0
latch: row cache objects 1 100.0
local write wait 44 100.0
log buffer space 2 50.0 50.0
log file parallel write 383 92.4 .8 1.0 5.7
log file sync 39 82.1 2.6 2.6 12.8
os thread startup 17 100.0
process diagnostic dump 94 34.0 63.8 2.1
reliable message 7 100.0
utl_file I/O 12 100.0
DIAG idle wait 7204 100.0
PX Idle Wait 1802 100.0
SQL*Net message from client 5067 87.1 6.6 1.0 .5 .5 .1 .5 3.7
Space Manager: slave idle wait 726 .6 99.4
Streams AQ: qmn coordinator idle wait 256 49.2 .8 50.0
Streams AQ: qmn slave idle wait 128 100.0
Streams AQ: waiting for messages in the queue 721 100.0
Streams AQ: waiting for time management or cleanup tasks 5 40.0 20.0 40.0
class slave wait 17 100.0
pmon timer 1212 .9 99.1
rdbms ipc message 17.6K 1.8 .4 .2 .2 .1 .1 21.0 76.2
smon timer 12 100.0
Back to Wait Events Statistics
Back to Top
I couldnt add the rest of the report here since it is telling me I have exceeded 30000 characters. If you want to see the full report, please email me at [email protected]Unless your database is strictly a DSS-type of database, your AWR report exposes loads of issues with it. And I think none of the time during the AWR window was spent on database. Look at the DB time (with all those multi cores) compared with the elapsed time of the AWR.
As you are on 11g, why not make use of MEMORY_TARGET (a single parameter to manage both SGA and PGA)? If you are already on it, ignore this as I can't see it anywhere. If not, get rid of SGA_TARGET and PGA_AGGREGATE_TARGET and replace it with a single MEMORY_TARGET parameter. However you may have a minimum threshold set for different SGA pools so that they won't shrink beyond that point.
Having said that, setting MEMORY_TARGET is not a guarantee to avoid ORA-4030. Just a single bad PL/SQL code could go and exploit the untunable part of your process memory and even go and blow up the physical memory. If you are using FORALL and BULK load, see if you can cut it down into few chunks rather than running as a single process.
What does your V$PGASTAT say? -
ORA-04030: out of process memory when using Java Stored Procedures
Hello,
I have a problem using Java Stored Procedures in Oracle 10g.
My Java application performs http posts to a webservice and the response is parsed in order to populate some DB tables.
There is a scheduled job which calls the Java Stored Procedure every x minutes.
No matter of the 'x minutes' values - after about 160 - 200 calls I get this error:
ORA-04030: out of process memory when trying to allocate 1048620 bytes (joxp heap,f:OldSpace)
ORA-04030: out of process memory when trying to allocate 2097196 bytes (joxp heap,f:OldSpace)
The job stops just while is posting the http request. The weird thing is that almost each time the first http post request I get this error:
java.net.ConnectException: Connection refused
at java.net.PlainSocketImpl.socketConnect(Native Method)
at java.net.PlainSocketImpl.doConnect(PlainSocketImpl.java:305)
at java.net.PlainSocketImpl.connectToAddress(PlainSocketImpl.java:171)
at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:158)
at java.net.Socket.connect(Socket.java:426)
at com.sun.net.ssl.internal.ssl.SSLSocketImpl.connect(DashoA6275)
at sun.reflect.GeneratedMethodAccessor2.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:324)
at org.apache.commons.httpclient.protocol.ReflectionSocketFactory.createSocket(ReflectionSocketFactory.java:140)
at org.apache.commons.httpclient.protocol.SSLProtocolSocketFactory.createSocket(SSLProtocolSocketFactory.java:130)
at org.apache.commons.httpclient.HttpConnection.open(HttpConnection.java:707)
at org.apache.commons.httpclient.HttpMethodDirector.executeWithRetry(HttpMethodDirector.java:387)
at org.apache.commons.httpclient.HttpMethodDirector.executeMethod(HttpMethodDirector.java:171)
at org.apache.commons.httpclient.HttpClient.executeMethod(HttpClient.java:397)
at org.apache.commons.httpclient.HttpClient.executeMethod(HttpClient.java:323)
and the second try works fine.
So, The out of process memory occured each time just before getting such an error, and I suspect to be a connection between these errors.
Tech details:
1. OS: WinXP
2. Oracle 10.1.0.2.0
3. To perform http post I use HttpClient 3.1 from Apache.
4. I checked the http connection to be closed each time, and this is done.
5. I checked the oracle statement and connection to be closed each time and this is done
6. The JVM error (logged in .trc files of Oracle) is:
java.lang.OutOfMemoryError
at java.lang.Thread.start(Native Method)
at sun.security.provider.SeedGenerator$ThreadedSeedGenerator.run(SeedGenerator.java:297)
DB Settings details:
Starting up ORACLE RDBMS Version: 10.1.0.2.0.
System parameters with non-default values:
processes = 200
sessions = 225
shared_pool_size = 159383552
large_pool_size = 8388608
java_pool_size = 104857600
nls_language = AMERICAN
control_files = C:\ORACLE\PRODUCT\10.1.0\ORADATA\XXXXXX\CONTROL01.CTL, C:\ORACLE\PRODUCT\10.1.0\ORADATA\XXXXXX\CONTROL02.CTL, C:\ORACLE\PRODUCT\10.1.0\ORADATA\XXXXXX\CONTROL03.CTL
db_block_size = 8192
db_cache_size = 29360128
compatible = 10.1.0
fal_client = XXXXXX
fal_server = XXXXXXs
log_buffer = 524288
log_checkpoint_interval = 100000
db_files = 70
db_file_multiblock_read_count= 32
db_recovery_file_dest = C:\oracle\product\10.1.0\flash_recovery_area
db_recovery_file_dest_size= 2147483648
standby_file_management = AUTO
undo_management = AUTO
undo_tablespace = undotbs_01
undo_retention = 14400
remote_login_passwordfile= EXCLUSIVE
db_domain =
dispatchers = (PROTOCOL=TCP) (SERVICE=XXXXXXXDB)
remote_dependencies_mode = SIGNATURE
job_queue_processes = 4
parallel_max_servers = 5
background_dump_dest = C:\ORACLE\PRODUCT\10.1.0\ADMIN\XXXXXX\BDUMP
user_dump_dest = C:\ORACLE\PRODUCT\10.1.0\ADMIN\XXXXXX\UDUMP
max_dump_file_size = 10240
core_dump_dest = C:\ORACLE\PRODUCT\10.1.0\ADMIN\XXXXXX\CDUMP
sort_area_size = 1048576
sort_area_retained_size = 1048576
db_name = XXXXXX
open_cursors = 500
optimizer_mode = FIRST_ROWS
pga_aggregate_target = 25165824
Any help would be appreciated. Thanks.
Can be a problem with JVM threading under Oracle ?The server prcess failed to allocate more memory for large objects ( in Oldspace).
If you Google ORA-04030, you will see several recommendations to work around this.
The Java VM in the database already has HttpClient, i don't know why you are loading the Apache HttpClient but this might not be the surce of the problem.
Kuassi http://db360.blogspot.com -
How to resolve this Error ORA-04030: out of process memory when trying to a
Hi
I am connecting as a sysdba and trying to execute a query on the V$Logmnr_contents but getting the following Error
ORA-04030: out of process memory when trying to allocate 408 bytes (T-LCR
structs,krvuinl_InitNewLcr)
Can anyone guide me how to resolve this issue.
ThanksHi,
As root user, edit the /etc/sysconfigtab file, and try to set the udp_recvspace parameter to 262144 and reboot the machine :
inet:
udp_recvspace = 262144
Metalink note 297030.1 Ora-04030 During Execution Of LogMiner Query
Nicolas. -
ORA-04030: out of process memory when trying to allocate
Hello Expert,
I have this error in my production database.
Database is working fine except busy Hours when running couple of ETL's and Crystal report on it.
Error : ORA-04030: out of process memory when trying to allocate
This error comes once in a month with above error
Instance terminated by CKPT
Platfrom : Microsoft window server 2003
Enterprise Edition.
service pack 1
Intel (R) Xenon (TM) CPU
3.00GHz
2.99 GHz, 15.4 GB of RAM
Oracle : Oracle Database 10g Enterprise Edition Release 10.2.0.2.0
TNS for 32-bit Windows: Version 10.2.0.2.0
SGA and PGA :
sga_max_size big integer 7008M
sga_target big integer 0
pga_aggregate_target big integer 950M
buffer_pool_keep string
buffer_pool_recycle string
global_context_pool_size string
java_pool_size big integer 152M
large_pool_size big integer 152M
olap_page_pool_size big integer 0
shared_pool_reserved_size big integer 26424115
shared_pool_size big integer 504M
streams_pool_size big integer 48M
sort_area_size integer 524288
processes integer 500
Active user : 228
sort_area_size integer 524288
Thanks in advance !!
DharmeshU can go through the link:--
https://metalink.oracle.com/metalink/plsql/f?p=130:14:5384645520011813599::::p14_database_id,p14_docid,p14_show_header,p14_show_help,p14_black_frame,p14_font:NOT,233869.1,1,1,1,helvetica
Regards,
Anand
Maybe you are looking for
-
Swapping between client database and web database
Hi i have completed tutorials etc so can now create the sqlite database for my application which is downloaded by the user and will run on thier desktop so i am calling it the "client database" which contains data they are working with but there is a
-
The section height is not valid
Post Author: rbadis CA Forum: General Hi, I'm running and exporting a crystal report to PDF using C#.net on Crystal report Version 10.0 , and I'm handling the TextBoxes on my Crystal programmatically using this bit of code and it's working fine for 4
-
Why Mail displays the name and address instead of address book name?
File under the category of unanswered miscellaneous quirks by a new Mail user (the old posts were archived/locked).... I have found that by eliminating any spaces in FIRST name field, the Address Book name appears w/ blue losenge (w/o the e-mail addr
-
Okay I have a 80Gb Firewire HDD and internal 80Gb HDD, the plan is to use CCC to backup the current 30Gb HDD to the FW one and make it bootable. Then swap out the 30 for the 80, Hook up the FW external HDD and copy back to the new internal 80gb HDD.
-
Connecting tv to my t43 using s-vidio
hello I have aproblem connecting my t43 to the tv using s-video to rca cable. im using an intel grphic accelerator and my os is xp . on the tv I see flikeing lines. I've tried downloding drivers and I've tried to change display settings including vi