ORA-04030: out of process memory

Tengo una aplicación propietaria montada en Oracle 8i RDBMS he realizado tunning a la base para que trabaje lo mejor posible, no tengo mucha experiencia en esto; pero con algunos articulos ha funcionado, los usuarios que normalmente accesan son 40 usuarios tengo un servidor Dell Pentium III con 1GB de memoria y 40 GB en disco duro, Windows NT Server 2000, las tablas mas grandes que tengo son de 150,000 registros y normalmente los usuarios trabajan sin problemas, a veces con un poco de lentitud; pero es razonable. Quisiera ver si alguien de ustedes le ha enviado este error y tiene alguna idea de como solucionarlo, ultimamente me lo ha enviado y no se que ajustar en la base .
ORA-04030: out of process memory when trying to allocate 2097152 bytes (cursor work he, QERHJ Bit vector)
Cualquier ayuda se le agredece de antemano
José Luis Escobar

2 Respuestas

Anexo te explico lo que te sucede, y las acciones a tomar:
PROBLEM STATEMENT: ================= An ORA-4030 when executing reports or when connecting to the NT instance.
PROBLEM EXPLANATION: =================== The primary reasons for an ORA-4030 to be presented is that the virtual memory model on which NT operates has reached its limit. NT has a memory architecture wherein 2G is allocated for the user processes and 2G for the system hence the addressability is 2^31-1. Now when the virtual memory counter in performance manager has reached 2G ,the maximum memory that is addressable has been attained and ORA-4030 will start surfacing. Also a TNS internal limit has been reached may also appear in certain cases. There are 3 problem points which can be checked in this scenario. ( More to be added are welcome ) a)The system SGA (SGA's in case of multiple instances) occupy memory which is nearing 2G. The aggregate of the SGA should be lesser than 2G to allow the buffer for the process memory i.e the shadow processes which will be forked on connections to have their share of space. Hence reduction of the SGA components would provide a workaround . However this may not be a feasible component as the performance would go down. b)The sort area size parameter of the instances could be reduced to reduce the per process committal memory allocated when the connection is made . This will give the chance for more connections as more memory will be available. Note that committal memory is that memory that is allocated and backed by a data store ( pagefile / physical memory pages ) and reserved memory is that which is just allocated and not backed up. These memory components could be checked using the orastack utility which is provided. The defaults are as follows G:\oidhome\bin>orastack oracle.exe Dump of file oracle.exe Current Reserved Memory per Thread = 1048576 Current Committed Memory per Thread = 4096 For connections that come from the listener the stacks on the tnslsnr.exe executable can be reduced. However care should be taken when adjusting these settings . Refer to notes: [NOTE:28299.1] Windows NT Architecture Guide [NOTE:46053.1] Windows NT Memory Architecture Overview [NOTE:46001.1] Oracle and the Windows NT memory architecture for information about NT architecture and memory allocation. c)This is most favourable method Increase the addressability of the process from 2G to 3G without changing the API of the application.The details of the same are present in [NOTE:46001.1] however here is the essence 1)The customer should have Winnt Enterprise Edition with Service pack 3 at least 2)You need to modify the executables by using the imagecfg utility to set a flag in the header of the executables so that they take advantage of the 3G allocated. The system in turn will occupy only 1G of RAM. 3)Exploiting the Intel pentium II and III architectures (32 bit) support for the Extended Server Memory Architecture (ESMA) which is also supported by 8i. 4) The oracle8i parameters which help in exploiting ESMA are VLM_BUFFER_MEMORY USE_INDIRECT_DATA_BUFFERS Details for this could be found in the Oracle Server Reference Guide. SOLUTION: ======== 1) Reduce system SGA 2) Reduce PGA/UGA contents (Sort_area_size) 3) Increase memory addressability from 2G to 3G (this requires WindowsNT Enterprise edition plus SP3) by doing the following : Here is the boot.ini on the system drive [boot loader] timeout=30 default=multi(0)disk(0)rdisk(0)partition(2)\WINNT [operating systems] multi(0)disk(0)rdisk(0)partition(2)\WINNT="Windows NT Server Version 4.00" /3GB multi(0)disk(0)rdisk(0)partition(2)\WINNT="Windows NT Server Version 4.00 [VGA mode]" /basevideo /sos Note the /3GB setting added to the 4th line above Also copy the imagecfg utility (Present on the Windows NT cdrom in the support folder) and use






Añade tu respuesta

Haz clic para o

Más respuestas relacionadas