How to troubleshoot ORA-04031 error?
I'm getting ORA-04031 errors such as the this one:
ORA-04031: unable to allocate 264 bytes of shared memory ("shared pool","unknown object","PCUR^a9c5b70f","kglob")
Here is the server's information:
OS: RHEL
MEMORY: 48 GB
There is another database on the same server.
Here is the information about the database which has the ORA-04031 errors:
Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - 64bit Production
PL/SQL Release 11.2.0.1.0 - Production
CORE 11.2.0.1.0 Production
TNS for Linux: Version 11.2.0.1.0 - Production
NLSRTL Version 11.2.0.1.0 - Production
Database size (sum of datafiles) is about 2 GB.
SGA_TARGET = 0
SGA_MAX_SIZE = 224M -- Since SGA_TARGET = 0, does SGA_MAX_SIZE still control the maximum size of SGA?
SHARED_POOL_SIZE = 128M
SHARED_POOL_RESERVED_SIZE = 6710886
LOG_BUFFER = 4890624
LARGE_POOL_SIZE = 0
DB_CACHE_SIZE = 64M
DB_BLOCK_SIZE = 8192
JAVA_POOL_SIZE = 24M
SESSION_CACHED_CURSORS = 50
STATISTICS_LEVEL = TYPICAL
MEMORY_TARGET = 0
MEMORY_MAX_TARGET = 0
CPU_COUNT = 16
SQL AREA has 57% GETHITRATIO, 39939 RELOADS, and 1885 INVALIDATIONS.
Should I just increase SHARED_POOL_SIZE?
Thanks for any help.
is your post or mine more understandable?
SHARED_POOL_SIZE_FOR_ESTIMATE SHARED_POOL_SIZE_FACTOR ESTD_LC_SIZE ESTD_LC_MEMORY_OBJECTS ESTD_LC_TIME_SAVED ESTD_LC_TIME_SAVED_FACTOR ESTD_LC_LOAD_TIME ESTD_LC_LOAD_TIME_FACTOR ESTD_LC_MEMORY_OBJECT_HITS
124 .7561 6 526 342198 .991 3331 16.0918 705799
144 .878 26 2018 343203 .9939 2326 11.2367 2162766
164 1 46 3297 345322 1 207 1 2177631
184 1.122 66 4698 345433 1.0003 96 .4638 2179067
204 1.2439 86 6164 345438 1.0003 91 .4396 2179314
224 1.3659 101 7094 345440 1.0003 89 .43 2179379
244 1.4878 104 7324 345440 1.0003 89 .43 2179379
264 1.6098 104 7324 345440 1.0003 89 .43 2179379
284 1.7317 104 7324 345440 1.0003 89 .43 2179379
304 1.8537 104 7324 345440 1.0003 89 .43 2179379
324 1.9756 104 7324 345440 1.0003 89 .43 2179379
344 2.0976 104 7324 345440 1.0003 89 .43 2179379
12 rows selected.
SQL>
Similar Messages
-
How can I handle ora 04031 error ?
Hi there,
I got ora 04031 error message.
so I increased shared memory size.
After that I got again ora 04031.
How can I fix this error? Pls give me a talk.
Thanks.Hi,
This error isn't just caused by a lack of memory, it can also be caused by fragmentation of the shared pool. It quite often shows up in applications where developers don't use bind variables and issue a large number of very similar but distinct queries, especially in long running processes. In this case you can try regularly flushing the shared pool or beating the developers about the head every time you see them not using bind variables.
Andre -
Hello All,
Context:
We have a financial closing system working in the BW 3.5 and Oracle 9.2.0.7.0.
We are working with more than 100 millions records in 3 days.
In general, the system uses the standard data marts and BPS processes (copy, distribution, etc).
Error:
We had a lot of ORA-04031 errors for all execution (ABAP Programs, Data Loads, BPS Executions), it stopped the environment.
We did the "stop/start" the server to solved the problem.
The basis team increase the parameter "shared_pool_size" = 3000M - We saw the SAP Note (690241) and which is more than enough.
We have fear about it, we think it is posible to occurs again.
This is a big impact for the business.
Have you got this error in the past?
Could you please help us.
Thanks a lot.
Daniel Souza
SAP BW, SEM and Portal Consultant.
São Paulo - Brazil
+55 11 99092151Hi Chandran,
We saw this note.
The basis team have been changed the KGHDSIDXCOUNT parameter ( 4 to 1).
I am not founding more causes for this problem in the note.
Is it posible to have problems if the DB_CACHE_SIZE parameter is very large? example 18000M?
The basis team reduces the value for 1700M, in the last shutdown.
How can I flush the memory automatically?
The basis team reported this error for us. "It is not posible to flush the memory, it is necessary to shutdown the server".
Is it posible for the oracle 9i manage the memory area (shared pool) automatically? Is it recommended? Have you got this experience?
We have seen two notes about it:
997889 --> "Increase the memory SGA the ocurrence of error ORA-04031 but it does not prevent it."
617416 --> "The following areas of the SGA can be changed dynamically with Oracle 9.2 if the SGA is configured dynamically: Buffer Cache, Shared Pool, Large Pool."
Thanks a lot.
Best regards,
Daniel Souza
São Paulo - Brazil -
How to resolve ORA-00001 Error in SQL Insert?
Hi all, I need your appreciated help.
I make a plsql procedure that is inserting a row according cursor value, I'm having oracle error ORA-00001: unique constraint (constraint_name) violated.
You may see this message if a duplicate entry exists at a different level: in RDBMS MySQL I have the syntax IGNORE to resolve this duplication error... and in Oracle ?
Thanks for your time and hints.
Miguelitouser6317803 wrote:
How to resolve ORA-00001 Error in SQL Insert?ORA-00001 means table has unique/primary key/index and you are trying to insert a row with key value that already exists in the table. I'll assume table COUNTRIES has primary key on COUNTRY_ID. Then change SQL to:
SQL = "INSERT INTO COUNTRIES(COUNTRY_ID,COUNTRY_NAME,REGION_ID) SELECT 'BZ','BLZ',3 FROM DUAL WHERE NOT EXISTS(SELECT 1 FROM COUNTRIES WHERE COUNTRY_ID = 'BZ')"There is a good chance table COUNTRIES also has unique key/index on COUNTRY_NAME. If so use:
SQL = "INSERT INTO COUNTRIES(COUNTRY_ID,COUNTRY_NAME,REGION_ID) SELECT 'BZ','BLZ',3 FROM DUAL WHERE NOT EXISTS(SELECT 1 FROM COUNTRIES WHERE COUNTRY_ID = 'BZ' OR COUNTRY_NAME = 'BLZ')"SY. -
So I am running Oracle 11g and APEX 4.2.1.00.08 on an Amazon m1.medium instance. I also have it running on a Dell T300 server locally. I haven't had any issues with application on the local server, but I keep getting memory errors on the Amazon one. This is the error message " ORA-04031: unable to allocate 32792 bytes of shared memory ("large pool","unknown object","session heap","kgich") "
I have checked the shared memory pool on both machines. Here is what "select * from v$sgainfo; " shows from both machines if that is of any use: [Amazon Machine|http://diversifiedindustries.biz/images/AmazonOracle.jpg] [Local Machine|http://diversifiedindustries.biz/images/DIOracle.jpg] I am not sure how to interpret these results as I am a noob when it comes to Oracle and Apex things.
Any thoughts on how I can fix this?I had originally posted in the APEX forum and it was suggested I try here, which is why I had only put the APEX version. I know now to post everything in the future.
jgarry wrote:
Please show us the output of this command:
show parameter pool
SQL> show parameter pool
NAME TYPE VALUE
buffer_pool_keep string
buffer_pool_recycle string
global_context_pool_size string
java_pool_size big integer 0
large_pool_size big integer 0
olap_page_pool_size big integer 0
shared_pool_reserved_size big integer 8178892
shared_pool_size big integer 100M
streams_pool_size big integer 0
Also, you can create a pfile from spfile, and post that.
xe.__db_cache_size=8388608
xe.__java_pool_size=4194304
xe.__large_pool_size=4194304
xe.__oracle_base='C:\oraclexe\app\oracle'#ORACLE_BASE set from environment
xe.__pga_aggregate_target=16777216
xe.__sga_target=192937984
xe.__shared_io_pool_size=4194304
xe.__shared_pool_size=163577856
xe.__streams_pool_size=4194304
*.audit_file_dest='C:\oraclexe\app\oracle\admin\XE\adump'
*.compatible='11.2.0.0.0'
*.control_files='C:\oraclexe\app\oracle\oradata\XE\control.dbf'
*.db_name='XE'
*.DB_RECOVERY_FILE_DEST_SIZE=10G
*.DB_RECOVERY_FILE_DEST='C:\oraclexe\app\oracle\fast_recovery_area'
*.diagnostic_dest='C:\oraclexe\app\oracle\.'
*.dispatchers='(PROTOCOL=TCP) (SERVICE=XEXDB)'
*.job_queue_processes=4
*.memory_target=200M
*.open_cursors=300
*.remote_login_passwordfile='EXCLUSIVE'
*.sessions=20
*.shared_pool_size=104857600
*.shared_servers=4
*.undo_management='AUTO'
*.undo_tablespace='UNDOTBS1' -
Hi All!
Can someone help me find the cause for the following error which occurs at random when I access Oracle through the servlet?
java.sql.SQLException: ORA-04031: unable to allocate 744 bytes of shared memory ("unknown object","sga heap","library cache")
at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:114)
at oracle.jdbc.ttc7.TTIoer.processError(TTIoer.java:208)
at oracle.jdbc.ttc7.Oall7.receive(Oall7.java:542)
at oracle.jdbc.ttc7.TTC7Protocol.doOall7(TTC7Protocol.java:1311)
at oracle.jdbc.ttc7.TTC7Protocol.parseExecuteDescribe(TTC7Protocol.java:595)
at oracle.jdbc.driver.OracleStatement.doExecuteQuery(OracleStatement.java:1600)
at oracle.jdbc.driver.OracleStatement.doExecute(OracleStatement.java:1758)
at oracle.jdbc.driver.OracleStatement.doExecuteWithTimeout(OracleStatement.java:1805)
at oracle.jdbc.driver.OracleStatement.executeQuery(OracleStatement.java:410)
My environment:
In jserv.properties of my webserver
wrapper.path=.:/bin:/usr/local/bin:/mnt/sdclib/run:/usr/bin:/oracle/app/product/7.2.3/bin
wrapper.classpath=/oracle/app/product/8.1.6/jdbc/lib/classes12.zip
wrapper.env=ORACLE_REL=7.2.3
wrapper.env=ORACLE_HOME=/oracle/app/product/7.2.3
A reply in advance would be of great help to me.
Thanks,
Benjamin<BLOCKQUOTE><font size="1" face="Verdana, Arial">quote:</font><HR>Originally posted by quan wang:
Run the following command to see how to resolve the exception:
${ORACLE_HOME}/bin/oerr ora 04031<HR></BLOCKQUOTE>
Thanks very much Quan Wang! -
Hi Sir,
I am installing oracle 8.1.5 on a windows 2003 server R2 SP2
machine, its having 4GB of RAM.
I have choosen to install the preconfigured starter DB, when DBCA is creating
the DB is throws the following error message...
ORA-04031 unable to allocate 102724472 bytes of shared memory
("shared pool","unknown object","sga heap","db_block_buffers")
Then Ignore or abort comes.
Please give me any solution.
Edited by: Wason Naveen on Nov 7, 2009 4:15 AMHello,
In general ORA-4031 is an error due to a lack of memory (shared_pool).
So you should check for the parameter SHARED_POOL_SIZE and increase it (for instance to 200 Mo).
Else, about the release, I'm surprised that you use Oracle 8.1.5. It's an old release and I'm not sure it's
certified on Windows 2003.
Best regards,
Jean-Valentin -
How to handle ORA-28001 error with JDBC thin driver ?
Dear reader,
As you all know, ORACLE returns error ORA-28001 upon a connection attempt when the user's password has expired.
Handling the error in OCI is quite simple, thanks to the function OCIPasswordChange(). However, I have not been able to find a JAVA equivalent in the Oracle JDBC library.
I have found a field called oracle.jdbc.driver.OracleDriver.set_new_password_string, and a field oracle.jdbc.OracleConnection.CONNECTION_PROPERTY_SET_NEW_PASSWORD, but I have really no idea on how to use them (if appropriate) so as to allow the user to change his/her password on the fly.
I greatly appreciate having any advice from anyone who happened to be faced with that problem.
Best regards.
Georges BREFORTHi,
according to Note [124970.1 Example: How to Change an Expired Password in JDBC?|https://metalink2.oracle.com/metalink/plsql/f?p=130:14:2181952130729466734::::p14_database_id,p14_docid,p14_show_header,p14_show_help,p14_black_frame,p14_font:NOT,124970.1,1,1,1,helvetica] it's possible with JDBC Thick (OCI) driver only. -
How to fix ORA-01658 error message
Am trying to get a old bit of database code working and am getting the following errors with the following
REM **********************************************************************
CREATE TABLE gam_service ( /*gam_ser*/
service_group_id NUMBER(10) NOT NULL
CONSTRAINT gam_ser_fk_gam_sergrp REFERENCES gam_service_group (service_group_id)
ON DELETE CASCADE,
service_id NUMBER(10) NOT NULL,
service_name VARCHAR2(127) NOT NULL, /*length from GICS code*/
service_type CHAR(1) NOT NULL, /* Service type Gulp, socKet mp, Special client*/
server VARCHAR2(127) NOT NULL, /* Server name, e.g. "gulp" */
version VARCHAR2(20) NOT NULL, /*Required version number of server binary*/
parameters VARCHAR2(2000) NULL, /* parameters to start the service - could be binary */
cpu_power_level NUMBER(3) NULL, /* NULL for wildcard*/
os_type CHAR(1) NULL /* NULL for wildcard (Solaris2.4, winNt)*/
CONSTRAINT gam_ser_ostype CHECK (os_type IN (NULL, 'S', 'N')),
hardware_owner_type VARCHAR2(10) NULL /* NULL for wildcard (company name)*/
) TABLESPACE gam_tab STORAGE (INITIAL 25K NEXT 100K PCTINCREASE 100 MINEXTENTS 1 MAXEXTENTS unlimited)
CREATE UNIQUE INDEX gam_service_pk on gam_service (service_group_id, service_name)
TABLESPACE gam_ind
STORAGE (INITIAL 5K NEXT 20K PCTINCREASE 100 MINEXTENTS 1 MAXEXTENTS unlimited)
CREATE SEQUENCE gam_service_seq
INCREMENT BY 1
START WITH 1001
NOCYCLE
NOCACHE
NOORDER
here the error message
CREATE UNIQUE INDEX gam_service_pk on gam_service (service_group_id, service_name)
ERROR at line 1:
ORA-01658: unable to create INITIAL extent for segment in tablespace GAM_IND
i really hope some one can help me thanksYou just ran out of space in gam_ind tablespace. Contiguous space to be precise. Your INTITIAL extend needs 5K of contoguous space. And since you specified PCTINCREASE 100, need for contiguous space will double with each next extent. So most likely you ended up with a case where there is plenty of free space not no contiguous space of required size.
SY. -
How to solve ora-00054 error while drop the constraint
i am trying to drop the constraint for the table but it will give the below error.
ora-00054 resource busy and acquire.
can you please tell me solve this problem. but in my pc i am not using that table at any where in the system.
ALTER TABLE EIIS_JBWSTOCK
DROP CONSTRAINT CHK_TRAN_JOB_TYPE;
this is my code for alter table constraint.
thanksYou may find <sid, serial#> and kill the session.
SELECT c.owner,
c.object_name,
c.object_type,
b.SID,
b.serial#,
b.status,
b.osuser,
b.machine
FROM v$locked_object a, v$session b, dba_objects c
WHERE b.SID = a.session_id AND a.object_id = c.object_id; --You may add extra condition for your table.
ALTER SYSTEM KILL SESSION '<sid, serial#>' -
How to overcome ORA-19279 error
Hi,
I have oracle 11.2.2 and following xml is loaded in xmltype table and trying to retrive data and getting following error, please anyone could help me to fix this error
<?xml version="1.0" encoding="utf-8"?>
<agents count="1382">
<agent>
<name>Nancy Palmer</name>
<email>[email protected]</email>
<agentid>MLSL:00525350</agentid>
<officeid>58</officeid>
<website>http://www.nancypalmer.com</website>
<photo>https://sites.e-agents.com/Uploads/68/41/6841/Agents/agent_8418_NANCY_PALMER_COLOR_HEAD_SHOT_HIGH_QUALITY_2011.jpg</photo>
<phone_direct>6504344313</phone_direct>
<phone_cell>6504920200</phone_cell>
<mod_time>2012-08-31T05:15:06.933</mod_time>
</agent>
<agent>
<name>Genella Williamson</name>
<email>[email protected]</email>
<agentid>MLSL:00755754</agentid>
<officeid>58</officeid>
<website>http://www.apr.com/genella</website>
<photo>https://sites.e-agents.com/Uploads/68/41/6841/Agents/agent_8426_genella.jpg</photo>
<phone_direct>6504344319</phone_direct>
<phone_cell>6507870839</phone_cell>
<mod_time>2010-10-30T15:15:07.603</mod_time>
</agent>
<agent>
<name>Diana Langley</name>
<email>[email protected]</email>
<agentid>MLSL:01256202,SFAR:805608</agentid>
<officeid>50</officeid>
<website>http://www.apr.com/DLangley</website>
<photo>https://sites.e-agents.com/Uploads/68/41/6841/Agents/agent_7848_dlangley.jpg</photo>
<phone_direct/>
<phone_cell/>
<mod_time>2011-06-06T05:15:06.587</mod_time>
</agent>
</agents>
query usered to reterive data
SELECT count, NAME, email,
officeid, website,
photo, phone_direct,
phone_cell, mod_date
FROM TEMP_XML tx,
XMLTable('/agents'
PASSING tx.xml_data
columns count varchar2(30) path '@count',
NAME VARCHAR2(100) path 'agent/name',
email VARCHAR2(100) path 'agent/email',
officeid VARCHAR2(100) path 'agent/officeid',
website VARCHAR2(100) path 'agent/website',
photo VARCHAR2(100) path 'agent/photo',
phone_direct VARCHAR2(100) path 'agent/phone_direct',
phone_cell VARCHAR2(100) path 'agent/phone_cell',
mod_date VARCHAR2(100) path 'agent/mod_date'
recieved error
ORA-19279: XPTY0004 - XQuery dynamic type mismatch: expected singleton sequence - got multi-item sequence
19279. 00000 - "XQuery dynamic type mismatch: expected singleton sequence - got multi-item sequence"
*Cause: The XQuery sequence passed in had more than one item.
*Action: Correct the XQuery expression to return a single item sequence.Thanks in advance
Best Regards,use
SELECT count,
NAME,
email,
officeid,
website,
photo,
phone_direct,
phone_cell,
mod_date
FROM TEMP_XML tx,
XMLTable('agents' PASSING tx.xml_data
columns count varchar2(30) path '@count',
xml_part xmltype path '*') x,
XMLTable('agent' PASSING x.xml_part
columns NAME VARCHAR2(100) path 'name',
email VARCHAR2(100) path 'email',
officeid VARCHAR2(100) path 'officeid',
website VARCHAR2(100) path 'website',
photo VARCHAR2(100) path 'photo',
phone_direct VARCHAR2(100) path 'phone_direct',
phone_cell VARCHAR2(100) path 'phone_cell',
mod_date VARCHAR2(100) path 'mod_date') y -
How to troubleshoot the deployment error
Hi,
I am having issue with the deploying the application on weblogic server.
<Oct 17, 2010 7:33:57 AM EDT> <Info> <J2EE Deployment SPI> <BEA-260121> <Initiating deploy operation for application, example [archive: /loc/example.war], to clus1 .>
Task 39 initiated: [Deployer:149026]deploy application example on clus1.
Task 39 failed: [Deployer:149026]deploy application example on clus1.
Target state: deploy failed on clus1
java.lang.NoSuchMethodError: getClassLoaderHi,
You can try enabling the debug flags for deployment from the console under the following path given, if you are using WLS-9.x or any higher versions
Console path:
Servers -> <YOUR_SERVER_NAME> ->Debug (tab) -> (+)weblogic
Enable = (+) deploy
Now when you again try to deploy your application you can check your log files of that servers which would have more details about the issue.
Hope this helps you.
Regards,
Ravish Mody -
ORA-00604: error occurred at recursive SQL level 1 + ORA-04031
Hi,
SQL> select * from v$version;
BANNER
Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - 64bi
PL/SQL Release 10.2.0.1.0 - Production
CORE 10.2.0.1.0 Production
TNS for Solaris: Version 10.2.0.1.0 - Production
NLSRTL Version 10.2.0.1.0 - Production
os version : SunOS oratest 5.10 Generic_127127-11 sun4u sparc SUNW,Sun-Fire-V210
SQL> show parameter sga_target
NAME TYPE VALUE
sga_target big integer 892M
SQL> show parameter shared_pool_size
NAME TYPE VALUE
shared_pool_size big integer 112M
when i do normal query i am getting ora-04031 error and 10g server is Automatic Shared Memory Management since i set sga_target and server as to do automatically readjusts the sizes of memory pools, if that is the case why it throwing ora-04031 error;
below errors showing before bounce the database
SQL> show parameter size
ORA-04031: unable to allocate 3840 bytes of shared memory ("shared
pool","unknown object","sga heap(1,0)","kglsim object batch")
SQL> select * from tab
2 ;
select * from tab
ERROR at line 1:
ORA-04031: unable to allocate 3840 bytes of shared memory ("shared
pool","select * from tab
","sga heap(1,0)","kglsim object batch")
alert log file:
Errors in file /oracle/admin/appsdb/bdump/appsdb_smon_19154.trc:
ORA-00604: error occurred at recursive SQL level 1
ORA-04031: unable to allocate 3840 bytes of shared memory ("shared pool","unknown object","sga heap(1,0)","kglsim object batc
h")
Thanks
PrakashEdited by: prakashdba on Jan 10, 2009 12:31 AM
Edited by: prakashdba on Jan 10, 2009 4:10 AMAnd your version number is?
And your patch level is?
And your hardware and operating system are?
What did you find when you looked this up at metalink?
Did you follow the advice in the metalink Knowledge Base docs? -
ORA-12801: error signaled in parallel query server P000
Hello All,
Week before one of the APPLY process ABORTED with following error:
ORA-12801: error signaled in parallel query server P000
ORA-04031: unable to allocate 104 bytes of shared memory ("streams pool","unknown object","apply shared t","knalfGetTxn:lcr")
We are using ORACLE 10.2.0.4.0 on HP unix B.11.23
For now, I have started the APPLY process again and it's working properly.
When I looked into the trace file it shows following
A001: [enq: TM - contention] name|mode=544d0002, object #=2a67, table/partition=0
*** 2009-06-15 10:53:57.897
A001: warning -- apply server 1, sid 302 waiting on user sid 267 for event (since 302 seconds):
A001: [enq: TM - contention] name|mode=544d0002, object #=2a67, table/partition=0
*** 2009-06-15 10:58:58.792
A001: warning -- apply server 1, sid 302 waiting on user sid 267 for event (since 603 seconds):
A001: [enq: TM - contention] name|mode=544d0002, object #=2a67, table/partition=0
*** 2009-06-15 12:14:36.679
A001: [enq: TX - row lock contention] name|mode=54580004, usn<<16 | slot=90028, sequence=1b743
*** 2009-06-15 12:19:36.961
A001: warning -- apply server 1, sid 302 waiting on user sid 181 for event (since 300 seconds):
A001: [enq: TX - row lock contention] name|mode=54580004, usn<<16 | slot=90028, sequence=1b743
*** 2009-06-15 12:24:37.417
A001: warning -- apply server 1, sid 302 waiting on user sid 181 for event (since 600 seconds):
A001: [enq: TX - row lock contention] name|mode=54580004, usn<<16 | slot=90028, sequence=1b743
*** 2009-06-15 12:29:37.906
A001: warning -- apply server 1, sid 302 waiting on user sid 181 for event (since 901 seconds):
A001: [enq: TX - row lock contention] name|mode=54580004, usn<<16 | slot=90028, sequence=1b743
*** 2009-06-15 12:34:37.428
A001: warning -- apply server 1, sid 302 waiting on user sid 181 for event (since 1201 seconds):
A001: [enq: TX - row lock contention] name|mode=54580004, usn<<16 | slot=90028, sequence=1b743
*** 2009-06-19 11:26:44.601
A001: [enq: TX - row lock contention] name|mode=54580006, usn<<16 | slot=8001e, sequence=1a4af
*** 2009-06-19 11:31:43.753
A001: warning -- apply server 1, sid 302 waiting on user sid 212 for event (since 300 seconds):
A001: [enq: TX - row lock contention] name|mode=54580006, usn<<16 | slot=8001e, sequence=1a4af
*** 2009-06-19 11:36:44.149
A001: warning -- apply server 1, sid 302 waiting on user sid 212 for event (since 600 seconds):
A001: [enq: TX - row lock contention] name|mode=54580006, usn<<16 | slot=8001e, sequence=1a4af
*** 2009-06-19 11:41:43.775
A001: warning -- apply server 1, sid 302 waiting on user sid 212 for event (since 900 seconds):
A001: [enq: TX - row lock contention] name|mode=54580006, usn<<16 | slot=8001e, sequence=1a4af
*** 2009-06-23 16:55:24.002
A001: [enq: TM - contention] name|mode=544d0004, object #=2c05, table/partition=0
*** 2009-06-29 09:48:58.166
A001: [enq: TM - contention] name|mode=544d0004, object #=2c05, table/partition=0
*** 2009-07-01 06:02:37.236
A001: [enq: TM - contention] name|mode=544d0004, object #=2c05, table/partition=0
*** 2009-07-01 11:46:43.672
error 12801 in STREAMS process
ORA-12801: error signaled in parallel query server P000
ORA-04031: unable to allocate 104 bytes of shared memory ("streams pool","unknown object","apply shared t","knalfGetTxn:lcr")
OPIRIP: Uncaught error 447. Error stack:
ORA-00447: fatal error in background process
ORA-12801: error signaled in parallel query server P000
ORA-04031: unable to allocate 104 bytes of shared memory ("streams pool","unknown object","apply shared t","knalfGetTxn:lcr")
Can you please help to provide details on that how i can fix this problem permanetely.
Any suggestions would be great!
Thanks,
NickIt seems that you are using Oracle database and not Berkeley Database.
To fix ORA-04031 errors on streams pool, you need to increase streams pool size with
alter system set streams_pool_size=<the right value>;See recommandations in http://download.oracle.com/docs/cd/B19306_01/server.102/b14229/strms_mprep.htm#i1006278 -
Diagnosing ORA-04031 on Oracle9iR2
Hi
We're running an Oracle9iR2 (9.2.0.6) database on Red Hat Enterprise Linux 4.0 (IA32). The database is used for development and testing. It's been running ok until recently users started getting the following error when trying to connect to the database:
ORA-04031: unable to allocate 17168 bytes of shared memory ("shared pool","unknown object","sga heap(1,0)","session param values")
What's changed during the last weeks is that we've installed Oracle10gR2 and the Oracle Calendar server on the machine, and added a about 10-20 new user accounts.
The server was originally running in dedicated server mode until i noticed there were 115 Oracle processes running on the server at one moment. The database typically has large number of connections which are idle most of the time. I changed it to shared server mode in order to avoid the overhead of having lots of server processes which are doing nothing most of the time.
I also increased the shared_pool_size and large_pool_size on the server but i'm still seeing ORA-04031 errors in trace files. How do i determine whether the cause is shared or large pool? How do i determine the right sizes for these pools? The traces include heap dumps for large pool.
The SQL query appearing in the trace files cursor name section is just one type of SQL query in most of the cases. How can i debug shared memory usage for a particular SQL query so that i can try and modify it to a more memory economic direction?
br. aspaHi,
If you have access to metalink, I advise you to read 146599.1 Diagnosing and Resolving Error ORA-04031.
The SQL query appearing in the trace files cursor name section is just one type of SQL
query in most of the cases. How can i debug shared memory usage for a particular SQL
query so that i can try and modify it to a more memory economic direction?The following SQL can show you statements with literal values or candidates to include bind variables:
SELECT substr(sql_text,1,40) "SQL",
count(*) ,
sum(executions) "TotExecs"
FROM v$sqlarea
WHERE executions < 5
GROUP BY substr(sql_text,1,40)
HAVING count(*) > 30
ORDER BY 2;Note: The number "30" in the having section of the statement can be adjusted as needed to get more detailed information.
There is a fixed table called x$ksmlru that tracks allocations in the shared pool that cause other objects in the shared pool to be aged out. This fixed table can be used to identify what is causing the large allocation.
SELECT * FROM X$KSMLRU WHERE ksmlrsiz > 0;Note : This view can only be queried by connected as the SYS.
How have you RAM ?
Since your last install, perhaps your RAM is not sufficient any more ?
Check your memory occupation.
Nicolas.
How do i determine whether the cause is shared or large pool? If there is no free memory into large pool left when a request is made then an ORA-4031 will be signalled similar to this : ORA-04031: unable to allocate XXXX bytes of shared memory
("large pool","unknown object","session heap","frame")
Message was edited by:
N. Gasparotto
Maybe you are looking for
-
Ok whenever I sync my iPod, when it does the "backing up," it'll finish the back up but then it says that iTunes has stopped working. It does this on my laptop AND my PC with both my iPod and iPad. What do I do about this?
-
Adobe PDF Library DLE General Question
Has anyone here experience with the use of the Adobe PDF Library and/or Datalogics Enhancements (DLE) in a DOT.NET environment? I don't know if this is the right place to ask questions here. I will ask more specified questions if anybody knows someth
-
Is there a way to get a copy of all our posts?
With over 900 posts in 5 years I am wondering if it is possible to get a giant pdf file of all my posts - would be a great resource! (I believe I can go back and view all previous answered posts one-by-one?) Thanks, Steve Tuesday 12 October 2010
-
I upgraded my mac now my license isn't recongized.
I need help. I upgraded my MacBook Pro and now the license isn't recognized on my Photoshop Elements. I tried the steps on the website but it doesn't allow me to go past #2. I get an error saying I can't open the License Recovery Launcher. I still ha
-
Our good old Cisco UBR-7223 is experiencing a very strange problem: There are two modem cards installed (MC-11 and MC14C). From time to time (no pattern, sometimes twice in an hour, sometimes once in a week) all the modems on the MC14C card would go