<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-1556135669515651935</id><updated>2011-11-27T19:48:16.667-05:00</updated><category term='ORACLE'/><category term='Oracle Bug'/><category term='MUTATING'/><category term='ORA-04031: unable to allocate string bytes of shared memory'/><category term='ORA-00936'/><category term='PLS-00222: no function with name exists'/><category term='ORA-04031'/><category term='ORA-00054'/><category term='12154'/><category term='ORA-02063'/><category term='ora 600'/><category term='PLS-00222'/><category term='internal error'/><category term='SQLNET'/><category term='ORA-21000'/><category term='ORA-04091'/><category term='ORA-00029'/><category term='tnsnames'/><category term='OPTIMIZER_GOAL'/><category term='ORA-28009'/><category term='Oracle Metalink'/><category term='ORA-01422'/><category term='ORA-00022  ORACLE ERROR'/><category term='ORA-04030'/><category term='ORA-00997'/><category term='ORA-21000:error number argument to raise_application_error out of range'/><category term='Oracle database'/><category term='ORA-12154: TNS'/><category term='DML LOCKS'/><category term='ORA-00021'/><category term='ORA-01429'/><category term='ORA-12154 ERROR'/><category term='TNS ERROR'/><category term='ORA-04030: out of process memory when trying to allocate'/><category term='ORA-00028'/><category term='ORA-03237'/><category term='dead lock'/><category term='Oracle error'/><category term='ORA-01480'/><category term='ora 936'/><category term='MUTATING TABLE'/><category term='ORA-01429: Index-Organized Table: no data segment'/><category term='ora 600 internal'/><category term='ORA-00027'/><category term='ORA-00600'/><category term='database error'/><category term='MAX OPEN CURSORS'/><category term='ORA-28009: connection to sys should be as sysdba or sysoper'/><category term='ORA-00060'/><category term='ORACLE  ERROR EXAMPLE'/><category term='ORA-00020'/><category term='ORA-00024'/><category term='oracle troubleshoot'/><category term='ORA-6512'/><category term='LDAP'/><category term='sql error'/><category term='ITL wait'/><category term='PLS-936'/><category term='ORA-00025 ORACLE ERROR'/><category term='ORA-01986'/><category term='ORA-00257'/><category term='tns'/><category term='ORA-00055'/><category term='ORA-00026'/><category term='ORA-12154'/><category term='ARCHIVER ERROR'/><category term='ORA-01000'/><category term='MUTATIN G TRIGGER'/><category term='FETCH RETURNS MORE ROWS'/><category term='ORA-00023'/><category term='LOCKERROR'/><category term='O7_DICTIONARY_ACCESSIBILITY'/><category term='ORA 4091'/><category term='disk error'/><category term='ORA-00030'/><category term='ORA-00604'/><category term='ORA-03237: Initial Extent of specified size cannot be allocated'/><category term='ORA-01480: trailing null missing'/><category term='deadlock'/><category term='ARCHIVE DESTINATION ERROR'/><category term='ORA ERROR'/><title type='text'>Oracle Error Information</title><subtitle type='html'>Oracle Error|ORA-|PLS-|Oracle Error Information|Oracle Database|Oracle Errors By Example|Oracle 10g|Oracle Apps|Oracle Performance</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://oracle-error.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1556135669515651935/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://oracle-error.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Mendus</name><uri>http://www.blogger.com/profile/15926700298623471526</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>40</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-1556135669515651935.post-8928860403959924674</id><published>2011-02-06T19:22:00.000-05:00</published><updated>2011-02-06T19:22:00.569-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='ORA-02063'/><title type='text'>ORA-02063 remote db error and how to fix it</title><content type='html'>ORA-02063: preceding stringstring from stringstring&lt;br /&gt;Cause: an Oracle error was received from a remote database link.&lt;br /&gt;Action: refer to the preceding error message(s)&lt;br /&gt;&lt;br /&gt;ORA-02063 usually occurs when you run a transaction that tries to query or update a remote database table.&lt;br /&gt;This ORA-02063 error is always proceeded&amp;nbsp; by&amp;nbsp; other ORA error messages , which are from the remote database and are root cause for the transaction failure.&lt;br /&gt;&lt;br /&gt;The format of the message is as follows:&lt;br /&gt;ORA-02063: preceding line from &lt;the context="" database="" link="" name="" of="" the=""&gt;&lt;/the&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Example:&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;ORA-00942: table or view does not exist&lt;br /&gt;ORA-02063: preceding line from TDB21.WORLD@BILLOP&lt;br /&gt;&lt;b&gt;&lt;br /&gt;Solution:&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;Fixing ORA-02063 errors involves&amp;nbsp; analyzing the remote database errors associated with the ORA-02063&amp;nbsp; and fixing those errors.&lt;br /&gt;&lt;br /&gt;The following&amp;nbsp; are couple of examples with fixes:&lt;br /&gt;&lt;br /&gt;1. In teh following example error occured in Oralce 11.1.0.7&lt;br /&gt;SQL&amp;gt; select *&lt;br /&gt;2 from products_fact@exceldb1;&lt;br /&gt;from products_fact@exceldb1&lt;br /&gt;*&lt;br /&gt;ERROR at line 2:&lt;br /&gt;ORA-28500: connection from ORACLE to a non-Oracle system returned this message:&lt;br /&gt;[Microsoft][ODBC Excel Driver]Optional feature not implemented&lt;br /&gt;ORA-02063: preceding 2 lines from EXCELDB1&lt;br /&gt;&lt;br /&gt;SQL&amp;gt;&lt;br /&gt;&lt;br /&gt;The above error was fixed by adding parameter&amp;nbsp; HS_FDS_SUPPORT_STATISTICS=FALSE&amp;nbsp;&amp;nbsp; in the initilization init&lt;sid&gt;.ora file in&amp;nbsp; 11.1.0.7.&lt;br /&gt;&lt;br /&gt;2. In the following example, local db is Oracle 9i&amp;nbsp; and remote db is Oracle 10g.&lt;br /&gt;&lt;br /&gt;ORA-01652: unable to extend temp segment by 128 in tablespace TEMP&lt;br /&gt;ORA-02063: preceding line from ABC&lt;br /&gt;&lt;br /&gt;In this case TEMP space resource issue was in remote db and&amp;nbsp; by adding more TEMP or&amp;nbsp; by tuning the sql statement&amp;nbsp; this error is resolved.&lt;br /&gt;&lt;/sid&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1556135669515651935-8928860403959924674?l=oracle-error.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://oracle-error.blogspot.com' title='ORA-02063 remote db error and how to fix it'/><link rel='replies' type='application/atom+xml' href='http://oracle-error.blogspot.com/feeds/8928860403959924674/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1556135669515651935&amp;postID=8928860403959924674&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1556135669515651935/posts/default/8928860403959924674'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1556135669515651935/posts/default/8928860403959924674'/><link rel='alternate' type='text/html' href='http://oracle-error.blogspot.com/2011/02/ora-02063-remote-db-error-and-how-to.html' title='ORA-02063 remote db error and how to fix it'/><author><name>Mendus</name><uri>http://www.blogger.com/profile/15926700298623471526</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1556135669515651935.post-7278284065159626229</id><published>2008-10-22T22:31:00.004-04:00</published><updated>2009-11-22T23:59:13.192-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='sql error'/><category scheme='http://www.blogger.com/atom/ns#' term='database error'/><category scheme='http://www.blogger.com/atom/ns#' term='ORA-00257'/><category scheme='http://www.blogger.com/atom/ns#' term='ORA ERROR'/><category scheme='http://www.blogger.com/atom/ns#' term='disk error'/><category scheme='http://www.blogger.com/atom/ns#' term='ARCHIVER ERROR'/><category scheme='http://www.blogger.com/atom/ns#' term='ARCHIVE DESTINATION ERROR'/><category scheme='http://www.blogger.com/atom/ns#' term='internal error'/><title type='text'>ORA-00257: archiver error. Connect internal only, until freed.</title><content type='html'>&lt;div xmlns="http://www.w3.org/1999/xhtml"&gt;&lt;big&gt;&lt;span style="color: rgb(255, 102, 0); font-weight: bold;font-family:Comic Sans MS;" &gt;&lt;big&gt;ORA-00257:&lt;/big&gt; archiver error. Connect internal only, until freed.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 102, 0); font-weight: bold;font-family:Comic Sans MS;" &gt;&lt;big&gt;Cause:&lt;/big&gt; The archiver process received an error while trying to archive a redo log. If the problem is not resolved soon, the database will stop executing transactions. The most likely cause of this message is the destination device is out of space to store the redo log file.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 102, 0); font-weight: bold;font-family:Comic Sans MS;" &gt;&lt;big&gt;Action: &lt;/big&gt;Check the archiver trace file for a detailed description of the problem. Also, verify that the device specified in the initialization parameter ARCHIVE_LOG_DEST is set up properly for archiving.&lt;/span&gt;&lt;br /&gt;&lt;/big&gt;&lt;br /&gt;&lt;big&gt;&lt;span style="font-family:Comic Sans MS;"&gt;ORA-000257 error is somewhat common error and is caused whenever archiver is unable to archive the online redo log files at the desired location. Usually this error cocurs when  archive destination is full and the archiver was not able to write any more due to lack of space.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:Comic Sans MS;"&gt;So for understanding this ORA-000257 error, it is better knowing the concepts of Oracle Archiving. SO here are the archiving details&lt;/span&gt;&lt;/big&gt;&lt;br /&gt;&lt;br /&gt;&lt;big&gt;&lt;big&gt;&lt;span style="color: rgb(255, 102, 0); font-weight: bold;font-family:Comic Sans MS;" &gt;What is archiving and Oracle archived redo logs ?&lt;/span&gt;&lt;/big&gt;&lt;/big&gt;&lt;br /&gt;&lt;br /&gt;&lt;big&gt;&lt;span style="font-family:Comic Sans MS;"&gt;The folowing explanation excerpt from Oracle documentation &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Comic Sans MS;"&gt;"Oracle Database lets you save filled groups of redo log files to one or more offline destinations, known collectively as the archived redo log, or more simply the archive log. The process of turning redo log files into archived redo log files is called archiving. This process is only possible if the database is running in ARCHIVELOG mode. You can choose automatic or manual archiving.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:Comic Sans MS;"&gt;An archived redo log file is a copy of one of the filled members of a redo log group. It includes the redo entries and the unique log sequence number of the identical member of the redo log group. For example, if you are multiplexing your redo log, and if group 1 contains identical member files a_log1 and b_log1, then the archiver process (ARCn) will archive one of these member files. Should a_log1 become corrupted, then ARCn can still archive the identical b_log1. The archived redo log contains a copy of every group created since you enabled archiving.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:Comic Sans MS;"&gt;When the database is running in ARCHIVELOG mode, the log writer process (LGWR) cannot reuse and hence overwrite a redo log group until it has been archived. The background process ARCn automates archiving operations when automatic archiving is enabled. The database starts multiple archiver processes as needed to ensure that the archiving of filled redo logs does not fall behind."&lt;/span&gt;&lt;/big&gt;&lt;br /&gt;&lt;br /&gt;&lt;big&gt;&lt;big&gt;&lt;span style="color: rgb(255, 102, 0); font-weight: bold;font-family:Comic Sans MS;" &gt;Why archived redo logs are used?&lt;/span&gt;&lt;/big&gt;&lt;/big&gt;&lt;br /&gt;&lt;span style="font-family:Comic Sans MS;"&gt; &lt;/span&gt;&lt;br /&gt;&lt;big&gt;&lt;span style="font-family:Comic Sans MS;"&gt;-To Recover a database&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Comic Sans MS;"&gt;&lt;br /&gt;-To Update a standby database&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Comic Sans MS;"&gt;&lt;br /&gt;-To Get information about the history of a database using the LogMiner utility&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:Comic Sans MS;"&gt;Oracle database can be run in two modes (1) ARCHIVELOG mode (2) NOARCHIVELOG mode&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 102, 0); font-weight: bold;font-family:Comic Sans MS;" &gt;NOARCHIVELOG Mode:&lt;/span&gt;&lt;/big&gt;&lt;br /&gt;&lt;br /&gt;&lt;big&gt;&lt;span style="font-family:Comic Sans MS;"&gt;When you run your database in NOARCHIVELOG mode, you disable the archiving of the redo log.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:Comic Sans MS;"&gt;NOARCHIVELOG mode protects a database from instance failure but not from media failure. Only the most recent changes made to the database, which are stored in the online redo log groups, are available for instance recovery. If a media failure occurs while the database is in NOARCHIVELOG mode, you can only restore the database to the point of the most recent full database backup. You cannot recover transactions subsequent to that backup.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:Comic Sans MS;"&gt;In NOARCHIVELOG mode you cannot perform online tablespace backups, nor can you use online tablespace backups taken earlier while the database was in ARCHIVELOG mode. To restore a database operating in NOARCHIVELOG mode, you can use only whole database backups taken while the database is closed. Therefore, if you decide to operate a database in NOARCHIVELOG mode, take whole database backups at regular, frequent intervals.&lt;/span&gt;&lt;/big&gt;&lt;br /&gt;&lt;br /&gt;&lt;big&gt;&lt;span style="color: rgb(255, 102, 0); font-weight: bold;font-family:Comic Sans MS;" &gt;ARCHIVELOG Mode:&lt;/span&gt;&lt;/big&gt;&lt;br /&gt;&lt;br /&gt;&lt;big&gt;&lt;span style="font-family:Comic Sans MS;"&gt;When you run a database in ARCHIVELOG mode, you enable the archiving of the redo log. The database control file indicates that a group of filled redo log files cannot be reused by LGWR until the group is archived. A filled group becomes available for archiving immediately after a redo log switch occurs.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:Comic Sans MS;"&gt;The archiving of filled groups has these advantages:&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:Comic Sans MS;"&gt;A database backup, together with online and archived redo log files, guarantees that you can recover all committed transactions in the event of an operating system or disk failure.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:Comic Sans MS;"&gt;If you keep an archived log, you can use a backup taken while the database is open and in normal system use.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:Comic Sans MS;"&gt;You can keep a standby database current with its original database by continuously applying the original archived redo logs to the standby.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:Comic Sans MS;"&gt;So, If you cannot afford to lose any data in your database in the event of a disk failure, use ARCHIVELOG mode.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Comic Sans MS;"&gt;In reality most of the Oracle databases run in ARCHIVELOG mode. &lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:Comic Sans MS;"&gt;The Oracle error ORA-000257, which we are discussing occurs in the databases that run in ARCHIVELOG mode.&lt;/span&gt;&lt;/big&gt;&lt;br /&gt;&lt;br /&gt;&lt;big&gt;&lt;big&gt;&lt;span style="color: rgb(255, 102, 0); font-weight: bold;font-family:Comic Sans MS;" &gt;Where does the Archive Logs stored/resides?&lt;/span&gt;&lt;/big&gt;&lt;/big&gt;&lt;br /&gt;&lt;br /&gt;&lt;big&gt;&lt;span style="font-family:Comic Sans MS;"&gt;Oracle database lets you specify whether to archive,  redo logs to a single destination or multiplex them. If you want to archive only to a single destination, you specify that destination in the LOG_ARCHIVE_DEST initialization parameter. If you want to multiplex the archived logs, you can choose whether to archive to up to ten locations (using the LOG_ARCHIVE_DEST_n parameters) or to archive only to a primary and secondary destination (using LOG_ARCHIVE_DEST and LOG_ARCHIVE_DUPLEX_DEST).&lt;/span&gt;&lt;br /&gt;&lt;/big&gt;&lt;big&gt;&lt;br /&gt;&lt;big&gt;&lt;span style="color: rgb(255, 102, 0); font-weight: bold;font-family:Comic Sans MS;" &gt;Two methods for specifying archive destination:&lt;/span&gt;&lt;/big&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 102, 0); font-weight: bold;font-family:Comic Sans MS;" &gt;Method 1: Using the LOG_ARCHIVE_DEST_n Parameter&lt;/span&gt;&lt;/big&gt;&lt;br /&gt;&lt;br /&gt;&lt;big&gt;&lt;span style="font-family:Comic Sans MS;"&gt;Use the LOG_ARCHIVE_DEST_n parameter (where n is an integer from 1 to 10) to specify from one to ten different destinations for archival. Each numerically suffixed parameter uniquely identifies an individual destination.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:Comic Sans MS;"&gt;Steps for setting archivelog destination:&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:Comic Sans MS;"&gt;step1 )Use SQL*Plus to shut down the database.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:Comic Sans MS;"&gt;SHUTDOWN &lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:Comic Sans MS;"&gt;step2 )Set the LOG_ARCHIVE_DEST_n initialization parameter to specify from one to ten archiving locations. The LOCATION keyword specifies an operating system specific path name. For example, enter:&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:Comic Sans MS;"&gt;LOG_ARCHIVE_DEST_1 = 'LOCATION = /disk1/archive'&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Comic Sans MS;"&gt;LOG_ARCHIVE_DEST_2 = 'LOCATION = /disk2/archive'&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:Comic Sans MS;"&gt;Step3) Optionally, set the LOG_ARCHIVE_FORMAT initialization parameter, using %t to include the thread number as part of the file name, %s to include the log sequence number, and %r to include the resetlogs ID (a timestamp value represented in ub4). Use capital letters (%T, %S, and %R) to pad the file name to the left with zeroes.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Comic Sans MS;"&gt; example for UNIX OS:&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Comic Sans MS;"&gt; LOG_ARCHIVE_FORMAT=%t_%s_%r.dbf&lt;/span&gt;&lt;/big&gt;&lt;br /&gt;&lt;br /&gt;&lt;big&gt;&lt;span style="color: rgb(255, 102, 0); font-weight: bold;font-family:Comic Sans MS;" &gt;Method 2: Using LOG_ARCHIVE_DEST and LOG_ARCHIVE_DUPLEX_DEST&lt;/span&gt;&lt;/big&gt;&lt;br /&gt;&lt;br /&gt;&lt;big&gt;&lt;span style="font-family:Comic Sans MS;"&gt;To specify a maximum of two locations, use the LOG_ARCHIVE_DEST parameter to specify a primary archive destination and the LOG_ARCHIVE_DUPLEX_DEST to specify an optional secondary archive destination. All locations must be local. Whenever the database archives a redo log, it archives it to every destination specified by either set of parameters.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:Comic Sans MS;"&gt;Perform the following steps the use method 2:&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:Comic Sans MS;"&gt;step1) Use SQL*Plus to shut down the database.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:Comic Sans MS;"&gt;SHUTDOWN&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:Comic Sans MS;"&gt;Step2) Specify destinations for the LOG_ARCHIVE_DEST and LOG_ARCHIVE_DUPLEX_DEST parameter (you can also specify LOG_ARCHIVE_DUPLEX_DEST dynamically using the ALTER SYSTEM statement). For example, enter:&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:Comic Sans MS;"&gt;LOG_ARCHIVE_DEST = '/disk1/archive'&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Comic Sans MS;"&gt;LOG_ARCHIVE_DUPLEX_DEST = '/disk2/archive'&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:Comic Sans MS;"&gt;Step3) Set the LOG_ARCHIVE_FORMAT initialization parameter.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Comic Sans MS;"&gt; example for UNIX OS:&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Comic Sans MS;"&gt; LOG_ARCHIVE_FORMAT=%t_%s_%r.dbf&lt;/span&gt;&lt;br /&gt;&lt;/big&gt;&lt;br /&gt;&lt;big&gt;&lt;span style="font-family:Comic Sans MS;"&gt; &lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 102, 0);font-family:Comic Sans MS;" &gt;The Oracle error ORA-000257, which we are discussing occurs in the databases that run in ARCHIVELOG mode  when the above mentioned archive destinations are full and  when the archiver was unable to write to these archive destinations&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:Comic Sans MS;"&gt;In order to resolve this error you need to find the archive log info from the database. For that Oracle provides number of internal views and commands. The following are those details:&lt;/span&gt;&lt;/big&gt;&lt;br /&gt;&lt;br /&gt;&lt;big&gt;&lt;big&gt;&lt;span style="color: rgb(255, 102, 0); font-weight: bold;font-family:Comic Sans MS;" &gt;Oracle Archive related Views:&lt;/span&gt;&lt;/big&gt;&lt;br /&gt;&lt;/big&gt;&lt;br /&gt;&lt;big&gt;&lt;span style="font-family:Comic Sans MS;"&gt;V$DATABASE  Shows if the database is in ARCHIVELOG or NOARCHIVELOG mode and if MANUAL (archiving mode) has been specified. &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Comic Sans MS;"&gt;V$ARCHIVED_LOG Displays historical archived log information from the control file. If you use a recovery catalog, the RC_ARCHIVED_LOG view contains similar information. &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Comic Sans MS;"&gt;V$ARCHIVE_DEST Describes the current instance, all archive destinations, and the current value, mode, and status of these destinations. &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Comic Sans MS;"&gt;V$ARCHIVE_PROCESSES Displays information about the state of the various archive processes for an instance. &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Comic Sans MS;"&gt;V$BACKUP_REDOLOG Contains information about any backups of archived logs. If you use a recovery catalog, the RC_BACKUP_REDOLOG contains similar information. &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Comic Sans MS;"&gt;V$LOG Displays all redo log groups for the database and indicates which need to be archived. &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Comic Sans MS;"&gt;V$LOG_HISTORY Contains log history information such as which logs have been archived and the SCN range for each archived log. &lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:Comic Sans MS;"&gt;To find which redo log group requires archiving run the folowing query:&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:Comic Sans MS;"&gt;SELECT GROUP#, ARCHIVED&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Comic Sans MS;"&gt;   FROM SYS.V$LOG;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:Comic Sans MS;"&gt;GROUP#     ARC&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Comic Sans MS;"&gt;--------   ---&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Comic Sans MS;"&gt;       1   YES&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Comic Sans MS;"&gt;       2   NO&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:Comic Sans MS;"&gt;To find the current archiving mode run the following query: &lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:Comic Sans MS;"&gt;SELECT LOG_MODE FROM SYS.V$DATABASE;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:Comic Sans MS;"&gt;LOG_MODE&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Comic Sans MS;"&gt;------------&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Comic Sans MS;"&gt;NOARCHIVELOG&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:Comic Sans MS;"&gt;The ARCHIVE LOG LIST Command&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Comic Sans MS;"&gt;The SQL*Plus command ARCHIVE LOG LIST displays archiving information for the connected instance. For example:&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:Comic Sans MS;"&gt;SQL&amp;gt; ARCHIVE LOG LIST&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:Comic Sans MS;"&gt;Database log mode              Archive Mode&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Comic Sans MS;"&gt;Automatic archival             Enabled&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Comic Sans MS;"&gt;Archive destination            D:\oracle\oradata\TESTDB1\archive&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Comic Sans MS;"&gt;Oldest online log sequence     11270&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Comic Sans MS;"&gt;Next log sequence to archive   11274&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Comic Sans MS;"&gt;Current log sequence           11274&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:Comic Sans MS;"&gt;This display tells you all the necessary information regarding the archived redo log settings for the current instance:&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:Comic Sans MS;"&gt;The database is currently operating in ARCHIVELOG mode.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:Comic Sans MS;"&gt;Automatic archiving is enabled.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:Comic Sans MS;"&gt;The archived redo log destination is D:\oracle\oradata\TESTDB1\archive.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:Comic Sans MS;"&gt;The oldest filled redo log group has a sequence number of 11270.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:Comic Sans MS;"&gt;The next filled redo log group to archive has a sequence number of 11274.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:Comic Sans MS;"&gt;The current redo log file has a sequence number of 11274.&lt;/span&gt;&lt;/big&gt;&lt;br /&gt;&lt;span style="font-family:Comic Sans MS;"&gt; &lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;big&gt;&lt;big&gt;&lt;span style="color: rgb(255, 102, 0); font-weight: bold;font-family:Comic Sans MS;" &gt;RESOLUTION/Fix to ORA-00257 error:&lt;/span&gt;&lt;/big&gt;&lt;/big&gt;&lt;br /&gt;&lt;br /&gt;&lt;big&gt;&lt;span style="font-family:Comic Sans MS;"&gt;Increase the free space in the archive log destination directories. The location where archiver archives the log is determined by parameter file pfile or spfile.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Comic Sans MS;"&gt;You can find the archive log destination by running the following command from SQL*Plus &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Comic Sans MS;"&gt;SQL&amp;gt; show parameter log_archive_dest&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:Comic Sans MS;"&gt;You can also find archive destination information using above mentioned oracle internal views and commands mainly by using  " archive log list" command&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:Comic Sans MS;"&gt;In case no more space is available at the current archive destination due to OS / Disk limitations , you can specify a new desination location by setting the parameter log_archive_dest (or log_archive_dest_1 in some cases)  so that the new archives are produced at new location.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Comic Sans MS;"&gt;You can do this modifying init.ora file or using alter system if spfile is present&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:Comic Sans MS;"&gt;SQL&amp;gt; alter system set log_archive_dest_1=’LOCATION = /disk9/archive'&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:Comic Sans MS;"&gt;The other option is to take a backup of the archives from the current desination  and delete those archives from that place so that new archives can generated at the current destination.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Comic Sans MS;"&gt;The backup can be OS level backup and OS level file deletion BUT  the recommended method for ASM in place is taking RMAN backup and delete using RMAN. &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Comic Sans MS;"&gt;Eample:&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Comic Sans MS;"&gt;rman target sys/sys&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:Comic Sans MS;"&gt;RMAN&amp;gt; backup archive log all device type disk format ‘/oracle/arch_%U’;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:Comic Sans MS;"&gt;RMAN&amp;gt; delete archive until time ‘trunc(sysdate)’;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:Comic Sans MS;"&gt;This will delete all the archive logs until today and space will freed and the archiver will start archiving redo logs&lt;/span&gt;&lt;/big&gt;&lt;br /&gt;&lt;big&gt;&lt;br /&gt;&lt;big&gt;&lt;span style="color: rgb(255, 102, 0); font-weight: bold;font-family:Comic Sans MS;" &gt;CONCLUSION:&lt;/span&gt;&lt;/big&gt;&lt;/big&gt;&lt;br /&gt;&lt;br /&gt;&lt;big&gt;&lt;span style="font-family:Comic Sans MS;"&gt;The ORA-00257 Oracle error is related to archiving of  the oracele database redo logs and it requires immmediate attention of the DBA. So Oracle users when you encounter this error notify the DBA so that this error will be corrected abd instance crashes will be avoided.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Comic Sans MS;"&gt;This error is mainly caused because of lack of space at the archive destination. Oracle provides number of views and commands to find the archivelog, archive destination info as mentioned above in the article, by using them we can find identify which archive destination ran out of space and can take appropriate action as described in the resolution to the error.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:Comic Sans MS;"&gt;I hope  this article is informative enough to identify root cause for  ORA-00257 error, to  provide insights on oracle ARCHIVELOG feature and to help in resolving ORA-000257 error. More Details  at &lt;a href="http://ora-00257.ora-code.info/"&gt; http://ora-00257.ora-code.info/&lt;/a&gt;.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:Comic Sans MS;"&gt;Mendus, Oracle OCP&lt;br /&gt;&lt;a href="http://www.ora-code.info/"&gt;www.ora-code.info&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/big&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1556135669515651935-7278284065159626229?l=oracle-error.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://oracle-error.blogspot.com/feeds/7278284065159626229/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1556135669515651935&amp;postID=7278284065159626229&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1556135669515651935/posts/default/7278284065159626229'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1556135669515651935/posts/default/7278284065159626229'/><link rel='alternate' type='text/html' href='http://oracle-error.blogspot.com/2008/10/ora-00257.html' title='ORA-00257: archiver error. Connect internal only, until freed.'/><author><name>Mendus</name><uri>http://www.blogger.com/profile/15926700298623471526</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1556135669515651935.post-2327263843930005863</id><published>2008-10-21T16:58:00.003-04:00</published><updated>2009-12-12T01:35:24.534-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='ORA-28009'/><category scheme='http://www.blogger.com/atom/ns#' term='O7_DICTIONARY_ACCESSIBILITY'/><title type='text'>ORA-28009 connection to sys should be as sysdba or sysoper</title><content type='html'>&lt;div xmlns="http://www.w3.org/1999/xhtml"&gt;&lt;big&gt;&lt;big  style="color: rgb(255, 102, 0);font-family:Comic Sans MS;"&gt;&lt;span style="font-weight: bold;"&gt;ORA-28009: &lt;/span&gt;&lt;span style="color: rgb(255, 102, 0);"&gt;connection to sys should be as sysdba or sysoper&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Cause:&lt;/span&gt; Connect sys/password is no longer a valid syntax.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Action: &lt;/span&gt;Try connect sys/password as sysdba or connect sys/password as sysoper.&lt;/big&gt;   &lt;span style="font-family:Comic Sans MS;"&gt;ORA-28009 oracle error is raised when the sys user tries to connect without providing "as sysdba" .  This s controlled by the O7_DICTIONARY_ACCESSIBILITY parameter. When this parameter value is set to FALSE,  sys users experience this ORA-28009 error.&lt;/span&gt;  &lt;span style="font-family:Comic Sans MS;"&gt;Access to dictionary objects is restricted to the users with the system privileges SYSDBA and SYSOPER. Connecting as SYSDBA gives a user unrestricted privileges to perform any operation on a database or the objects within a database. Data dictionary objects is under SYS schema and is protected by O7_DICTIONARY_ACCESSIBILITY to FALSE settings.&lt;/span&gt;   &lt;span style="color: rgb(255, 102, 0); font-weight: bold;font-family:Comic Sans MS;" &gt;&lt;big&gt;Example for the ORA-28009 error:&lt;/big&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: rgb(51, 51, 153);font-family:Comic Sans MS;" &gt;Connecting as sys user  without sysdba privilege.&lt;/span&gt;  &lt;span style="font-family:Comic Sans MS;"&gt;SQL&amp;gt; alter user SYS identified by SYS;&lt;/span&gt; &lt;span style="font-family:Comic Sans MS;"&gt;SQL&amp;gt; connect sys/sys&lt;/span&gt; &lt;span style="font-family:Comic Sans MS;"&gt;ERROR:&lt;/span&gt; &lt;span style="font-family:Comic Sans MS;"&gt;ORA-28009: connection to sys should be as sysdba or sysoper&lt;/span&gt;   &lt;span style="font-family:Comic Sans MS;"&gt;Warning: You are no longer connected to ORACLE.&lt;/span&gt;  &lt;span style="color: rgb(51, 51, 153);font-family:Comic Sans MS;" &gt;Connecting as sys user  with sysdba privilege.&lt;/span&gt;  &lt;span style="font-family:Comic Sans MS;"&gt;SQL&amp;gt; connect sys/sys as sysdba&lt;/span&gt; &lt;span style="font-family:Comic Sans MS;"&gt;Connected.&lt;/span&gt; &lt;span style="font-family:Comic Sans MS;"&gt;SQL&amp;gt;&lt;/span&gt;  &lt;span style="font-family:Comic Sans MS;"&gt;O7_DICTIONARY_ACCESSIBILITY parameter info:&lt;/span&gt;   &lt;span style="font-family:Comic Sans MS;"&gt;SQL&amp;gt; SHOW PARAMETER O7_DICTIONARY_ACCESSIBILITY&lt;/span&gt; &lt;span style="font-family:Comic Sans MS;"&gt;NAME TYPE VALUE&lt;/span&gt; &lt;span style="font-family:Comic Sans MS;"&gt;------------------------------------ ----------- ------------------------------&lt;/span&gt; &lt;span style="font-family:Comic Sans MS;"&gt;O7_DICTIONARY_ACCESSIBILITY boolean FALSE&lt;/span&gt;   &lt;span style="color: rgb(51, 51, 153);font-family:Comic Sans MS;" &gt;Modifying the O7_DICTIONARY_ACCESSIBILITY parameter  value:&lt;br /&gt;&lt;/span&gt; &lt;span style="font-family:Comic Sans MS;"&gt;SQL&amp;gt; ALTER SYSTEM SET O7_DICTIONARY_ACCESSIBILITY=TRUE scope=spfile;&lt;/span&gt; &lt;span style="font-family:Comic Sans MS;"&gt;System altered.&lt;br /&gt;&lt;br /&gt;&lt;/span&gt; &lt;span style="color: rgb(51, 51, 153);font-family:Comic Sans MS;" &gt;In order make the chnages effective shutdown and startup the database:&lt;br /&gt;&lt;/span&gt; &lt;span style="font-family:Comic Sans MS;"&gt;SQL&amp;gt; show parameter O7_DICTIONARY_ACCESSIBILITY&lt;/span&gt; &lt;span style="font-family:Comic Sans MS;"&gt;NAME TYPE VALUE&lt;/span&gt; &lt;span style="font-family:Comic Sans MS;"&gt;------------------------------------ ----------- ------------------------------&lt;/span&gt; &lt;span style="font-family:Comic Sans MS;"&gt;O7_DICTIONARY_ACCESSIBILITY boolean TRUE&lt;/span&gt;  &lt;span style="font-family:Comic Sans MS;"&gt;&lt;span style="color: rgb(51, 51, 153);"&gt;Now sys user should be able connect with out "as sysdba" as verified below&lt;/span&gt;:&lt;/span&gt;  &lt;span style="font-family:Comic Sans MS;"&gt;SQL&amp;gt; conn sys/sys&lt;/span&gt; &lt;span style="font-family:Comic Sans MS;"&gt;Connected.&lt;/span&gt;&lt;/big&gt;&lt;br /&gt;&lt;br /&gt;&lt;big&gt;&lt;big&gt; &lt;span style="color: rgb(255, 102, 0); font-weight: bold;font-family:Comic Sans MS;" &gt;CONCLUSION:&lt;/span&gt;&lt;big&gt;&lt;span style="color: rgb(255, 102, 0); font-weight: bold;font-family:Comic Sans MS;" &gt;&lt;/span&gt;&lt;/big&gt;&lt;/big&gt;  &lt;span style="font-family:Comic Sans MS;"&gt;Oracle Recommendation is  not to set O7_DICTIONARY_ACCESSIBILITY to TRUE.&lt;/span&gt;&lt;/big&gt;&lt;br /&gt;&lt;big style="font-family: Comic Sans MS;"&gt;So in order to avoid this ORA-28009 error, always  explicitly specify " as sysdba " when connecting as sys user.&lt;br /&gt;&lt;br /&gt;&lt;/big&gt;&lt;big&gt;&lt;span style="font-family:Comic Sans MS;"&gt;More Details  at &lt;a href="http://ora-28009.ora-code.info/"&gt; http://ora-28009.ora-code.info/&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;Mendus, Oracle OCP&lt;br /&gt;&lt;/span&gt;&lt;/big&gt;&lt;a href="http://www.ora-code.info/"&gt;&lt;big&gt;&lt;span style="font-family:Comic Sans MS;"&gt;http://www.ora-code.info/&lt;/span&gt;&lt;/big&gt;&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;big style="font-family: Comic Sans MS;"&gt;&lt;/big&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1556135669515651935-2327263843930005863?l=oracle-error.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://oracle-error.blogspot.com/feeds/2327263843930005863/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1556135669515651935&amp;postID=2327263843930005863&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1556135669515651935/posts/default/2327263843930005863'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1556135669515651935/posts/default/2327263843930005863'/><link rel='alternate' type='text/html' href='http://oracle-error.blogspot.com/2008/10/ora-28009-connection-to-sys-should-be.html' title='ORA-28009 connection to sys should be as sysdba or sysoper'/><author><name>Mendus</name><uri>http://www.blogger.com/profile/15926700298623471526</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1556135669515651935.post-4537051017423805766</id><published>2008-10-20T23:07:00.003-04:00</published><updated>2009-12-12T01:37:40.596-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='deadlock'/><category scheme='http://www.blogger.com/atom/ns#' term='ITL wait'/><category scheme='http://www.blogger.com/atom/ns#' term='dead lock'/><category scheme='http://www.blogger.com/atom/ns#' term='ORA-00060'/><title type='text'>ORA-00060: deadlock detected while waiting for resource</title><content type='html'>&lt;div xmlns="http://www.w3.org/1999/xhtml"&gt;&lt;small&gt;&lt;span style=";font-family:Comic Sans MS;font-size:130%;"  &gt;&lt;span style="color: rgb(255, 102, 0);"&gt;&lt;span style="font-weight: bold;"&gt;ORA-00060:&lt;/span&gt; deadlock detected while waiting for resource&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 102, 0);"&gt;&lt;span style="font-weight: bold;"&gt;Cause:&lt;/span&gt; Transactions deadlocked one another while waiting for resources.&lt;br /&gt;&lt;/span&gt;&lt;span style="color: rgb(255, 102, 0);"&gt;&lt;span style="font-weight: bold;"&gt;Action:&lt;/span&gt; Look at the trace file to see the transactions and resources involved. Retry if necessary.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;ORA-00060 error indicates that a dead lock occurred due to a resource contention with another session and Oracle rolled back your current statement to resolve the dead lock. The other session can proceed further as usual . Your current sessions rolled backed statements needs to be resubmitted for the execution after the required resources are available.&lt;br /&gt;&lt;br /&gt;These dead locks can occur in different scenarios: They can occur while doing parallel DML operations, while updating/deleting data from same tables from different sessions , while performing transactions on bitmap index tables and so on but the mentioned scenarios are the most common ones.&lt;br /&gt;&lt;br /&gt;At this point I think we would like to explore more about dead locks, so here are the in depth details on dead locks:&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 102, 0); font-weight: bold;"&gt;What is dead lock, when it occurs and how to fix it?&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Dead lock occurs when two or more users waiting for the resources locked by each other. The users are stuck and they can not proceed as they may end up waiting indefinitely for the resources form each other. So when this condition occurs these users are stuck (deadly embraced) and cannot continue processing.&lt;br /&gt;&lt;br /&gt;Oracle automatically detects deadlocks and resolves them by rolling back one of the transactions/statements involved in the deadlock, thus releasing one set of resources/data locked by that transaction. The session that is rolled back will observe Oracle error: ORA-00060: deadlock detected while waiting for resource. Oracle will also produce detailed information in a trace file under database's UDUMP directory.&lt;br /&gt;&lt;br /&gt;Most commonly these deadlocks are caused by the applications that involve multi table updates in the same transaction and multiple applications/transactions are acting on the same table at the same time. These multi-table deadlocks can be avoided by locking tables in same order in all applications/transactions, thus preventing a deadlock condition.&lt;br /&gt;&lt;br /&gt;In the following example I am demonstrating a dead lock scenario . In the first session ie. session1 lock table: CUSTOMER then CONTACT; and in session2: CONATCT then CUSTOMER.&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 102, 0);"&gt;Here is an example of how to simulate a deadlock error:&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Session 1 lock table CUSTOMER:&lt;br /&gt;SQL&amp;gt; update customer set concatenate_bills_boo = 'T' where customer_ref = '10000000000000000486';&lt;br /&gt;&lt;br /&gt;1 row updated.&lt;br /&gt;&lt;br /&gt;Session 2 lock table CONTACT:&lt;br /&gt;&lt;br /&gt;SQL&amp;gt; update contact set language_id = 8 where customer_ref = '10000000000000000486';&lt;br /&gt;&lt;br /&gt;1 row updated.&lt;br /&gt;&lt;br /&gt;Session 1 now update CONTACT. The session will hang waiting for a lock (not a deadlock yet!):&lt;br /&gt;&lt;br /&gt;SQL&amp;gt; update contact set language_id = 8 where customer_ref = '10000000000000000486';&lt;br /&gt;&lt;br /&gt;Session 2 now update CUSTOMER, causing the deadlock:&lt;br /&gt;&lt;br /&gt;SQL&amp;gt; update customer set concatenate_bills_boo = 'T' where customer_ref = '10000000000000000486';&lt;br /&gt;update customer set concatenate_bills_boo = 'T' where customer_ref = '10000000000000000486'&lt;br /&gt;*&lt;br /&gt;ERROR at line 1:&lt;br /&gt;ORA-00060: deadlock detected while waiting for resource&lt;br /&gt;&lt;br /&gt;SQL&amp;gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold; color: rgb(255, 102, 0);"&gt;Resolution/Fix for deadly Embrace Dead Lock:&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;The session on which ORA-00060 occurred encountered the dead lock and Oracle automatically rolled back the statement that caused the dead lock. No other session got affected, so other sessions functions as usual.&lt;br /&gt;&lt;br /&gt;In the affected session, the rolled back statement needs to be re-executed once the resources are available ie. When no other session is competing for the same resource.&lt;br /&gt;&lt;br /&gt;Probably it will be a good idea to analyze oracle trace file and then modify the application to avoid this situation.&lt;br /&gt;&lt;br /&gt;To avoid deadly embrace dead locks, review the application transaction logic thoroughly in the design phase it-self and ensure tables are ordered with in the transactions/applications in such a way that resource contention not occurs among transactions/applications.&lt;br /&gt;&lt;br /&gt;In order to find the lock information from the database on which objects / tables have locked currently, which are the blocking sessions and users, ,you can find lot of useful information and scripts at &lt;a href="http://oracle-error.blogspot.com/2008/10/ora-00054-resource-busy-and-acquire.html"&gt;ORA-00054   resource busy  error&lt;/a&gt; article.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold; color: rgb(255, 102, 0);"&gt;ITL shortage deadlocks :&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;ITL shortage deadlocks are those dead locks ORA-00060 errors that occur during the execution of UPDATE and DELETE statements where two processes wait for 'S' mode locks on each other's 'TX' enqueues. This cannot happen with INSERT statements, as Oracle doesn't wait on ITL (Interested Transaction List) slots for inserts, it will simply try to insert the row into the next available block.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold; color: rgb(255, 102, 0);"&gt;Resolution/Fix for ITL Dead locks:&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;To resolve ITL dead locks , recreate the segment with higher INITTRANS and/or PCTFREE values. This will allow more space in the data blocks for Oracle to allocate more transaction entries (24 bytes at a time) when required.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold; color: rgb(255, 102, 0);"&gt;Monitoring ITL waits :&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Query the sys.v_$segment_statistics view for identifying and monitoring ITL waits per segments&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 102, 0); font-weight: bold;"&gt;Other causes for Dead Locks:&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 102, 0); font-weight: bold;"&gt;Bitmap indexes and dead locks:&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;High transaction activity on tables with bitmap indexes often causes dead locks. Bitmap indexes are only appropriate in read only/ read mostly environments.&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 102, 0); font-weight: bold;"&gt;Resolution to Bitmap Index dead locks:&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;This can be resolved by setting a very high INITTRANS value for the bitmap index but most cases it would be better &amp;amp; best to disable the index before heavy transactional activity, and to rebuild it after heavy transactional activity is done.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold; color: rgb(255, 102, 0);"&gt;Additional dead lock related information :&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold; color: rgb(255, 102, 0);"&gt;Bitmap dead lock related info:&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;You can find more details on bitmap indexes and how they trigger dead locks at &lt;a href="http://asktom.oracle.com/pls/asktom/f?p=100:11:0::::P11_QUESTION_ID:6042872196732"&gt;asktom&lt;/a&gt; by Thomas Kyte.&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 102, 0); font-weight: bold;"&gt;ITL Waits :&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;The following is very insightful article on ITL by Arup Nanda with some scripts for identifying the ITL waits.. Originally I thought to provide a link to this article but later I felt this article is very important , informative so I didn’t want the readers to miss/lose this info if that link changed by chance. So I am providing the article inline here with a sole purpose of making the freely available information on the internet in a readily usable form.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold; color: rgb(255, 102, 0);"&gt;Here is the article on ITL&lt;/span&gt;:&lt;br /&gt;&lt;br /&gt;“&lt;span style="font-weight: bold; color: rgb(255, 102, 0);"&gt;Oracle Interested Transaction List (ITL) Waits&lt;/span&gt;&lt;br /&gt;by Arup Nanda&lt;br /&gt;Author of Oracle Privacy Security Auditing&lt;br /&gt;&lt;br /&gt;What is ITL? Ever wondered how Oracle locks rows on behalf of transactions? In some RDBMS vendor implementations, a lock manager maintains information on which row is locked by which transaction. This works great in theory, but soon the lock manager becomes a single point of contention, as each transaction must wait to get a lock from the manager and then wait again to release the lock.&lt;br /&gt;&lt;br /&gt;This severely limits the scalability of the applications. In fact, application developers of some RDBMS products despise holding locks for a long time, and often resort to a full table lock when all that's needed is to get a few rows locked. This creates further waits, and consequently, scalability suffers.&lt;br /&gt;&lt;br /&gt;So how is that different in Oracle? For starters, there is no lock manager. When a row is locked by a transaction, that information is placed in the block header where the row is located. When another transaction wishes to acquire the lock on the same row, it has to travel to the block containing the row anyway, and upon reaching the block, it can easily tell that the row is locked from the block header. There is no need to queue up for some single resource like a lock manager. This makes applications immensely scalable.&lt;br /&gt;&lt;br /&gt;So, what portion of the block header contains information on locking? It is a simple data structure called "Interested Transaction List" (ITL), a linked list data structure that maintains information on transaction address and rowid. ITL contains several slots or place holders for transactions. When a row in the block is locked for the first time, the transaction places a lock in one of the slots with the rowid of the row that is locked. In other words, the transaction makes it known that it is interested in the row (hence the name "Interested Transaction List").&lt;br /&gt;&lt;br /&gt;When the same transaction or another one locks another row, the information is stored in another slot, and so on. After a transaction ends via commit or a rollback, the locks are released and so are the slots that were used to mark the blocks, and these newly freed slots are reused for the other transactions. So there is in fact a queue, but it's at a block level, not at the entire database level or even at a segment level.&lt;br /&gt;&lt;br /&gt;The next logical question that comes up is, how many slots are typically available? During the table creation, the INITRANS parameter defines how many slots are initially created in the ITL. When the transactions exhaust all the available slots and a new transaction comes in to lock a row, the ITL grows to create another slot. The ITL can grow up to the number defined by the MAXTRANS parameter of the table, provided there is space in the block.&lt;br /&gt;&lt;br /&gt;Nevertheless, if there is no more room in the block, even if the MAXTRANS is high enough, the ITL cannot grow.&lt;br /&gt;&lt;br /&gt;So, what happens when a transaction does not find a free slot to place its lock information? This can occur because either (i) the block is so packed that the ITL cannot grow to create a free slot, or (ii) the MAXTRANS has already been reached. In this case, the transaction that needs to lock a row has to wait until a slot becomes available. This wait is termed as ITL waits and can be seen from the view v$session_wait, in which the session is waiting on an event named "enqueue." Since the INITRANS is one, there is only one slot for the ITL. The rest of the block is empty.&lt;br /&gt;&lt;br /&gt;Then another transaction, Txn2, updates the row Row2 and wants to lock the row. However, there are no more slots in the ITL available to service the transaction. The MAXTRANS entry is 11, meaning the ITL can grow up to 11 slots and the block has empty space. Therefore, ITL can grow by another slot and Slot number two is created and allocated to Txn2 (refer to figure 4).&lt;br /&gt;&lt;br /&gt;Now the empty space in the block is severely limited, and it will not be able to fit another ITL slot. If at this time another transaction comes in to update the row three, it must have a free slot in the ITL. The MAXTRANS is 11 and currently only two slots have been created, so another one is possible; but since there is no room in the block to grow, the slot can't be created. Therefore, the Txn3 has to wait until either of the other transactions rolls back or commits and the slot held by it becomes free. At this time the session will experience an ITL waits event as seen from the view V$SESSION_WAIT.&lt;br /&gt;&lt;br /&gt;To better illustrate the concept, let's illustrate such waits using a case. Create the following table and then populate it with several rows. Note MAXTRANS value.&lt;br /&gt;CREATE TABLE TAB1&lt;br /&gt;( COL1 NUMBER,&lt;br /&gt;COL2 VARCHAR2(200))&lt;br /&gt;INITRANS 1 MAXTRANS 1&lt;br /&gt;/&lt;br /&gt;&lt;br /&gt;DECLARE&lt;br /&gt;I NUMBER;&lt;br /&gt;BEGIN&lt;br /&gt;FOR I IN 1..10000 LOOP&lt;br /&gt;INSERT INTO TAB1 VALUES&lt;br /&gt;(I,'SSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS');&lt;br /&gt;END LOOP;&lt;br /&gt;COMMIT;&lt;br /&gt;END;&lt;br /&gt;/&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Now update a row of the table from one session, but do not commit it.&lt;br /&gt;UPDATE TAB1 SET COL2 = 'UPDATED' WHERE COL1 = 1;&lt;br /&gt;&lt;br /&gt;From another session, update row number two and do not update it.&lt;br /&gt;UPDATE TAB1 SET COL2 = 'UPDATED' WHERE COL1 = 2;&lt;br /&gt;&lt;br /&gt;This session will wait. Why? It's updating a row for COL1 = 2, not the same row updated in the other session for COL1 = 1. So why is the session waiting? It's because the first transaction occupied the only available ITL slot. The second transaction needed another slot to place its lock information, but since the MAXTRANS I defined is one, the ITL could not grow to create another slot. Thus, the latter transaction has to wait until the former session releases the lock and makes the slot available. Now increase the MAXTRANS of the table by issuing&lt;br /&gt;&lt;br /&gt;ALTER TABLE TAB1 MAXTRANS 11;&lt;br /&gt;&lt;br /&gt;and redo the above test. The second session will not wait this time because the ITL had enough free slots for both transactions. How to Reduce ITL WaitsThe primary cause of ITL waits is that free slots in the ITL are not available. This can be due to low setting of the MAXTRANS, which places a hard limit on the number of transactions that can have locks on a block or, the block is so packed that there is no room for the ITL to grow OR or both.&lt;br /&gt;&lt;br /&gt;Therefore, setting a high value of INITRANS will make sure that there are enough free slots in the ITL, and there will be minimal or no dynamic extension of the ITL. However, doing so also means that there is less space in the block for actual data, increasing wasted space.&lt;br /&gt;&lt;br /&gt;The other option is to making sure the data is less packed so that ITL can grow enough to accommodate the surges in ITL. This can be done by increasing PCTFREE, increasing FREELISTS and FREELIST GROUPS parameters for a table.&lt;br /&gt;&lt;br /&gt;This will make a block hold less data and more room for the ITL to grow. As a direct result of the reduction in packing, the table will experience fewer buffer busy wait events, and performance will be increased.&lt;br /&gt;How to Diagnose the ITL WaitHow do you know that a segment is experiencing ITL waits? The best answer will be found in the Segment Level Statistics provided in Oracle9i Release 2. To check for ITL waits, set up the STATISTICS_LEVEL to TYPICAL in init.ora or via ALTER SYSTEM, then examine the segment statistics for the waits.&lt;br /&gt;&lt;br /&gt;SELECT&lt;br /&gt;OWNER,&lt;br /&gt;OBJECT_NAME&lt;br /&gt;FROM&lt;br /&gt;V$SEGMENT_STATISTICS&lt;br /&gt;WHERE&lt;br /&gt;STATISTIC_NAME = 'ITL waits'&lt;br /&gt;AND&lt;br /&gt;VALUE &amp;gt; 0;&lt;br /&gt;&lt;br /&gt;This unearths the objects that were subjected to ITL waits since the start up of the instance. Note that this view resets when the instance bounces. (For a more detailed explanation of this view and how to set it up, please refer to the article by this author here in DBAzine.)&lt;br /&gt;In versions earlier than 9i, checking for ITL waits is tricky.&lt;br /&gt;&lt;br /&gt;When you suspect that a database is suffering from these waits, query the view v$session_wait. If the event on which the system is waiting is "enqueue," then the session might be experiencing ITL waits. However, enqueue is a very broad event that encompasses any type of locks, so it does not accurately specify the ITL waits. When the wait event is experienced, issue the following complex query:&lt;br /&gt;&lt;br /&gt;Select s.sid SID,&lt;br /&gt;s.serial# Serial#,&lt;br /&gt;l.type type,&lt;br /&gt;' ' object_name,&lt;br /&gt;lmode held,&lt;br /&gt;request request&lt;br /&gt;from v$lock l, v$session s, v$process p&lt;br /&gt;where s.sid = l.sid and&lt;br /&gt;s.username &amp;lt;&amp;gt; ' ' and&lt;br /&gt;s.paddr = p.addr and&lt;br /&gt;l.type &amp;lt;&amp;gt; 'TM' and&lt;br /&gt;(l.type &amp;lt;&amp;gt; 'TX' or l.type = 'TX' and l.lmode &amp;lt;&amp;gt; 6)&lt;br /&gt;union&lt;br /&gt;select s.sid SID,&lt;br /&gt;s.serial# Serial#,&lt;br /&gt;l.type type,&lt;br /&gt;object_name object_name,&lt;br /&gt;lmode held,&lt;br /&gt;request request&lt;br /&gt;from v$lock l, v$session s, v$process p, sys.dba_objects o&lt;br /&gt;where s.sid = l.sid and&lt;br /&gt;o.object_id = l.id1 and&lt;br /&gt;l.type = 'TM' and&lt;br /&gt;s.username &amp;lt;&amp;gt; ' ' and&lt;br /&gt;s.paddr = p.addr&lt;br /&gt;union&lt;br /&gt;select s.sid SID,&lt;br /&gt;s.serial# Serial#,&lt;br /&gt;l.type type,&lt;br /&gt;'(Rollback='||rtrim(r.name)||')' object_name,&lt;br /&gt;lmode held,&lt;br /&gt;request request&lt;br /&gt;from v$lock l, v$session s, v$process p, v$rollname r&lt;br /&gt;where s.sid = l.sid and&lt;br /&gt;l.type = 'TX' and&lt;br /&gt;l.lmode = 6 and&lt;br /&gt;trunc(l.id1/65536) = r.usn and&lt;br /&gt;s.username &amp;lt;&amp;gt; ' ' and&lt;br /&gt;s.paddr = p.addr&lt;br /&gt;order by 5, 6&lt;br /&gt;/&lt;br /&gt;&lt;br /&gt;The output of the query will look something like this:&lt;br /&gt;&lt;br /&gt;SID SERIAL# TY OBJECT_NAM HELD REQUEST&lt;br /&gt;----- ------- -- ---------- ---------- --------&lt;br /&gt;36 8428 TX 0 4&lt;br /&gt;36 8428 TM TAB1 3 0&lt;br /&gt;52 29592 TM TAB1 3 0&lt;br /&gt;52 29592 TX (Rollback=RBS1_6) 6 0&lt;br /&gt;&lt;br /&gt;Note how the sessions 36 and 52 both have a TM (DML) lock on the table TAB1 of type 3 (Row Exclusive), but session 52 also holds a TX (Transaction) lock on the rollback segment of mode 6 (Exclusive) and Session 36 is waiting for a mode 4 (Share) lock. If this combination of locking occurs, you can be sure that session 36 is waiting for ITL on the table TAB1. Beware of a similar but different diagnosis when two sessions try to insert the same key value (a real locking – primary key violation). In that case, you would also see an additional TX lock on a rollback segment from the session that is waiting; for ITL waits, this TX lock on the rollback segment would not be seen.&lt;br /&gt;&lt;br /&gt;Needless to say, this is a rather convoluted and inaccurate way to diagnose the ITL waits in pre-Oracle9i Release 2 versions.&lt;br /&gt;&lt;br /&gt;What INITRANS Value is Optimal? Conversely, how do you know if the INITRANS setting is too high and the space is just being wasted? Ascertaining this is possible by using a few random block dumps from the segment in question. First, find out the header file# and header block# of the segment by issuing the following query:&lt;br /&gt;&lt;br /&gt;SELECT HEADER_FILE, HEADER_BLOCK FROM DBA_SEGMENTSWHERE OWNER = '...'AND SEGMENT_NAME = '...';&lt;br /&gt;&lt;br /&gt;Use the output of the query to do a block dump of the header block.&lt;br /&gt;ALTER SYSTEM DUMP DATAFILE BLOCK MIN BLOCK MAX ;&lt;br /&gt;&lt;br /&gt;This will produce a trace file in the USER_DUMP_DESTINATION directory. Open the trace file and find out the section on extent control via the following:&lt;br /&gt;Extent Control Header&lt;br /&gt;&lt;br /&gt;-----------------------------------------------------------------&lt;br /&gt;&lt;br /&gt;Extent Header:: spare1: 0 spare2: 0 #extents: 1 #blocks: 10&lt;br /&gt;&lt;br /&gt;last map 0x00000000 #maps: 0 offset: 2080&lt;br /&gt;&lt;br /&gt;Highwater:: 0x02011f87 ext#: 0 blk#: 0 ext size: 10&lt;br /&gt;&lt;br /&gt;#blocks in seg. hdr's freelists: 0&lt;br /&gt;&lt;br /&gt;#blocks below: 0&lt;br /&gt;&lt;br /&gt;mapblk 0x00000000 offset: 0&lt;br /&gt;&lt;br /&gt;Unlocked&lt;br /&gt;&lt;br /&gt;Map Header:: next 0x00000000 #extents: 1 obj#: 53689 flag: 0x40000000&lt;br /&gt;&lt;br /&gt;Extent Map&lt;br /&gt;&lt;br /&gt;-----------------------------------------------------------------&lt;br /&gt;&lt;br /&gt;0x02011f87 length: 10&lt;br /&gt;&lt;br /&gt;Find out the real number of blocks for the segment from dba_segments via the following:&lt;br /&gt;SELECT BLOCKS FROM DBA_SEGMENTS&lt;br /&gt;&lt;br /&gt;WHERE OWNER = '...' AND SEGMENT_NAME = '...';&lt;br /&gt;&lt;br /&gt;Say this returns 12, and the #blocks shows 10; this means the first two blocks are header blocks; the data starts at the third block. Take a dump of the third block, which is obtained by adding two to the header block# obtained above.&lt;br /&gt;ALTER SYSTEM DUMP DATAFILE BLOCK MIN BLOCK MAX ;&lt;br /&gt;&lt;br /&gt;This will produce another trace file in the USER_DUMP_DEST directory. If you issued it during the same session as above, then the trace will be written in the trace file opened earlier. Open the file and locate the following section.&lt;br /&gt;buffer tsn: 8 rdba: 0x02011f88 (8/73608)&lt;br /&gt;&lt;br /&gt;scn: 0x0000.389b8d81 seq: 0x01 flg: 0x04 tail: 0x8d810601&lt;br /&gt;&lt;br /&gt;frmt: 0x02 chkval: 0x2ef5 type: 0x06=trans data&lt;br /&gt;&lt;br /&gt;Block header dump: 0x02011f88&lt;br /&gt;&lt;br /&gt;Object id on Block? Y&lt;br /&gt;&lt;br /&gt;seg/obj: 0xd1ad csc: 0x00.389b8d81 itc: 4 flg: - typ: 1 - DATA&lt;br /&gt;&lt;br /&gt;fsl: 0 fnx: 0x0 ver: 0x01&lt;br /&gt;&lt;br /&gt;Itl Xid Uba Flag Lck Scn/Fsc&lt;br /&gt;&lt;br /&gt;0x01 0x0003.003.000024cc 0x00804067.050a.13 C-U- 0 scn 0x0000.389b304e&lt;br /&gt;&lt;br /&gt;0x02 0x0007.010.00002763 0x00801f49.0453.01 C--- 0 scn 0x0000.389b2628&lt;br /&gt;&lt;br /&gt;0x03 0x0002.00a.000025d5 0x00804d42.04b2.25 C--- 0 scn 0x0000.389b2811&lt;br /&gt;&lt;br /&gt;0x04 0x0006.006.00002515 0x00800962.03c8.18 CU 0 scn 0x0000.389b3044&lt;br /&gt;&lt;br /&gt;This shows some very important information on the block, especially in the ITL section shown above. This table has an INITRANS entry of four, so there are four lines, one each per the ITL. The Flag column above the flag -U- indicates that the particular ITL was used. In this case, only two of the ITLs were used, and the other two were never used. However, this is the case for this block only. By selecting block dumps from other randomly selected blocks, you could have an idea how many ITLs are actually used. Then you may decide to reduce the INITRANS.&lt;br /&gt;&lt;br /&gt;Automatic Block Management in Oracle9iIn Oracle9i, the process of space mangement inside a block is somewhat changed due to the introduction of the Automatic Block Management (ABM) feature, also known as Automatic Segment Space Management (ASSM). The option is specified at the tablespace level in the storage parameter as SEGMENT SPACE MANAGEMENT AUTO. For instance, the tablespace TS1 can be created as&lt;br /&gt;&lt;br /&gt;CREATE TABESPACE TS1&lt;br /&gt;DATAFILE '...'&lt;br /&gt;EXTENT MANAGEMENT LOCAL&lt;br /&gt;&lt;br /&gt;SEGMENT SPACE MANAGEMENT AUTO;The last line of this code does the magic. In the ABM mode, Oracle maintains a bitmap for each segment with the information on the block. A bitmap is a data structure with a bit representing each block. When a block becomes available for INSERT, the information is made available simply by setting the corresponding bit in the bitmap rather than using freelists.&lt;br /&gt;&lt;br /&gt;So, what does this have to do with ITL waits? The very cause of ITL waits is not freespace management, but the unavailability of a slot in ITL waits. So you still have to look for ITL waits and correct them using INITRANS and MAXTRANS. In fact, the problem may become exacerbated because the block becomes quite packed following an efficient space management system, and that may lead to lack of space for ITL growth. You can prevent this by keeping a large INITRANS for the segment.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Proper setting of INITRANS and MAXTRANS and packing of the blocks is vital to avoid ITL waits in Oracle. It's interesting to note that locking doesn't cause waits, but rather, the mechanism for locking as well as and poor planning. However, the good news is that this situation can be easily fixed by reorganizing the table and adding more slots to the Interested Transaction List.”&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold; color: rgb(255, 102, 0);"&gt;CONCLUSION:&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Dead locks do occur in most of the applications and dead locks can be avoided by properly designing the transactions and applications by keeping other transactions and applications in mind. ITL waits and dead locks related to ITL waits can be avoided by setting of INITRANS and MAXTRANS properly. Dead locks during the transactions on bitmap indexed tables can be avoided by performing heavy transactions with no bitmap indexes and after completing the transactions rebuild the bitmap indexes.&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/small&gt;&lt;big&gt;&lt;span style="font-family:Comic Sans MS;"&gt;More Details  at &lt;a href="http://ora-00257.ora-code.info/"&gt; http://ora-00060.ora-code.info/&lt;/a&gt;&lt;a href="http://ora-00060.ora-code.info/"&gt;.&lt;/a&gt;&lt;br /&gt;&lt;/span&gt;&lt;/big&gt;&lt;small&gt;&lt;span style=";font-family:Comic Sans MS;font-size:130%;"  &gt;&lt;br /&gt;I hope you enjoyed the dead lock information and content of this article.&lt;br /&gt;&lt;br /&gt;-Mendus, Oracle OCP&lt;br /&gt;&lt;/span&gt;&lt;/small&gt;&lt;a href="http://www.ora-code.info/"&gt;&lt;big&gt;&lt;span style="font-family:Comic Sans MS;"&gt;http://www.ora-code.info/&lt;/span&gt;&lt;/big&gt;&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1556135669515651935-4537051017423805766?l=oracle-error.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://oracle-error.blogspot.com' title='ORA-00060: deadlock detected while waiting for resource'/><link rel='replies' type='application/atom+xml' href='http://oracle-error.blogspot.com/feeds/4537051017423805766/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1556135669515651935&amp;postID=4537051017423805766&amp;isPopup=true' title='6 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1556135669515651935/posts/default/4537051017423805766'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1556135669515651935/posts/default/4537051017423805766'/><link rel='alternate' type='text/html' href='http://oracle-error.blogspot.com/2008/10/ora-00060-deadlock-detected-while_20.html' title='ORA-00060: deadlock detected while waiting for resource'/><author><name>Mendus</name><uri>http://www.blogger.com/profile/15926700298623471526</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>6</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1556135669515651935.post-5901659395980983773</id><published>2008-10-16T10:43:00.003-04:00</published><updated>2009-12-12T01:39:01.197-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='ORA-00055'/><category scheme='http://www.blogger.com/atom/ns#' term='DML LOCKS'/><title type='text'>ORA-00055 maximum number of DML locks exceeded</title><content type='html'>&lt;div xmlns="http://www.w3.org/1999/xhtml"&gt;&lt;span style="color: rgb(153, 0, 0);font-family:'Comic Sans MS';" &gt;&lt;span style="color: rgb(102, 0, 0);"&gt;&lt;span style="font-weight: bold;"&gt;ORA-00055&lt;/span&gt; maximum number of DML locks exceeded&lt;/span&gt;  &lt;span style="color: rgb(102, 0, 0);"&gt;&lt;span style="font-weight: bold;"&gt;Cause:&lt;/span&gt; Ran out of DML lock state objects.&lt;/span&gt;  &lt;span style="color: rgb(102, 0, 0);"&gt;&lt;span style="font-weight: bold;"&gt;Action:&lt;/span&gt; Increase the value of the DML_LOCKS initialization parameter and restart Orac&lt;/span&gt;le.&lt;br /&gt;More Details at : &lt;/span&gt;&lt;a href="http://ora-00055.ora-code.info/"&gt;&lt;big&gt;&lt;span style="font-family:Comic Sans MS;"&gt;http://ora-00055.ora-code.info/&lt;/span&gt;&lt;/big&gt;&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1556135669515651935-5901659395980983773?l=oracle-error.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://oracle-error.blogspot.com' title='ORA-00055 maximum number of DML locks exceeded'/><link rel='replies' type='application/atom+xml' href='http://oracle-error.blogspot.com/feeds/5901659395980983773/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1556135669515651935&amp;postID=5901659395980983773&amp;isPopup=true' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1556135669515651935/posts/default/5901659395980983773'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1556135669515651935/posts/default/5901659395980983773'/><link rel='alternate' type='text/html' href='http://oracle-error.blogspot.com/2008/10/ora-00055-maximum-number-of-dml-locks.html' title='ORA-00055 maximum number of DML locks exceeded'/><author><name>Mendus</name><uri>http://www.blogger.com/profile/15926700298623471526</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1556135669515651935.post-2155838667313617432</id><published>2008-10-15T00:17:00.008-04:00</published><updated>2009-12-12T01:40:23.918-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='ORA-00054'/><category scheme='http://www.blogger.com/atom/ns#' term='LOCKERROR'/><title type='text'>ORA-00054: resource busy and acquire with NOWAIT specified</title><content type='html'>&lt;div xmlns="http://www.w3.org/1999/xhtml"&gt;&lt;span style="color: rgb(204, 102, 0);font-size:130%;" &gt;&lt;span style="font-size:100%;"&gt;&lt;big&gt;&lt;span style="font-family:Comic Sans MS;"&gt;&lt;span style="font-weight: bold; color: rgb(255, 102, 0);"&gt;ORA-00054: resource busy and acquire with NOWAIT specified&lt;/span&gt;  &lt;span style="font-weight: bold; color: rgb(255, 102, 0);"&gt;Cause: Resource interested is busy.&lt;/span&gt;  &lt;span style="font-weight: bold; color: rgb(255, 102, 0);"&gt;Action: Retry if necessary.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;ORA-00054 error is the most commonly faced error by the oracle users. This error is related to table locking or object locking. ORA-00054 occur whenever concurrent DDL operations or DML Update/Delete/Insert/Select for Update operations are performed on the same table /object without proper commits.&lt;br /&gt;&lt;br /&gt;Usually when ORA 00054 error occurs from a session, at that instant some other session might have acquired "exclusive" lock with uncommited changes on the table or object common to both the sessions.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 102, 0); font-weight: bold;"&gt;ORA-00054 Resolution/Fix :&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/big&gt;&lt;/span&gt;&lt;ol&gt;&lt;li&gt;&lt;span style="font-size:100%;"&gt;&lt;big&gt;&lt;span style="font-family:Comic Sans MS;"&gt; Identify the locking session - Find which session or user is blocking your operation.&lt;/span&gt;&lt;/big&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-size:100%;"&gt;&lt;big&gt;&lt;span style="font-family:Comic Sans MS;"&gt; If the lock is free ie. no locking session identified in the first step then you can simply resubmit your operation/statement.&lt;/span&gt;&lt;/big&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-size:100%;"&gt;&lt;big&gt;&lt;span style="font-family:Comic Sans MS;"&gt; If there is a lock then analyze the locking session and user. Based on the priority of your operation vs. locking session/user priority decide whether to wait until lock has been removed or terminate/kill the locking session and proceed with your operation. Usually we end up in waiting for the other session to complete.&lt;/span&gt;&lt;/big&gt;&lt;/span&gt;&lt;/li&gt;&lt;/ol&gt;&lt;span style="font-size:100%;"&gt;&lt;big&gt;&lt;span style="font-family:Comic Sans MS;"&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 102, 0); font-weight: bold;"&gt;So now the question is how to identify the locking sessions?&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;There are number of inernal tables and views Oracle provides for identifying locks,lock status and their session information.&lt;br /&gt;&lt;br /&gt;DBA_BLOCKERS – Shows non-waiting sessions holding locks being waited-on&lt;br /&gt;DBA_DDL_LOCKS – Shows all DDL locks held or being requested&lt;br /&gt;DBA_DML_LOCKS - Shows all DML locks held or being requested&lt;br /&gt;DBA_LOCK_INTERNAL – Displays 1 row for every lock or latch held or being requested with the username of who is holding the lock&lt;br /&gt;DBA_LOCKS - Shows all locks or latches held or being requested&lt;br /&gt;DBA_WAITERS - Shows all sessions waiting on, but not holding waited for locks&lt;br /&gt;&lt;br /&gt;These tables or views may not contain all the information about locked session, usename ,process name etc. So you may have to join with v$session , v$locked_object and v$process views to obtain detailed information about the locks.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 102, 0); font-weight: bold;"&gt;ORA-00054 and Locking Session Identification Demo:&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;For this demo you may need use two or three sessions. In the first session perform a DML operation (INSERT) and do not commit&lt;br /&gt;Then in the second session perform another DML operation and try to acquire the lock (ie. select for update ) , we will encounter ORA-00054 error.&lt;br /&gt;To find the locking session execute the provided @lockinfo.sql script&lt;br /&gt;To find the locking sesssion login info execute @Locklogininfo.sql script.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold; color: rgb(255, 102, 0);"&gt;Example:&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;1st Session:&lt;br /&gt;&lt;br /&gt;SQL&amp;gt; create table mytab (n number);&lt;br /&gt;&lt;br /&gt;Table created.&lt;br /&gt;&lt;br /&gt;SQL&amp;gt; grant all on mytab to migr1dba;&lt;br /&gt;&lt;br /&gt;Grant succeeded.&lt;br /&gt;&lt;br /&gt;SQL&amp;gt; insert into mytab values(1);&lt;br /&gt;&lt;br /&gt;1 row created.&lt;br /&gt;&lt;br /&gt;SQL&amp;gt; commit;&lt;br /&gt;&lt;br /&gt;Commit complete.&lt;br /&gt;&lt;br /&gt;SQL&amp;gt; update mytab set n=2 where n = 1;&lt;br /&gt;&lt;br /&gt;1 row updated.&lt;br /&gt;&lt;br /&gt;SQL&amp;gt;&lt;br /&gt;........&lt;br /&gt;No Commit yet&lt;br /&gt;........&lt;br /&gt;&lt;br /&gt;2nd Session :&lt;br /&gt;&lt;br /&gt;SQL&amp;gt; declare&lt;br /&gt;2 n number;&lt;br /&gt;3 begin&lt;br /&gt;4 select n into n from migr1.mytab for update nowait;&lt;br /&gt;5 end;&lt;br /&gt;6 /&lt;br /&gt;declare&lt;br /&gt;*&lt;br /&gt;ERROR at line 1:&lt;br /&gt;ORA-00054: resource busy and acquire with NOWAIT specified&lt;br /&gt;ORA-06512: at line 4&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;SQL&amp;gt;&lt;br /&gt;&lt;br /&gt;3rd Session:&lt;br /&gt;&lt;br /&gt;SQL&amp;gt; @lockinfo.sql&lt;br /&gt;&lt;br /&gt;Wed Oct 15 page 1&lt;br /&gt;Lock Information&lt;br /&gt;&lt;br /&gt;Machine name Unix RBS&lt;br /&gt;Locked Object Oracle Username O/S Username of Locker Process SID/Ser# Name Logon Date/Time&lt;br /&gt;-------------------- ---------------- ------------- -------------------- --------- ------------ ---- -------------------&lt;br /&gt;MIGR1.MYTAB MIGR1 (INACTIVE) mig05 INFTEST 9281 151,222 _SYS 2008/10/15 05:39:39&lt;br /&gt;SMU4&lt;br /&gt;$&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;SQL&amp;gt;&lt;br /&gt;&lt;br /&gt;SQL&amp;gt; @Locklogininfo.sql&lt;br /&gt;&lt;br /&gt;Oracle Username O/S Username Computer/Terminal SID/Ser# STATUS ID Logon Date/Time Program&lt;br /&gt;-------------------- -------------- --------------------- ------------ -------- ------------ -------------------- --------------------------------------------------&lt;br /&gt;oracle INFTEST 157,1 ACTIVE 4773 2008/10/13 16:47:41 oracle@INFTEST (MMNL)&lt;br /&gt;oracle INFTEST 160,7 ACTIVE 4771 2008/10/13 16:47:41 oracle@INFTEST (MMON)&lt;br /&gt;MIGR1 mig05 INFTEST 151,222 INACTIVE 9281 2008/10/15 05:39:39 sqlplus@INFTEST (TNS V1-V3)&lt;br /&gt;MIGR1DBA mig05 INFTEST 155,34448 INACTIVE 9613 2008/10/15 05:45:58 sqlplus@INFTEST (TNS V1-V3)&lt;br /&gt;MIGR1 mig05 INFTEST 153,65380 ACTIVE 9969 2008/10/15 05:56:49 sqlplus@INFTEST (TNS V1-V3)&lt;br /&gt;&lt;br /&gt;14 rows selected.&lt;br /&gt;&lt;br /&gt;SQL&amp;gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Lock Info Identification Scripts:&lt;br /&gt;&lt;br /&gt;The following scripts helps in finding the locking sessions, users , process and their status information.&lt;br /&gt;&lt;br /&gt;lockinfo.sql script:&lt;br /&gt;&lt;br /&gt;ttitle "Lock Information"&lt;br /&gt;set linesize 150&lt;br /&gt;set echo off&lt;br /&gt;col oruser format a16 heading "Oracle Username"&lt;br /&gt;col osuser format a13 heading "O/S Username"&lt;br /&gt;col obj format a20 heading "Locked Object"&lt;br /&gt;col ss heading "SID/Ser#" format a12&lt;br /&gt;col time heading "Logon Date/Time" format a19&lt;br /&gt;col rs heading "RBS|Name" format a4&lt;br /&gt;col unix heading "Unix|Process" format a9&lt;br /&gt;col computer heading "Machine name|of Locker" format a20&lt;br /&gt;set linesize 120&lt;br /&gt;select owner||'.'||object_name obj&lt;br /&gt;,oracle_username||' ('||s.status||')' oruser&lt;br /&gt;,os_user_name osuser&lt;br /&gt;,machine computer&lt;br /&gt;,l.process unix&lt;br /&gt;,s.sid||','||s.serial# ss&lt;br /&gt;,r.name rs&lt;br /&gt;,to_char(s.logon_time,'yyyy/mm/dd hh24:mi:ss') time&lt;br /&gt;from v$locked_object l&lt;br /&gt;,dba_objects o&lt;br /&gt;,v$session s&lt;br /&gt;,v$transaction t&lt;br /&gt;,v$rollname r&lt;br /&gt;where l.object_id = o.object_id&lt;br /&gt;and s.sid=l.session_id&lt;br /&gt;and s.taddr=t.addr&lt;br /&gt;and t.xidusn=r.usn&lt;br /&gt;order by osuser, ss, obj&lt;br /&gt;/&lt;br /&gt;&lt;br /&gt;Locklogininfo.sql script:&lt;br /&gt;&lt;br /&gt;set linesize 200&lt;br /&gt;set echo off&lt;br /&gt;set feedback on&lt;br /&gt;col oruser format a20 heading "Oracle Username"&lt;br /&gt;col osuser format a14 heading "O/S Username"&lt;br /&gt;col ss heading "SID/Ser#" format a12&lt;br /&gt;col time heading "Logon Date/Time" format a20&lt;br /&gt;col computer heading "Computer/Terminal" format a21&lt;br /&gt;col program format a50 heading "Program"&lt;br /&gt;col process format 999999 heading "OS|Process|ID"&lt;br /&gt;select username oruser&lt;br /&gt;,osuser osuser&lt;br /&gt;,decode(substr(machine,1,7),'TENFOLD',&lt;br /&gt;substr(machine,9),machine) computer&lt;br /&gt;,s.sid||','||s.serial# ss&lt;br /&gt;,status&lt;br /&gt;,process&lt;br /&gt;,to_char(s.logon_time,'yyyy/mm/dd hh24:mi:ss') time&lt;br /&gt;,program&lt;br /&gt;from v$session s&lt;br /&gt;order by time&lt;br /&gt;/&lt;br /&gt;ttitle off&lt;br /&gt;&lt;br /&gt;&lt;big&gt; &lt;span style="color: rgb(255, 102, 0); font-weight: bold;"&gt;Conclusion:&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/big&gt;&lt;br /&gt;ORA-00054 error is the most common error caused by the table or object locks due to concurrent DDL and DML(insert/delete/update/select for update) operations from different sessions.&lt;br /&gt;The resolution for this error is finding the locking sesssion &amp;amp; user then based on priority either wait or terminate the locking session and resubmit the job/operation for successful completion.&lt;br /&gt;&lt;br /&gt;In this article scripts have been provided for identifying the locking sessions so that readers can get benifited with the readily available scripts for lock identifiction,&lt;br /&gt;&lt;br /&gt;More Details at : &lt;/span&gt;&lt;/big&gt;&lt;/span&gt;&lt;/span&gt;&lt;a href="http://ora-00054.ora-code.info/"&gt;&lt;big&gt;&lt;span style="font-family:Comic Sans MS;"&gt;http://ora-00054.ora-code.info/&lt;/span&gt;&lt;/big&gt;&lt;/a&gt;&lt;br /&gt;&lt;span style="color: rgb(204, 102, 0);font-size:130%;" &gt;&lt;span style="font-size:100%;"&gt;&lt;big&gt;&lt;span style="font-family:Comic Sans MS;"&gt;&lt;br /&gt;I hope you enjoyed this article&lt;br /&gt;&lt;br /&gt;Mendus, Oracle OCP&lt;br /&gt;&lt;/span&gt;&lt;/big&gt;&lt;/span&gt;&lt;/span&gt;&lt;a href="http://www.ora-code.info/"&gt;&lt;big&gt;&lt;span style="font-family:Comic Sans MS;"&gt;http://www.ora-code.info/&lt;/span&gt;&lt;/big&gt;&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1556135669515651935-2155838667313617432?l=oracle-error.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://oracle-error.blogspot.com' title='ORA-00054: resource busy and acquire with NOWAIT specified'/><link rel='replies' type='application/atom+xml' href='http://oracle-error.blogspot.com/feeds/2155838667313617432/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1556135669515651935&amp;postID=2155838667313617432&amp;isPopup=true' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1556135669515651935/posts/default/2155838667313617432'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1556135669515651935/posts/default/2155838667313617432'/><link rel='alternate' type='text/html' href='http://oracle-error.blogspot.com/2008/10/ora-00054-resource-busy-and-acquire.html' title='ORA-00054: resource busy and acquire with NOWAIT specified'/><author><name>Mendus</name><uri>http://www.blogger.com/profile/15926700298623471526</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1556135669515651935.post-2231943401412499000</id><published>2008-04-30T23:02:00.005-04:00</published><updated>2008-05-01T00:00:56.809-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='ORA 4091'/><category scheme='http://www.blogger.com/atom/ns#' term='MUTATIN G TRIGGER'/><category scheme='http://www.blogger.com/atom/ns#' term='MUTATING TABLE'/><category scheme='http://www.blogger.com/atom/ns#' term='ORA-04091'/><category scheme='http://www.blogger.com/atom/ns#' term='ORA ERROR'/><category scheme='http://www.blogger.com/atom/ns#' term='MUTATING'/><category scheme='http://www.blogger.com/atom/ns#' term='Oracle error'/><title type='text'>ORA-04091: table is mutating trigger</title><content type='html'>&lt;p&gt;  &lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;strong&gt;&lt;span style="font-size: 11pt; font-family: &amp;quot;Comic Sans MS&amp;quot;; color: rgb(255, 153, 0);"&gt;ORA-04091: table &lt;/span&gt;&lt;/strong&gt;&lt;em&gt;&lt;b&gt;&lt;span style="font-size: 11pt; font-family: &amp;quot;Comic Sans MS&amp;quot;; color: rgb(255, 153, 0);"&gt;string&lt;/span&gt;&lt;/b&gt;&lt;/em&gt;&lt;strong&gt;&lt;span style="font-size: 11pt; font-family: &amp;quot;Comic Sans MS&amp;quot;; color: rgb(255, 153, 0);"&gt;.&lt;/span&gt;&lt;/strong&gt;&lt;em&gt;&lt;b&gt;&lt;span style="font-size: 11pt; font-family: &amp;quot;Comic Sans MS&amp;quot;; color: rgb(255, 153, 0);"&gt;string&lt;/span&gt;&lt;/b&gt;&lt;/em&gt;&lt;strong&gt;&lt;span style="font-size: 11pt; font-family: &amp;quot;Comic Sans MS&amp;quot;; color: rgb(255, 153, 0);"&gt; is mutating, trigger/function may not see it&lt;/span&gt;&lt;/strong&gt;&lt;span style="font-size: 11pt; font-family: &amp;quot;Comic Sans MS&amp;quot;; color: rgb(255, 153, 0);"&gt; &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;strong&gt;&lt;span style="font-size: 11pt; font-family: &amp;quot;Comic Sans MS&amp;quot;;"&gt;Cause:&lt;/span&gt;&lt;/strong&gt;&lt;span style="font-size: 11pt; font-family: &amp;quot;Comic Sans MS&amp;quot;;"&gt; A trigger (or a user defined plsql function that is referenced in this statement) attempted to look at (or modify) a table that was in the middle of being modified by the statement which fired it.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;strong&gt;&lt;span style="font-size: 11pt; font-family: &amp;quot;Comic Sans MS&amp;quot;;"&gt;Action:&lt;/span&gt;&lt;/strong&gt;&lt;span style="font-size: 11pt; font-family: &amp;quot;Comic Sans MS&amp;quot;;"&gt; Rewrite the trigger (or function) so it does not read that table.&lt;/span&gt;&lt;span style="font-size: 11pt; font-family: &amp;quot;Comic Sans MS&amp;quot;;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;span style="font-size: 11pt; font-family: &amp;quot;Comic Sans MS&amp;quot;;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;span style="font-size: 11pt; font-family: &amp;quot;Comic Sans MS&amp;quot;;"&gt;&lt;o:p&gt;&lt;br /&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;pre&gt;&lt;b style=""&gt;&lt;span style="font-size: 11pt; font-family: &amp;quot;Comic Sans MS&amp;quot;; color: rgb(255, 153, 0);"&gt;ORACLE MUTATING TABLE PROBLEM&lt;/span&gt;&lt;/b&gt;&lt;span style="font-size: 11pt; font-family: &amp;quot;Comic Sans MS&amp;quot;;"&gt;&lt;o:p&gt;&lt;br /&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/pre&gt;  &lt;p style="margin: 0in 0in 0.0001pt;"&gt;&lt;span style="font-size: 11pt; font-family: &amp;quot;Comic Sans MS&amp;quot;;"&gt;The mutating trigger error (ORA-04091) is a pretty common problem in Oracle that happens and frustrates many application developers and DBAs as the application developers bug them to find a solution.&lt;span style=""&gt;  &lt;/span&gt;It happens when a trigger on a table tries to insert, update, or even select from the same table of whose trigger is being executed. Sometimes the inability to see the table causes standstill in the development. &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;pre&gt;&lt;span style="font-size: 11pt; font-family: &amp;quot;Comic Sans MS&amp;quot;;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/pre&gt;  &lt;p style="margin: 0in 0in 0.0001pt;"&gt;&lt;span style="font-size: 11pt; font-family: &amp;quot;Comic Sans MS&amp;quot;;"&gt;The following explanation and the associated scripts attempt to present just one work-around for the problem. The work around may not be the best but rather does show that a work-around is possible and provides a solution that will be applicable in most cases.&lt;span style=""&gt;  &lt;/span&gt;The approach is described by a case study.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;pre&gt;&lt;span style="font-size: 11pt; font-family: &amp;quot;Comic Sans MS&amp;quot;;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;&lt;span style="font-size: 11pt; font-family: &amp;quot;Comic Sans MS&amp;quot;;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;&lt;b style=""&gt;&lt;span style="font-size: 11pt; font-family: &amp;quot;Comic Sans MS&amp;quot;; color: rgb(255, 153, 0);"&gt;SCENARIO&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/pre&gt;&lt;pre&gt;&lt;span style="font-size: 11pt; font-family: &amp;quot;Comic Sans MS&amp;quot;;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/pre&gt;  &lt;p style="margin: 0in 0in 0.0001pt;"&gt;&lt;span style="font-size: 11pt; font-family: &amp;quot;Comic Sans MS&amp;quot;;"&gt;The mutating table problem comes when the trigger tries to select or modify any row of the same table. This situation comes when a table preserves some effective date.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style="margin: 0in 0in 0.0001pt;"&gt;&lt;span style="font-size: 11pt; font-family: &amp;quot;Comic Sans MS&amp;quot;;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style="margin: 0in 0in 0.0001pt;"&gt;&lt;span style="font-size: 11pt; font-family: &amp;quot;Comic Sans MS&amp;quot;;"&gt;To describe this method, the SALGRADE table will be used.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style="margin: 0in 0in 0.0001pt;"&gt;&lt;span style="font-size: 11pt; font-family: &amp;quot;Comic Sans MS&amp;quot;;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style="margin: 0in 0in 0.0001pt;"&gt;&lt;span style="font-size: 11pt; font-family: &amp;quot;Comic Sans MS&amp;quot;;"&gt;The table SALGRADE contains information on salary limits for each grade. The salary limits are also based on a time factor, i.e. the employees' salary is determined by checking which grade level was effective when they joined or reviewed, not necessarily the grade effective now.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style="margin: 0in 0in 0.0001pt;"&gt;&lt;span style="font-size: 11pt; font-family: &amp;quot;Comic Sans MS&amp;quot;;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style="margin: 0in 0in 0.0001pt;"&gt;&lt;span style="font-size: 11pt; font-family: &amp;quot;Comic Sans MS&amp;quot;;"&gt;So the table looks like this:&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;pre&gt;&lt;span style="font-size: 11pt; font-family: &amp;quot;Comic Sans MS&amp;quot;;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;&lt;span style="font-size: 9pt;"&gt;SQL&gt; desc salgrade;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;&lt;span style="font-size: 9pt;"&gt; Name&lt;span style=""&gt;                            &lt;/span&gt;Null?&lt;span style=""&gt;    &lt;/span&gt;Type&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;&lt;span style="font-size: 9pt;"&gt; ------------------------------- -------- ----&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;&lt;span style="font-size: 9pt;"&gt; GRADE&lt;span style=""&gt;         &lt;/span&gt;&lt;span style=""&gt;                           &lt;/span&gt;NUMBER&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;&lt;span style="font-size: 9pt;"&gt; LOSAL&lt;span style=""&gt;                                    &lt;/span&gt;NUMBER&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;&lt;span style="font-size: 9pt;"&gt; HISAL&lt;span style=""&gt;                                    &lt;/span&gt;NUMBER&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;&lt;span style="font-size: 9pt;"&gt; START_DATE&lt;span style=""&gt;                               &lt;/span&gt;DATE&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;&lt;span style="font-size: 9pt;"&gt; END_DATE&lt;span style=""&gt;                                 &lt;/span&gt;DATE&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;&lt;span style="font-size: 9pt;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;&lt;span style="font-size: 9pt;"&gt;The table data looks like:&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;&lt;span style="font-size: 9pt;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;&lt;span style="font-size: 9pt;"&gt;GRADE&lt;span style=""&gt;   &lt;/span&gt;LOSAL&lt;span style=""&gt;   &lt;/span&gt;HISAL&lt;span style=""&gt;   &lt;/span&gt;START_DATE&lt;span style=""&gt;       &lt;/span&gt;END_DATE&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;&lt;span style="font-size: 9pt;"&gt;------- ------- ------- ----------&lt;span style=""&gt;       &lt;/span&gt;---------&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;&lt;span style="font-size: 9pt;"&gt;1&lt;span style=""&gt;       &lt;/span&gt;1000&lt;span style=""&gt;    &lt;/span&gt;2000&lt;span style=""&gt;    &lt;/span&gt;1-APR-94&lt;span style=""&gt;         &lt;/span&gt;3-AUG-95&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;&lt;span style="font-size: 9pt;"&gt;1&lt;span style=""&gt;       &lt;/span&gt;1200&lt;span style=""&gt;    &lt;/span&gt;2200&lt;span style=""&gt;    &lt;/span&gt;3-AUG-95&lt;span style=""&gt;                   &lt;/span&gt;&lt;---- Null&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;&lt;span style="font-size: 9pt;"&gt;2&lt;span style=""&gt;       &lt;/span&gt;1500&lt;span style=""&gt;    &lt;/span&gt;3000&lt;span style=""&gt;    &lt;/span&gt;23-JUL-92&lt;span style=""&gt;        &lt;/span&gt;12-DEC-93&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;&lt;span style="font-size: 9pt;"&gt;2&lt;span style=""&gt;       &lt;/span&gt;1600&lt;span style=""&gt;    &lt;/span&gt;3200&lt;span style=""&gt;    &lt;/span&gt;12-DEC-93&lt;span style=""&gt;        &lt;/span&gt;11-JAN-95&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;&lt;span style="font-size: 9pt;"&gt;2&lt;span style=""&gt;  &lt;/span&gt;&lt;span style=""&gt;     &lt;/span&gt;1800&lt;span style=""&gt;    &lt;/span&gt;3400&lt;span style=""&gt;    &lt;/span&gt;11-JAN-95&lt;span style=""&gt;                  &lt;/span&gt;&lt;---- Null&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;&lt;span style="font-size: 11pt;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/pre&gt;  &lt;p style="margin: 0in 0in 0.0001pt;"&gt;&lt;span style="font-size: 11pt; font-family: &amp;quot;Comic Sans MS&amp;quot;;"&gt;This means the effective salary range of Grade 1 now is (1200-2200) not the employees who had review between 1-APR-94 to 3-AUG-95 will be in the range (1000-2000). This is a purely hypothetical scenario.&lt;span style=""&gt;  &lt;/span&gt;The objective is to devise a trigger that does the following when a new record is inserted:&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style="margin: 0in 0in 0.0001pt;"&gt;&lt;span style="font-size: 11pt; font-family: &amp;quot;Comic Sans MS&amp;quot;;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style="margin: 0in 0in 0.0001pt;"&gt;&lt;span style="font-size: 11pt; font-family: &amp;quot;Comic Sans MS&amp;quot;;"&gt;(1) Integrity checking for overlapping dates, i.e. the new record can't have a &lt;span style=""&gt; &lt;/span&gt;start date that is already covered.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style="margin: 0in 0in 0.0001pt;"&gt;&lt;span style="font-size: 11pt; font-family: &amp;quot;Comic Sans MS&amp;quot;;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style="margin: 0in 0in 0.0001pt;"&gt;&lt;span style="font-size: 11pt; font-family: &amp;quot;Comic Sans MS&amp;quot;;"&gt;(2) Update the record for the current grade to make the end_date equal to the&lt;span style=""&gt;  &lt;/span&gt;start date of the new record (the new record's end_date must be null as&lt;span style=""&gt;  &lt;/span&gt;that is the current record).&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style="margin: 0in 0in 0.0001pt;"&gt;&lt;span style="font-size: 11pt; font-family: &amp;quot;Comic Sans MS&amp;quot;;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style="margin: 0in 0in 0.0001pt;"&gt;&lt;span style="font-size: 11pt; font-family: &amp;quot;Comic Sans MS&amp;quot;;"&gt;In both cases the table SALGRADE has to be selected and updated on the after insert row trigger on the same table.&lt;span style=""&gt;  &lt;/span&gt;But the table will be mutating when the trigger fires and thus a run-time error will occur.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style="margin: 0in 0in 0.0001pt;"&gt;&lt;span style="font-size: 11pt; font-family: &amp;quot;Comic Sans MS&amp;quot;;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style="margin: 0in 0in 0.0001pt;"&gt;&lt;span style="font-size: 11pt; font-family: &amp;quot;Comic Sans MS&amp;quot;;"&gt;For the first requirement, consider the following trigger:&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style="margin: 0in 0in 0.0001pt;"&gt;&lt;span style="font-size: 11pt; font-family: &amp;quot;Comic Sans MS&amp;quot;;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;pre&gt;&lt;span style="font-size: 11pt;"&gt;create or replace trigger taiudr_salgrade&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;&lt;span style="font-size: 11pt;"&gt;after insert on salgrade&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;&lt;span style="font-size: 11pt;"&gt;for each&lt;span style=""&gt;  &lt;/span&gt;row&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;&lt;span style="font-size: 11pt;"&gt;declare&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;&lt;span style="font-size: 11pt;"&gt;&lt;span style=""&gt;        &lt;/span&gt;hold_found&lt;span style=""&gt;      &lt;/span&gt;varchar2(1);&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;&lt;span style="font-size: 11pt;"&gt;begin&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;&lt;span style="font-size: 11pt;"&gt;&lt;span style=""&gt;        &lt;/span&gt;select 'Y' into hold_found&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;&lt;span style="font-size: 11pt;"&gt;&lt;span style=""&gt;        &lt;/span&gt;from salgrade&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;&lt;span style="font-size: 11pt;"&gt;&lt;span style=""&gt;        &lt;/span&gt;where grade = :new.grade&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;&lt;span style="font-size: 11pt;"&gt;&lt;span style=""&gt;        &lt;/span&gt;and end_date is null&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;&lt;span style="font-size: 11pt;"&gt;&lt;span style=""&gt;        &lt;/span&gt;and start_date &gt; :new.start_date;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;&lt;span style="font-size: 11pt;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;&lt;span style="font-size: 11pt;"&gt;exception&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;&lt;span style="font-size: 11pt;"&gt;&lt;span style=""&gt;        &lt;/span&gt;when NO_DATA_FOUND then&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;&lt;span style="font-size: 11pt;"&gt;&lt;span style=""&gt;                &lt;/span&gt;raise_application_error(-20000,'Overlapping Dates');&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;&lt;span style="font-size: 11pt;"&gt;end;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;&lt;span style="font-size: 11pt;"&gt;/&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;&lt;span style="font-size: 11pt; font-family: &amp;quot;Comic Sans MS&amp;quot;;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;&lt;span style="font-size: 11pt; font-family: &amp;quot;Comic Sans MS&amp;quot;;"&gt;Although the trigger can be created with no errors, when a user tries to&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;&lt;span style="font-size: 11pt; font-family: &amp;quot;Comic Sans MS&amp;quot;;"&gt;insert into the table the following mutating table error is returned:&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;&lt;span style="font-size: 11pt; font-family: &amp;quot;Comic Sans MS&amp;quot;;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;&lt;span style="font-size: 11pt;"&gt;SQL&gt; insert into salgrade values (2, 9000, 100000, '25-dec-95', null);&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;&lt;span style="font-size: 11pt;"&gt;insert into salgrade values (2, 9000, 100000, '25-dec-93', null)&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;&lt;span style="font-size: 11pt;"&gt;&lt;span style=""&gt;            &lt;/span&gt;*&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;&lt;span style="font-size: 11pt;"&gt;ERROR at line 1:&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;&lt;span style="font-size: 11pt;"&gt;ORA-04091: table SCOTT.SALGRADE is mutating, trigger/function may not see it&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;&lt;span style="font-size: 11pt;"&gt;ORA-06512: at "SCOTT.TAIUDR_SALGRADE", line 4&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;&lt;span style="font-size: 11pt;"&gt;ORA-04088: error during execution of trigger 'SCOTT.TAIUDR_SALGRADE'&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;&lt;span style="font-size: 11pt; font-family: &amp;quot;Comic Sans MS&amp;quot;;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;&lt;b style=""&gt;&lt;span style="font-size: 11pt; font-family: &amp;quot;Comic Sans MS&amp;quot;;"&gt;SOLUTION&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/pre&gt;&lt;pre&gt;&lt;span style="font-size: 11pt; font-family: &amp;quot;Comic Sans MS&amp;quot;;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/pre&gt;  &lt;p style="margin: 0in 0in 0.0001pt;"&gt;&lt;span style="font-size: 11pt; font-family: &amp;quot;Comic Sans MS&amp;quot;;"&gt;The following approach is another possibility for the task:&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style="margin: 0in 0in 0.0001pt;"&gt;&lt;span style="font-size: 11pt; font-family: &amp;quot;Comic Sans MS&amp;quot;;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style="margin: 0in 0in 0.0001pt;"&gt;&lt;span style="font-size: 11pt; font-family: &amp;quot;Comic Sans MS&amp;quot;;"&gt;1.&lt;span style=""&gt;  &lt;/span&gt;Create a package "SALGRADE_PKG" that contains PL/SQL tables for holding the&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style="margin: 0in 0in 0.0001pt;"&gt;&lt;span style="font-size: 11pt; font-family: &amp;quot;Comic Sans MS&amp;quot;;"&gt;&lt;span style=""&gt;    &lt;/span&gt;SALGRADE data. Here 3 tables are created - one for holding start_dates, one &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style="margin: 0in 0in 0.0001pt;"&gt;&lt;span style="font-size: 11pt; font-family: &amp;quot;Comic Sans MS&amp;quot;;"&gt;&lt;span style=""&gt;    &lt;/span&gt;for end_dates, and one for holding the change_flag that identifies the &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style="margin: 0in 0in 0.0001pt;"&gt;&lt;span style="font-size: 11pt; font-family: &amp;quot;Comic Sans MS&amp;quot;;"&gt;&lt;span style=""&gt;    &lt;/span&gt;updated row.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style="margin: 0in 0in 0.0001pt;"&gt;&lt;span style="font-size: 11pt; font-family: &amp;quot;Comic Sans MS&amp;quot;;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style="margin: 0in 0in 0.0001pt;"&gt;&lt;span style="font-size: 11pt; font-family: &amp;quot;Comic Sans MS&amp;quot;;"&gt;2.&lt;span style=""&gt;  &lt;/span&gt;Create a BEFORE INSERT STATEMENT trigger that populates the PL/SQL &lt;span style=""&gt;     &lt;/span&gt;table&lt;span style=""&gt;    &lt;/span&gt;with the start dates, end_dates and changed_grades flag ('N'). Although this&lt;span style=""&gt;    &lt;/span&gt;still executes a SELECT agaist the SALGRADE table, the mutating table restriction,&lt;span style=""&gt;    &lt;/span&gt;applies to all triggers that use the FOR EACH ROW clause and this new&lt;span style=""&gt;     &lt;/span&gt;trigger will be a STATEMENT or table level trigger.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style="margin: 0in 0in 0.0001pt;"&gt;&lt;span style="font-size: 11pt; font-family: &amp;quot;Comic Sans MS&amp;quot;;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style="margin: 0in 0in 0.0001pt;"&gt;&lt;span style="font-size: 11pt; font-family: &amp;quot;Comic Sans MS&amp;quot;;"&gt;3.&lt;span style=""&gt;  &lt;/span&gt;Create an AFTER INSERT ROW trigger that compares the newly inserted row&lt;span style=""&gt;  &lt;/span&gt;against this PL/SQL table not the Database table.&lt;span style=""&gt;  &lt;/span&gt;This way the integrity&lt;span style=""&gt;   &lt;/span&gt;check can be done.&lt;span style=""&gt;  &lt;/span&gt;The same trigger should assign the new end_date value&lt;span style=""&gt;  &lt;/span&gt;to the PL/SQL table and update the value of the flag to indicate that this&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style="margin: 0in 0in 0.0001pt;"&gt;&lt;span style="font-size: 11pt; font-family: &amp;quot;Comic Sans MS&amp;quot;;"&gt;has to be changed.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style="margin: 0in 0in 0.0001pt;"&gt;&lt;span style="font-size: 11pt; font-family: &amp;quot;Comic Sans MS&amp;quot;;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style="margin: 0in 0in 0.0001pt;"&gt;&lt;span style="font-size: 11pt; font-family: &amp;quot;Comic Sans MS&amp;quot;;"&gt;4.&lt;span style=""&gt;  &lt;/span&gt;Create a AFTER INSERT STATEMENT trigger to update the SALGRADE table with&lt;span style=""&gt;    &lt;/span&gt;the values in the PL/SQL table after looking at the change flag.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style="margin: 0in 0in 0.0001pt;"&gt;&lt;span style="font-size: 11pt; font-family: &amp;quot;Comic Sans MS&amp;quot;;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style="margin: 0in 0in 0.0001pt;"&gt;&lt;span style="font-size: 11pt; font-family: &amp;quot;Comic Sans MS&amp;quot;;"&gt;All these programs can be created by the sources found below.&lt;span style=""&gt;  &lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style="margin: 0in 0in 0.0001pt;"&gt;&lt;span style="font-size: 11pt; font-family: &amp;quot;Comic Sans MS&amp;quot;;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;pre&gt;&lt;b style=""&gt;&lt;span style="font-size: 11pt; font-family: &amp;quot;Comic Sans MS&amp;quot;;"&gt;CODE:&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/pre&gt;&lt;pre&gt;&lt;span style="font-size: 11pt; font-family: &amp;quot;Comic Sans MS&amp;quot;;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;&lt;span style="font-size: 11pt;"&gt;Code to create test table and populate it with data:&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;&lt;span style="font-size: 11pt;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;&lt;span style="font-size: 9pt;"&gt;drop table salgrade;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;&lt;span style="font-size: 9pt;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;&lt;span style="font-size: 9pt;"&gt;CREATE TABLE SALGRADE&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;&lt;span style="font-size: 9pt;"&gt;&lt;span style=""&gt;      &lt;/span&gt;(GRADE NUMBER,&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;&lt;span style="font-size: 9pt;"&gt;&lt;span style=""&gt;        &lt;/span&gt;LOSAL NUMBER,&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;&lt;span style="font-size: 9pt;"&gt;&lt;span style=""&gt;        &lt;/span&gt;HISAL NUMBER,&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;&lt;span style="font-size: 9pt;"&gt;&lt;span style=""&gt;        &lt;/span&gt;START_DATE DATE,&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;&lt;span style="font-size: 9pt;"&gt;&lt;span style=""&gt;        &lt;/span&gt;END_DATE DATE);&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;&lt;span style="font-size: 9pt;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;&lt;span style="font-size: 9pt;"&gt;INSERT INTO SALGRADE VALUES (1,1000,2000, '1-apr-94', '3-aug-95');&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;&lt;span style="font-size: 9pt;"&gt;INSERT INTO SALGRADE VALUES (1,1200,2200, '3-aug-95', null);&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;&lt;span style="font-size: 9pt;"&gt;INSERT INTO SALGRADE VALUES (2,1500,3000, '23-Jul-92', '12-dec-93');&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;&lt;span style="font-size: 9pt;"&gt;INSERT INTO SALGRADE VALUES (2,1600,3200, '12-dec-93', '11-jan-95');&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;&lt;span style="font-size: 9pt;"&gt;INSERT INTO SALGRADE VALUES (2,1800,3400, '11-jan-95', null);&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;&lt;span style="font-size: 11pt;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;&lt;span style="font-size: 11pt;"&gt;Code for package STEP 1 above&lt;/span&gt;&lt;span style="font-size: 9pt;"&gt;:&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;&lt;span style="font-size: 9pt;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;&lt;span style="font-size: 9pt;"&gt;create or replace package salgrade_pkg as&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;&lt;span style="font-size: 9pt;"&gt;type datetabtype&lt;span style=""&gt;        &lt;/span&gt;is table of date index by binary_integer;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;&lt;span style="font-size: 9pt;"&gt;type chartabtype&lt;span style=""&gt;        &lt;/span&gt;is table of char(1) index by binary_integer;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;&lt;span style="font-size: 9pt;"&gt;type rowidtabtype&lt;span style=""&gt;   &lt;/span&gt;is table of rowid&lt;span style=""&gt;  &lt;/span&gt;index by binary_integer;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;&lt;span style="font-size: 9pt;"&gt;start_date_tab&lt;span style=""&gt;          &lt;/span&gt;datetabtype;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;&lt;span style="font-size: 9pt;"&gt;end_date_tab&lt;span style=""&gt;            &lt;/span&gt;datetabtype;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;&lt;span style="font-size: 9pt;"&gt;rowid_tab&lt;span style=""&gt;                       &lt;/span&gt;rowidtabtype;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;&lt;span style="font-size: 9pt;"&gt;changed_grade&lt;span style=""&gt;           &lt;/span&gt;chartabtype;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;&lt;span style="font-size: 9pt;"&gt;start_date_tab_size&lt;span style=""&gt;     &lt;/span&gt;binary_integer;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;&lt;span style="font-size: 9pt;"&gt;end;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;&lt;span style="font-size: 9pt;"&gt;/&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;&lt;span style="font-size: 9pt;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;&lt;span style="font-size: 11pt;"&gt;Code for before insert statement trigger STEP 2 above:&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;&lt;span style="font-size: 9pt;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;&lt;span style="font-size: 9pt;"&gt;create or replace trigger tbiuds_salgrade&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;&lt;span style="font-size: 9pt;"&gt;before insert on salgrade&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;&lt;span style="font-size: 9pt;"&gt;declare&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;&lt;span style="font-size: 9pt;"&gt; hold_start_date&lt;span style=""&gt;  &lt;/span&gt;date;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;&lt;span style="font-size: 9pt;"&gt; hold_end_date&lt;span style=""&gt;  &lt;/span&gt;date;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;&lt;span style="font-size: 9pt;"&gt; hold_rowid&lt;span style=""&gt;   &lt;/span&gt;rowid;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;&lt;span style="font-size: 9pt;"&gt; hold_grade&lt;span style=""&gt;   &lt;/span&gt;binary_integer;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;&lt;span style="font-size: 9pt;"&gt; cursor start_date_cur is&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;&lt;span style="font-size: 9pt;"&gt;&lt;span style=""&gt;  &lt;/span&gt;select rowid, grade, start_date&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;&lt;span style="font-size: 9pt;"&gt;&lt;span style=""&gt;  &lt;/span&gt;from salgrade&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;&lt;span style="font-size: 9pt;"&gt;&lt;span style=""&gt;  &lt;/span&gt;where end_date is null&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;&lt;span style="font-size: 9pt;"&gt;&lt;span style=""&gt;  &lt;/span&gt;order by grade;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;&lt;span style="font-size: 9pt;"&gt;begin&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;&lt;span style="font-size: 9pt;"&gt; open start_date_cur;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;&lt;span style="font-size: 9pt;"&gt; loop&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;&lt;span style="font-size: 9pt;"&gt;&lt;span style=""&gt;  &lt;/span&gt;fetch start_date_cur into&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;&lt;span style="font-size: 9pt;"&gt;&lt;span style=""&gt;   &lt;/span&gt;hold_rowid, hold_grade, hold_start_date;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;&lt;span style="font-size: 9pt;"&gt;&lt;span style=""&gt;  &lt;/span&gt;exit when start_date_cur%notfound;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;&lt;span style="font-size: 9pt;"&gt;&lt;span style=""&gt;  &lt;/span&gt;salgrade_pkg.start_date_tab(hold_grade) := hold_start_date;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;&lt;span style="font-size: 9pt;"&gt;&lt;span style=""&gt;  &lt;/span&gt;salgrade_pkg.end_date_tab(hold_grade) := hold_end_date;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;&lt;span style="font-size: 9pt;"&gt;&lt;span style=""&gt;  &lt;/span&gt;salgrade_pkg.rowid_tab(hold_grade) := hold_rowid;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;&lt;span style="font-size: 9pt;"&gt;&lt;span style=""&gt;  &lt;/span&gt;salgrade_pkg.changed_grade(hold_grade) := 'N';&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;&lt;span style="font-size: 9pt;"&gt; end loop;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;&lt;span style="font-size: 9pt;"&gt; salgrade_pkg.start_date_tab_size := hold_grade;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;&lt;span style="font-size: 9pt;"&gt; close start_date_cur;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;&lt;span style="font-size: 9pt;"&gt;end;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;&lt;span style="font-size: 9pt;"&gt;/&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;&lt;span style="font-size: 9pt;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;&lt;span style="font-size: 11pt;"&gt;Code for after insert row trigger STEP 3 above:&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;&lt;span style="font-size: 9pt;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;&lt;span style="font-size: 9pt;"&gt;create or replace trigger taiudr_salgrade&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;&lt;span style="font-size: 9pt;"&gt;after insert on salgrade&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;&lt;span style="font-size: 9pt;"&gt;for each&lt;span style=""&gt;  &lt;/span&gt;row&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;&lt;span style="font-size: 9pt;"&gt;begin&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;&lt;span style="font-size: 9pt;"&gt; if (:new.grade &lt;= salgrade_pkg.start_date_tab_size) then&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;&lt;span style="font-size: 9pt;"&gt;&lt;span style=""&gt;  &lt;/span&gt;if salgrade_pkg.start_date_tab(:new.grade)&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;&lt;span style="font-size: 9pt;"&gt;&lt;span style=""&gt;    &lt;/span&gt;&gt; :new.start_date then&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;&lt;span style="font-size: 9pt;"&gt;&lt;span style=""&gt;   &lt;/span&gt;raise_application_error(-20001,'Overlapping Dates');&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;&lt;span style="font-size: 9pt;"&gt;&lt;span style=""&gt;  &lt;/span&gt;end if;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;&lt;span style="font-size: 9pt;"&gt;&lt;span style=""&gt;  &lt;/span&gt;salgrade_pkg.end_date_tab(:new.grade) := :new.start_date;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;&lt;span style="font-size: 9pt;"&gt;&lt;span style=""&gt;  &lt;/span&gt;salgrade_pkg.changed_grade(:new.grade) := 'Y';&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;&lt;span style="font-size: 9pt;"&gt; else&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;&lt;span style="font-size: 9pt;"&gt;&lt;span style=""&gt;  &lt;/span&gt;salgrade_pkg.start_date_tab(:new.grade) := :new.start_date;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;&lt;span style="font-size: 9pt;"&gt;&lt;span style=""&gt;  &lt;/span&gt;salgrade_pkg.end_date_tab(:new.grade) := :new.end_date;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;&lt;span style="font-size: 9pt;"&gt;&lt;span style=""&gt;  &lt;/span&gt;salgrade_pkg.changed_grade(:new.grade) := 'N';&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;&lt;span style="font-size: 9pt;"&gt;&lt;span style=""&gt;  &lt;/span&gt;salgrade_pkg.start_date_tab_size :=&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;&lt;span style="font-size: 9pt;"&gt;&lt;span style=""&gt;    &lt;/span&gt;salgrade_pkg.start_date_tab_size + 1;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;&lt;span style="font-size: 9pt;"&gt; end if;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;&lt;span style="font-size: 9pt;"&gt;end;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;&lt;span style="font-size: 9pt;"&gt;/&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;&lt;span style="font-size: 9pt;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;&lt;span style="font-size: 11pt;"&gt;Code for after insert statement trigger STEP 4 above:&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;&lt;span style="font-size: 9pt;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;&lt;span style="font-size: 9pt;"&gt;create or replace trigger taiuds_salgrade&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;&lt;span style="font-size: 9pt;"&gt;after insert on salgrade&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;&lt;span style="font-size: 9pt;"&gt;begin&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;&lt;span style="font-size: 9pt;"&gt;&lt;span style=""&gt;        &lt;/span&gt;for i in 1..(salgrade_pkg.start_date_tab_size) loop&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;&lt;span style="font-size: 9pt;"&gt;&lt;span style=""&gt;                &lt;/span&gt;if (salgrade_pkg.changed_grade(i) = 'Y') then&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;&lt;span style="font-size: 9pt;"&gt;&lt;span style=""&gt;                        &lt;/span&gt;update salgrade&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;&lt;span style="font-size: 9pt;"&gt;&lt;span style=""&gt;                        &lt;/span&gt;set end_date = salgrade_pkg.end_date_tab(i)&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;&lt;span style="font-size: 9pt;"&gt;&lt;span style=""&gt;                        &lt;/span&gt;where rowid = salgrade_pkg.rowid_tab(i);&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;&lt;span style="font-size: 9pt;"&gt;&lt;span style=""&gt;            &lt;/span&gt;&lt;span style=""&gt;    &lt;/span&gt;end if;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;&lt;span style="font-size: 9pt;"&gt;&lt;span style=""&gt;        &lt;/span&gt;end loop;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;&lt;span style="font-size: 9pt;"&gt;end;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;&lt;span style="font-size: 9pt;"&gt;/&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;&lt;span style="font-size: 9pt;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;&lt;span style="font-size: 11pt;"&gt;Once all the package and triggers are created, the same insert doesn't succeed but gives the user the a more appropriate error:&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;&lt;span style="font-size: 9pt;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;&lt;span style="font-size: 9pt;"&gt;SQL&gt; insert into salgrade values (2, 9000, 100000, '25-dec-93', null);&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;&lt;span style="font-size: 9pt;"&gt;insert into salgrade values (2, 9000, 100000, '25-dec-93', null)&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;&lt;span style="font-size: 9pt;"&gt;&lt;span style=""&gt;            &lt;/span&gt;*&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;&lt;span style="font-size: 9pt;"&gt;ERROR at line 1:&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;&lt;span style="font-size: 9pt;"&gt;ORA-20001: Overlapping Dates&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;&lt;span style="font-size: 9pt;"&gt;ORA-06512: at "SCOTT.TAIUDR_SALGRADE", line 5&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;&lt;span style="font-size: 9pt;"&gt;ORA-04088: error during execution of trigger 'JACK.TAIUDR_SALGRADE'&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;&lt;span style="font-size: 11pt;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/pre&gt;  &lt;h2&gt;&lt;span style="font-size: 11pt; font-family: &amp;quot;Comic Sans MS&amp;quot;;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/h2&gt;  &lt;h2&gt;&lt;span style="font-size: 12pt; font-family: &amp;quot;Comic Sans MS&amp;quot;;"&gt;The above method is one possible solution to Mutating problem.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/h2&gt;  &lt;h2&gt;&lt;span style="font-size: 12pt; font-family: &amp;quot;Comic Sans MS&amp;quot;;"&gt;The following section provides more in depth details about this mutating problem and some other possible solutions and workarounds:&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/h2&gt;  &lt;h2&gt;&lt;span style="font-size: 11pt; font-family: &amp;quot;Comic Sans MS&amp;quot;;"&gt;ORA-4091 Mutating Table Explanation and Workarounds&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/h2&gt;  &lt;p class="MsoNormal"&gt;&lt;a name="aref1"&gt;&lt;/a&gt;&lt;span style="font-size: 11pt; font-family: &amp;quot;Comic Sans MS&amp;quot;;"&gt;The purpose of this&lt;span style=""&gt;  &lt;/span&gt;explanation &lt;span style=""&gt; &lt;/span&gt;is to illustrate to those customers who require one of the following functional capabilities whilst being able to maintain referential integrity among objects:&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;ul type="disc"&gt;&lt;li class="MsoNormal" style=""&gt;&lt;span style="font-size: 11pt; font-family: &amp;quot;Comic Sans MS&amp;quot;;"&gt;Cascade Update &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class="MsoNormal" style=""&gt;&lt;span style="font-size: 11pt; font-family: &amp;quot;Comic Sans MS&amp;quot;;"&gt;Cascade Delete &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class="MsoNormal" style=""&gt;&lt;span style="font-size: 11pt; font-family: &amp;quot;Comic Sans MS&amp;quot;;"&gt;Cascade Insert&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;  &lt;p class="MsoNormal" style="margin-bottom: 12pt;"&gt;&lt;span style="font-size: 11pt; font-family: &amp;quot;Comic Sans MS&amp;quot;;"&gt;For cascade Update and Insert functions, using stored triggers and procedures will result in an ORA-04091 - "Table &lt;table_name&gt; is mutating" error.&lt;br /&gt;&lt;br /&gt;ORA-04091: "table %s.%s is mutating, trigger/function may not see it"&lt;br /&gt;Cause: A trigger (or a user defined plsql function that is referenced in this statement) attempted to look at (or modify) a table that was in the middle of being modified by the statement which fired it.&lt;br /&gt;Action: Rewrite the trigger (or function) so it does not read that table.&lt;br /&gt;&lt;br /&gt;ORA-04091 is a very common error that occurs with triggers if triggers are not managed properly. A full understanding of triggers will help you avoid that error.&lt;br /&gt;&lt;br /&gt;A mutating table is a table that is currently being modified by an update, delete, or insert statement. You will encounter the ORA-04091 error if you have a row trigger that reads or modifies the mutating table. For example, if your trigger contains a select statement or an update statement referencing the table it is triggering off of you will receive the error.&lt;br /&gt;&lt;br /&gt;Another way that this error can occur is if the trigger has statements to change the primary, foreign or unique key columns of the table the trigger is triggering from.&lt;br /&gt;&lt;br /&gt;If you must have triggers on tables that have referential constraints, the workaround is to enforce the referential integrity through triggers as well.&lt;br /&gt;&lt;br /&gt;It must be stressed that this solution should ONLY be used to overcome DML restrictions imposed on triggers in order to maintain referential integrity. Whenever possible it is recommended that normal declarative integrity should be used to maintain foreign key integrity. Enforcing this integrity through stored triggers and procedures will have an effect on performance compared with declarative integrity.&lt;br /&gt;&lt;br /&gt;For this solution to work correctly there must be no declarative integrity constraints between objects to enforce the foreign key constraint. The basic principle behind this solution is to suppress the validation checks performed as a result of inserting or updating a foreign key in the CHILD table triggered by a cascade Update or Insert. These checks would normally verify the existence of the new foreign key value in the PARENT record (by SELECTING from the parent table). The suppression of this check is only carried out as a direct result of Cascade Update or Delete, as we can be confident that this new value for the foreign key in the CHILD record does exist (i.e. a result of it being inserted or updated in the PARENT table). In all other circumstances no suppression will take place (e.g. when changing the DEPTNO of an employee or when inserting a new employee).&lt;br /&gt;&lt;br /&gt;The following code&lt;span style="color: blue;"&gt; &lt;/span&gt;&lt;span style=""&gt; &lt;/span&gt;illustrates how this is achieved for the cascade Update scenario, the code can easily be modified to add the other functionality and encapsulate it all within the same package. The EMP and DEPT table have been used, with the column EMP.DEPTNO in the EMP table referencing DEPT.DEPTNO in the DEPT table.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;&lt;span style="font-family: &amp;quot;Comic Sans MS&amp;quot;;"&gt;Conceptual Model&lt;/span&gt;&lt;/strong&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;pre&gt;&lt;span style="font-size: 9pt; font-family: &amp;quot;Comic Sans MS&amp;quot;;"&gt;&lt;span style=""&gt; &lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: 9pt;"&gt;-------------&lt;span style=""&gt;  &lt;/span&gt;1. Trigger on PARENT for cascade function&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;&lt;span style="font-size: 9pt;"&gt; |&lt;span style=""&gt;           &lt;/span&gt;|&lt;span style=""&gt;       &lt;/span&gt;SET global_variable = 'NO';&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;&lt;span style="font-size: 9pt;"&gt; |&lt;span style=""&gt;  &lt;/span&gt;PARENT&lt;span style=""&gt;   &lt;/span&gt;|&lt;span style=""&gt;           &lt;/span&gt;do cascade update;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;&lt;span style="font-size: 9pt;"&gt; |&lt;span style=""&gt;           &lt;/span&gt;|&lt;span style=""&gt;       &lt;/span&gt;SET global_variable = 'YES';&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;&lt;span style="font-size: 9pt;"&gt; -------------&lt;span style=""&gt;     &lt;/span&gt;End;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;&lt;span style="font-size: 9pt;"&gt;&lt;span style=""&gt;       &lt;/span&gt;|&lt;span style=""&gt;                 &lt;/span&gt;&lt;span style=""&gt;             &lt;/span&gt;-------------------&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;&lt;span style="font-size: 9pt;"&gt;&lt;span style=""&gt;       &lt;/span&gt;|&lt;span style=""&gt;                 &lt;/span&gt;&lt;span style=""&gt;             &lt;/span&gt;| GLOBAL_VARIABLE |&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;&lt;span style="font-size: 9pt;"&gt;&lt;span style=""&gt;       &lt;/span&gt;|&lt;span style=""&gt;                             &lt;/span&gt;&lt;span style=""&gt; &lt;/span&gt;-------------------&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;&lt;span style="font-size: 9pt;"&gt;&lt;span style=""&gt;    &lt;/span&gt;&lt;span style=""&gt;  &lt;/span&gt;/|\&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;&lt;span style="font-size: 9pt;"&gt; ------------&lt;span style=""&gt;  &lt;/span&gt;2. Trigger on CHILD to maintain referential integrity&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;&lt;span style="font-size: 9pt;"&gt; |&lt;span style=""&gt;          &lt;/span&gt;|&lt;span style=""&gt;       &lt;/span&gt;CHECK global_variable;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;&lt;span style="font-size: 9pt;"&gt; |&lt;span style=""&gt;  &lt;/span&gt;CHILD&lt;span style=""&gt;   &lt;/span&gt;|&lt;span style=""&gt;           &lt;/span&gt;IF global_variable = 'YES' THEN&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;&lt;span style="font-size: 9pt;"&gt; |&lt;span style=""&gt;          &lt;/span&gt;|&lt;span style=""&gt;              &lt;/span&gt;check existence of (fk) in PARENT;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;&lt;span style="font-size: 9pt;"&gt; ------------&lt;span style=""&gt;       &lt;/span&gt;&lt;span style=""&gt;    &lt;/span&gt;ELSE&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;&lt;span style="font-size: 9pt;"&gt;&lt;span style=""&gt;                           &lt;/span&gt;null;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;&lt;span style="font-size: 9pt;"&gt;&lt;span style=""&gt;                  &lt;/span&gt;End;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/pre&gt;  &lt;p class="MsoNormal"&gt;&lt;span style="font-size: 11pt; font-family: &amp;quot;Comic Sans MS&amp;quot;;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style="font-size: 11pt; font-family: &amp;quot;Comic Sans MS&amp;quot;;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;b style=""&gt;&lt;span style="font-size: 11pt; font-family: &amp;quot;Comic Sans MS&amp;quot;;"&gt;EXAMPLE:&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;b style=""&gt;&lt;span style="font-size: 11pt; font-family: &amp;quot;Comic Sans MS&amp;quot;;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;  &lt;p&gt;&lt;span style="font-size: 11pt; font-family: &amp;quot;Comic Sans MS&amp;quot;;"&gt;Oracle does not allow you the reading of a mutating table in a row trigger as it may lead to consistent data.&lt;br /&gt;&lt;br /&gt;Attempt to do so, results in the following error:&lt;br /&gt;&lt;br /&gt;ORA-04091 Table %s.%s is mutating, trigger/function may not see it&lt;br /&gt;&lt;br /&gt;However, this operation can be performed within a statement trigger.&lt;br /&gt;&lt;br /&gt;One way to work-around the mutating error within a row level trigger is to use a package PL/SQL table to store ROWIDs of updated records in a row trigger, and reprocess the updated records in a statement trigger. &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;h2&gt;&lt;a name="FIX"&gt;&lt;/a&gt;&lt;span style="font-size: 11pt; font-family: &amp;quot;Comic Sans MS&amp;quot;;"&gt;Solution&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/h2&gt;  &lt;p&gt;&lt;em&gt;&lt;span style="font-size: 11pt; font-family: &amp;quot;Comic Sans MS&amp;quot;;"&gt;Note that there are concurrency issues with this if more than one session tries to perform operations simultaneously. This is not intended as a total solution, but as the framework to help show one option. &lt;/span&gt;&lt;/em&gt;&lt;i&gt;&lt;span style="font-size: 11pt; font-family: &amp;quot;Comic Sans MS&amp;quot;;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/i&gt;&lt;span style="font-size: 11pt; font-family: &amp;quot;Comic Sans MS&amp;quot;;"&gt;&lt;br /&gt;&lt;br /&gt;The following is the sample work-around that used the EMP table.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p&gt;&lt;span style="font-size: 11pt; font-family: &amp;quot;Comic Sans MS&amp;quot;;"&gt;Create the package to define the objects that will house the data.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;code&gt;&lt;span style="font-size: 11pt; font-family: &amp;quot;Comic Sans MS&amp;quot;;"&gt;create or replace package emp_pkg as &lt;/span&gt;&lt;/code&gt;&lt;span style="font-size: 11pt; font-family: &amp;quot;Comic Sans MS&amp;quot;;"&gt;&lt;br /&gt;&lt;code&gt;&lt;span style="font-family: &amp;quot;Comic Sans MS&amp;quot;;"&gt;  type emp_tab_type is table of rowid index by binary_integer; &lt;/span&gt;&lt;/code&gt;&lt;br /&gt;&lt;code&gt;&lt;span style="font-family: &amp;quot;Comic Sans MS&amp;quot;;"&gt;  emp_tab emp_tab_type; &lt;/span&gt;&lt;/code&gt;&lt;br /&gt;&lt;code&gt;&lt;span style="font-family: &amp;quot;Comic Sans MS&amp;quot;;"&gt;  emp_index binary_integer; &lt;/span&gt;&lt;/code&gt;&lt;br /&gt;&lt;code&gt;&lt;span style="font-family: &amp;quot;Comic Sans MS&amp;quot;;"&gt;end emp_pkg; &lt;/span&gt;&lt;/code&gt;&lt;br /&gt;&lt;code&gt;&lt;span style="font-family: &amp;quot;Comic Sans MS&amp;quot;;"&gt;/ &lt;/span&gt;&lt;/code&gt;&lt;/span&gt;&lt;span style="font-size: 11pt; font-family: &amp;quot;Comic Sans MS&amp;quot;;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p&gt;&lt;span style="font-size: 11pt; font-family: &amp;quot;Comic Sans MS&amp;quot;;"&gt;&lt;br /&gt;Create the table level trigger to reset the index BEFORE any changes take place.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;code&gt;&lt;span style="font-size: 11pt; font-family: &amp;quot;Comic Sans MS&amp;quot;;"&gt;create or replace trigger emp_bef_stm_all before insert or update or delete on emp &lt;/span&gt;&lt;/code&gt;&lt;span style="font-size: 11pt; font-family: &amp;quot;Comic Sans MS&amp;quot;;"&gt;&lt;br /&gt;&lt;code&gt;&lt;span style="font-family: &amp;quot;Comic Sans MS&amp;quot;;"&gt;begin &lt;/span&gt;&lt;/code&gt;&lt;br /&gt;&lt;code&gt;&lt;span style="font-family: &amp;quot;Comic Sans MS&amp;quot;;"&gt;  --Remember to reset the pl/sql table before each statement  &lt;/span&gt;&lt;/code&gt;&lt;br /&gt;&lt;code&gt;&lt;span style="font-family: &amp;quot;Comic Sans MS&amp;quot;;"&gt;  emp_pkg.emp_index := 0; &lt;/span&gt;&lt;/code&gt;&lt;br /&gt;&lt;code&gt;&lt;span style="font-family: &amp;quot;Comic Sans MS&amp;quot;;"&gt;end; &lt;/span&gt;&lt;/code&gt;&lt;br /&gt;&lt;code&gt;&lt;span style="font-family: &amp;quot;Comic Sans MS&amp;quot;;"&gt;/ &lt;/span&gt;&lt;/code&gt;&lt;/span&gt;&lt;span style="font-size: 11pt; font-family: &amp;quot;Comic Sans MS&amp;quot;;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p&gt;&lt;span style="font-size: 11pt; font-family: &amp;quot;Comic Sans MS&amp;quot;;"&gt;&lt;br /&gt;The following Row level trigger will fire for each row being modified and copy the RowID for each row to the EMP_TAB object defined within the package.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;code&gt;&lt;span style="font-size: 11pt; font-family: &amp;quot;Comic Sans MS&amp;quot;;"&gt;create or replace trigger emp_aft_row_all after insert or update or delete on emp &lt;/span&gt;&lt;/code&gt;&lt;span style="font-size: 11pt; font-family: &amp;quot;Comic Sans MS&amp;quot;;"&gt;&lt;br /&gt;&lt;code&gt;&lt;span style="font-family: &amp;quot;Comic Sans MS&amp;quot;;"&gt;for each row &lt;/span&gt;&lt;/code&gt;&lt;br /&gt;&lt;code&gt;&lt;span style="font-family: &amp;quot;Comic Sans MS&amp;quot;;"&gt;begin &lt;/span&gt;&lt;/code&gt;&lt;br /&gt;&lt;code&gt;&lt;span style="font-family: &amp;quot;Comic Sans MS&amp;quot;;"&gt;   --Store the rowid of updated record into global pl/sql table &lt;/span&gt;&lt;/code&gt;&lt;br /&gt;&lt;code&gt;&lt;span style="font-family: &amp;quot;Comic Sans MS&amp;quot;;"&gt;   emp_pkg.emp_index := emp_pkg.emp_index + 1; &lt;/span&gt;&lt;/code&gt;&lt;br /&gt;&lt;code&gt;&lt;span style="font-family: &amp;quot;Comic Sans MS&amp;quot;;"&gt;   emp_pkg.emp_tab(emp_pkg.emp_index) := :new.rowid; &lt;/span&gt;&lt;/code&gt;&lt;br /&gt;&lt;code&gt;&lt;span style="font-family: &amp;quot;Comic Sans MS&amp;quot;;"&gt;end; &lt;/span&gt;&lt;/code&gt;&lt;br /&gt;&lt;code&gt;&lt;span style="font-family: &amp;quot;Comic Sans MS&amp;quot;;"&gt;/ &lt;/span&gt;&lt;/code&gt;&lt;/span&gt;&lt;span style="font-size: 11pt; font-family: &amp;quot;Comic Sans MS&amp;quot;;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p&gt;&lt;span style="font-size: 11pt; font-family: &amp;quot;Comic Sans MS&amp;quot;;"&gt;&lt;br /&gt;The following table level trigger will fire AFTER the others and will print out each RowID affected.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;code&gt;&lt;span style="font-size: 11pt; font-family: &amp;quot;Comic Sans MS&amp;quot;;"&gt;create or replace trigger emp_aft_stm_all after insert or update or delete on emp &lt;/span&gt;&lt;/code&gt;&lt;span style="font-size: 11pt; font-family: &amp;quot;Comic Sans MS&amp;quot;;"&gt;&lt;br /&gt;&lt;code&gt;&lt;span style="font-family: &amp;quot;Comic Sans MS&amp;quot;;"&gt;begin &lt;/span&gt;&lt;/code&gt;&lt;br /&gt;&lt;code&gt;&lt;span style="font-family: &amp;quot;Comic Sans MS&amp;quot;;"&gt;   for i in 1 .. emp_pkg.emp_index loop &lt;/span&gt;&lt;/code&gt;&lt;br /&gt;&lt;code&gt;&lt;span style="font-family: &amp;quot;Comic Sans MS&amp;quot;;"&gt;      -- Re-process the updated records. &lt;/span&gt;&lt;/code&gt;&lt;br /&gt;&lt;code&gt;&lt;span style="font-family: &amp;quot;Comic Sans MS&amp;quot;;"&gt;      --There is no restriction here.&lt;/span&gt;&lt;/code&gt;&lt;br /&gt;&lt;code&gt;&lt;span style="font-family: &amp;quot;Comic Sans MS&amp;quot;;"&gt;      dbms_output.put_line(emp_pkg.emp_tab(i)); &lt;/span&gt;&lt;/code&gt;&lt;br /&gt;&lt;code&gt;&lt;span style="font-family: &amp;quot;Comic Sans MS&amp;quot;;"&gt;   end loop; &lt;/span&gt;&lt;/code&gt;&lt;br /&gt;&lt;code&gt;&lt;span style="font-family: &amp;quot;Comic Sans MS&amp;quot;;"&gt;emp_pkg.emp_index := 0; &lt;/span&gt;&lt;/code&gt;&lt;br /&gt;&lt;code&gt;&lt;span style="font-family: &amp;quot;Comic Sans MS&amp;quot;;"&gt;end; &lt;/span&gt;&lt;/code&gt;&lt;br /&gt;&lt;code&gt;&lt;span style="font-family: &amp;quot;Comic Sans MS&amp;quot;;"&gt;/ &lt;/span&gt;&lt;/code&gt;&lt;/span&gt;&lt;span style="font-size: 11pt; font-family: &amp;quot;Comic Sans MS&amp;quot;;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p&gt;&lt;span style="font-size: 11pt; font-family: &amp;quot;Comic Sans MS&amp;quot;;"&gt;&lt;br /&gt; In order to see how this work from SQL*Plus, the output must be turned on.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;code&gt;&lt;span style="font-size: 11pt; font-family: &amp;quot;Comic Sans MS&amp;quot;;"&gt;SQL&gt; SET SERVEROUTPUT ON&lt;/span&gt;&lt;/code&gt;&lt;span style="font-size: 11pt; font-family: &amp;quot;Comic Sans MS&amp;quot;;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p&gt;&lt;span style="font-size: 11pt; font-family: &amp;quot;Comic Sans MS&amp;quot;;"&gt;&lt;br /&gt;This first example, displays the RowIDs for Department 20 then issues a DELETE command. The trigger should fire and display the same RowIDs to confirm it is working. (The RowIDs will vary from machine to machine.)&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p&gt;&lt;span style="font-size: 11pt; font-family: &amp;quot;Comic Sans MS&amp;quot;;"&gt;SQL&gt; SELECT ROWID, DEPTNO FROM EMP WHERE DEPTNO = 20;&lt;br /&gt;&lt;br /&gt;ROWID DEPTNO&lt;br /&gt;------------------ ----------&lt;br /&gt;AAAM4iAAEAAAAG+AAA 20&lt;br /&gt;AAAM4iAAEAAAAG+AAD 20&lt;br /&gt;AAAM4iAAEAAAAG+AAH 20&lt;br /&gt;AAAM4iAAEAAAAG+AAK 20&lt;br /&gt;AAAM4iAAEAAAAG+AAM 20&lt;br /&gt;&lt;br /&gt;SQL&gt; DELETE EMP WHERE DEPTNO = 20;&lt;br /&gt;AAAM4iAAEAAAAG+AAA&lt;br /&gt;AAAM4iAAEAAAAG+AAD&lt;br /&gt;AAAM4iAAEAAAAG+AAH&lt;br /&gt;AAAM4iAAEAAAAG+AAK&lt;br /&gt;AAAM4iAAEAAAAG+AAM&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p&gt;&lt;span style="font-size: 11pt; font-family: &amp;quot;Comic Sans MS&amp;quot;;"&gt; &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p&gt;&lt;span style="font-size: 11pt; font-family: &amp;quot;Comic Sans MS&amp;quot;;"&gt;This second example, displays the RowIDs for Department 10 then issues an UPDATE command. The trigger should fire and display the same RowIDs to confirm it is working. (The RowIDs will vary from machine to machine.)&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;code&gt;&lt;span style="font-size: 11pt; font-family: &amp;quot;Comic Sans MS&amp;quot;;"&gt;SQL&gt; SELECT ROWID, DEPTNO FROM EMP WHERE DEPTNO=10; &lt;/span&gt;&lt;/code&gt;&lt;span style="font-size: 11pt; font-family: &amp;quot;Comic Sans MS&amp;quot;;"&gt;&lt;br /&gt;&lt;br /&gt;&lt;code&gt;&lt;span style="font-family: &amp;quot;Comic Sans MS&amp;quot;;"&gt;ROWID DEPTNO &lt;/span&gt;&lt;/code&gt;&lt;br /&gt;&lt;code&gt;&lt;span style="font-family: &amp;quot;Comic Sans MS&amp;quot;;"&gt;------------------ ---------- &lt;/span&gt;&lt;/code&gt;&lt;br /&gt;&lt;code&gt;&lt;span style="font-family: &amp;quot;Comic Sans MS&amp;quot;;"&gt;AAAM4iAAEAAAAG+AAG 10 &lt;/span&gt;&lt;/code&gt;&lt;br /&gt;&lt;code&gt;&lt;span style="font-family: &amp;quot;Comic Sans MS&amp;quot;;"&gt;AAAM4iAAEAAAAG+AAI 10 &lt;/span&gt;&lt;/code&gt;&lt;br /&gt;&lt;code&gt;&lt;span style="font-family: &amp;quot;Comic Sans MS&amp;quot;;"&gt;AAAM4iAAEAAAAG+AAN 10 &lt;/span&gt;&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;&lt;code&gt;&lt;span style="font-family: &amp;quot;Comic Sans MS&amp;quot;;"&gt;SQL&gt; UPDATE EMP SET JOB='Test' WHERE DEPTNO=10; &lt;/span&gt;&lt;/code&gt;&lt;br /&gt;&lt;code&gt;&lt;span style="font-family: &amp;quot;Comic Sans MS&amp;quot;;"&gt;AAAM4iAAEAAAAG+AAG &lt;/span&gt;&lt;/code&gt;&lt;br /&gt;&lt;code&gt;&lt;span style="font-family: &amp;quot;Comic Sans MS&amp;quot;;"&gt;AAAM4iAAEAAAAG+AAI &lt;/span&gt;&lt;/code&gt;&lt;br /&gt;&lt;code&gt;&lt;span style="font-family: &amp;quot;Comic Sans MS&amp;quot;;"&gt;AAAM4iAAEAAAAG+AAN &lt;/span&gt;&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;&lt;code&gt;&lt;span style="font-family: &amp;quot;Comic Sans MS&amp;quot;;"&gt;3 rows updated.&lt;/span&gt;&lt;/code&gt;&lt;/span&gt;&lt;span style="font-size: 11pt; font-family: &amp;quot;Comic Sans MS&amp;quot;;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p&gt;&lt;span style="font-size: 11pt; font-family: &amp;quot;Comic Sans MS&amp;quot;;"&gt;To rollback the changes, issue the Rollback command.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;      &lt;p class="MsoNormal"&gt;&lt;code&gt;&lt;span style="font-size: 11pt; font-family: &amp;quot;Comic Sans MS&amp;quot;;"&gt;SQL&gt; ROLLBACK; &lt;/span&gt;&lt;/code&gt;&lt;span style="font-size: 11pt; font-family: &amp;quot;Comic Sans MS&amp;quot;;"&gt;&lt;br /&gt;&lt;br /&gt;&lt;code&gt;&lt;span style="font-family: &amp;quot;Comic Sans MS&amp;quot;;"&gt;Rollback complete.&lt;/span&gt;&lt;/code&gt;&lt;/span&gt;&lt;b style=""&gt;&lt;span style="font-size: 11pt; font-family: &amp;quot;Comic Sans MS&amp;quot;;"&gt;&lt;o:p&gt;&lt;br /&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;b style=""&gt;&lt;span style="font-size: 11pt; font-family: &amp;quot;Comic Sans MS&amp;quot;;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;  &lt;pre&gt;&lt;b style=""&gt;&lt;span style="font-size: 11pt; font-family: &amp;quot;Comic Sans MS&amp;quot;;"&gt;CONCLUSION :&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/pre&gt;&lt;pre&gt;&lt;span style="font-size: 11pt; font-family: &amp;quot;Comic Sans MS&amp;quot;;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/pre&gt;  &lt;p&gt;&lt;span style="font-size: 11pt; font-family: &amp;quot;Comic Sans MS&amp;quot;;"&gt;The above &lt;span style=""&gt; &lt;/span&gt;methods are not submitted as&lt;span style=""&gt;  &lt;/span&gt;solutions to all cases, however, &lt;span style=""&gt; &lt;/span&gt;those are provided as some of the possibilities &lt;span style=""&gt; &lt;/span&gt;for the Mutating problem.&lt;span style=""&gt;  &lt;/span&gt;&lt;span style=""&gt; &lt;/span&gt;By following the above examples and customizing them to the individual needs ,&lt;span style=""&gt;  &lt;/span&gt;these Mutating problems can be avoided or fixed.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p&gt;  &lt;/p&gt;&lt;p&gt;&lt;span style=";font-family:&amp;quot;;font-size:11;"  &gt;&lt;br /&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p&gt;&lt;span style=";font-family:&amp;quot;;font-size:11;"  &gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p&gt;&lt;span style=";font-family:&amp;quot;;font-size:11;"  &gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1556135669515651935-2231943401412499000?l=oracle-error.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://oracle-error.blogspot.com' title='ORA-04091: table is mutating trigger'/><link rel='replies' type='application/atom+xml' href='http://oracle-error.blogspot.com/feeds/2231943401412499000/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1556135669515651935&amp;postID=2231943401412499000&amp;isPopup=true' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1556135669515651935/posts/default/2231943401412499000'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1556135669515651935/posts/default/2231943401412499000'/><link rel='alternate' type='text/html' href='http://oracle-error.blogspot.com/2008/04/ora-04091-table-is-mutating-trigger.html' title='ORA-04091: table is mutating trigger'/><author><name>Mendus</name><uri>http://www.blogger.com/profile/15926700298623471526</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1556135669515651935.post-1993999459220435155</id><published>2008-04-26T02:09:00.005-04:00</published><updated>2009-08-28T23:19:06.193-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='PLS-936'/><category scheme='http://www.blogger.com/atom/ns#' term='Oracle Bug'/><category scheme='http://www.blogger.com/atom/ns#' term='ORACLE  ERROR EXAMPLE'/><category scheme='http://www.blogger.com/atom/ns#' term='ORA-00936'/><category scheme='http://www.blogger.com/atom/ns#' term='ora 936'/><category scheme='http://www.blogger.com/atom/ns#' term='Oracle error'/><category scheme='http://www.blogger.com/atom/ns#' term='Oracle Metalink'/><title type='text'>ORA-00936:missing expression</title><content type='html'>&lt;pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;/pre&gt;&lt;p class="MsoNormal"&gt;&lt;span style=";font-family:&amp;quot;;" &gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;b style=""&gt;&lt;span style=";font-family:&amp;quot;;" &gt;ORA-00936:missing expression&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style=";font-family:&amp;quot;;" &gt;Cause:A required part of a clause or expression has been omitted. For example, a SELECT statement may have been entered without a list of columns or expressions or with an incomplete expression. This message is also issued in cases where a reserved word is misused, as in SELECT TABLE.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style=";font-family:&amp;quot;;" &gt;Action:Check the statement syntax and specify the missing component.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style=";font-family:&amp;quot;;" &gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style=";font-family:&amp;quot;;" &gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;b style=""&gt;&lt;span style=";font-family:&amp;quot;;" &gt;ORA-00936:missing expression&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style=";font-family:&amp;quot;;" &gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style=";font-family:&amp;quot;;" &gt;This Oracle error is mainly related to the SQL SELECT statements. One obvious reason is select column list is missing or expressions in the selected columns are incomplete.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style=";font-family:&amp;quot;;" &gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;b style=""&gt;&lt;span style=";font-family:&amp;quot;;" &gt;Example: &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style=";font-family:&amp;quot;;" &gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style=";font-family:&amp;quot;;" &gt;One Simple &lt;span style=""&gt; &lt;/span&gt;example&lt;span style=""&gt;  &lt;/span&gt;is&lt;span style=""&gt;   &lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style=";font-family:&amp;quot;;" &gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style=";font-family:&amp;quot;;" &gt;SELECT&lt;span style=""&gt;   &lt;/span&gt;FROM&lt;span style=""&gt;  &lt;/span&gt;EMPLOYEE;&lt;span style=""&gt;  &lt;/span&gt;raise &lt;span style=""&gt; &lt;/span&gt;ORA-00936 error as the column list is missing..&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style=";font-family:&amp;quot;;" &gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style=";font-family:&amp;quot;;" &gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style=";font-family:&amp;quot;;" &gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style=";font-family:&amp;quot;;" &gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;b style=""&gt;&lt;span style=";font-family:&amp;quot;;" &gt;This ORA-00936 may also caused with respective to the usage of the exponential operator “**” in the SQL statements. &lt;span style=""&gt;  &lt;/span&gt;It may result the following errors:&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style=";font-family:&amp;quot;;" &gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="margin-left: 0.5in;"&gt;&lt;span style=";font-family:&amp;quot;;" &gt;ORA 936 missing expression&lt;br /&gt;PLS-936&lt;br /&gt;ORA 6550 line &lt;num&gt;, column &lt;&gt;num: &lt;str&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/str&gt;&lt;/num&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="margin-left: 0.5in;"&gt;&lt;span style=";font-family:&amp;quot;;" &gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;b style=""&gt;&lt;span style=";font-family:&amp;quot;;" &gt;ORA-00936 Exponential Operator Scenario:&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;b style=""&gt;&lt;span style=";font-family:&amp;quot;;" &gt;Symptoms &lt;span style=""&gt;  &lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style=";font-family:&amp;quot;;" &gt;Using the exponential operator '**' in a SQL statement results in ORA-936 or PLS-936 depending on whether the SQL statement is executed from SQLPLUS prompt or within a PL/SQL block.&lt;br /&gt;&lt;br /&gt;SQL&gt; select 2**2 from dual;&lt;br /&gt;select 2**2 from dual&lt;br /&gt;*&lt;br /&gt;ERROR at line 1:&lt;br /&gt;ORA-00936: missing expression&lt;br /&gt;&lt;br /&gt;SQL&gt; declare&lt;br /&gt;2 x number := 2;&lt;br /&gt;3 y number := 4;&lt;br /&gt;4 z number;&lt;br /&gt;5 begin&lt;br /&gt;6 select x**y into z from dual;&lt;br /&gt;7 end;&lt;br /&gt;8 /&lt;br /&gt;y number := 4;&lt;br /&gt;*&lt;br /&gt;ERROR at line 3:&lt;br /&gt;ORA-06550: line 6, column 10:&lt;br /&gt;PL/SQL: ORA-00936: missing expression&lt;br /&gt;ORA-06550: line 6, column 1:&lt;br /&gt;PL/SQL: SQL Statement ignored &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style=";font-family:&amp;quot;;" &gt;Cause&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style=";font-family:&amp;quot;;" &gt;'**' is a valid exponential character in PL/SQL and cannot be used in a SQL statement. The exponential operator '**' can be used in PL/SQL statements:&lt;br /&gt;&lt;br /&gt;SQL&gt; declare&lt;br /&gt;2 x number := 2;&lt;br /&gt;3 y number := 4;&lt;br /&gt;4 z number;&lt;br /&gt;5 begin&lt;br /&gt;6 z := x**y;&lt;br /&gt;7 end;&lt;br /&gt;8 /&lt;br /&gt;&lt;br /&gt;PL/SQL procedure successfully completed. &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style=";font-family:&amp;quot;;" &gt;Fix&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style=";font-family:&amp;quot;;" &gt;Use power() function instead of '**' in SQL statement'.&lt;br /&gt;&lt;br /&gt;SQL&gt; select power(2,2) from dual;&lt;br /&gt;&lt;br /&gt;POWER(2,2)&lt;br /&gt;----------&lt;br /&gt;4&lt;br /&gt;&lt;br /&gt;SQL&gt; declare&lt;br /&gt;2 x number := 2;&lt;br /&gt;3 y number := 4;&lt;br /&gt;4 z number;&lt;br /&gt;5 begin&lt;br /&gt;6 select power(x,y) into z from dual;&lt;br /&gt;7 end;&lt;br /&gt;8 /&lt;br /&gt;&lt;br /&gt;PL/SQL procedure successfully completed.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style=";font-family:&amp;quot;;" &gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style=";font-family:&amp;quot;;" &gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;b style=""&gt;&lt;span style=";font-family:&amp;quot;;color:red;"  &gt;Oracle Bugs related to ORA-00936 error:&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style=";font-family:&amp;quot;;" &gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style=";font-family:&amp;quot;;" &gt;There are also &lt;span style=""&gt; &lt;/span&gt;a few oracle bugs related to ORA-00936.&lt;span style=""&gt;  &lt;/span&gt;Listed below are two bugs related to ORA-00936. You can find complete list of bugs at Oracle Metalink. &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style=";font-family:&amp;quot;;" &gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style=";font-family:&amp;quot;;" &gt;1) Bug#:4567818 base Bug#:4192148 (unpublished) on 9207&lt;br /&gt;&lt;br /&gt;2) Bug#:4212516 (unpublished) on 10.1.0.4.0.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style=";font-family:&amp;quot;;" &gt; &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style=";font-family:&amp;quot;;" &gt;With these bugs, &lt;span style=""&gt; &lt;/span&gt;ORA-00936 error is thrown when the SELECT ON view fails. &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style=";font-family:&amp;quot;;" &gt;Basically, ORA-00936 is thrown when a SQL view is created from "create or replace view MY_VIEW &lt;span style=""&gt; &lt;/span&gt;as select t.*,other_tab_col from tab t, other_tab".  This creates a view definition that is incorrect in the DBA_VIEWS, thus throwing ORA-00936 and possible core dumps.  &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style=";font-family:&amp;quot;;" &gt;In order to fix the bugs and resolve ORA-00936, MetaLink offers these solutions for the appropriate version:&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style=";font-family:&amp;quot;;" &gt;Fix for 9.2.0.7 :&lt;br /&gt;&lt;br /&gt;Patch 4192148 is available for Solaris (64bit) and AIX5L Based Systems (64-bit).&lt;br /&gt;&lt;br /&gt;Fix for 10.1.0.4 :&lt;br /&gt;&lt;br /&gt;Patch 4212516 is available for most of the platforms.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style=";font-family:&amp;quot;;" &gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;b style=""&gt;&lt;span style=";font-family:&amp;quot;;" &gt;ORA-00936 Example from Oracle Forum:&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style=";font-family:&amp;quot;;" &gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style=";font-family:&amp;quot;;" &gt;Question:&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style=";font-family:&amp;quot;;" &gt;When trying o use the code below, I keep getting ORA-00936.  What is the problem?&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style=";font-family:&amp;quot;;" &gt;Dim sSQL As String = _&lt;br /&gt;"UPDATE TBLICPMETHODS SET Frequency = @Frequency, " &amp;amp; _&lt;br /&gt;"Calibration = @Calibration, QCValue = @QCVAlue" &amp;amp; _&lt;br /&gt;" WHERE Frequency = '" &amp;amp; Session("EditFrequency") &amp;amp; "' AND MethodNumber = " &amp;amp; ddlMethods.SelectedValue&lt;br /&gt;&lt;br /&gt;Dim connConnection As New OleDbConnection(Application("ERSconnectionStr"))&lt;br /&gt;&lt;br /&gt;connConnection.Open()&lt;br /&gt;&lt;br /&gt;Dim cmdCommand As New OleDbCommand(sSQL, connConnection)&lt;br /&gt;&lt;br /&gt;Dim prmFrequency As OleDbParameter = _&lt;br /&gt;New OleDbParameter("@Frequency", OleDbType.VarChar, 75)&lt;br /&gt;prmFrequency.Value = sFrequency&lt;br /&gt;cmdCommand.Parameters.Add(prmFrequency)&lt;br /&gt;&lt;br /&gt;Dim prmCalibration As OleDbParameter = _&lt;br /&gt;New OleDbParameter("@Calibration", OleDbType.Double, 75)&lt;br /&gt;prmCalibration.Value = CDbl(sCalibration)&lt;br /&gt;cmdCommand.Parameters.Add(prmCalibration)&lt;br /&gt;&lt;br /&gt;Dim prmQCValue As OleDbParameter = _&lt;br /&gt;New OleDbParameter("@QCValue", OleDbType.Double, 75)&lt;br /&gt;prmQCValue.Value = CDbl(sQCValue)&lt;br /&gt;&lt;br /&gt;cmdCommand.Parameters.Add(prmQCValue)&lt;br /&gt;' MessageBox.show(cmdCommand.CommandText + ":Frequency=" + e.Item.Cells(2).Text + ":Calibration=" + e.Item.Cells(3).Text + ":QCValue=" + e.Item.Cells(4).Text)&lt;br /&gt;Try&lt;br /&gt;cmdCommand.ExecuteNonQuery()&lt;br /&gt;Catch ex As OleDbException&lt;br /&gt;MessageBox.show(ex.Message)&lt;br /&gt;End Try&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style=";font-family:&amp;quot;;" &gt;Answer:&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style=";font-family:&amp;quot;;" &gt;What you are forgetting is that in OLEDB you cannot use named parameters.  This being, your use of @parameter is throwing ORA-00936.  Trying taking out the @ and using a question mark instead to clear up ORA-00936.  Here is an example, instead of:&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style=";font-family:&amp;quot;;" &gt;"UPDATE TBLICPMETHODS SET Frequency = @Frequency, " &amp;amp; _&lt;br /&gt;"Calibration = @Calibration, QCValue = @QCVAlue" &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style=";font-family:&amp;quot;;" &gt;use:&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style=";font-family:&amp;quot;;" &gt;"UPDATE TBLICPMETHODS SET Frequency = ?, " &amp;amp; _&lt;br /&gt;"Calibration = ?, QCValue = ?" &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style=";font-family:&amp;quot;;" &gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style=";font-family:&amp;quot;;" &gt;- By Mendus&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;pre&gt;&lt;span style=";font-family:Verdana;font-size:12;"  &gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;&lt;span style=";font-family:Verdana;font-size:12;"  &gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1556135669515651935-1993999459220435155?l=oracle-error.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://oracle-error.blogspot.com' title='ORA-00936:missing expression'/><link rel='replies' type='application/atom+xml' href='http://oracle-error.blogspot.com/feeds/1993999459220435155/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1556135669515651935&amp;postID=1993999459220435155&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1556135669515651935/posts/default/1993999459220435155'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1556135669515651935/posts/default/1993999459220435155'/><link rel='alternate' type='text/html' href='http://oracle-error.blogspot.com/2008/04/ora-00936missing-expression.html' title='ORA-00936:missing expression'/><author><name>Mendus</name><uri>http://www.blogger.com/profile/15926700298623471526</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1556135669515651935.post-5242318784234953913</id><published>2008-04-25T01:31:00.004-04:00</published><updated>2009-08-28T23:18:46.975-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='OPTIMIZER_GOAL'/><category scheme='http://www.blogger.com/atom/ns#' term='ORA-01986'/><category scheme='http://www.blogger.com/atom/ns#' term='ORA-6512'/><category scheme='http://www.blogger.com/atom/ns#' term='Oracle error'/><category scheme='http://www.blogger.com/atom/ns#' term='ORA-00604'/><title type='text'>ORA-00604: error occurred at recursive SQL level string</title><content type='html'>&lt;p class="MsoNormal"&gt;  &lt;/p&gt;&lt;p class="MsoNormal" style=""&gt;&lt;strong&gt;&lt;span style="color: rgb(204, 0, 0);font-family:Verdana;font-size:13;"  &gt;ORA-00604: error occurred at recursive SQL level string &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;b&gt;&lt;span style=";font-family:Verdana;color:black;"   lang="EN"&gt;Cause:&lt;/span&gt;&lt;/b&gt;&lt;span style=";font-family:Verdana;color:black;"   lang="EN"&gt; An error occurred while processing a recursive SQL statement (a statement applying to internal dictionary tables).&lt;/span&gt;&lt;span style="font-family:Verdana;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;u1:p&gt;&lt;/u1:p&gt;  &lt;p class="MsoNormal" style=";font-family:verdana;" &gt;&lt;b&gt;&lt;span style=";font-family:Verdana;color:black;"   lang="EN"&gt;Action&lt;/span&gt;&lt;/b&gt;&lt;span style=";font-family:Verdana;color:black;"   lang="EN"&gt;: If the situation described in the next error on the stack can be corrected, do so; otherwise contact Oracle Support.&lt;/span&gt;&lt;span style="font-family:Verdana;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;u1:p&gt;&lt;/u1:p&gt;  &lt;p class="MsoNormal" style=";font-family:verdana;" &gt;&lt;span  lang="EN" style="font-family:Verdana;"&gt;&lt;br /&gt;&lt;u1:p&gt;&lt;span style="color:black;"&gt;&lt;/span&gt;&lt;/u1:p&gt;ORA-00604 error can occur in so many different contexts. The following is one such scenario&lt;/span&gt;&lt;span style="font-family:Verdana;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;u1:p&gt;&lt;/u1:p&gt;  &lt;p class="MsoNormal" style=";font-family:verdana;" &gt;&lt;b&gt;&lt;span style="font-family:Verdana;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;  &lt;u1:p&gt;&lt;/u1:p&gt;  &lt;p class="MsoNormal" style=";font-family:verdana;" &gt;&lt;strong&gt;&lt;span style="color: rgb(204, 0, 0);font-family:Verdana;font-size:13;"  &gt;Connecting as DB User gives ORA-00604, ORA-01986: OPTIMIZER_GOAL is Obsolete and ORA-6512 Errors&lt;/span&gt;&lt;/strong&gt;&lt;span style="font-family:Verdana;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;u1:p&gt;&lt;/u1:p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;u1:p&gt;&lt;/u1:p&gt;&lt;span style="font-family:Verdana;"&gt;This error applies to Oracle Server - Enterprise Edition - Version: 10.1.0.2 to 10.2.0.3&lt;br /&gt;This problem can occur on any platform&lt;a name="SYMPTOM"&gt;&lt;/a&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="margin-bottom: 12pt;"&gt;&lt;span style="font-family:Verdana;"&gt;&lt;br /&gt;When you try to log-in to the database as a particular user, you get disconnected with the error : ORA-01986&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=";font-family:verdana;" &gt;&lt;span style="font-family:Verdana;"&gt;SQL&gt; conn dvamin/dvamin &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;u1:p&gt;&lt;/u1:p&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-family:Verdana;"&gt;ERROR: &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;u1:p&gt;&lt;/u1:p&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-family:Verdana;"&gt;ORA-00604: error occurred at recursive SQL level 1 &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;u1:p&gt;&lt;/u1:p&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-family:Verdana;"&gt;ORA-01986: OPTIMIZER_GOAL is obsolete &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;u1:p&gt;&lt;/u1:p&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-family:Verdana;"&gt;ORA-06512: at line 2 &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;u1:p&gt;&lt;/u1:p&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-family:Verdana;"&gt;Warning: You are no longer connected to ORACLE.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="margin-bottom: 12pt;"&gt;&lt;u1:p&gt;&lt;/u1:p&gt;&lt;span style="font-family:Verdana;"&gt;You check the init.ora / spfile and verify that you haven't set any parameter : OPTIMIZER_GOAL&lt;br /&gt;still the database login errors out indicating that OPTIMIZER_GOAL is obsolete.&lt;br /&gt;In the alert.log, you find :&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-family:Verdana;"&gt;Errors in file $ORACLE_BASE/admin/hrupg/udump/&lt;sid&gt;_ora_&lt;pid&gt;.trc: &lt;o:p&gt;&lt;/o:p&gt;&lt;/pid&gt;&lt;/sid&gt;&lt;/span&gt;&lt;u1:p&gt;&lt;/u1:p&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-family:Verdana;"&gt;ORA-00604: error occurred at recursive SQL level 1 &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;u1:p&gt;&lt;/u1:p&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-family:Verdana;"&gt;ORA-01986: OPTIMIZER_GOAL is obsolete &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;u1:p&gt;&lt;/u1:p&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-family:Verdana;"&gt;ORA-06512: at line 2&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;h2&gt;&lt;a name="CAUSE"&gt;&lt;/a&gt;&lt;strong&gt;&lt;span style="color: rgb(204, 0, 0);font-family:Verdana;font-size:13;"  &gt;Why this error is occurring ? Troubleshoot&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/strong&gt;&lt;/h2&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-family:Verdana;"&gt;Please check the tracefile : $ORACLE_BASE/admin/hrupg/udump/&lt;sid&gt;_ora_&lt;pid&gt;.trc&lt;br /&gt;This shows :&lt;br /&gt;-----------------------------------------------------------------------------------------------------------&lt;br /&gt;*** SERVICE NAME:(SYS$USERS) 2006-11-21 08:20:41.909&lt;br /&gt;*** SESSION ID:(104.17) 2006-11-21 08:20:41.909&lt;br /&gt;Error in executing triggers on connect internal&lt;br /&gt;*** 2006-11-21 08:20:41.911&lt;br /&gt;ksedmp: internal or fatal error&lt;br /&gt;ORA-00604: error occurred at recursive SQL level 1&lt;br /&gt;ORA-01986: OPTIMIZER_GOAL is obsolete&lt;br /&gt;ORA-06512: at line 2&lt;br /&gt;-----------------------------------------------------------------------------------------------------------&lt;br /&gt;&lt;br /&gt;You have configured some Database Login Triggers.&lt;br /&gt;These triggers are trying to set a parameter that is obsolete in 10.2&lt;br /&gt;Hence errors.&lt;br /&gt;&lt;br /&gt;You might have configured a login trigger of the type :&lt;br /&gt;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~&lt;br /&gt;CREATE OR REPLACE TRIGGER LoginTrigger AFTER LOGON ON xxxxxx.SCHEMA&lt;br /&gt;BEGIN&lt;br /&gt;execute immediate&lt;br /&gt;'alter session set OPTIMIZER_GOAL=FIRST_ROWS';&lt;br /&gt;...&lt;br /&gt;...&lt;br /&gt;END;&lt;br /&gt;/&lt;br /&gt;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~&lt;br /&gt;&lt;br /&gt;SIMPLE TEST-CASE :&lt;br /&gt;&lt;issue&gt;+++++++++++++++++++++++++++++++++++++++++++++++++++++&lt;br /&gt;#############################################################&lt;br /&gt;SQL&gt; create user dvamin identified by dvamin quota 5M on users;&lt;br /&gt;User created.&lt;br /&gt;&lt;br /&gt;SQL&gt; grant connect to dvamin;&lt;br /&gt;Grant succeeded.&lt;br /&gt;&lt;br /&gt;SQL&gt; CREATE OR REPLACE TRIGGER LoginTrigger AFTER LOGON ON dvamin.schema&lt;br /&gt;2 BEGIN&lt;br /&gt;3 execute immediate&lt;br /&gt;4 'alter session set OPTIMIZER_GOAL=FIRST_ROWS';&lt;br /&gt;5 END;&lt;br /&gt;6 /&lt;br /&gt;Trigger created.&lt;br /&gt;&lt;br /&gt;SQL&gt; conn dvamin/dvamin&lt;br /&gt;ERROR:&lt;br /&gt;ORA-00604: error occurred at recursive SQL level 1&lt;br /&gt;ORA-01986: OPTIMIZER_GOAL is obsolete&lt;br /&gt;ORA-06512: at line 2&lt;br /&gt;Warning: You are no longer connected to ORACLE.&lt;br /&gt;#############################################################&lt;o:p&gt;&lt;/o:p&gt;&lt;/issue&gt;&lt;/pid&gt;&lt;/sid&gt;&lt;/span&gt;&lt;/p&gt;  &lt;h2&gt;&lt;a name="FIX"&gt;&lt;/a&gt;&lt;strong&gt;&lt;span style="color: rgb(204, 0, 0);font-family:Verdana;font-size:13;"  &gt;What is the Solution?&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/strong&gt;&lt;/h2&gt;  &lt;p class="MsoNormal" style="margin-bottom: 12pt;"&gt;&lt;span style="font-family:Verdana;"&gt;(i) Log-in as a user with ADMINISTER DATABASE TRIGGER privilege&lt;br /&gt;&lt;such&gt;(ii) Drop this trigger.&lt;br /&gt;(iii) Log in as the required user successfully.&lt;o:p&gt;&lt;/o:p&gt;&lt;/such&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-family:Verdana;"&gt;SQL&gt; conn / as sysdba &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;u1:p&gt;&lt;/u1:p&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-family:Verdana;"&gt;Connected. &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;u1:p&gt;&lt;/u1:p&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-family:Verdana;"&gt;SQL&gt; drop trigger LoginTrigger; &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;u1:p&gt;&lt;/u1:p&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-family:Verdana;"&gt;Trigger dropped. &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;u1:p&gt;&lt;/u1:p&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-family:Verdana;"&gt;SQL&gt; conn dvamin/dvamin &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;u1:p&gt;&lt;/u1:p&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-family:Verdana;"&gt;Connected.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-family:Verdana;"&gt;&lt;br /&gt;Rewrite the trigger as necessary if required. Please refer to the Oracle Administrator's Guide 10g as available in OTN if needed.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style="font-family:Verdana;"&gt;- Mendus&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-family:Verdana;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-family:Verdana;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-family:Verdana;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-family:Verdana;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;a name="sthref375"&gt;&lt;/a&gt;&lt;a name="ORA-00604"&gt;&lt;/a&gt;&lt;span style="font-weight: bold; color: rgb(204, 0, 0);font-family:verdana;font-size:130%;" class="msg1"  &gt;&lt;span lang="EN"&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="" lang="EN"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1556135669515651935-5242318784234953913?l=oracle-error.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://oracle-error.blogspot.com' title='ORA-00604: error occurred at recursive SQL level string'/><link rel='replies' type='application/atom+xml' href='http://oracle-error.blogspot.com/feeds/5242318784234953913/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1556135669515651935&amp;postID=5242318784234953913&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1556135669515651935/posts/default/5242318784234953913'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1556135669515651935/posts/default/5242318784234953913'/><link rel='alternate' type='text/html' href='http://oracle-error.blogspot.com/2008/04/ora-00604-error-occurred-at-recursive.html' title='ORA-00604: error occurred at recursive SQL level string'/><author><name>Mendus</name><uri>http://www.blogger.com/profile/15926700298623471526</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1556135669515651935.post-2346432064867331660</id><published>2008-04-23T00:28:00.005-04:00</published><updated>2009-08-28T23:19:22.549-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='ORA-00600'/><category scheme='http://www.blogger.com/atom/ns#' term='ora 600'/><category scheme='http://www.blogger.com/atom/ns#' term='Oracle database'/><category scheme='http://www.blogger.com/atom/ns#' term='oracle troubleshoot'/><category scheme='http://www.blogger.com/atom/ns#' term='ora 600 internal'/><category scheme='http://www.blogger.com/atom/ns#' term='Oracle error'/><category scheme='http://www.blogger.com/atom/ns#' term='Oracle Metalink'/><title type='text'>ORA-00600: internal error code arguments:</title><content type='html'>&lt;p class="MsoNormal"&gt;&lt;a name="sthref371"&gt;&lt;/a&gt;&lt;a name="ORA-00600"&gt;&lt;/a&gt;&lt;span class="msg1"&gt;&lt;span style=";font-family:Verdana;color:black;"   lang="SV"&gt;&lt;/span&gt;&lt;/span&gt;  &lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;a name="sthref371"&gt;&lt;/a&gt;&lt;a name="ORA-00600"&gt;&lt;/a&gt;&lt;span class="msg1"&gt;&lt;span style="color: rgb(153, 51, 102);font-family:Verdana;font-size:14;"   lang="SV"&gt;ORA-00600: internal error code, arguments: [&lt;/span&gt;&lt;/span&gt;&lt;span class="italic1"&gt;&lt;span style="color: rgb(153, 51, 102);font-family:Verdana;font-size:14;"   lang="SV"&gt;string&lt;/span&gt;&lt;/span&gt;&lt;span class="msg1"&gt;&lt;span style="color: rgb(153, 51, 102);font-family:Verdana;font-size:14;"   lang="SV"&gt;], [&lt;/span&gt;&lt;/span&gt;&lt;span class="italic1"&gt;&lt;span style="color: rgb(153, 51, 102);font-family:Verdana;font-size:14;"   lang="SV"&gt;string&lt;/span&gt;&lt;/span&gt;&lt;span class="msg1"&gt;&lt;span style="color: rgb(153, 51, 102);font-family:Verdana;font-size:14;"   lang="SV"&gt;], [&lt;/span&gt;&lt;/span&gt;&lt;span class="italic1"&gt;&lt;span style="color: rgb(153, 51, 102);font-family:Verdana;font-size:14;"   lang="SV"&gt;string&lt;/span&gt;&lt;/span&gt;&lt;span class="msg1"&gt;&lt;span style="color: rgb(153, 51, 102);font-family:Verdana;font-size:14;"   lang="SV"&gt;], [&lt;/span&gt;&lt;/span&gt;&lt;span class="italic1"&gt;&lt;span style="color: rgb(153, 51, 102);font-family:Verdana;font-size:14;"   lang="SV"&gt;string&lt;/span&gt;&lt;/span&gt;&lt;span class="msg1"&gt;&lt;span style="color: rgb(153, 51, 102);font-family:Verdana;font-size:14;"   lang="SV"&gt;], [&lt;/span&gt;&lt;/span&gt;&lt;span class="italic1"&gt;&lt;span style="color: rgb(153, 51, 102);font-family:Verdana;font-size:14;"   lang="SV"&gt;string&lt;/span&gt;&lt;/span&gt;&lt;span class="msg1"&gt;&lt;span style="color: rgb(153, 51, 102);font-family:Verdana;font-size:14;"   lang="SV"&gt;], [&lt;/span&gt;&lt;/span&gt;&lt;span class="italic1"&gt;&lt;span style="color: rgb(153, 51, 102);font-family:Verdana;font-size:14;"   lang="SV"&gt;string&lt;/span&gt;&lt;/span&gt;&lt;span class="msg1"&gt;&lt;span style="color: rgb(153, 51, 102);font-family:Verdana;font-size:14;"   lang="SV"&gt;], [&lt;/span&gt;&lt;/span&gt;&lt;span class="italic1"&gt;&lt;span style="color: rgb(153, 51, 102);font-family:Verdana;font-size:14;"   lang="SV"&gt;string&lt;/span&gt;&lt;/span&gt;&lt;span class="msg1"&gt;&lt;span style="color: rgb(153, 51, 102);font-family:Verdana;font-size:14;"   lang="SV"&gt;], [&lt;/span&gt;&lt;/span&gt;&lt;span class="italic1"&gt;&lt;span style="color: rgb(153, 51, 102);font-family:Verdana;font-size:14;"   lang="SV"&gt;string&lt;/span&gt;&lt;/span&gt;&lt;span class="msg1"&gt;&lt;span style="color: rgb(153, 51, 102);font-family:Verdana;font-size:14;"   lang="SV"&gt;]&lt;/span&gt;&lt;/span&gt;&lt;span style="color: rgb(153, 51, 102);font-family:Verdana;font-size:14;"   lang="SV"&gt; &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span class="msgexplankw1"&gt;&lt;span style="color: rgb(153, 51, 102);font-family:Verdana;"  lang="EN"&gt;Cause:&lt;/span&gt;&lt;/span&gt;&lt;span style=";font-family:Verdana;color:black;"   lang="EN"&gt; This is the generic internal error number for Oracle program exceptions. This indicates that a process has encountered an exceptional condition.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span class="msgactionkw1"&gt;&lt;span style="color: rgb(153, 51, 102);font-family:Verdana;"  lang="EN"&gt;Action:&lt;/span&gt;&lt;/span&gt;&lt;span style=";font-family:Verdana;color:black;"   lang="EN"&gt; Report as a bug - the first argument is the internal error number&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;h3&gt;&lt;span style="color: rgb(153, 51, 102);font-family:Verdana;" &gt;Most of the Oracle database administrators&lt;span style=""&gt;  &lt;/span&gt;face the&lt;span style=""&gt;  &lt;/span&gt;ORA-00600 Internal Error &lt;span style=""&gt; &lt;/span&gt;one or other time and it is very intricate resolving &lt;span style=""&gt; &lt;/span&gt;this error.&lt;span style=""&gt;  &lt;/span&gt;So what is this ORA-600 error anyway? &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/h3&gt;  &lt;p&gt;&lt;span style="font-family:Verdana;"&gt;ORA-600 errors are raised from the kernel code of the Oracle RDBMS software when an internal inconsistency is detected or an unexpected condition is met. This situation is not necessarily a bug as it might be caused by problems with the Operating System, lack of resources, hardware failures, etc. &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p&gt;&lt;span style="font-family:Verdana;"&gt;With the ORA-600 error comes a list of arguments in square brackets. The first of these arguments tells us from where in the code the error was caught and thus is the key information in identifying the problem. This argument is either a number or a character string. The remaining arguments are used to supply further information eg. values of internal variables etc. &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p&gt;&lt;span style="font-family:Verdana;"&gt;Whenever an ORA-600 error is raised a trace file is generated in either USER_DUMP_DEST or BACKGROUND_DUMP_DEST depending on whether the error was caught in a user or a background process. The error is also written in the alert log and so is the name of the trace file. The trace file contains vital information about what led to the error condition. &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style="" lang="EN"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;b style=""&gt;&lt;span style="color: rgb(153, 51, 102);font-family:Verdana;" &gt;&lt;span style="font-size:130%;"&gt;The following are&lt;span style=""&gt;  &lt;/span&gt;some in depth details about the ORA-00600 Oracle error&lt;/span&gt; &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;  &lt;pre&gt;&lt;span  lang="PT-BR" style="font-family:Courier;"&gt;Error:&lt;span style=""&gt;  &lt;/span&gt;ORA 600&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;&lt;span  lang="PT-BR" style="font-family:Courier;"&gt;Text:&lt;span style=""&gt;   &lt;/span&gt;internal error code, arguments: [%s], [%s], [%s], [%s], [%s], [%s], [%s]&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;&lt;span style="font-family:Courier;"&gt;-------------------------------------------------------------------------------&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;&lt;span style="font-family:Courier;"&gt;Cause:&lt;span style=""&gt;  &lt;/span&gt;This is the generic internal error number for Oracle program&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;&lt;span style="font-family:Courier;"&gt;&lt;span style=""&gt;        &lt;/span&gt;exceptions.&lt;span style=""&gt;    &lt;/span&gt;This indicates that a process has encountered an&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;&lt;span style="font-family:Courier;"&gt;&lt;span style=""&gt;        &lt;/span&gt;exceptional condition.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;&lt;span style="font-family:Courier;"&gt;Action: Report as a bug - the first argument is the internal error number&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;&lt;span style="font-family:Courier;"&gt; &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;&lt;span style="font-family:Courier;"&gt;*** Important: The notes below are for experienced users - See &lt;a href="https://metalink.oracle.com/metalink/plsql/showdoc?db=NOT&amp;amp;id=22080.1&amp;amp;blackframe=1"&gt;Note 22080.1&lt;/a&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;&lt;span style="font-family:Courier;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;&lt;span style="font-family:Courier;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;&lt;span style="font-family:Courier;"&gt;Explanation:&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;&lt;span style="font-family:Courier;"&gt;&lt;span style=""&gt;        &lt;/span&gt;Any ORA-600 error indicates Oracle has detected an internal &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;&lt;span style="font-family:Courier;"&gt;&lt;span style=""&gt;        &lt;/span&gt;inconsistency or a problem which it doesnt know how best to &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;&lt;span style="font-family:Courier;"&gt;&lt;span style=""&gt;        &lt;/span&gt;address. These are *NOT* necessarily bugs and can occur for&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;&lt;span style="font-family:Courier;"&gt;&lt;span style=""&gt;        &lt;/span&gt;reasons such as Operating System IO problems, running out of some&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;&lt;span style="font-family:Courier;"&gt;&lt;span style=""&gt;  &lt;/span&gt;&lt;span style=""&gt;      &lt;/span&gt;resource etc..&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;&lt;span style="font-family:Courier;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;&lt;span style="font-family:Courier;"&gt;Diagnosis:&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;&lt;span style="font-family:Courier;"&gt;&lt;span style=""&gt;        &lt;/span&gt;Oracle support need more information to determine what caused the&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;&lt;span style="font-family:Courier;"&gt;&lt;span style=""&gt;        &lt;/span&gt;error. The most useful items are:&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;&lt;span style="font-family:Courier;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;&lt;span style="font-family:Courier;"&gt;&lt;span style=""&gt;        &lt;/span&gt;a) The alert log for the instance (and any other instances in&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;&lt;span style="font-family:Courier;"&gt;&lt;span style=""&gt;           &lt;/span&gt;a Parallel Server environment) &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;&lt;span style="font-family:Courier;"&gt;&lt;span style=""&gt;           &lt;/span&gt;These should be in BACKGROUND_DUMP_DEST.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;&lt;span style="font-family:Courier;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;&lt;span style="font-family:Courier;"&gt;&lt;span style=""&gt;        &lt;/span&gt;b) The trace file for the failing session and any other&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;&lt;span style="font-family:Courier;"&gt;&lt;span style=""&gt;           &lt;/span&gt;relevant trace files.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;&lt;span style="font-family:Courier;"&gt; &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;&lt;span style="font-family:Courier;"&gt;&lt;span style=""&gt;        &lt;/span&gt;c) Information on what action was being performed.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;&lt;span style="font-family:Courier;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;&lt;span style="font-family:Courier;"&gt;&lt;span style=""&gt;        &lt;/span&gt;d) Whether the problem is reproducible or was a one off&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;&lt;span style="font-family:Courier;"&gt;&lt;span style=""&gt;           &lt;/span&gt;occurance.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;&lt;span style="font-family:Courier;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;&lt;span style="font-family:Courier;"&gt;&lt;span style=""&gt;        &lt;/span&gt;e) Anything that has recently been changed in the system&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;&lt;span style="font-family:Courier;"&gt;&lt;span style=""&gt;           &lt;/span&gt;environment. Eg: Has the OS been upgraded, Have any &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;&lt;span style="font-family:Courier;"&gt;&lt;span style=""&gt;           &lt;/span&gt;database files just been restored, etc...&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;&lt;span style="font-family:Courier;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;&lt;span style="font-family:Courier;"&gt;Articles:&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;&lt;span style="font-family:Courier;"&gt;&lt;span style=""&gt;        &lt;/span&gt;What information to collect for ORA 600&lt;span style=""&gt;              &lt;/span&gt;&lt;span style=""&gt;      &lt;/span&gt;&lt;bul:105787.757&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/bul:105787.757&gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;&lt;span style="font-family:Courier;"&gt;&lt;span style=""&gt;        &lt;/span&gt;ORA-600/ORA-7445 Troubleshooter&lt;span style=""&gt;   &lt;/span&gt;&lt;a href="https://metalink.oracle.com/metalink/plsql/showdoc?db=NOT&amp;amp;id=153788.1&amp;amp;blackframe=1"&gt;Note 153788.1&lt;/a&gt;&lt;/span&gt;&lt;/pre&gt;  &lt;p class="MsoNormal"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;  &lt;h3&gt;&lt;span style="color: rgb(153, 51, 102);font-family:Verdana;" &gt;Where can you find more information about the ORA-600 error?&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/h3&gt;  &lt;p class="MsoNormal"&gt;&lt;span style="font-family:Verdana;"&gt;You can find further information on ORA-600 errors using MetaLink Search or by accessing the Oracle Internal Errors Technical Library (select "Top Tech Docs" in the main menu, locate the "Data Server" section. Here you will find the library dealing with Internal Errors).&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style="font-family:Verdana;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;h3&gt;&lt;span style="color: rgb(153, 51, 102);font-family:Verdana;" &gt;Now you know&lt;span style=""&gt;  &lt;/span&gt;this ORA-00600 error is more complex than any other Oracle error, so how to deal with these ORA-600 Internal Errors?&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/h3&gt;  &lt;p&gt;&lt;span style="font-family:Verdana;"&gt;Unless you are able to identify the cause and possible fix for an ORA-600 error using the references mentioned below, it should be considered as a potentially serious issue and reported to Oracle Support for identification. &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p&gt;&lt;span style="font-family:Verdana;"&gt;As mentioned in &lt;a href="https://metalink.oracle.com/metalink/plsql/showdoc?db=NOT&amp;amp;id=146580.1&amp;amp;blackframe=1"&gt;Note 146580.1&lt;/a&gt; every ORA-600 error will generate a trace file. The name and location of the trace file is also written to the alert.log. To help Oracle Support determine what caused the ORA-600 you should open a TAR and supply the following information: &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;ol start="1" type="1"&gt;&lt;li class="MsoNormal" style=""&gt;&lt;span style="font-family:Verdana;"&gt;The database alert log located in BACKGROUND_DUMP_DEST (for      Oracle Real Application Clusters supply the alert log for all instances in      the environment). &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class="MsoNormal" style=""&gt;&lt;span style="font-family:Verdana;"&gt;The trace file mentioned in the alert log. &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/li&gt;&lt;ul type="circle"&gt;&lt;li class="MsoNormal" style=""&gt;&lt;span style="font-family:Verdana;"&gt;In case of multiple occurrences of the same       ORA-600 error (ie. identical first arguments) you should only supply the       first 2 or 3 trace files but do not delete any of the remaining traces as       they might be required at a later stage. &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class="MsoNormal" style=""&gt;&lt;span style="font-family:Verdana;"&gt;In case of multiple different ORA-600 errors       you should only supply the trace file from the first error. Oracle       Support will request any other file that may be needed. &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;li class="MsoNormal" style=""&gt;&lt;span style="font-family:Verdana;"&gt;Recent changes to the system environment, eg. hardware      modifications, operating system upgrades, restore of datafiles, power      failures, etc. &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class="MsoNormal" style=""&gt;&lt;span style="font-family:Verdana;"&gt;Use RDA (Remote Diagnostic Agent) to collect important      information:&lt;br /&gt;   &lt;a href="https://metalink.oracle.com/metalink/plsql/showdoc?db=NOT&amp;amp;id=314422.1&amp;amp;blackframe=1"&gt;Note      314422.1&lt;/a&gt; "Remote Diagnostic Agent (RDA) 4.0 - Overview" &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/li&gt;&lt;/ol&gt;  &lt;p class="MsoNormal"&gt;&lt;span style="font-family:Verdana;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style="font-family:Verdana;"&gt;The following is partial list of&lt;span style=""&gt;  &lt;/span&gt;the&lt;span style=""&gt;  &lt;/span&gt;ORA-00600&lt;span style=""&gt;  &lt;/span&gt;known bugs and issues.&lt;span style=""&gt;   &lt;/span&gt;You can find&lt;span style=""&gt;  &lt;/span&gt;complete list and details about these bugs&lt;span style=""&gt;  &lt;/span&gt;at Oracle Metalink. &lt;span style=""&gt; &lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style="font-family:Verdana;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;b style=""&gt;&lt;span style="color: rgb(153, 51, 102);font-family:Verdana;" &gt;Partial list of ORA-00600 known bugs and issues:&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;  &lt;ol start="1" type="1"&gt;&lt;li class="MsoNormal" style=""&gt;&lt;span style="font-family:Verdana;"&gt;An Oracle ORA-00600 [729] :  indicates a memory leak in the      UGA. Setting diagnostic events 10262 ignores this error, that is, no      ORA-00600 is produced even if a memory leak is detected. &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class="MsoNormal" style=""&gt;&lt;span style="font-family:Verdana;"&gt;ORA-00600 [16365] :  indicates a Half Duplex Violation.      Shared servers and dispatchers cannot both be writing to the same virtual      curcuit at the same time because they communicate with a half-duplex      protocol (TTC protocol). &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class="MsoNormal" style=""&gt;&lt;span style="font-family:Verdana;"&gt;ORA-00600 [kghpih:ds] :  and ORA-00600 [17175] may occur in      oracle 9.2.0.6 when two processes work on the same library cache object.      fixed in oracle 9.2.0.7.. Note:300604.1&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class="MsoNormal" style=""&gt;&lt;span style="font-family:Verdana;"&gt;An Oracle ORA-00600 [3020]  : Bug.2322620 - RECOVERY HALTED      ON PHYSICAL STANDBY WITH ORA-600 AND ORA-10564         Details:                   ORA-600 [3020] can occur on recovery of LOB data.Fixed in      8.1.7.5    PAtch available. &lt;em&gt;&lt;span style="font-family:Verdana;"&gt;This error  occurred on our database recovery on the primary      server.&lt;/span&gt;&lt;/em&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class="MsoNormal" style=""&gt;&lt;span style="font-family:Verdana;"&gt;ora-00600 [12333] : Most probably a network error that may have      caused bad data to be received or the client application may have sent the      wrong data in the network buffer. &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class="MsoNormal" style=""&gt;&lt;span style="font-family:Verdana;"&gt;Oracle ORA-00600 [12700] : Indicates corruption in index, table      or the mapping between them. Upon this discovery, oracle marks the whole      block as corrupt and users will not have normal access to the data from      the corrupted block. This can also break referntial integrity and should      be referred to oracle.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class="MsoNormal" style=""&gt;&lt;span style="font-family:Verdana;"&gt;ORA-00600 [lxhcsn] : Shutdown may dump ORA-7445. Known Bug      2311529&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/li&gt;&lt;/ol&gt;  &lt;p class="MsoNormal"&gt;&lt;span style="font-family:Verdana;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style="font-family:Verdana;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;b style=""&gt;&lt;span style="color: rgb(153, 51, 102);font-family:Verdana;" &gt;Conclusion:&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style="font-family:Verdana;"&gt;In many cases &lt;span style=""&gt; &lt;/span&gt;ORA-00600 error indicates an existing corruption in the oracle &lt;span style=""&gt; &lt;/span&gt;database OR &lt;span style=""&gt; &lt;/span&gt;it can be a indication of events leading to data or database corruption. &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style="font-family:Verdana;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;strong&gt;&lt;span style="color: rgb(153, 51, 102);font-family:Verdana;" &gt;Oracle database administrators should take an ORA-00600 error very seriously, and&lt;span style=""&gt;  &lt;/span&gt;check any known fixes available in the Oracle MetlaLink and raise tars if no known fixes &lt;span style=""&gt; &lt;/span&gt;and work with oracle support to resolve the ORA-600 issue.&lt;/span&gt;&lt;/strong&gt;&lt;span style="font-family:Verdana;"&gt; &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style="font-family:Verdana;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style="color: rgb(153, 51, 102);font-family:Verdana;" &gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style="font-family:Verdana;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;strong&gt;&lt;span style="color: rgb(153, 51, 102);font-family:Verdana;" &gt;&lt;/span&gt;&lt;/strong&gt;&lt;span style="font-family:Verdana;"&gt; &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1556135669515651935-2346432064867331660?l=oracle-error.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://oracle-error.blogspot.com/' title='ORA-00600: internal error code arguments:'/><link rel='replies' type='application/atom+xml' href='http://oracle-error.blogspot.com/feeds/2346432064867331660/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1556135669515651935&amp;postID=2346432064867331660&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1556135669515651935/posts/default/2346432064867331660'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1556135669515651935/posts/default/2346432064867331660'/><link rel='alternate' type='text/html' href='http://oracle-error.blogspot.com/2008/04/ora-00600-internal-error-code-arguments.html' title='ORA-00600: internal error code arguments:'/><author><name>Mendus</name><uri>http://www.blogger.com/profile/15926700298623471526</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1556135669515651935.post-7631707411653247733</id><published>2008-04-22T00:53:00.009-04:00</published><updated>2008-04-22T01:56:42.238-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='ORA-12154 ERROR'/><category scheme='http://www.blogger.com/atom/ns#' term='TNS ERROR'/><category scheme='http://www.blogger.com/atom/ns#' term='LDAP'/><category scheme='http://www.blogger.com/atom/ns#' term='ORA-12154: TNS'/><category scheme='http://www.blogger.com/atom/ns#' term='tnsnames'/><category scheme='http://www.blogger.com/atom/ns#' term='SQLNET'/><category scheme='http://www.blogger.com/atom/ns#' term='ORA-12154'/><category scheme='http://www.blogger.com/atom/ns#' term='ORA ERROR'/><category scheme='http://www.blogger.com/atom/ns#' term='12154'/><category scheme='http://www.blogger.com/atom/ns#' term='tns'/><category scheme='http://www.blogger.com/atom/ns#' term='Oracle error'/><title type='text'>ORA-12154: TNS:could not resolve the connect identifier specified - Oracle Error</title><content type='html'>&lt;p&gt;&lt;a name="sthref3277"&gt;&lt;/a&gt;&lt;a name="ORA-12154"&gt;&lt;/a&gt;&lt;span style="font-weight: bold;font-size:130%;" &gt;&lt;span class="msg1"&gt;&lt;span style=";font-family:Verdana;font-size:11;color:black;"   lang="EN" &gt;ORA-12154:&lt;/span&gt;&lt;span style="font-weight: normal;font-family:Verdana;font-size:11;color:black;"   lang="EN" &gt; &lt;span style="font-weight: bold;"&gt;TNS:could not resolve the connect identifier specified - &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-weight: bold;font-size:130%;" &gt;&lt;span class="msg1"&gt;&lt;span style=";font-family:Verdana;font-size:11;color:black;"   lang="EN" &gt;ORA-12154 Error/&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-weight: bold;font-size:130%;" &gt;&lt;span class="msg1"&gt;&lt;span style="font-weight: normal;font-family:Verdana;font-size:11;color:black;"   lang="EN" &gt;&lt;span style="font-weight: bold;"&gt; Oracle Error&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=";font-family:Verdana;font-size:11;color:black;"   lang="EN" &gt; &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p&gt;&lt;span style="font-weight: bold;" class="msgexplankw1"&gt;&lt;span style=";font-family:Verdana;font-size:11;color:black;"   lang="EN" &gt;Cause:&lt;/span&gt;&lt;/span&gt;&lt;span style=";font-family:Verdana;font-size:11;color:black;"   lang="EN" &gt; A connection to a database or other service was requested using a connect identifier, and the connect identifier specified could not be resolved into a connect descriptor using one of the naming methods configured. For example, if the type of connect identifier used was a net service name then the net service name could not be found in a naming method repository, or the repository could not be located or reached.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p&gt;&lt;span style="font-weight: bold;" class="msgactionkw1"&gt;&lt;span style=";font-family:Verdana;font-size:11;color:black;"   lang="EN" &gt;Action:&lt;/span&gt;&lt;/span&gt;&lt;span style=";font-family:Verdana;font-size:11;color:black;"   lang="EN" &gt; &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style="margin-left: 0.25in; text-indent: -0.25in;"&gt;&lt;!--[if !supportLists]--&gt;&lt;span style=";font-family:Verdana;font-size:11;color:black;"   lang="EN" &gt;&lt;span style=""&gt;-&lt;span style=""&gt;         &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span style=";font-family:Verdana;font-size:11;color:black;"   lang="EN" &gt;If you are using local naming (TNSNAMES.ORA file):&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style="margin-left: 0.75in; text-indent: -0.25in;"&gt;&lt;!--[if !supportLists]--&gt;&lt;span style="" lang="EN"&gt;&lt;span style=""&gt;o&lt;span style=""&gt;        &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span style=";font-family:Verdana;font-size:11;color:black;"   lang="EN" &gt;Make sure that "TNSNAMES" is listed as one of the values of the NAMES.DIRECTORY_PATH parameter in the Oracle Net profile (SQLNET.ORA)&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style="margin-left: 0.75in; text-indent: -0.25in;"&gt;&lt;!--[if !supportLists]--&gt;&lt;span style="" lang="EN"&gt;&lt;span style=""&gt;o&lt;span style=""&gt;        &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span style=";font-family:Verdana;font-size:11;color:black;"   lang="EN" &gt;Verify that a TNSNAMES.ORA file exists and is in the proper directory and is accessible.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style="margin-left: 0.75in; text-indent: -0.25in;"&gt;&lt;!--[if !supportLists]--&gt;&lt;span style="" lang="EN"&gt;&lt;span style=""&gt;o&lt;span style=""&gt;        &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span style=";font-family:Verdana;font-size:11;color:black;"   lang="EN" &gt;Check that the net service name used as the connect identifier exists in the TNSNAMES.ORA file.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style="margin-left: 0.75in; text-indent: -0.25in;"&gt;&lt;!--[if !supportLists]--&gt;&lt;span style="" lang="EN"&gt;&lt;span style=""&gt;o&lt;span style=""&gt;        &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span style=";font-family:Verdana;font-size:11;color:black;"   lang="EN" &gt;Make sure there are no syntax errors anywhere in the TNSNAMES.ORA file. Look for unmatched parentheses or stray characters. Errors in a TNSNAMES.ORA file may make it unusable.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style="margin-left: 0.25in; text-indent: -0.25in;"&gt;&lt;!--[if !supportLists]--&gt;&lt;span style=";font-family:Verdana;font-size:11;color:black;"   lang="EN" &gt;&lt;span style=""&gt;-&lt;span style=""&gt;         &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span style=";font-family:Verdana;font-size:11;color:black;"   lang="EN" &gt;If you are using directory naming:&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style="margin-left: 0.75in; text-indent: -0.25in;"&gt;&lt;!--[if !supportLists]--&gt;&lt;span style="" lang="EN"&gt;&lt;span style=""&gt;o&lt;span style=""&gt;        &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span style=";font-family:Verdana;font-size:11;color:black;"   lang="EN" &gt;Verify that "LDAP" is listed as one of the values of the NAMES.DIRETORY_PATH parameter in the Oracle Net profile (SQLNET.ORA).&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style="margin-left: 0.75in; text-indent: -0.25in;"&gt;&lt;!--[if !supportLists]--&gt;&lt;span style="" lang="EN"&gt;&lt;span style=""&gt;o&lt;span style=""&gt;        &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span style=";font-family:Verdana;font-size:11;color:black;"   lang="EN" &gt;Verify that the LDAP directory server is up and that it is accessible.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style="margin-left: 0.75in; text-indent: -0.25in;"&gt;&lt;!--[if !supportLists]--&gt;&lt;span style="" lang="EN"&gt;&lt;span style=""&gt;o&lt;span style=""&gt;        &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span style=";font-family:Verdana;font-size:11;color:black;"   lang="EN" &gt;Verify that the net service name or database name used as the connect identifier is configured in the directory.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style="margin-left: 0.75in; text-indent: -0.25in;"&gt;&lt;!--[if !supportLists]--&gt;&lt;span style="" lang="EN"&gt;&lt;span style=""&gt;o&lt;span style=""&gt;        &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span style=";font-family:Verdana;font-size:11;color:black;"   lang="EN" &gt;Verify that the default context being used is correct by specifying a fully qualified net service name or a full LDAP DN as the connect identifier&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style="margin-left: 0.25in; text-indent: -0.25in;"&gt;&lt;!--[if !supportLists]--&gt;&lt;span style=";font-family:Verdana;font-size:11;color:black;"   lang="EN" &gt;&lt;span style=""&gt;-&lt;span style=""&gt;         &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span style=";font-family:Verdana;font-size:11;color:black;"   lang="EN" &gt;If you are using easy connect naming:&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style="margin-left: 0.75in; text-indent: -0.25in;"&gt;&lt;!--[if !supportLists]--&gt;&lt;span style="" lang="EN"&gt;&lt;span style=""&gt;o&lt;span style=""&gt;        &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span style=";font-family:Verdana;font-size:11;color:black;"   lang="EN" &gt;Verify that "EZCONNECT" is listed as one of the values of the NAMES.DIRETORY_PATH parameter in the Oracle Net profile (SQLNET.ORA).&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style="margin-left: 0.75in; text-indent: -0.25in;"&gt;&lt;!--[if !supportLists]--&gt;&lt;span style="" lang="EN"&gt;&lt;span style=""&gt;o&lt;span style=""&gt;        &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span style=";font-family:Verdana;font-size:11;color:black;"   lang="EN" &gt;Make sure the host, port and service name specified are correct.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style="margin-left: 0.75in; text-indent: -0.25in;"&gt;&lt;!--[if !supportLists]--&gt;&lt;span style="" lang="EN"&gt;&lt;span style=""&gt;o&lt;span style=""&gt;        &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span style=";font-family:Verdana;font-size:11;color:black;"   lang="EN" &gt;Try enclosing the connect identifier in quote marks. See the Oracle Net Services Administrators Guide or the Oracle operating system specific guide for more information on naming.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p&gt;&lt;a name="CEGJAGGH"&gt;&lt;/a&gt;&lt;a name="sthref1573"&gt;&lt;/a&gt;&lt;a name="sthref1574"&gt;&lt;/a&gt;&lt;span class="msg1"&gt;&lt;span style="font-weight: normal;font-family:Verdana;font-size:11;color:black;"   lang="EN" &gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p&gt;&lt;span class="msg1"&gt;&lt;span style="font-weight: normal;font-family:Verdana;font-size:11;color:black;"   lang="EN" &gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p&gt;&lt;span style=";font-family:Verdana;font-size:11;color:black;"   &gt;This Oracle error ORA-12154 is thrown during the logon process to a database. This &lt;/span&gt;&lt;span style=";font-family:Verdana;font-size:11;color:black;"   &gt;ORA-12154&lt;/span&gt;&lt;span style=";font-family:Verdana;font-size:11;color:black;"   &gt; error indicates that the communication software in Oracle ( SQL *Net ) did not recognize the host/service name specified in the connection parameters. &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p&gt;&lt;span style=";font-family:Verdana;font-size:11;color:black;"   &gt;For a database name to be recognized, it must be resolved by Oracle Client. To resolve a name, Oracle client uses either a TNSNames.ora, A Directory Server or an Oracle Names Server. &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p&gt;&lt;span class="msg1"&gt;&lt;span style="font-weight: normal;font-family:Verdana;font-size:11;color:black;"   lang="EN" &gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p&gt;&lt;span style="font-weight: bold; color: rgb(153, 0, 0);font-size:130%;" class="msg1" &gt;&lt;span style="font-weight: normal;font-family:Verdana;"  lang="EN"&gt;&lt;span style="font-weight: bold;"&gt;ORA-12154: TNS:could not resolve service name - &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-weight: bold; color: rgb(153, 0, 0);font-size:130%;" class="msg1" &gt;&lt;span style="font-weight: normal;font-family:Verdana;"  lang="EN"&gt;&lt;span style="font-weight: bold;"&gt;ORA-12154 Error / Oracle Error&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=";font-family:Verdana;font-size:11;color:black;"   lang="EN" &gt; &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p&gt;&lt;span class="msgexplankw1"&gt;&lt;span style="font-weight: normal;font-family:Verdana;font-size:11;color:black;"   lang="EN" &gt;If the cause for this Oracle error is &lt;/span&gt;&lt;/span&gt;&lt;span style=";font-family:Verdana;font-size:11;color:black;"   lang="EN" &gt;Oracle Net could not locate the net service name specified in the &lt;/span&gt;&lt;code&gt;&lt;span style=";font-family:Verdana;font-size:11;color:black;"   lang="EN" &gt;tnsnames.ora&lt;/span&gt;&lt;/code&gt;&lt;span style=";font-family:Verdana;font-size:11;color:black;"   lang="EN" &gt; configuration file the perform the following steps to resolve this ora error / tns error:&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;    &lt;p style="margin-left: 0.5in; text-indent: -0.25in;"&gt;&lt;!--[if !supportLists]--&gt;&lt;span style=";font-family:Symbol;font-size:11;color:black;"   lang="EN" &gt;&lt;span style=""&gt;·&lt;span style=""&gt;         &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span style=";font-family:Verdana;font-size:11;color:black;"   lang="EN" &gt;Verify that a &lt;/span&gt;&lt;code&gt;&lt;span style=";font-family:Verdana;font-size:11;color:black;"   lang="EN" &gt;tnsnames.ora&lt;/span&gt;&lt;/code&gt;&lt;span style=";font-family:Verdana;font-size:11;color:black;"   lang="EN" &gt; file exists.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style="margin-left: 0.5in; text-indent: -0.25in;"&gt;&lt;!--[if !supportLists]--&gt;&lt;span style=";font-family:Symbol;font-size:11;color:black;"   lang="EN" &gt;&lt;span style=""&gt;·&lt;span style=""&gt;         &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span style=";font-family:Verdana;font-size:11;color:black;"   lang="EN" &gt;Verify that there are not multiple copies of the &lt;/span&gt;&lt;code&gt;&lt;span style=";font-family:Verdana;font-size:11;color:black;"   lang="EN" &gt;tnsnames.ora&lt;/span&gt;&lt;/code&gt;&lt;span style=";font-family:Verdana;font-size:11;color:black;"   lang="EN" &gt; file.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style="margin-left: 0.5in; text-indent: -0.25in;"&gt;&lt;!--[if !supportLists]--&gt;&lt;span style=";font-family:Symbol;font-size:11;color:black;"   lang="EN" &gt;&lt;span style=""&gt;·&lt;span style=""&gt;         &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span style=";font-family:Verdana;font-size:11;color:black;"   lang="EN" &gt;In the &lt;/span&gt;&lt;code&gt;&lt;span style=";font-family:Verdana;font-size:11;color:black;"   lang="EN" &gt;tnsnames.ora&lt;/span&gt;&lt;/code&gt;&lt;span style=";font-family:Verdana;font-size:11;color:black;"   lang="EN" &gt; file, verify that the net service name specified in your connect string is mapped to a connect descriptor.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style="margin-left: 0.5in; text-indent: -0.25in;"&gt;&lt;!--[if !supportLists]--&gt;&lt;span style=";font-family:Symbol;font-size:11;color:black;"   lang="EN" &gt;&lt;span style=""&gt;·&lt;span style=""&gt;         &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span style=";font-family:Verdana;font-size:11;color:black;"   lang="EN" &gt;Verify that there are no duplicate copies of the &lt;/span&gt;&lt;code&gt;&lt;span style=";font-family:Verdana;font-size:11;color:black;"   lang="EN" &gt;sqlnet.ora&lt;/span&gt;&lt;/code&gt;&lt;span style=";font-family:Verdana;font-size:11;color:black;"   lang="EN" &gt; file.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style="margin-left: 0.5in; text-indent: -0.25in;"&gt;&lt;!--[if !supportLists]--&gt;&lt;span style=";font-family:Symbol;font-size:11;color:black;"   lang="EN" &gt;&lt;span style=""&gt;·&lt;span style=""&gt;         &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span style=";font-family:Verdana;font-size:11;color:black;"   lang="EN" &gt;If you are using domain names, verify that your &lt;/span&gt;&lt;code&gt;&lt;span style=";font-family:Verdana;font-size:11;color:black;"   lang="EN" &gt;sqlnet.ora&lt;/span&gt;&lt;/code&gt;&lt;span style=";font-family:Verdana;font-size:11;color:black;"   lang="EN" &gt; file contains a &lt;/span&gt;&lt;code&gt;&lt;span style=";font-family:Verdana;font-size:11;color:black;"   lang="EN" &gt;NAMES.DEFAULT_DOMAIN&lt;/span&gt;&lt;/code&gt;&lt;span style=";font-family:Verdana;font-size:11;color:black;"   lang="EN" &gt; parameter. If this parameter does not exist, you must specify the domain name in your connect string.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style="margin-left: 0.5in; text-indent: -0.25in;"&gt;&lt;!--[if !supportLists]--&gt;&lt;span style=";font-family:Symbol;font-size:11;color:black;"   lang="EN" &gt;&lt;span style=""&gt;·&lt;span style=""&gt;         &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span style=";font-family:Verdana;font-size:11;color:black;"   lang="EN" &gt;If you are not using domain names, and this parameter exists, delete it or disable it by commenting it out.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style="margin-left: 0.5in; text-indent: -0.25in;"&gt;&lt;!--[if !supportLists]--&gt;&lt;span style=";font-family:Symbol;font-size:11;color:black;"   lang="EN" &gt;&lt;span style=""&gt;·&lt;span style=""&gt;         &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span style=";font-family:Verdana;font-size:11;color:black;"   lang="EN" &gt;If you are connecting from a login dialog box, verify that you are not placing an "@" symbol before your connect net service name.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style="margin-left: 0.5in; text-indent: -0.25in;"&gt;&lt;!--[if !supportLists]--&gt;&lt;span style=";font-family:Symbol;font-size:11;color:black;"   lang="EN" &gt;&lt;span style=""&gt;·&lt;span style=""&gt;         &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span style=";font-family:Verdana;font-size:11;color:black;"   lang="EN" &gt;Activate client tracing and repeat the operation.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p&gt;&lt;span class="msgexplankw1"&gt;&lt;span style="font-weight: normal;font-family:Verdana;font-size:11;color:black;"   lang="EN" &gt;If the cause for the ORA-12514 Oracle error is &lt;/span&gt;&lt;/span&gt;&lt;span style=";font-family:Verdana;font-size:11;color:black;"   lang="EN" &gt;" Oracle Net could not locate the database service name or net service name specified in the directory server" then perform the following steps  for resolving this ora error or tns error:&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;    &lt;!--[if !supportLists]--&gt;  &lt;p style="margin: 0in 0in 0.0001pt 0.5in; text-indent: -0.25in;"&gt;&lt;!--[if !supportLists]--&gt;&lt;span style=";font-family:Symbol;font-size:11;color:black;"   lang="EN" &gt;&lt;span style=""&gt;·&lt;span style=""&gt;         &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span style=";font-family:Verdana;font-size:11;color:black;"   lang="EN" &gt;Verify that the database service or net service name entry exists in the directory that this computer was configured to use.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style="margin: 0in 0in 0.0001pt 0.5in; text-indent: -0.25in;"&gt;&lt;!--[if !supportLists]--&gt;&lt;span style=";font-family:Symbol;font-size:11;color:black;"   lang="EN" &gt;&lt;span style=""&gt;·&lt;span style=""&gt;         &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span style=";font-family:Verdana;font-size:11;color:black;"   lang="EN" &gt;Verify that the &lt;/span&gt;&lt;code&gt;&lt;span style=";font-family:Verdana;font-size:11;color:black;"   lang="EN" &gt;sqlnet.ora&lt;/span&gt;&lt;/code&gt;&lt;span style=";font-family:Verdana;font-size:11;color:black;"   lang="EN" &gt; file includes the following entry:&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style="margin: 0in 0in 0.0001pt 0.5in; text-indent: -0.25in; line-height: 150%;"&gt;&lt;!--[if !supportLists]--&gt;&lt;span style="line-height: 150%;font-family:Symbol;font-size:11;color:black;"   lang="EN" &gt;&lt;span style=""&gt;·&lt;span style=""&gt;         &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span style="line-height: 150%;font-family:Verdana;font-size:11;color:black;"   lang="EN" &gt;NAMES.DIRECTORY_PATH=(ldap, &lt;/span&gt;&lt;span class="italic1"&gt;&lt;span style="line-height: 150%; font-style: normal;font-family:Verdana;font-size:11;color:black;"   lang="EN" &gt;other_naming_methods&lt;/span&gt;&lt;/span&gt;&lt;span style="line-height: 150%;font-family:Verdana;font-size:11;color:black;"   lang="EN" &gt;)&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p style="margin: 0in 0in 0.0001pt 0.5in; text-indent: -0.25in; line-height: 150%;"&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style="margin: 0in 0in 0.0001pt 0.5in; text-indent: -0.25in; line-height: 150%;"&gt;&lt;br /&gt;&lt;span style="line-height: 150%;font-family:Verdana;font-size:11;color:black;"   lang="EN" &gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;span style=";font-family:Verdana;font-size:11;color:black;"   lang="EN" &gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1556135669515651935-7631707411653247733?l=oracle-error.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://oracle-error.blogspot.com' title='ORA-12154: TNS:could not resolve the connect identifier specified - Oracle Error'/><link rel='replies' type='application/atom+xml' href='http://oracle-error.blogspot.com/feeds/7631707411653247733/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1556135669515651935&amp;postID=7631707411653247733&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1556135669515651935/posts/default/7631707411653247733'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1556135669515651935/posts/default/7631707411653247733'/><link rel='alternate' type='text/html' href='http://oracle-error.blogspot.com/2008/04/ora-12154-tnscould-not-resolve-connect.html' title='ORA-12154: TNS:could not resolve the connect identifier specified - Oracle Error'/><author><name>Mendus</name><uri>http://www.blogger.com/profile/15926700298623471526</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1556135669515651935.post-2315320630668927703</id><published>2008-04-20T02:21:00.000-04:00</published><updated>2008-04-20T02:22:28.306-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='ORA-28009'/><category scheme='http://www.blogger.com/atom/ns#' term='ORA-28009: connection to sys should be as sysdba or sysoper'/><title type='text'>ORA-28009: connection to sys should be as sysdba or sysoper</title><content type='html'>&lt;p class="MsoNormal" style=""&gt;&lt;strong&gt;&lt;span style="font-family: Verdana;" lang="EN"&gt;ORA-28009: connection to sys should be as sysdba or sysoper&lt;/span&gt;&lt;/strong&gt;&lt;span style="font-family: Verdana;" lang="EN"&gt; &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;strong&gt;&lt;span style="font-family: Verdana;" lang="EN"&gt;Cause:&lt;/span&gt;&lt;/strong&gt;&lt;span style="font-family: Verdana;" lang="EN"&gt; connect sys/&lt;password&gt; is no longer a valid syntax&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;strong&gt;&lt;span style="font-family: Verdana;" lang="EN"&gt;Action:&lt;/span&gt;&lt;/strong&gt;&lt;span style="font-family: Verdana;" lang="EN"&gt; Try connect sys/&lt;password&gt; as sysdba or connect sys/&lt;password&gt; as sysoper&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-family: Verdana;" lang="EN"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;b&gt;&lt;span style="font-size: 11pt; font-family: Verdana; color: rgb(37, 81, 145);"&gt;ORA-28009: "connection to sys should be as sysdba or sysoper": &lt;/span&gt;&lt;/b&gt;&lt;span style="font-size: 11pt; font-family: Verdana; color: black;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 11pt; font-family: Verdana; color: black;"&gt;This occurs from Oracle 9i onwards if you try to connect as user SYS just by specifying username/password. &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 11pt; font-family: Verdana; color: black;"&gt;Instead you must connect 'as sysdba': &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 11pt; font-family: Verdana; color: black;"&gt;sqlplus "sys/sys@&lt;i&gt;tnsname&lt;/i&gt;.world as sysdba"&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 11pt; font-family: Verdana; color: black;"&gt;Note the quotes if it's on a Unix command line, which are necessary to ensure that the connection string is all one argument. &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1556135669515651935-2315320630668927703?l=oracle-error.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://oracle-error.blogspot.com/' title='ORA-28009: connection to sys should be as sysdba or sysoper'/><link rel='replies' type='application/atom+xml' href='http://oracle-error.blogspot.com/feeds/2315320630668927703/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1556135669515651935&amp;postID=2315320630668927703&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1556135669515651935/posts/default/2315320630668927703'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1556135669515651935/posts/default/2315320630668927703'/><link rel='alternate' type='text/html' href='http://oracle-error.blogspot.com/2008/04/ora-28009-connection-to-sys-should-be.html' title='ORA-28009: connection to sys should be as sysdba or sysoper'/><author><name>Mendus</name><uri>http://www.blogger.com/profile/15926700298623471526</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1556135669515651935.post-2761372154275597020</id><published>2008-04-20T02:18:00.001-04:00</published><updated>2008-04-20T02:19:59.987-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='ORA-21000'/><category scheme='http://www.blogger.com/atom/ns#' term='ORA-21000:error number argument to raise_application_error out of range'/><title type='text'>ORA-21000:error number argument to raise_application_error  is out of range</title><content type='html'>&lt;p class="MsoNormal"&gt;&lt;b&gt;&lt;span style="font-family: Verdana;"&gt;ORA-21000:&lt;/span&gt;&lt;/b&gt;&lt;span style="font-family: Verdana;"&gt;error number argument to raise_application_error of &lt;i&gt;stringstring&lt;/i&gt; is out of range&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;b&gt;&lt;span style="font-family: Verdana;"&gt;Cause:&lt;/span&gt;&lt;/b&gt;&lt;span style="font-family: Verdana;"&gt;An attempt was made to specify a number not in the allowed range.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;b&gt;&lt;span style="font-family: Verdana;"&gt;Action:&lt;/span&gt;&lt;/b&gt;&lt;span style="font-family: Verdana;"&gt;Use an error number in the range of -20000 to -20999, inclusive.&lt;/span&gt;&lt;b&gt;&lt;span style="font-size: 10pt; font-family: Verdana; color: rgb(37, 81, 145);"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;b&gt;&lt;span style="font-size: 10pt; font-family: Verdana; color: rgb(37, 81, 145);"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;b&gt;&lt;span style="font-family: Verdana; color: rgb(37, 81, 145);"&gt;ORA-21000: "error number argument to raise_application_error of 0 is out of range": &lt;/span&gt;&lt;/b&gt;&lt;span style="font-family: Verdana; color: black;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-family: Verdana; color: black;"&gt;The PL/SQL RAISE_APPLICATION_ERROR procedure has been called with an error code of 0. The only valid error codes are 20000 to 20099. &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-family: Verdana; color: black;"&gt;The usualy cause for a value of 0 being used is that a program has failed to set amn error variable correctly, e.g. it has called an exception but not set the variable. &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1556135669515651935-2761372154275597020?l=oracle-error.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://oracle-error.blogspot.com/' title='ORA-21000:error number argument to raise_application_error  is out of range'/><link rel='replies' type='application/atom+xml' href='http://oracle-error.blogspot.com/feeds/2761372154275597020/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1556135669515651935&amp;postID=2761372154275597020&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1556135669515651935/posts/default/2761372154275597020'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1556135669515651935/posts/default/2761372154275597020'/><link rel='alternate' type='text/html' href='http://oracle-error.blogspot.com/2008/04/ora-21000error-number-argument-to.html' title='ORA-21000:error number argument to raise_application_error  is out of range'/><author><name>Mendus</name><uri>http://www.blogger.com/profile/15926700298623471526</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1556135669515651935.post-6236584396177827024</id><published>2008-04-20T02:14:00.000-04:00</published><updated>2008-04-20T02:17:11.843-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='PLS-00222: no function with name exists'/><category scheme='http://www.blogger.com/atom/ns#' term='PLS-00222'/><title type='text'>PLS-00222: no function with name exists</title><content type='html'>&lt;p class="MsoNormal"&gt;&lt;span style="font-size: 10pt; font-family: Arial; color: black;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;a name="plsql_q1"&gt;&lt;/a&gt;&lt;a name="PLS-00222"&gt;&lt;/a&gt;&lt;span style=""&gt;&lt;strong&gt;&lt;span style="font-family: Verdana;" lang="EN"&gt;PLS-00222: no function with name '&lt;/span&gt;&lt;/strong&gt;&lt;/span&gt;&lt;span style=""&gt;&lt;em&gt;&lt;b&gt;&lt;span style="font-family: Verdana;" lang="EN"&gt;string&lt;/span&gt;&lt;/b&gt;&lt;/em&gt;&lt;/span&gt;&lt;span style=""&gt;&lt;strong&gt;&lt;span style="font-family: Verdana;" lang="EN"&gt;' exists in this scope&lt;/span&gt;&lt;/strong&gt;&lt;/span&gt;&lt;span style=""&gt;&lt;span style="font-family: Verdana;" lang="EN"&gt; &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style=""&gt;&lt;strong&gt;&lt;span style="font-family: Verdana;" lang="EN"&gt;Cause:&lt;/span&gt;&lt;/strong&gt;&lt;/span&gt;&lt;span style=""&gt;&lt;span style="font-family: Verdana;" lang="EN"&gt; An identifier being referenced as a function was not declared or actually represents another object (for example, it might have been declared as a procedure).&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style=""&gt;&lt;strong&gt;&lt;span style="font-family: Verdana;" lang="EN"&gt;Action:&lt;/span&gt;&lt;/strong&gt;&lt;/span&gt;&lt;span style=""&gt;&lt;span style="font-family: Verdana;" lang="EN"&gt; Check the spelling and declaration of the identifier. Also confirm that the declaration is placed correctly in the block structure.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style=""&gt;&lt;b&gt;&lt;span style="font-size: 10pt; font-family: Verdana; color: rgb(37, 81, 145);"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style=""&gt;&lt;b&gt;&lt;span style="font-size: 11pt; font-family: Verdana; color: rgb(153, 51, 102);"&gt;PLS-00222: no function with name '&lt;i&gt;name&lt;/i&gt;' exists in this scope: &lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;span style=""&gt;&lt;/span&gt;&lt;span style="font-size: 11pt; font-family: Verdana; color: rgb(153, 51, 102);"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 11pt; font-family: Verdana; color: black;"&gt;It cannot find the 'function' specified. This may be a packaged or standalone function. &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 11pt; font-family: Verdana; color: black;"&gt;If the routine is spelt correctly then the clue to the problem may be the word 'function' in the error message. It is looking for a function as opposed to a procedure. Perhaps it is really a procedure but has been mis-called, i.e. with a return variable. &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Arial; color: black;"&gt; &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1556135669515651935-6236584396177827024?l=oracle-error.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://oracle-error.blogspot.com/' title='PLS-00222: no function with name exists'/><link rel='replies' type='application/atom+xml' href='http://oracle-error.blogspot.com/feeds/6236584396177827024/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1556135669515651935&amp;postID=6236584396177827024&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1556135669515651935/posts/default/6236584396177827024'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1556135669515651935/posts/default/6236584396177827024'/><link rel='alternate' type='text/html' href='http://oracle-error.blogspot.com/2008/04/pls-00222-no-function-with-name-exists.html' title='PLS-00222: no function with name exists'/><author><name>Mendus</name><uri>http://www.blogger.com/profile/15926700298623471526</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1556135669515651935.post-8775063004675604016</id><published>2008-04-20T02:11:00.001-04:00</published><updated>2008-04-20T02:13:50.110-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='ORA-04030: out of process memory when trying to allocate'/><category scheme='http://www.blogger.com/atom/ns#' term='ORA-04030'/><title type='text'>ORA-04030: out of process memory when trying to allocate string bytes</title><content type='html'>&lt;p class="MsoNormal"&gt;&lt;a name="app_q4"&gt;&lt;strong&gt;&lt;span style="" lang="EN"&gt;ORA-04030: out of process memory when trying to allocate &lt;/span&gt;&lt;/strong&gt;&lt;/a&gt;&lt;span style=""&gt;&lt;em&gt;&lt;b&gt;&lt;span style="" lang="EN"&gt;string&lt;/span&gt;&lt;/b&gt;&lt;/em&gt;&lt;/span&gt;&lt;span style=""&gt;&lt;strong&gt;&lt;span style="" lang="EN"&gt; bytes (&lt;/span&gt;&lt;/strong&gt;&lt;/span&gt;&lt;span style=""&gt;&lt;em&gt;&lt;b&gt;&lt;span style="" lang="EN"&gt;string&lt;/span&gt;&lt;/b&gt;&lt;/em&gt;&lt;/span&gt;&lt;span style=""&gt;&lt;strong&gt;&lt;span style="" lang="EN"&gt;,&lt;/span&gt;&lt;/strong&gt;&lt;/span&gt;&lt;span style=""&gt;&lt;em&gt;&lt;b&gt;&lt;span style="" lang="EN"&gt;string&lt;/span&gt;&lt;/b&gt;&lt;/em&gt;&lt;/span&gt;&lt;span style=""&gt;&lt;strong&gt;&lt;span style="" lang="EN"&gt;)&lt;/span&gt;&lt;/strong&gt;&lt;/span&gt;&lt;span style=""&gt;&lt;span style="" lang="EN"&gt; &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style=""&gt;&lt;strong&gt;&lt;span style="" lang="EN"&gt;Cause:&lt;/span&gt;&lt;/strong&gt;&lt;/span&gt;&lt;span style=""&gt;&lt;span style="" lang="EN"&gt; Operating system process private memory has been exhausted&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style=""&gt;&lt;strong&gt;&lt;span style="" lang="EN"&gt;Action:&lt;/span&gt;&lt;/strong&gt;&lt;/span&gt;&lt;span style=""&gt;&lt;span style="" lang="EN"&gt; none&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;    &lt;p class="MsoNormal"&gt;&lt;span style=""&gt;&lt;b&gt;&lt;span style="font-size: 10pt; font-family: Arial; color: rgb(37, 81, 145);"&gt;&lt;o:p&gt;  &lt;br /&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style="font-family: verdana;" class="MsoNormal"&gt;&lt;span style=""&gt;&lt;b&gt;&lt;span style="font-size: 10pt; color: rgb(153, 51, 102);"&gt;ORA-04030: "out of process memory when trying to allocate %s bytes (%s,%s)": &lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;span style=""&gt;&lt;/span&gt;&lt;span style="font-size: 10pt; color: rgb(153, 51, 102);"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="font-family: verdana;"&gt;&lt;span style="font-size: 10pt; color: black;"&gt;The operating system's process private memory has been exhausted and a "malloc" function has failed. The database administrator or operating system administrator can often resolve this by increasing the process memory quota. (O/S specific parameters: maxdsiz, maxtsiz, maxssiz, maxdsiz64, maxtsiz64, maxssiz64 and "max_per_proc_data_size", "max_per_proc_address_space", "max_per_proc_stack_size" ) &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="font-family: verdana;"&gt;&lt;span style="font-size: 10pt; color: black;"&gt;The user resource limit (ulimit) may be the problem. You could try setting it to unlimited for memory. &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="font-family: verdana;"&gt;&lt;span style="font-size: 10pt; color: black;"&gt;There may be a bug in the application that causes excessive allocations of process memory space, typically because it is not freeing up the space, such as opening cursors but not closing them. &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="font-family: verdana;"&gt;&lt;span style="font-size: 10pt; color: black;"&gt;It is important that the full error message is available. The part in the parenthisis will tell more about the memory structure that was having problems. &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="font-family: verdana;"&gt;&lt;span style="font-size: 10pt; color: black;"&gt;As a workaround you can try calling dbms_session.free_unused_user_memory at key points in code. This releases the unused session memory. &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Arial; color: black;"&gt;&lt;span style="font-family: verdana;"&gt;You can set event="4030 trace name errorstack level 10" in the init.ora to generate a trace file when you reproduce this problem&lt;/span&gt;. &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1556135669515651935-8775063004675604016?l=oracle-error.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://oracle-error.blogspot.com/' title='ORA-04030: out of process memory when trying to allocate string bytes'/><link rel='replies' type='application/atom+xml' href='http://oracle-error.blogspot.com/feeds/8775063004675604016/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1556135669515651935&amp;postID=8775063004675604016&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1556135669515651935/posts/default/8775063004675604016'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1556135669515651935/posts/default/8775063004675604016'/><link rel='alternate' type='text/html' href='http://oracle-error.blogspot.com/2008/04/ora-04030-out-of-process-memory-when.html' title='ORA-04030: out of process memory when trying to allocate string bytes'/><author><name>Mendus</name><uri>http://www.blogger.com/profile/15926700298623471526</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1556135669515651935.post-1218281288092551632</id><published>2008-04-20T02:05:00.003-04:00</published><updated>2009-08-28T23:19:43.760-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='ORA-04031: unable to allocate string bytes of shared memory'/><category scheme='http://www.blogger.com/atom/ns#' term='ORA-04031'/><title type='text'>ORA-04031: unable to allocate string bytes of shared memory</title><content type='html'>&lt;p class="MsoNormal"&gt;&lt;a name="dba_q2"&gt;&lt;strong&gt;&lt;span  lang="EN" style="font-family:Verdana;"&gt;ORA-04031: unable to allocate &lt;/span&gt;&lt;/strong&gt;&lt;/a&gt;&lt;span style=""&gt;&lt;em&gt;&lt;b&gt;&lt;span  lang="EN" style="font-family:Verdana;"&gt;string&lt;/span&gt;&lt;/b&gt;&lt;/em&gt;&lt;/span&gt;&lt;span style=""&gt;&lt;strong&gt;&lt;span  lang="EN" style="font-family:Verdana;"&gt; bytes of shared memory ("&lt;/span&gt;&lt;/strong&gt;&lt;/span&gt;&lt;span style=""&gt;&lt;em&gt;&lt;b&gt;&lt;span  lang="EN" style="font-family:Verdana;"&gt;string&lt;/span&gt;&lt;/b&gt;&lt;/em&gt;&lt;/span&gt;&lt;span style=""&gt;&lt;strong&gt;&lt;span  lang="EN" style="font-family:Verdana;"&gt;","&lt;/span&gt;&lt;/strong&gt;&lt;/span&gt;&lt;span style=""&gt;&lt;em&gt;&lt;b&gt;&lt;span  lang="EN" style="font-family:Verdana;"&gt;string&lt;/span&gt;&lt;/b&gt;&lt;/em&gt;&lt;/span&gt;&lt;span style=""&gt;&lt;strong&gt;&lt;span  lang="EN" style="font-family:Verdana;"&gt;","&lt;/span&gt;&lt;/strong&gt;&lt;/span&gt;&lt;span style=""&gt;&lt;em&gt;&lt;b&gt;&lt;span  lang="EN" style="font-family:Verdana;"&gt;string&lt;/span&gt;&lt;/b&gt;&lt;/em&gt;&lt;/span&gt;&lt;span style=""&gt;&lt;strong&gt;&lt;span  lang="EN" style="font-family:Verdana;"&gt;","&lt;/span&gt;&lt;/strong&gt;&lt;/span&gt;&lt;span style=""&gt;&lt;em&gt;&lt;b&gt;&lt;span  lang="EN" style="font-family:Verdana;"&gt;string&lt;/span&gt;&lt;/b&gt;&lt;/em&gt;&lt;/span&gt;&lt;span style=""&gt;&lt;strong&gt;&lt;span  lang="EN" style="font-family:Verdana;"&gt;")&lt;/span&gt;&lt;/strong&gt;&lt;/span&gt;&lt;span style=""&gt;&lt;span  lang="EN" style="font-family:Verdana;"&gt; &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style=""&gt;&lt;strong&gt;&lt;span  lang="EN" style="font-family:Verdana;"&gt;Cause:&lt;/span&gt;&lt;/strong&gt;&lt;/span&gt;&lt;span style=""&gt;&lt;span  lang="EN" style="font-family:Verdana;"&gt; More shared memory is needed than was allocated in the shared pool.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style=""&gt;&lt;strong&gt;&lt;span  lang="EN" style="font-family:Verdana;"&gt;Action:&lt;/span&gt;&lt;/strong&gt;&lt;/span&gt;&lt;span style=""&gt;&lt;span  lang="EN" style="font-family:Verdana;"&gt; If the shared pool is out of memory, either use the dbms_shared_pool package to pin large packages, reduce your use of shared memory, or increase the amount of available shared memory by increasing the value of the INIT.ORA parameters "shared_pool_reserved_size" and "shared_pool_size". If the large pool is out of memory, increase the INIT.ORA parameter "large_pool_size".&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style=""&gt;&lt;b&gt;&lt;span style="color: rgb(37, 81, 145);font-family:Verdana;font-size:10;"  &gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style=""&gt;&lt;b&gt;&lt;span style="color: rgb(37, 81, 145);font-family:Verdana;font-size:10;"  &gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style=""&gt;&lt;b&gt;&lt;span style="color: rgb(153, 51, 102);font-family:Verdana;font-size:11;"  &gt;ORA-04031: unable to allocate 4096 bytes of shared memory ("shared pool","&lt;i&gt;user&lt;/i&gt;","PL/SQL MPCODE","BAMIMA: Bam Buffer"): &lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;span style=""&gt;&lt;/span&gt;&lt;span style="color: rgb(153, 51, 102);font-family:Verdana;font-size:11;"  &gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:Verdana;font-size:11;color:black;"   &gt;This is usually followed by the "ORA-06508: PL/SQL: could not find program unit being called" error. &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:Verdana;font-size:11;color:black;"   &gt;This is likely to be caused by fragmentation within the shared pool, such that there is insufficient contiguous free memory to load entire PL/SQL packages. &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:Verdana;font-size:11;color:black;"   &gt;The solution is to increase the "shared_pool_reserved_size" parameter in the "init.ora" parameter file. This defaults to 5% of the shared pool, which may be fine if a large shared pool, but not if a small one (where majoriry is used by large PL/SQL objects). &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:Verdana;font-size:10;color:black;"   &gt; &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1556135669515651935-1218281288092551632?l=oracle-error.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://oracle-error.blogspot.com/' title='ORA-04031: unable to allocate string bytes of shared memory'/><link rel='replies' type='application/atom+xml' href='http://oracle-error.blogspot.com/feeds/1218281288092551632/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1556135669515651935&amp;postID=1218281288092551632&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1556135669515651935/posts/default/1218281288092551632'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1556135669515651935/posts/default/1218281288092551632'/><link rel='alternate' type='text/html' href='http://oracle-error.blogspot.com/2008/04/ora-04031-unable-to-allocate-string.html' title='ORA-04031: unable to allocate string bytes of shared memory'/><author><name>Mendus</name><uri>http://www.blogger.com/profile/15926700298623471526</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1556135669515651935.post-7998993259384307938</id><published>2008-04-20T02:01:00.001-04:00</published><updated>2008-04-20T02:04:06.683-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='ORA-03237'/><category scheme='http://www.blogger.com/atom/ns#' term='ORA-03237: Initial Extent of specified size cannot be allocated'/><title type='text'>ORA-03237: Initial Extent of specified size cannot be allocated in tablespace (string)</title><content type='html'>&lt;p class="MsoNormal"&gt;&lt;strong&gt;&lt;span style="font-family: Verdana;" lang="EN"&gt;ORA-03237: Initial Extent of specified size cannot be allocated in tablespace (&lt;/span&gt;&lt;/strong&gt;&lt;em&gt;&lt;b&gt;&lt;span style="font-family: Verdana;" lang="EN"&gt;string&lt;/span&gt;&lt;/b&gt;&lt;/em&gt;&lt;strong&gt;&lt;span style="font-family: Verdana;" lang="EN"&gt;)&lt;/span&gt;&lt;/strong&gt;&lt;span style="font-family: Verdana;" lang="EN"&gt; &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;strong&gt;&lt;span style="font-family: Verdana;" lang="EN"&gt;Cause:&lt;/span&gt;&lt;/strong&gt;&lt;span style="font-family: Verdana;" lang="EN"&gt; Too large a size for an initial extent due to freelist group specification&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;strong&gt;&lt;span style="font-family: Verdana;" lang="EN"&gt;Action:&lt;/span&gt;&lt;/strong&gt;&lt;span style="font-family: Verdana;" lang="EN"&gt; Reduce number of freelist groups specified for segment&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;    &lt;p class="MsoNormal"&gt;&lt;b&gt;&lt;span style="font-size: 10pt; font-family: Verdana; color: rgb(37, 81, 145);"&gt;&lt;o:p&gt; &lt;br /&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;b&gt;&lt;span style="font-size: 11pt; font-family: Verdana; color: rgb(153, 51, 102);"&gt;ORA-03237: "Initial Extent of specified size cannot be allocated":&lt;/span&gt;&lt;/b&gt;&lt;span style="font-size: 11pt; font-family: Verdana; color: rgb(153, 51, 102);"&gt; &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana; color: black;"&gt;Unable to create queues, or tables containing CLOBs &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana; color: black;"&gt;If you see the following error: &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana; color: black;"&gt;ORA-03237: Initial Extent of specified size cannot be allocated&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style="font-size: 10pt; font-family: Verdana; color: black;"&gt;while creating queue tables (which contain a BLOB column) or tables that contain CLOBs, it may be because of a database tablespace configuration problem. This only applies to the 9i databases which have been configured to use &lt;i&gt;locally managed tablespaces&lt;/i&gt;. &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana; color: black;"&gt;This is a documented restriction in Oracle that LOBs cannot be created in 'locally managed uniform extent tablespaces with extent size less than 3 blocks'. &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1556135669515651935-7998993259384307938?l=oracle-error.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://oracle-error.blogspot.com/' title='ORA-03237: Initial Extent of specified size cannot be allocated in tablespace (string)'/><link rel='replies' type='application/atom+xml' href='http://oracle-error.blogspot.com/feeds/7998993259384307938/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1556135669515651935&amp;postID=7998993259384307938&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1556135669515651935/posts/default/7998993259384307938'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1556135669515651935/posts/default/7998993259384307938'/><link rel='alternate' type='text/html' href='http://oracle-error.blogspot.com/2008/04/ora-03237-initial-extent-of-specified.html' title='ORA-03237: Initial Extent of specified size cannot be allocated in tablespace (string)'/><author><name>Mendus</name><uri>http://www.blogger.com/profile/15926700298623471526</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1556135669515651935.post-5547699813174079177</id><published>2008-04-20T01:57:00.000-04:00</published><updated>2008-04-20T01:59:00.082-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='ORA-01480: trailing null missing'/><category scheme='http://www.blogger.com/atom/ns#' term='ORA-01480'/><title type='text'>ORA-01480: trailing null missing from STR bind value</title><content type='html'>&lt;p class="MsoNormal"&gt;&lt;strong&gt;&lt;span style="font-family: Verdana;" lang="EN"&gt;ORA-01480: trailing null missing from STR bind value&lt;/span&gt;&lt;/strong&gt;&lt;span style="font-family: Verdana;" lang="EN"&gt; &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;strong&gt;&lt;span style="font-family: Verdana;" lang="EN"&gt;Cause:&lt;/span&gt;&lt;/strong&gt;&lt;span style="font-family: Verdana;" lang="EN"&gt; A bind variable of type 5 (null-terminated string) does not contain the terminating null in its buffer.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;strong&gt;&lt;span style="font-family: Verdana;" lang="EN"&gt;Action:&lt;/span&gt;&lt;/strong&gt;&lt;span style="font-family: Verdana;" lang="EN"&gt; Terminate the string with a null character&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;b&gt;&lt;span style="font-size: 10pt; font-family: Verdana; color: rgb(37, 81, 145);"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;b&gt;&lt;span style="font-size: 10pt; font-family: Verdana; color: rgb(153, 51, 102);"&gt;ORA-01480: trailing null missing from STR bind value: &lt;/span&gt;&lt;/b&gt;&lt;span style="font-size: 10pt; font-family: Verdana; color: rgb(153, 51, 102);"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana; color: black;"&gt;The column that is being read has a value which is too large to fit into the variable in the C program if a SELECT, or, the string contains a longer value than the column can support if it is an INSERT or UPDATE statement. &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1556135669515651935-5547699813174079177?l=oracle-error.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://oracle-error.blogspot.com' title='ORA-01480: trailing null missing from STR bind value'/><link rel='replies' type='application/atom+xml' href='http://oracle-error.blogspot.com/feeds/5547699813174079177/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1556135669515651935&amp;postID=5547699813174079177&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1556135669515651935/posts/default/5547699813174079177'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1556135669515651935/posts/default/5547699813174079177'/><link rel='alternate' type='text/html' href='http://oracle-error.blogspot.com/2008/04/ora-01480-trailing-null-missing-from.html' title='ORA-01480: trailing null missing from STR bind value'/><author><name>Mendus</name><uri>http://www.blogger.com/profile/15926700298623471526</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1556135669515651935.post-8135166000246993240</id><published>2008-04-20T01:46:00.001-04:00</published><updated>2008-04-20T01:55:43.348-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='ORA-01429: Index-Organized Table: no data segment'/><category scheme='http://www.blogger.com/atom/ns#' term='ORA-01429'/><title type='text'>ORA-01429: Index-Organized Table: no data segment to store overflow row-pieces</title><content type='html'>&lt;p class="MsoNormal"&gt;&lt;span style="font-size:100%;"&gt;&lt;strong&gt;&lt;span style="font-family: Verdana;" lang="EN"&gt;ORA-01429: Index-Organized Table: no data segment to store overflow row-pieces&lt;/span&gt;&lt;/strong&gt;&lt;span style="font-family: Verdana;" lang="EN"&gt; &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style="font-size:100%;"&gt;&lt;strong&gt;&lt;span style="font-family: Verdana;" lang="EN"&gt;Cause:&lt;/span&gt;&lt;/strong&gt;&lt;span style="font-family: Verdana;" lang="EN"&gt; No overflow segment defined.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style="font-size:100%;"&gt;&lt;strong&gt;&lt;span style="font-family: Verdana;" lang="EN"&gt;Action:&lt;/span&gt;&lt;/strong&gt;&lt;/span&gt;&lt;span style="font-family: Verdana;" lang="EN"&gt;&lt;span style="font-size:100%;"&gt; Add overflow segment&lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;b&gt;&lt;span style="font-size: 10pt; font-family: Verdana; color: rgb(37, 81, 145);"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;b style="color: rgb(0, 153, 0);"&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;ORA-01429: "Index-Organized Table: no data segment to store overflow row-pieces":&lt;/span&gt;&lt;/b&gt;&lt;span style="font-size: 10pt; font-family: Verdana; color: black;"&gt; &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana; color: black;"&gt;The maximum sizes of the columns comprising an index cannot be more than half of the block size. &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana; color: black;"&gt;When an Index-Organised Table is being created, many or all of the columns are held within the B*-Tree index. The error: &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana; color: black;"&gt;ORA-01429: Index-Organized Table: no data segment to store overflow row-pieces&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana; color: black;"&gt;will occur if the maximum size of the columns held in the index part of the IOT are more than half the block size for the tablespace (or database, prior to 9i). &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana; color: black;"&gt;This problem can be overcome by specifying an overflow segment in which either some columns on long rows or all columns after a named column are held separate for the rest of the row, i.e not in the B*-Tree structure. Obviously the primary key columns must be in the index. &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana; color: black;"&gt;The downside of using an overflow segment is that performance is reduced whenever the columns in the overflow segment need to be accessed. &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana; color: black;"&gt;Alternatively, the table can be configured to reject long rows. This is done by specifying a PCTTHRESHOLD value (0-50) without an OVERFLOW clause. &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1556135669515651935-8135166000246993240?l=oracle-error.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://oracle-error.blogspot.com' title='ORA-01429: Index-Organized Table: no data segment to store overflow row-pieces'/><link rel='replies' type='application/atom+xml' href='http://oracle-error.blogspot.com/feeds/8135166000246993240/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1556135669515651935&amp;postID=8135166000246993240&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1556135669515651935/posts/default/8135166000246993240'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1556135669515651935/posts/default/8135166000246993240'/><link rel='alternate' type='text/html' href='http://oracle-error.blogspot.com/2008/04/ora-01429-index-organized-table-no-data.html' title='ORA-01429: Index-Organized Table: no data segment to store overflow row-pieces'/><author><name>Mendus</name><uri>http://www.blogger.com/profile/15926700298623471526</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1556135669515651935.post-3823701558186001744</id><published>2008-04-20T01:33:00.005-04:00</published><updated>2008-04-20T01:44:58.380-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='ORA-01422'/><category scheme='http://www.blogger.com/atom/ns#' term='FETCH RETURNS MORE ROWS'/><category scheme='http://www.blogger.com/atom/ns#' term='Oracle error'/><title type='text'>ORA-01422: exact fetch returns more than requested number of rows</title><content type='html'>&lt;p class="MsoNormal"&gt;&lt;span style="font-size:100%;"&gt;&lt;strong&gt;&lt;span  lang="EN" style="font-family:Verdana;"&gt;ORA-01422: exact fetch returns more than requested number of rows&lt;/span&gt;&lt;/strong&gt;&lt;/span&gt;&lt;span style=";font-family:Verdana;font-size:100%;"  lang="EN" &gt; &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style="font-size:100%;"&gt;&lt;strong&gt;&lt;span  lang="EN" style="font-family:Verdana;"&gt;Cause:&lt;/span&gt;&lt;/strong&gt;&lt;/span&gt;&lt;span style=";font-family:Verdana;font-size:100%;"  lang="EN" &gt; The number specified in exact fetch is less than the rows returned.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style="font-size:100%;"&gt;&lt;strong&gt;&lt;span  lang="EN" style="font-family:Verdana;"&gt;Action:&lt;/span&gt;&lt;/strong&gt;&lt;/span&gt;&lt;span style=";font-family:Verdana;font-size:100%;"  lang="EN" &gt; Rewrite the query or change number of rows requested&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style="font-size:100%;"&gt;&lt;b&gt;&lt;span style="color: rgb(51, 51, 153);font-family:Verdana;" &gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style="font-size:100%;"&gt;&lt;b&gt;&lt;span style="color: rgb(153, 51, 102);font-family:Verdana;" &gt;ORA-01422: "exact fetch returns more than requested number of rows": &lt;/span&gt;&lt;/b&gt;&lt;b style=""&gt;&lt;span style="color: rgb(153, 51, 102);font-family:Verdana;" &gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:Verdana;font-size:100%;color:black;"   &gt;This can be for one of the following three reasons: &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;ol style="margin-top: 0in;" start="1" type="1"&gt;&lt;li class="MsoNormal"  style="color:black;"&gt;&lt;span style=";font-family:Verdana;font-size:100%;"  &gt;There's a bug in      the code and the developer did not realise that you could get more than      one row returned; &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class="MsoNormal"  style="color:black;"&gt;&lt;span style=";font-family:Verdana;font-size:100%;"  &gt;The data has been      hacked rather than using the API so that validation has been broken; &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class="MsoNormal"  style="color:black;"&gt;&lt;span style="font-family:Verdana;"&gt;&lt;span style="font-size:100%;"&gt;The software is OK,      what the user did was OK, but two parallel updates occurred at the same      time and neither could see the uncommitted change that the other did -      hence not validated correctly.&lt;/span&gt; &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/li&gt;&lt;/ol&gt;   &lt;span style=";font-family:Arial;font-size:10;"  &gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1556135669515651935-3823701558186001744?l=oracle-error.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://oracle-error.blogspot.com/' title='ORA-01422: exact fetch returns more than requested number of rows'/><link rel='replies' type='application/atom+xml' href='http://oracle-error.blogspot.com/feeds/3823701558186001744/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1556135669515651935&amp;postID=3823701558186001744&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1556135669515651935/posts/default/3823701558186001744'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1556135669515651935/posts/default/3823701558186001744'/><link rel='alternate' type='text/html' href='http://oracle-error.blogspot.com/2008/04/ora-01422-exact-fetch-returns-more-than.html' title='ORA-01422: exact fetch returns more than requested number of rows'/><author><name>Mendus</name><uri>http://www.blogger.com/profile/15926700298623471526</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1556135669515651935.post-4690183836075683627</id><published>2008-04-20T01:11:00.002-04:00</published><updated>2008-04-20T01:16:30.350-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='ORACLE'/><category scheme='http://www.blogger.com/atom/ns#' term='ORA-01000'/><category scheme='http://www.blogger.com/atom/ns#' term='MAX OPEN CURSORS'/><title type='text'>ORA-01000:maximum open cursors exceeded</title><content type='html'>&lt;p class="MsoNormal"&gt;&lt;b&gt;&lt;span style="font-family: Verdana;"&gt;ORA-01000:&lt;/span&gt;&lt;/b&gt;&lt;span style="font-family: Verdana;"&gt;maximum open cursors exceeded&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;b&gt;&lt;span style="font-family: Verdana;"&gt;Cause:&lt;/span&gt;&lt;/b&gt;&lt;span style="font-family: Verdana;"&gt;A host language program attempted to open too many cursors. The initialization parameter OPEN_CURSORS determines the maximum number of cursors per user.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;b&gt;&lt;span style="font-family: Verdana;"&gt;Action:&lt;/span&gt;&lt;/b&gt;&lt;span style="font-family: Verdana;"&gt;Modify the program to use fewer cursors. If this error occurs often, shut down Oracle, increase the value of OPEN_CURSORS, and then restart Oracle.&lt;/span&gt;&lt;b&gt;&lt;span style="font-size: 10pt; font-family: Verdana; color: rgb(37, 81, 145);"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;    &lt;p class="MsoNormal"&gt;&lt;b&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Comic Sans MS&amp;quot;; color: rgb(37, 81, 145);"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:130%;"&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Comic Sans MS&amp;quot;; color: rgb(51, 153, 102);"&gt;ORA-01000: "maximum open cursors exceeded": &lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;span style="font-size:130%;"&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Comic Sans MS&amp;quot;; color: rgb(51, 153, 102);"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size:100%;"&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Comic Sans MS&amp;quot;; color: black;"&gt;This error occurs when the number of cursors currently open by a single database connection have exceeded the value of the "open_cursors" paramerer in the "init.ora" file. &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size:100%;"&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Comic Sans MS&amp;quot;; color: black;"&gt;You can find the current maxiumum value allowed using "show parameter open_cursors" from SQL*Plus or Server Manager. &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size:100%;"&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Comic Sans MS&amp;quot;; color: black;"&gt;This is a per user limit, and is the number of cursors which have been opened but not closed since the database connection was made. A large limit is typically required when performing a large number of queries since the last commit, such as validating a catalogue. The cause is usually "recursive SQL", e.g. having to extend a table or firing of triggers. &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size:100%;"&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Comic Sans MS&amp;quot;; color: black;"&gt;There may be a bug somewhere in the application so that a series of cursors are being opened and not closed. &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Comic Sans MS&amp;quot;; color: black;"&gt;&lt;span style="font-size:100%;"&gt;As a workaround, the user could log out and log back in again, going straight to the function which caused the error. If this resolves the problem, it is likely that cursors were remaining open from a previous function.&lt;/span&gt; &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1556135669515651935-4690183836075683627?l=oracle-error.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://oracle-error.blogspot.com' title='ORA-01000:maximum open cursors exceeded'/><link rel='replies' type='application/atom+xml' href='http://oracle-error.blogspot.com/feeds/4690183836075683627/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1556135669515651935&amp;postID=4690183836075683627&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1556135669515651935/posts/default/4690183836075683627'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1556135669515651935/posts/default/4690183836075683627'/><link rel='alternate' type='text/html' href='http://oracle-error.blogspot.com/2008/04/ora-01000maximum-open-cursors-exceeded.html' title='ORA-01000:maximum open cursors exceeded'/><author><name>Mendus</name><uri>http://www.blogger.com/profile/15926700298623471526</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1556135669515651935.post-3859573574924730844</id><published>2008-04-19T23:58:00.001-04:00</published><updated>2008-04-20T00:01:35.538-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='ORACLE'/><category scheme='http://www.blogger.com/atom/ns#' term='ORA-00997'/><title type='text'>ORA-00997: illegal use of LONG datatype</title><content type='html'>&lt;p style="font-family: verdana;" class="MsoNormal"&gt;&lt;span class="msgbodytext"&gt;&lt;b style=""&gt;&lt;span style="font-size: 11pt;"&gt;ORA-00997: illegal use of LONG datatype&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;span class="msgbodytext"&gt;&lt;span style="font-size: 11pt;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: 11pt;"&gt;&lt;br /&gt;&lt;br /&gt;&lt;span class="msgbodytext"&gt;&lt;span style="font-weight: bold;"&gt;Cause:&lt;/span&gt; A value of datatype LONG was used in a function or in a DISTINCT, WHERE, CONNECT BY, GROUP BY, or ORDER BY clause. A LONG value can only be used in a SELECT clause. &lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span class="msgbodytext"&gt;&lt;b style=""&gt;Action:&lt;/b&gt; Remove the LONG value from the function or clause&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style="font-family: verdana;" class="MsoNormal"&gt;&lt;b&gt;&lt;span style="font-size: 10pt; color: rgb(37, 81, 145);"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;  &lt;p style="font-family: verdana;" class="MsoNormal"&gt;&lt;b&gt;&lt;span style="font-size: 10pt; color: rgb(37, 81, 145);"&gt;ORA-00997: "illegal use of LONG datatype":&lt;/span&gt;&lt;/b&gt;&lt;span style="font-size: 10pt; color: black;"&gt; &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="font-family: verdana;"&gt;&lt;span style="font-size: 10pt; color: black;"&gt;When trying to reorganize a database table that includes a LONG column, there is likely to be an Oracle error message such as: &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="font-family: verdana;"&gt;&lt;span style="font-size: 10pt; color: black;"&gt;ORA-00997: illegal use of LONG datatype&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="font-family: verdana;"&gt;&lt;span style="font-size: 10pt; color: black;"&gt;This is because it is not possible to use a LONG column in any SQL statement. It can only be used where the application is retrieving part of the column - by specifying the start byte and the number of bytes. &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="font-family: verdana;"&gt;&lt;span style="font-size: 10pt; color: black;"&gt;The following will cause the above error: &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;    &lt;p class="MsoNormal" style="font-family: verdana;"&gt;&lt;span style="font-size: 10pt; color: black;"&gt;ALTER TABLE &lt;i&gt;tablename&lt;/i&gt; MOVE TABLESPACE &lt;i&gt;tablespacename&lt;/i&gt;;&lt;o:p&gt;&lt;br /&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;    &lt;p class="MsoNormal" style="font-family: verdana;"&gt;&lt;span style="font-size: 10pt; color: black;"&gt;or&lt;o:p&gt;&lt;br /&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;; color: black;"&gt;&lt;span style="font-family: verdana;"&gt;CREATE TABLE &lt;/span&gt;&lt;i style="font-family: verdana;"&gt;newtablename&lt;/i&gt;&lt;span style="font-family: verdana;"&gt; AS SELECT * FROM &lt;/span&gt;&lt;i style="font-family: verdana;"&gt;oldtablename&lt;/i&gt;&lt;span style="font-family: verdana;"&gt;;&lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1556135669515651935-3859573574924730844?l=oracle-error.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://oracle-error.blogspot.com/' title='ORA-00997: illegal use of LONG datatype'/><link rel='replies' type='application/atom+xml' href='http://oracle-error.blogspot.com/feeds/3859573574924730844/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1556135669515651935&amp;postID=3859573574924730844&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1556135669515651935/posts/default/3859573574924730844'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1556135669515651935/posts/default/3859573574924730844'/><link rel='alternate' type='text/html' href='http://oracle-error.blogspot.com/2008/04/ora-00997-illegal-use-of-long-datatype.html' title='ORA-00997: illegal use of LONG datatype'/><author><name>Mendus</name><uri>http://www.blogger.com/profile/15926700298623471526</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1556135669515651935.post-319499890129029973</id><published>2008-04-19T23:38:00.005-04:00</published><updated>2008-04-19T23:57:04.471-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='ORACLE'/><category scheme='http://www.blogger.com/atom/ns#' term='ORA-00055'/><category scheme='http://www.blogger.com/atom/ns#' term='DML LOCKS'/><title type='text'>ORA-00055: maximum number of DML locks exceeded</title><content type='html'>&lt;p style="font-family: verdana;" class="MsoNormal"&gt;&lt;a name="dba_q1"&gt;&lt;strong&gt;&lt;span style="" lang="EN"&gt;ORA-00055: maximum number of DML locks exceeded&lt;/span&gt;&lt;/strong&gt;&lt;/a&gt;&lt;span style=""&gt;&lt;span style="" lang="EN"&gt; &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style="font-family: verdana;" class="MsoNormal"&gt;&lt;span style=""&gt;&lt;strong&gt;&lt;span style="" lang="EN"&gt;Cause:&lt;/span&gt;&lt;/strong&gt;&lt;/span&gt;&lt;span style=""&gt;&lt;span style="" lang="EN"&gt; Ran out of DML lock state objects.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style="font-family: verdana;" class="MsoNormal"&gt;&lt;span style=""&gt;&lt;strong&gt;&lt;span style="" lang="EN"&gt;Action:&lt;/span&gt;&lt;/strong&gt;&lt;/span&gt;&lt;span style=""&gt;&lt;span style="" lang="EN"&gt; Increase the value of the DML_LOCKS initialization parameter and warm start.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style="font-family: verdana; color: rgb(0, 102, 0);" class="MsoNormal"&gt;&lt;span style=""&gt;&lt;b&gt;&lt;span style="font-size: 10pt;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style="font-family: verdana;" class="MsoNormal"&gt;&lt;span style="color: rgb(0, 102, 0);"&gt;&lt;b&gt;&lt;span style="font-size: 10pt;"&gt;&lt;span style="font-size:100%;"&gt;ORA-00055 maximum number of DML locks exceeded:&lt;/span&gt; &lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;span style=""&gt;&lt;/span&gt;&lt;span style="font-size: 10pt; color: black;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="font-family: verdana;"&gt;&lt;span style="font-size:100%;"&gt;&lt;span style="font-size: 10pt; color: black;"&gt;This tends to be an intermittent problem, and occurs at moments of peak usage in an Oracle database. &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="font-family: verdana;"&gt;&lt;span style="font-size:100%;"&gt;&lt;span style="font-size: 10pt; color: black;"&gt;It can be resolved by changing a parameter in the "init&lt;i&gt;SID&lt;/i&gt;.ora" file: &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="font-family: verdana;"&gt;&lt;span style="font-size:100%;"&gt;&lt;span style="font-size: 10pt; color: black;"&gt;dml_locks = 200&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="font-family: verdana;"&gt;&lt;span style="font-size:100%;"&gt;&lt;span style="font-size: 10pt; color: black;"&gt;Basically, if the DML Locks limit has been set at 200, then &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;span style="font-size:100%;"&gt;&lt;span style="font-size: 10pt; color: black;"&gt;&lt;/span&gt;&lt;span style="font-size: 10pt; color: black;"&gt;&lt;span style=""&gt;&lt;/span&gt;.  200 people could each be updating one table at a time &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: 10pt; color: black;"&gt;·&lt;/span&gt;&lt;span style="font-size: 10pt; color: black;"&gt;&lt;span style=""&gt;  &lt;/span&gt;or 20 people could all be updating 10 tables at a time, &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: 10pt; color: black;"&gt;·&lt;/span&gt;&lt;span style="font-size: 10pt; color: black;"&gt;&lt;span style=""&gt;  &lt;/span&gt;or 1 user could be doing an account number rename and using 100 tables while 10 other people could be updating 10 tables. &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;      &lt;p class="MsoNormal" style="font-family: verdana;"&gt;&lt;span style="font-size:100%;"&gt;&lt;span style="font-size: 10pt; color: black;"&gt;These updates do not need to be the same table. &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style="font-size: 10pt; font-family: Arial; color: black;"&gt;&lt;span style="font-size:100%;"&gt;&lt;span style="font-family: verdana;"&gt;The number of locks required increased from Oracle8 onwards  since partitioned tables would use a lock for each partition.&lt;/span&gt;&lt;/span&gt; &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1556135669515651935-319499890129029973?l=oracle-error.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://oracle-error.blogspot.com' title='ORA-00055: maximum number of DML locks exceeded'/><link rel='replies' type='application/atom+xml' href='http://oracle-error.blogspot.com/feeds/319499890129029973/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1556135669515651935&amp;postID=319499890129029973&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1556135669515651935/posts/default/319499890129029973'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1556135669515651935/posts/default/319499890129029973'/><link rel='alternate' type='text/html' href='http://oracle-error.blogspot.com/2008/04/ora-00055-maximum-number-of-dml-locks.html' title='ORA-00055: maximum number of DML locks exceeded'/><author><name>Mendus</name><uri>http://www.blogger.com/profile/15926700298623471526</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1556135669515651935.post-5375768958920044504</id><published>2008-04-18T00:39:00.000-04:00</published><updated>2008-04-18T00:49:57.688-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='ORA-00030'/><title type='text'>ORA-00030: User session ID does not exist.</title><content type='html'>&lt;p class="MsoNormal"&gt;&lt;strong&gt;&lt;span style="" lang="EN"&gt;ORA-00030: User session ID does not exist.&lt;/span&gt;&lt;/strong&gt;&lt;span style="" lang="EN"&gt; &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;!-- class="msg" --&gt;  &lt;p class="MsoNormal"&gt;&lt;span style="" lang="EN"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;strong&gt;&lt;span style="" lang="EN"&gt;Cause:&lt;/span&gt;&lt;/strong&gt;&lt;span style="" lang="EN"&gt; The user session ID no longer exists, probably because the session was logged out.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style="" lang="EN"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;strong&gt;&lt;span style="" lang="EN"&gt;&lt;!-- class="msgexplan" --&gt;Action:&lt;/span&gt;&lt;/strong&gt;&lt;span style="" lang="EN"&gt; Use a valid session ID.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1556135669515651935-5375768958920044504?l=oracle-error.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://oracle-error.blogspot.com/' title='ORA-00030: User session ID does not exist.'/><link rel='replies' type='application/atom+xml' href='http://oracle-error.blogspot.com/feeds/5375768958920044504/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1556135669515651935&amp;postID=5375768958920044504&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1556135669515651935/posts/default/5375768958920044504'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1556135669515651935/posts/default/5375768958920044504'/><link rel='alternate' type='text/html' href='http://oracle-error.blogspot.com/2008/04/ora-00030-user-session-id-does-not.html' title='ORA-00030: User session ID does not exist.'/><author><name>Mendus</name><uri>http://www.blogger.com/profile/15926700298623471526</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1556135669515651935.post-6220550256272877458</id><published>2008-04-18T00:37:00.002-04:00</published><updated>2008-04-18T01:02:40.881-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='ORA-00029'/><title type='text'>ORA-00029: session is not a user session</title><content type='html'>&lt;p  class="MsoNormal" style="font-family:verdana;"&gt;&lt;strong&gt;&lt;span style="" lang="EN"&gt;ORA-00029: session is not a user session&lt;/span&gt;&lt;/strong&gt;&lt;span style="" lang="EN"&gt; &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;!-- class="msg" --&gt;  &lt;p  class="MsoNormal" style="font-family:verdana;"&gt;&lt;span style="" lang="EN"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p  class="MsoNormal" style="font-family:verdana;"&gt;&lt;strong&gt;&lt;span style="" lang="EN"&gt;Cause:&lt;/span&gt;&lt;/strong&gt;&lt;span style="" lang="EN"&gt; The session ID specified in an ALTER SYSTEM KILL SESSION command was not a user session (for example, recursive, etc.).&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p  class="MsoNormal" style="font-family:verdana;"&gt;&lt;span style="" lang="EN"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;strong  style="font-family:verdana;"&gt;&lt;span style="" lang="EN"&gt;&lt;!-- class="msgexplan" --&gt;Action:&lt;/span&gt;&lt;/strong&gt;&lt;span style="" lang="EN"&gt;&lt;span style="font-family:verdana;"&gt; Retry with a user session ID.&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p class="MsoNormal"&gt;&lt;span style="font-weight: bold; font-family: verdana;"&gt;Example:&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;The following  is an example scenario for  ORA-00029 :&lt;br /&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;I have a big problem here on my ORACLE 10.2.0.2 P14 on Windows 2003&lt;br /&gt;32-bit.&lt;br /&gt;&lt;br /&gt;Something happened at the weekend (and I have no idea what because&lt;br /&gt;nobody was working) that lead to the following:&lt;br /&gt;&lt;br /&gt;Maximum number of processes (200) exceeded within a couple of minutes&lt;br /&gt;after DB start. No further&lt;br /&gt;connections possible (ORA-00020).&lt;br /&gt;&lt;br /&gt;Now, what I researched so far is that there is apparantly a record in&lt;br /&gt;V$LOCK with lmode=6 without username, always with&lt;br /&gt;the same SID and serial# but different thread numbers after each DB&lt;br /&gt;startup. The thread numbers&lt;br /&gt;do not exist in Windows Manager and there is no locked record, latch, no&lt;br /&gt;deadlock or whatever out there.&lt;br /&gt;&lt;br /&gt;I tried to use "ALTER SYSTEM KILL SESSION 'xxxx,x';" but I receive the&lt;br /&gt;ORA-00029 "session is not a user session".&lt;br /&gt;So I tried to use "orakill ". I receive the expected&lt;br /&gt;correct (!) message but all what happens is&lt;br /&gt;that the database is shutdown. After new startup the record still stays&lt;br /&gt;active and blocks everything.&lt;br /&gt;&lt;br /&gt;Not only can no further connection be established (e.g. SAP, BRGUI, OEM,&lt;br /&gt;SQLPLUS) but also my filesystem is filling up&lt;br /&gt;with trace files about ORA-00020 and of course the alert log with&lt;br /&gt;messages about process M000 died and new creation failed&lt;br /&gt;(4 lines each second!)...&lt;br /&gt;&lt;br /&gt;Can anybody help me with that? I have spent now 3 days on this and don't&lt;br /&gt;know wherelese to research further options...&lt;br /&gt;&lt;br /&gt;And of course I tried to increase the number of processes and sessions,&lt;br /&gt;up to 600 proc. with 1200 sessions...no change&lt;br /&gt;in behavor...just took longer to reach the limit...&lt;br /&gt;&lt;br /&gt;My SGA total size is 1.3GB while windows is booted with 3GB option.&lt;br /&gt;PGA-target is 300M.&lt;br /&gt;&lt;br /&gt;------------&lt;br /&gt;Verify PMON is running in the background...&lt;br /&gt;select *&lt;br /&gt;from v$session&lt;br /&gt;where type ='BACKGROUND'&lt;br /&gt;AND program like '%PMON%';&lt;br /&gt;&lt;br /&gt;-----------------&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Resolution :&lt;/span&gt;&lt;br /&gt;I just fixed it! Since I could not get rid of the locked record I tried&lt;br /&gt;this:&lt;br /&gt;First I did a reset on all system user passwords. Then deleted&lt;br /&gt;the remote-login-password file and recreated it. Processes are now&lt;br /&gt;perfectly in the normal range!&lt;br /&gt;&lt;br /&gt;&lt;span style="" lang="EN"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1556135669515651935-6220550256272877458?l=oracle-error.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://oracle-error.blogspot.com/' title='ORA-00029: session is not a user session'/><link rel='replies' type='application/atom+xml' href='http://oracle-error.blogspot.com/feeds/6220550256272877458/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1556135669515651935&amp;postID=6220550256272877458&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1556135669515651935/posts/default/6220550256272877458'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1556135669515651935/posts/default/6220550256272877458'/><link rel='alternate' type='text/html' href='http://oracle-error.blogspot.com/2008/04/ora-00029-session-is-not-user-session.html' title='ORA-00029: session is not a user session'/><author><name>Mendus</name><uri>http://www.blogger.com/profile/15926700298623471526</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1556135669515651935.post-682334728584517939</id><published>2008-04-18T00:36:00.000-04:00</published><updated>2008-04-18T00:37:39.497-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='ORA-00028'/><title type='text'>ORA-00028: your session has been killed</title><content type='html'>&lt;p style="font-family: verdana;" class="MsoNormal"&gt;&lt;strong&gt;&lt;span style="" lang="EN"&gt;ORA-00028: your session has been killed&lt;/span&gt;&lt;/strong&gt;&lt;span style="" lang="EN"&gt; &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;!-- class="msg" --&gt;  &lt;p style="font-family: verdana;" class="MsoNormal"&gt;&lt;span style="" lang="EN"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style="font-family: verdana;" class="MsoNormal"&gt;&lt;strong&gt;&lt;span style="" lang="EN"&gt;Cause:&lt;/span&gt;&lt;/strong&gt;&lt;span style="" lang="EN"&gt; A privileged user has killed your session and you are no longer logged on to the database.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style="font-family: verdana;" class="MsoNormal"&gt;&lt;span style="" lang="EN"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;strong style="font-family: verdana;"&gt;&lt;span style="" lang="EN"&gt;&lt;!-- class="msgexplan" --&gt;Action:&lt;/span&gt;&lt;/strong&gt;&lt;span style="" lang="EN"&gt;&lt;span style="font-family: verdana;"&gt; Login again if you wish to continue working.&lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1556135669515651935-682334728584517939?l=oracle-error.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://oracle-error.blogspot.com/' title='ORA-00028: your session has been killed'/><link rel='replies' type='application/atom+xml' href='http://oracle-error.blogspot.com/feeds/682334728584517939/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1556135669515651935&amp;postID=682334728584517939&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1556135669515651935/posts/default/682334728584517939'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1556135669515651935/posts/default/682334728584517939'/><link rel='alternate' type='text/html' href='http://oracle-error.blogspot.com/2008/04/ora-00028-your-session-has-been-killed.html' title='ORA-00028: your session has been killed'/><author><name>Mendus</name><uri>http://www.blogger.com/profile/15926700298623471526</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1556135669515651935.post-3385917781111167458</id><published>2008-04-18T00:29:00.001-04:00</published><updated>2009-08-28T23:17:16.298-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='ORA-00027'/><title type='text'>ORA-00027: cannot kill current session</title><content type='html'>&lt;p  class="MsoNormal" style="font-family:verdana;"&gt;&lt;strong&gt;&lt;span style="" lang="EN"&gt;ORA-00027: cannot kill current session&lt;/span&gt;&lt;/strong&gt;&lt;span style="" lang="EN"&gt; &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;!-- class="msg" --&gt;  &lt;p  class="MsoNormal" style="font-family:verdana;"&gt;&lt;span style="" lang="EN"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p  class="MsoNormal" style="font-family:verdana;"&gt;&lt;strong&gt;&lt;span style="" lang="EN"&gt;Cause:&lt;/span&gt;&lt;/strong&gt;&lt;span style="" lang="EN"&gt; Attempted to use ALTER SYSTEM KILL SESSION to kill the current session.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p  class="MsoNormal" style="font-family:verdana;"&gt;&lt;span style="" lang="EN"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;strong  style="font-family:verdana;"&gt;&lt;span style="" lang="EN"&gt;&lt;!-- class="msgexplan" --&gt;Action:&lt;/span&gt;&lt;/strong&gt;&lt;span style="" lang="EN"&gt;&lt;span style="font-family:verdana;"&gt; None.&lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1556135669515651935-3385917781111167458?l=oracle-error.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://oracle-error.blogspot.com/' title='ORA-00027: cannot kill current session'/><link rel='replies' type='application/atom+xml' href='http://oracle-error.blogspot.com/feeds/3385917781111167458/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1556135669515651935&amp;postID=3385917781111167458&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1556135669515651935/posts/default/3385917781111167458'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1556135669515651935/posts/default/3385917781111167458'/><link rel='alternate' type='text/html' href='http://oracle-error.blogspot.com/2008/04/ora-00027-cannot-kill-current-session.html' title='ORA-00027: cannot kill current session'/><author><name>Mendus</name><uri>http://www.blogger.com/profile/15926700298623471526</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1556135669515651935.post-8187671434374220759</id><published>2008-04-18T00:26:00.001-04:00</published><updated>2009-08-28T23:17:40.820-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='ORA-00026'/><title type='text'>ORA-00026: missing or invalid session ID</title><content type='html'>&lt;p  class="MsoNormal" style="font-family:verdana;"&gt;&lt;strong&gt;&lt;span style="" lang="EN"&gt;ORA-00026: missing or invalid session ID&lt;/span&gt;&lt;/strong&gt;&lt;span style="" lang="EN"&gt; &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;!-- class="msg" --&gt;  &lt;p  class="MsoNormal" style="font-family:verdana;"&gt;&lt;span style="" lang="EN"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p  class="MsoNormal" style="font-family:verdana;"&gt;&lt;strong&gt;&lt;span style="" lang="EN"&gt;Cause:&lt;/span&gt;&lt;/strong&gt;&lt;span style="" lang="EN"&gt; Missing or invalid session ID string for ALTER SYSTEM KILL SESSION.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p  class="MsoNormal" style="font-family:verdana;"&gt;&lt;span style="" lang="EN"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;strong  style="font-family:verdana;"&gt;&lt;span style="" lang="EN"&gt;&lt;!-- class="msgexplan" --&gt;Action:&lt;/span&gt;&lt;/strong&gt;&lt;span style="" lang="EN"&gt;&lt;span style="font-family:verdana;"&gt; Retry with a valid session ID.&lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1556135669515651935-8187671434374220759?l=oracle-error.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://oracle-error.blogspot.com/' title='ORA-00026: missing or invalid session ID'/><link rel='replies' type='application/atom+xml' href='http://oracle-error.blogspot.com/feeds/8187671434374220759/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1556135669515651935&amp;postID=8187671434374220759&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1556135669515651935/posts/default/8187671434374220759'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1556135669515651935/posts/default/8187671434374220759'/><link rel='alternate' type='text/html' href='http://oracle-error.blogspot.com/2008/04/ora-00026-missing-or-invalid-session-id.html' title='ORA-00026: missing or invalid session ID'/><author><name>Mendus</name><uri>http://www.blogger.com/profile/15926700298623471526</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1556135669515651935.post-7056915287094019851</id><published>2008-04-18T00:20:00.002-04:00</published><updated>2009-08-28T23:18:09.907-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='ORA-00025 ORACLE ERROR'/><title type='text'>ORA-00025: failed to allocate string</title><content type='html'>&lt;p  class="MsoNormal" style="font-family:verdana;"&gt;&lt;strong&gt;&lt;span style="" lang="EN"&gt;ORA-00025: failed to allocate &lt;/span&gt;&lt;/strong&gt;&lt;em&gt;&lt;b&gt;&lt;span style="" lang="EN"&gt;string&lt;/span&gt;&lt;/b&gt;&lt;/em&gt;&lt;em&gt;&lt;b&gt;&lt;span style="" lang="EN"&gt;&lt;/span&gt;&lt;/b&gt;&lt;/em&gt;&lt;span style="" lang="EN"&gt; &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;!-- class="msg" --&gt;  &lt;p  class="MsoNormal" style="font-family:verdana;"&gt;&lt;span style="" lang="EN"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p  class="MsoNormal" style="font-family:verdana;"&gt;&lt;strong&gt;&lt;span style="" lang="EN"&gt;Cause:&lt;/span&gt;&lt;/strong&gt;&lt;span style="" lang="EN"&gt; Out of memory.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p  class="MsoNormal" style="font-family:verdana;"&gt;&lt;span style="" lang="EN"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;strong  style="font-family:verdana;"&gt;&lt;span style="" lang="EN"&gt;&lt;!-- class="msgexplan" --&gt;Action:&lt;/span&gt;&lt;/strong&gt;&lt;span style="" lang="EN"&gt;&lt;span style="font-family:verdana;"&gt; Restart with larger sga heap.&lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1556135669515651935-7056915287094019851?l=oracle-error.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://oracle-error.blogspot.com/' title='ORA-00025: failed to allocate string'/><link rel='replies' type='application/atom+xml' href='http://oracle-error.blogspot.com/feeds/7056915287094019851/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1556135669515651935&amp;postID=7056915287094019851&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1556135669515651935/posts/default/7056915287094019851'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1556135669515651935/posts/default/7056915287094019851'/><link rel='alternate' type='text/html' href='http://oracle-error.blogspot.com/2008/04/ora-00025-failed-to-allocate-string.html' title='ORA-00025: failed to allocate string'/><author><name>Mendus</name><uri>http://www.blogger.com/profile/15926700298623471526</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1556135669515651935.post-159459534017767838</id><published>2008-04-18T00:08:00.002-04:00</published><updated>2009-08-28T23:18:31.043-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='ORA-00024'/><title type='text'>ORA-00024: logins from more than one process not allowed in single-process mode</title><content type='html'>&lt;p  class="MsoNormal" style="font-family:verdana;"&gt;&lt;strong&gt;&lt;span style="" lang="EN"&gt;ORA-00024: logins from more than one process not allowed in single-process mode&lt;/span&gt;&lt;/strong&gt;&lt;span style="" lang="EN"&gt; &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;!-- class="msg" --&gt;  &lt;p  class="MsoNormal" style="font-family:verdana;"&gt;&lt;span style="" lang="EN"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p  class="MsoNormal" style="font-family:verdana;"&gt;&lt;strong&gt;&lt;span style="" lang="EN"&gt;Cause:&lt;/span&gt;&lt;/strong&gt;&lt;span style="" lang="EN"&gt; Trying to login more than once from different processes for ORACLE started in single-process mode.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p  class="MsoNormal" style="font-family:verdana;"&gt;&lt;span style="" lang="EN"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;strong  style="font-family:verdana;"&gt;&lt;span style="" lang="EN"&gt;&lt;!-- class="msgexplan" --&gt;Action:&lt;/span&gt;&lt;/strong&gt;&lt;span style="" lang="EN"&gt;&lt;span style="font-family:verdana;"&gt; Logoff from the other process.&lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1556135669515651935-159459534017767838?l=oracle-error.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://oracle-error.blogspot.com/' title='ORA-00024: logins from more than one process not allowed in single-process mode'/><link rel='replies' type='application/atom+xml' href='http://oracle-error.blogspot.com/feeds/159459534017767838/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1556135669515651935&amp;postID=159459534017767838&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1556135669515651935/posts/default/159459534017767838'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1556135669515651935/posts/default/159459534017767838'/><link rel='alternate' type='text/html' href='http://oracle-error.blogspot.com/2008/04/ora-00024-logins-from-more-than-one.html' title='ORA-00024: logins from more than one process not allowed in single-process mode'/><author><name>Mendus</name><uri>http://www.blogger.com/profile/15926700298623471526</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1556135669515651935.post-8741039786962686876</id><published>2008-04-18T00:06:00.000-04:00</published><updated>2008-04-18T00:08:19.258-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='ORA-00023'/><title type='text'>ORA-00023: session references process private memory; cannot detach session</title><content type='html'>&lt;p style="font-family: verdana;" class="MsoNormal"&gt;&lt;strong&gt;&lt;span style="" lang="EN"&gt;ORA-00023: session references process private memory; cannot detach session&lt;/span&gt;&lt;/strong&gt;&lt;span style="" lang="EN"&gt; &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;!-- class="msg" --&gt;  &lt;p style="font-family: verdana;" class="MsoNormal"&gt;&lt;span style="" lang="EN"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style="font-family: verdana;" class="MsoNormal"&gt;&lt;strong&gt;&lt;span style="" lang="EN"&gt;Cause:&lt;/span&gt;&lt;/strong&gt;&lt;span style="" lang="EN"&gt; An attempt was made to detach the current session when it contains references to process private memory.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style="font-family: verdana;" class="MsoNormal"&gt;&lt;span style="" lang="EN"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;strong style="font-family: verdana;"&gt;&lt;span style="" lang="EN"&gt;&lt;!-- class="msgexplan" --&gt;Action:&lt;/span&gt;&lt;/strong&gt;&lt;span style="" lang="EN"&gt;&lt;span style="font-family: verdana;"&gt; A session may contain references to process memory (PGA) if it has an open network connection, a very large context area, or operating system privileges. To allow the detach, it may be necessary to close the session's database links and/or cursors. Detaching a session with operating system privileges is always disallowed.&lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1556135669515651935-8741039786962686876?l=oracle-error.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://oracle-error.blogspot.com/' title='ORA-00023: session references process private memory; cannot detach session'/><link rel='replies' type='application/atom+xml' href='http://oracle-error.blogspot.com/feeds/8741039786962686876/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1556135669515651935&amp;postID=8741039786962686876&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1556135669515651935/posts/default/8741039786962686876'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1556135669515651935/posts/default/8741039786962686876'/><link rel='alternate' type='text/html' href='http://oracle-error.blogspot.com/2008/04/ora-00023-session-references-process.html' title='ORA-00023: session references process private memory; cannot detach session'/><author><name>Mendus</name><uri>http://www.blogger.com/profile/15926700298623471526</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1556135669515651935.post-3734371895722451771</id><published>2008-04-17T22:33:00.002-04:00</published><updated>2008-04-18T00:06:09.063-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='ORA-00022  ORACLE ERROR'/><title type='text'>ORA-00022: invalid session ID; access denied</title><content type='html'>&lt;div xmlns="http://www.w3.org/1999/xhtml"&gt;&lt;b style="font-family: verdana;"&gt;&lt;strong&gt;&lt;em&gt;&lt;/em&gt;&lt;/strong&gt;&lt;/b&gt;  &lt;p class="MsoNormal"&gt;&lt;a name="ORA-00022"&gt;&lt;/a&gt;&lt;strong style="font-family: verdana;"&gt;&lt;span style="" lang="EN"&gt;ORA-00022: invalid session ID; access denied&lt;/span&gt;&lt;/strong&gt;&lt;span style="font-family: verdana;" lang="EN"&gt; &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;!-- class="msg" --&gt;  &lt;p style="font-family: verdana;" class="MsoNormal"&gt;&lt;span style="" lang="EN"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style="font-family: verdana;" class="MsoNormal"&gt;&lt;strong&gt;&lt;span style="" lang="EN"&gt;Cause:&lt;/span&gt;&lt;/strong&gt;&lt;span style="" lang="EN"&gt; Either the session specified does not exist or the caller does not have the privilege to access it.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style="font-family: verdana;" class="MsoNormal"&gt;&lt;span style="" lang="EN"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;strong style="font-family: verdana;"&gt;&lt;span style="" lang="EN"&gt;&lt;!-- class="msgexplan" --&gt;Action:&lt;/span&gt;&lt;/strong&gt;&lt;span style="" lang="EN"&gt;&lt;span style="font-family: verdana;"&gt; Specify a valid session ID that you have privilege to access, that is either you own it or you have the CHANGE_USER privilege.&lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;b&gt;&lt;span style="font-family:Courier New;"&gt;&lt;strong&gt;&lt;/strong&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1556135669515651935-3734371895722451771?l=oracle-error.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://oracle-error.blogspot.com/' title='ORA-00022: invalid session ID; access denied'/><link rel='replies' type='application/atom+xml' href='http://oracle-error.blogspot.com/feeds/3734371895722451771/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1556135669515651935&amp;postID=3734371895722451771&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1556135669515651935/posts/default/3734371895722451771'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1556135669515651935/posts/default/3734371895722451771'/><link rel='alternate' type='text/html' href='http://oracle-error.blogspot.com/2008/04/ora-00022-invalid-session-id-access.html' title='ORA-00022: invalid session ID; access denied'/><author><name>Mendus</name><uri>http://www.blogger.com/profile/15926700298623471526</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1556135669515651935.post-5431515079540834654</id><published>2008-04-12T23:29:00.001-04:00</published><updated>2008-04-12T23:31:49.298-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='ORA-00021'/><category scheme='http://www.blogger.com/atom/ns#' term='Oracle error'/><title type='text'>ORA-00021: session attached to some other process; cannot switch session</title><content type='html'>&lt;p class="MsoNormal"&gt;&lt;strong&gt;ORA-00021: session attached to some other process; cannot switch session&lt;/strong&gt; &lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;  &lt;!-- class="msg" --&gt;  &lt;p class="MsoNormal"&gt;&lt;strong&gt;Cause:&lt;/strong&gt; The user session is currently used by others.&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;strong&gt;&lt;!-- class="msgexplan" --&gt;Action:&lt;/strong&gt; Do not switch to a session attached to some other process.&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1556135669515651935-5431515079540834654?l=oracle-error.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://oracle-error.blogspot.com' title='ORA-00021: session attached to some other process; cannot switch session'/><link rel='replies' type='application/atom+xml' href='http://oracle-error.blogspot.com/feeds/5431515079540834654/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1556135669515651935&amp;postID=5431515079540834654&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1556135669515651935/posts/default/5431515079540834654'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1556135669515651935/posts/default/5431515079540834654'/><link rel='alternate' type='text/html' href='http://oracle-error.blogspot.com/2008/04/ora-00021-session-attached-to-some.html' title='ORA-00021: session attached to some other process; cannot switch session'/><author><name>Mendus</name><uri>http://www.blogger.com/profile/15926700298623471526</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1556135669515651935.post-6999367955988963049</id><published>2008-04-10T01:44:00.002-04:00</published><updated>2008-04-18T01:07:02.401-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='ORA-00020'/><title type='text'>ORA-00020: maximum number of processes exceeded.</title><content type='html'>&lt;dl&gt;&lt;dt&gt;&lt;span class="msg"&gt;&lt;strong&gt;ORA-00020: maximum number of processes (&lt;em&gt;string&lt;/em&gt;) exceeded.&lt;/strong&gt;&lt;/span&gt;&lt;/dt&gt;&lt;dt&gt;&lt;br /&gt;&lt;span class="msg"&gt;&lt;strong&gt;&lt;/strong&gt;&lt;/span&gt;&lt;strong&gt;&lt;/strong&gt;&lt;/dt&gt;&lt;dt&gt;&lt;strong&gt;Cause:&lt;/strong&gt; All process state objects are in use.&lt;/dt&gt;&lt;dt&gt;&lt;br /&gt;&lt;strong&gt;&lt;/strong&gt;&lt;/dt&gt;&lt;dt&gt;&lt;strong&gt;Action:&lt;/strong&gt; Increase the value of the PROCESSES initialization parameter.&lt;/dt&gt;&lt;/dl&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Example:&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;The following  is  an example scenario for ORA-00020 and  this scenario was obtained from web and provide here for informational purpose:&lt;br /&gt;&lt;br /&gt;I have a big problem here on my ORACLE 10.2.0.2 P14 on Windows 2003&lt;br /&gt;32-bit.&lt;br /&gt;&lt;br /&gt;Something happened at the weekend (and I have no idea what because&lt;br /&gt;nobody was working) that lead to the following:&lt;br /&gt;&lt;br /&gt;Maximum number of processes (200) exceeded within a couple of minutes&lt;br /&gt;after DB start. No further&lt;br /&gt;connections possible (ORA-00020).&lt;br /&gt;&lt;br /&gt;Now, what I researched so far is that there is apparantly a record in&lt;br /&gt;V$LOCK with lmode=6 without username, always with&lt;br /&gt;the same SID and serial# but different thread numbers after each DB&lt;br /&gt;startup. The thread numbers&lt;br /&gt;do not exist in Windows Manager and there is no locked record, latch, no&lt;br /&gt;deadlock or whatever out there.&lt;br /&gt;&lt;br /&gt;I tried to use "ALTER SYSTEM KILL SESSION 'xxxx,x';" but I receive the&lt;br /&gt;ORA-00029 "session is not a user session".&lt;br /&gt;So I tried to use "orakill ". I receive the expected&lt;br /&gt;correct (!) message but all what happens is&lt;br /&gt;that the database is shutdown. After new startup the record still stays&lt;br /&gt;active and blocks everything.&lt;br /&gt;&lt;br /&gt;Not only can no further connection be established (e.g. SAP, BRGUI, OEM,&lt;br /&gt;SQLPLUS) but also my filesystem is filling up&lt;br /&gt;with trace files about ORA-00020 and of course the alert log with&lt;br /&gt;messages about process M000 died and new creation failed&lt;br /&gt;(4 lines each second!)...&lt;br /&gt;&lt;br /&gt;Can anybody help me with that? I have spent now 3 days on this and don't&lt;br /&gt;know wherelese to research further options...&lt;br /&gt;&lt;br /&gt;And of course I tried to increase the number of processes and sessions,&lt;br /&gt;up to 600 proc. with 1200 sessions...no change&lt;br /&gt;in behavor...just took longer to reach the limit...&lt;br /&gt;&lt;br /&gt;My SGA total size is 1.3GB while windows is booted with 3GB option.&lt;br /&gt;PGA-target is 300M.&lt;br /&gt;&lt;br /&gt;------------&lt;br /&gt;Verify PMON is running in the background...&lt;br /&gt;select *&lt;br /&gt;from v$session&lt;br /&gt;where type ='BACKGROUND'&lt;br /&gt;AND program like '%PMON%';&lt;br /&gt;&lt;br /&gt;-----------------&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Resolution :&lt;/span&gt;&lt;br /&gt;I just fixed it! Since I could not get rid of the locked record I tried&lt;br /&gt;this:&lt;br /&gt;First I did a reset on all system user passwords. Then deleted&lt;br /&gt;the remote-login-password file and recreated it. Processes are now&lt;br /&gt;perfectly in the normal range!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1556135669515651935-6999367955988963049?l=oracle-error.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://oracle-error.blogspot.com/' title='ORA-00020: maximum number of processes exceeded.'/><link rel='replies' type='application/atom+xml' href='http://oracle-error.blogspot.com/feeds/6999367955988963049/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1556135669515651935&amp;postID=6999367955988963049&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1556135669515651935/posts/default/6999367955988963049'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1556135669515651935/posts/default/6999367955988963049'/><link rel='alternate' type='text/html' href='http://oracle-error.blogspot.com/2008/04/ora-00020-maximum-number-of-processes.html' title='ORA-00020: maximum number of processes exceeded.'/><author><name>Mendus</name><uri>http://www.blogger.com/profile/15926700298623471526</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1556135669515651935.post-8899586532041275107</id><published>2008-04-10T01:42:00.003-04:00</published><updated>2008-04-10T01:44:08.381-04:00</updated><title type='text'>ORA-00019: maximum number of session licenses exceeded</title><content type='html'>&lt;b&gt;&lt;span style=""&gt;ORA-00019: maximum number of session licenses exceeded&lt;/span&gt;&lt;/b&gt;&lt;span style=""&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;b&gt;&lt;span style=""&gt;&lt;/span&gt;&lt;/b&gt;&lt;b&gt;&lt;span style=""&gt;&lt;br /&gt;&lt;br /&gt;Cause:&lt;/span&gt;&lt;/b&gt;&lt;span style=""&gt; All licenses are in use.&lt;/span&gt;&lt;b&gt;&lt;span style=""&gt;&lt;o:p&gt;&lt;br /&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;  &lt;p class="MsoNormal"&gt;&lt;b&gt;&lt;span style=""&gt;Action:&lt;/span&gt;&lt;/b&gt;&lt;span style=""&gt; Increase the value of the LICENSE MAX SESSIONS initialization parameter.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1556135669515651935-8899586532041275107?l=oracle-error.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://oracle-error.blogspot.com/' title='ORA-00019: maximum number of session licenses exceeded'/><link rel='replies' type='application/atom+xml' href='http://oracle-error.blogspot.com/feeds/8899586532041275107/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1556135669515651935&amp;postID=8899586532041275107&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1556135669515651935/posts/default/8899586532041275107'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1556135669515651935/posts/default/8899586532041275107'/><link rel='alternate' type='text/html' href='http://oracle-error.blogspot.com/2008/04/ora-00019-maximum-number-of-session.html' title='ORA-00019: maximum number of session licenses exceeded'/><author><name>Mendus</name><uri>http://www.blogger.com/profile/15926700298623471526</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1556135669515651935.post-7396878471826000734</id><published>2008-04-10T01:34:00.001-04:00</published><updated>2008-04-10T01:36:31.673-04:00</updated><title type='text'>ORA-00018: maximum number of sessions exceeded</title><content type='html'>&lt;dl style="font-weight: bold;"&gt;&lt;dt style="font-weight: normal; font-family: verdana;"&gt;&lt;span class="msg"&gt;&lt;strong&gt;ORA-00018: maximum number of sessions exceeded&lt;/strong&gt;&lt;/span&gt;&lt;/dt&gt;&lt;dt style="font-weight: normal; font-family: verdana;"&gt;&lt;br /&gt;&lt;strong&gt;&lt;/strong&gt;&lt;/dt&gt;&lt;dt style="font-weight: normal; font-family: verdana;"&gt;&lt;strong&gt;Cause:&lt;/strong&gt; All session state objects are in use&lt;strong&gt;&lt;/strong&gt;&lt;/dt&gt;&lt;dt style="font-weight: normal; font-family: verdana;"&gt;&lt;br /&gt;&lt;strong&gt;&lt;/strong&gt;&lt;/dt&gt;&lt;dt style="font-weight: normal; font-family: verdana;"&gt;&lt;strong&gt;Action:&lt;/strong&gt; Increase the value of the SESSIONS initialization parameter.&lt;/dt&gt;&lt;dd&gt;&lt;br /&gt;&lt;/dd&gt;&lt;/dl&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1556135669515651935-7396878471826000734?l=oracle-error.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://oracle-error.blogspot.com' title='ORA-00018: maximum number of sessions exceeded'/><link rel='replies' type='application/atom+xml' href='http://oracle-error.blogspot.com/feeds/7396878471826000734/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1556135669515651935&amp;postID=7396878471826000734&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1556135669515651935/posts/default/7396878471826000734'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1556135669515651935/posts/default/7396878471826000734'/><link rel='alternate' type='text/html' href='http://oracle-error.blogspot.com/2008/04/ora-00018-maximum-number-of-sessions.html' title='ORA-00018: maximum number of sessions exceeded'/><author><name>Mendus</name><uri>http://www.blogger.com/profile/15926700298623471526</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1556135669515651935.post-4704362813320655305</id><published>2008-04-10T01:31:00.001-04:00</published><updated>2008-04-10T01:34:02.993-04:00</updated><title type='text'>ORA-00017: session requested to set trace event</title><content type='html'>&lt;dl style="font-family: verdana;"&gt;&lt;dt&gt;&lt;span class="msg"&gt;&lt;strong&gt;ORA-00017: session requested to set trace event&lt;/strong&gt;&lt;/span&gt; &lt;!-- class="msg" --&gt; &lt;strong&gt;&lt;/strong&gt;&lt;/dt&gt;&lt;dt&gt;&lt;br /&gt;&lt;strong&gt;&lt;/strong&gt;&lt;/dt&gt;&lt;dt&gt;&lt;strong&gt;Cause:&lt;/strong&gt; The current session was requested to set a trace event by another session. &lt;!-- class="msgexplan" --&gt; &lt;strong&gt;&lt;/strong&gt;&lt;/dt&gt;&lt;dt&gt;&lt;br /&gt;&lt;strong&gt;&lt;/strong&gt;&lt;/dt&gt;&lt;dt&gt;&lt;strong&gt;Action:&lt;/strong&gt; This is used internally; no action is required.&lt;/dt&gt;&lt;/dl&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1556135669515651935-4704362813320655305?l=oracle-error.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://oracle-error.blogspot.com/' title='ORA-00017: session requested to set trace event'/><link rel='replies' type='application/atom+xml' href='http://oracle-error.blogspot.com/feeds/4704362813320655305/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1556135669515651935&amp;postID=4704362813320655305&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1556135669515651935/posts/default/4704362813320655305'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1556135669515651935/posts/default/4704362813320655305'/><link rel='alternate' type='text/html' href='http://oracle-error.blogspot.com/2008/04/ora-00017-session-requested-to-set.html' title='ORA-00017: session requested to set trace event'/><author><name>Mendus</name><uri>http://www.blogger.com/profile/15926700298623471526</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1556135669515651935.post-4316353976249293145</id><published>2008-04-10T01:27:00.002-04:00</published><updated>2008-04-11T09:28:20.799-04:00</updated><title type='text'>ORA-00001: unique constraint</title><content type='html'>&lt;span style="font-family:verdana;"&gt;ORA-00001: unique constraint (string.string) violated&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:verdana;"&gt;Cause: An UPDATE or INSERT statement attempted to insert a duplicate key. For Trusted Oracle configured in DBMS MAC mode, you may see this message if a duplicate entry exists at a different level.&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:verdana;"&gt;Action: Either remove the unique restriction or do not insert the key.&lt;br /&gt;&lt;br /&gt;This error is related to the duplicate data. Whenever you try to insert same unique/primary key you will encounter this error.&lt;br /&gt;&lt;br /&gt;Example:&lt;br /&gt;&lt;br /&gt;SQL&gt; CREATE TABLE Employee (&lt;br /&gt;  2    EMP_ID VARCHAR(10) PRIMARY KEY,&lt;br /&gt;  3    name VARCHAR(20),&lt;br /&gt;  4    address VARCHAR(20)&lt;br /&gt;  5  );&lt;br /&gt;&lt;br /&gt;Table created.&lt;br /&gt;&lt;br /&gt;SQL&gt;&lt;br /&gt;SQL&gt; INSERT INTO Employee VALUES ('0602751122','Sree Mendu','Cincinnati OH');&lt;br /&gt;&lt;br /&gt;1 row created.&lt;br /&gt;&lt;br /&gt;SQL&gt; INSERT INTO Employee VALUES ('0602751122','Sree Ram','Cincinnati OH');&lt;br /&gt;INSERT INTO Students VALUES ('0602751122','Sree Ram','Cincinnati OH')&lt;br /&gt;*&lt;br /&gt;ERROR at line 1:&lt;br /&gt;ORA-00001: unique constraint (AGHT.SYS_C005092) violated&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1556135669515651935-4316353976249293145?l=oracle-error.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://oracle-error.blogspot.com/' title='ORA-00001: unique constraint'/><link rel='replies' type='application/atom+xml' href='http://oracle-error.blogspot.com/feeds/4316353976249293145/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1556135669515651935&amp;postID=4316353976249293145&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1556135669515651935/posts/default/4316353976249293145'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1556135669515651935/posts/default/4316353976249293145'/><link rel='alternate' type='text/html' href='http://oracle-error.blogspot.com/2008/04/ora-00001-unique-constraint.html' title='ORA-00001: unique constraint'/><author><name>Mendus</name><uri>http://www.blogger.com/profile/15926700298623471526</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1556135669515651935.post-8499386650730297377</id><published>2008-04-09T00:46:00.005-04:00</published><updated>2009-08-28T23:16:49.954-04:00</updated><title type='text'>ORA-01555: snapshot too old</title><content type='html'>&lt;o:p style="font-family: verdana;"&gt; &lt;/o:p&gt;&lt;b  style="font-family:verdana;"&gt;&lt;span style=""&gt;ORA-01555: snapshot too old: rollback segment number &lt;i&gt;string&lt;/i&gt; with name "&lt;i&gt;string&lt;/i&gt;" too small&lt;/span&gt;&lt;/b&gt;&lt;span style="font-family:verdana;"&gt; &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;  &lt;p class="MsoNormal"  style="font-family:verdana;"&gt;&lt;b&gt;&lt;span style=""&gt;Cause:&lt;/span&gt;&lt;/b&gt;&lt;span style=""&gt; rollback records needed by a reader for consistent read are overwritten by other writers&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"  style="font-family:times new roman;"&gt;&lt;b  style="font-family:verdana;"&gt;&lt;span style=""&gt;Action:&lt;/span&gt;&lt;/b&gt;&lt;span style=""&gt;&lt;span style="font-family:verdana;"&gt; If in Automatic Undo Management mode, increase undo_retention setting. Otherwise, use larger rollback segments&lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style="font-family: times new roman;" class="MsoNormal"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;  &lt;p style="font-family: verdana;" class="MsoNormal"&gt;&lt;b&gt;Details:&lt;o:p&gt;&lt;/o:p&gt;&lt;/b&gt;&lt;/p&gt;  &lt;p  style="font-family:verdana;"&gt;There are various reasons why users get the &lt;code&gt;&lt;span style="font-size:10;"&gt;ORA-01555&lt;/span&gt;&lt;/code&gt; error. The most common reason is that the rollback segments are too small.&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;  &lt;p face="verdana"&gt;Oracle uses rollback segments to reconstruct the read-consistent snapshot of the data. Whenever a transaction makes any changes, a snapshot of the record before the changes were made is copied to a rollback segment. Once a transaction is complete, its data is not deleted from the rollback segment. It remains there to service the queries and transactions that began executing before it was committed. This may cause problems with long queries because these blocks may be overwritten by other transactions, even though the separate long-running query against those blocks has not completed.&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;  &lt;p face="verdana"&gt;So users may potentially experience this error whenever a long-running query is executed at the same time as data manipulation(DML) transactions.&lt;/p&gt;  &lt;p face="verdana"&gt;&lt;b&gt;How to avoid/fix &lt;span style=""&gt; &lt;/span&gt;this error :&lt;o:p&gt;&lt;/o:p&gt;&lt;/b&gt;&lt;/p&gt;  &lt;ul  style="font-family:verdana;"&gt;&lt;li&gt;&lt;!--[if !supportLists]--&gt;&lt;span style="font-size:10;"&gt;&lt;span style=""&gt;&lt;span style="font-style: normal; font-variant: normal; font-weight: normal; line-height: normal; font-size-adjust: none; font-stretch: normal;font-size:7;" &gt;        &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;Increase the size of all the roll back segments.&lt;o:p&gt;&lt;/o:p&gt;&lt;/li&gt;&lt;li&gt;&lt;!--[if !supportLists]--&gt;&lt;span style="font-size:10;"&gt;&lt;span style=""&gt;&lt;span style="font-style: normal; font-variant: normal; font-weight: normal; line-height: normal; font-size-adjust: none; font-stretch: normal;font-size:7;" &gt;        &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;Add more rollback segments.&lt;o:p&gt;&lt;/o:p&gt;&lt;/li&gt;&lt;li&gt;&lt;!--[if !supportLists]--&gt;&lt;span style="font-size:10;"&gt;&lt;span style=""&gt;&lt;span style="font-style: normal; font-variant: normal; font-weight: normal; line-height: normal; font-size-adjust: none; font-stretch: normal;font-size:7;" &gt;       &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;Increase the ‘&lt;code&gt;&lt;span style="font-size:10;"&gt;OPTIMAL&lt;/span&gt;&lt;/code&gt;’ size of the roll back segments.&lt;o:p&gt;&lt;/o:p&gt;&lt;/li&gt;&lt;li&gt;&lt;!--[if !supportLists]--&gt;&lt;span style="font-size:10;"&gt;&lt;span style=""&gt;&lt;span style="font-style: normal; font-variant: normal; font-weight: normal; line-height: normal; font-size-adjust: none; font-stretch: normal;font-size:7;" &gt;       &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;Tune the application to&lt;span style=""&gt;   &lt;/span&gt;“commit” more frequently such that&lt;span style=""&gt;  &lt;/span&gt;smaller rollback space is   used and this condition can be avoided.&lt;/li&gt;&lt;li&gt;&lt;!--[if !supportLists]--&gt;&lt;span style="font-size:10;"&gt;&lt;span style=""&gt;&lt;span style="font-style: normal; font-variant: normal; font-weight: normal; line-height: normal; font-size-adjust: none; font-stretch: normal;font-size:7;" &gt;     &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span style=""&gt; &lt;/span&gt;Oracle recommended ‘proper’ solution is to schedule long-running queries at times when online transaction processing is at a minimum.&lt;/li&gt;&lt;/ul&gt;          &lt;p face="verdana"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;  &lt;p face="verdana"&gt;&lt;b&gt;Example:&lt;o:p&gt;&lt;/o:p&gt;&lt;/b&gt;&lt;/p&gt;  &lt;p face="verdana"&gt;ORA-01555 Error Scenario:&lt;/p&gt;  &lt;p style="font-family: verdana;"&gt;Sample application logic causing &lt;span style=""&gt; &lt;/span&gt;ORA-01555 error:&lt;/p&gt;  &lt;p style="font-family: verdana;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;  &lt;p style="margin-left: 0.5in; font-family: verdana;"&gt;Prepare a select&lt;br /&gt;fetchrowArray&lt;br /&gt;while the row is not null&lt;br /&gt;update the row&lt;br /&gt;if nrows mod commitsize then commit&lt;br /&gt;fetch the next row&lt;br /&gt;end while&lt;br /&gt;&lt;br /&gt;final commit&lt;/p&gt;  &lt;p style="font-family: verdana;"&gt;This application is developed in Perl, DBD, DBI and oracle.&lt;span style=""&gt;  &lt;/span&gt;It raised the error as shown below:&lt;/p&gt;  &lt;p style="font-family: verdana;"&gt;DBD::Oracle::st fetchrow_array failed: ORA-01555: snapshot too old: rollback segment number 15 with name "_SYSSMU15$" too small (DBD ERROR: OCIStmtFetch) [for Statement "&lt;/p&gt;  &lt;p style="font-family: verdana;"&gt;&lt;b&gt;Analysis and Resolution:&lt;o:p&gt;&lt;/o:p&gt;&lt;/b&gt;&lt;/p&gt;  &lt;p style="font-family: verdana;"&gt;As you can see from the application logic,  the rows selected by the outer select query are being modified by the update statement. ie both are acting on the same table . It can be resolved by setting  UNDO_RETENTION appropriately large enough   BUT it may not be the best solution.&lt;br /&gt;The better solution may be separating  out select and updates  in to different transactions.&lt;/p&gt;  &lt;p&gt;&lt;span style="font-family:verdana;"&gt;After rewriting  the application logic by separating data selection and data update activities, this  “&lt;/span&gt;&lt;b&gt;&lt;span style="font-family:verdana;"&gt;ORA-01555: snapshot too old” no longer occurred.&lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/b&gt;&lt;/p&gt;&lt;br /&gt;&lt;script src="http://www.google-analytics.com/urchin.js" type="text/javascript"&gt;&lt;br /&gt;&lt;/script&gt;&lt;br /&gt;&lt;script type="text/javascript"&gt;&lt;br /&gt;var gaJsHost = (("https:" == document.location.protocol) ? "https://ssl." : "http://www.");&lt;br /&gt;document.write(unescape("%3Cscript src='" + gaJsHost + "google-analytics.com/ga.js' type='text/javascript'%3E%3C/script%3E"));&lt;br /&gt;&lt;/script&gt;&lt;br /&gt;&lt;script type="text/javascript"&gt;&lt;br /&gt;var pageTracker = _gat._getTracker("UA-4078460-1");&lt;br /&gt;pageTracker._initData();&lt;br /&gt;pageTracker._trackPageview();&lt;br /&gt;&lt;/script&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1556135669515651935-8499386650730297377?l=oracle-error.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://oracle-error.blogspot.com/' title='ORA-01555: snapshot too old'/><link rel='replies' type='application/atom+xml' href='http://oracle-error.blogspot.com/feeds/8499386650730297377/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1556135669515651935&amp;postID=8499386650730297377&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1556135669515651935/posts/default/8499386650730297377'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1556135669515651935/posts/default/8499386650730297377'/><link rel='alternate' type='text/html' href='http://oracle-error.blogspot.com/2008/04/ora-01555-snapshot-too-old.html' title='ORA-01555: snapshot too old'/><author><name>Mendus</name><uri>http://www.blogger.com/profile/15926700298623471526</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1556135669515651935.post-5462085240402341085</id><published>2008-04-08T00:29:00.006-04:00</published><updated>2009-08-28T23:15:03.917-04:00</updated><title type='text'>Oracle Error Information</title><content type='html'>&lt;span style=";font-family:verdana;font-size:100%;"  &gt;Welcome to Oracle Error Information Blog. Oracle is one of the leading  relational databases in the industry and it is widely used  as  back end database or even we can say as a backbone for  large scale software applications and data-ware houses.  Oracle operates by predefined set of rules.&lt;br /&gt;&lt;br /&gt;During the course of application development, unit testing , performance testing or even in Production,   Oracle may generate an error  if any of these predefined rules are violated.  If any error,  Oracle fails the operation with an  ORA- error code.  Oracle provides list of  the error codes with little bit of explanation in their documentation but it didn't provide much details or examples of the errors. In the internet also, information about these Oracle errors such as example scenarios for these errors and info about fixing these errors  is not easily available/accessible  as it is usually buried in various forums.&lt;br /&gt;&lt;br /&gt;The intention of this blog is to provide easily searchable Oracle Error Information  with examples such that  developers, testers, DBAs, production support people and other Oracle users benefit by finding all needed information  about an Oracle error  by one click.&lt;br /&gt;&lt;br /&gt;If you have questions not covered in Oracle Error Information Blog  please feel free to email your question to  &lt;span style="text-decoration: underline;"&gt;smendu@gmail.com&lt;br /&gt;&lt;br /&gt;- Mendus,&lt;br /&gt;Oracle OCP DBA&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;script src="http://www.google-analytics.com/urchin.js" type="text/javascript"&gt;&lt;br /&gt;&lt;/script&gt;&lt;br /&gt;&lt;script type="text/javascript"&gt;&lt;br /&gt;_uacct = "UA-4078460-1";&lt;br /&gt;urchinTracker();&lt;br /&gt;&lt;/script&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1556135669515651935-5462085240402341085?l=oracle-error.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://oracle-error.blogspot.com' title='Oracle Error Information'/><link rel='replies' type='application/atom+xml' href='http://oracle-error.blogspot.com/feeds/5462085240402341085/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1556135669515651935&amp;postID=5462085240402341085&amp;isPopup=true' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1556135669515651935/posts/default/5462085240402341085'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1556135669515651935/posts/default/5462085240402341085'/><link rel='alternate' type='text/html' href='http://oracle-error.blogspot.com/2008/04/oracle-error-information.html' title='Oracle Error Information'/><author><name>Mendus</name><uri>http://www.blogger.com/profile/15926700298623471526</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry></feed>
