
Below are the list of Oracle ORA message from ORA-00000 to ORA-00100. You can find the cause and actions from each of the message accordingly.
| ORA MESSAGE | CAUSE / ACTION |
|---|---|
| ORA-00000 normal & successful completion | Cause: An operation has completed normally having met no exceptions. Action: No action required. |
| ORA-00001 unique constraint (string.string) violated | Cause: An UPDATE or INSERT statement attempted to insert a duplicate key. Action: Either remove the unique restriction or do not insert the key. |
| ORA-00017 session requested to set trace event | Cause: The current session was requested to set a trace event by another session. Action: This is used internally; no action is required. |
| ORA-00018 maximum number of sessions exceeded | Cause: All session state objects are in use. Action: Increase the value of the SESSIONS initialization parameter. |
| ORA-00019 maximum number of session licenses exceeded | Cause: All licenses are in use. Action: Increase the value of the LICENSE MAX SESSIONS initialization parameter. |
| ORA-00020 maximum number of processes (string) exceeded | Cause: All process state objects are in use. Action: Increase the value of the PROCESSES initialization parameter. |
| ORA-00021 session attached to some other process; cannot switch session | Cause: The user session is currently used by others. Action: Do not switch to a session attached to some other process. |
| ORA-00022 invalid session ID; access denied | Cause: Either the session specified does not exist or the caller does not have the privilege to access it. Action: Specify a valid session ID that you have privilege to access that is either you own it or you have the CHANGE_USER privilege. |
| ORA-00023 session references process private memory; cannot detach session | Cause: An attempt was made to detach the current session when it contains references to process private memory. Action: 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. |
| ORA-00024 logins from more than one process not allowed in single-process mode | Cause: An attempt was made to log in more than once from different processes for Oracle started in single-process mode. Action: Log off from the other process. |
| ORA-00025 failed to allocate string | Cause: An application failed because Oracle ran out of memory. Action: Restart Oracle with a larger SGA heap. |
| ORA-00026 missing or invalid session ID | Cause: The session ID string specified in the ALTER SYSTEM KILL SESSION command was invalid or no string was specified. Action: Retry the command with a valid session ID. |
| ORA-00027 cannot kill current session | Cause: An attempt was made to use ALTER SYSTEM KILL SESSION to kill the current session. Action: If it is necessary to kill the current session do so from another session. |
| ORA-00028 your session has been killed | Cause: A privileged user killed the session and it is no longer logged in to the database. Action: Contact the database administrator. The administrator may be attempting to perform an operation that requires users to be logged out. When the database administrator announces that the database is available log in and resume work. |
| ORA-00029 session is not a user session | Cause: The session ID specified in an ALTER SYSTEM KILL SESSION command was not a user session. For example the session may be recursively started. Action: Retry the command with a valid session ID. |
| ORA-00030 User session ID does not exist | Cause: The user session ID no longer exists probably because the session was logged out. Action: Use a valid session ID. |
| ORA-00031 session marked for kill | Cause: The session specified in an ALTER SYSTEM KILL SESSION command cannot be killed immediately because the session is involved in a non-interruptible operation (for example rolling back a transaction or being blocked by a network operation). The session has been marked to be killed as soon as possible after the current operation is done. Action: No action is required for the session to be killed but further executions of the ALTER SYSTEM KILL SESSION command on this session may cause the session to be killed sooner. |
| ORA-00032 invalid session migration password | Cause: The session migration password specified in a session creation call was invalid (probably too long). Action: Retry with a valid password (less than 30 characters). |
| ORA-00033 current session has empty migration password | Cause: An attempt was made to detach or clone the current session and it has an empty migration password. This is not allowed. Action: Create the session with a non-empty migration password. |
| ORA-00034 cannot string in current PL/SQL session | Cause: An attempt was made to issue a commit or rollback from a PL/SQL object (procedure / function / package) in a session that has this disabled by a ALTER SESSION DISABLE COMMIT IN PROCEDURE statement. Action: Enable commits from PL/SQL in this session or do not attempt to use commit or rollback in PL/SQL when they are disabled in the current session. |
| ORA-00035 LICENSE_MAX_USERS cannot be less than current number of users | Cause: Specified values for LICENSE_MAX_USERS is less than the current number of users. Action: Check the license limit and drop extra users or purchase more licenses. |
| ORA-00036 maximum number of recursive SQL levels (string) exceeded | Cause: An attempt was made to go more than the specified number of recursive SQL levels. Action: Remove the recursive SQL possibly a recursive trigger. |
| ORA-00037 cannot switch to a session belonging to a different server group | Cause: An attempt was made to switch to a session in a different server group. This is not allowed. Action: Make sure the server switches to a session that belongs to its server group. |
| ORA-00038 Cannot create session: server group belongs to another user | Cause: An attempt was made to create a non-migratable session in a server group that is owned by a different user. Action: A server group is owned by the first user who logs into a server in the server group in non-migratable mode. All subsequent non-migratable mode logins must be made by the user who owns the server group. To have a different user log in non-migratable mode the ownership of the server group will have to be changed. This can be done by logging off all current sessions and detaching from all existing servers in the server group and then having the new user login to become the new owner. |
| ORA-00050 operating system error occurred while obtaining an enqueue | Cause: Could not obtain the operating system resources necessary to cover an Oracle enqueue. This is normally the result of an operating system user quota that is too low. Action: Look up the operating system error in your system documentation and perform the needed action. |
| ORA-00051 timeout occurred while waiting for a resource | Cause: This message is usually caused by an instance that has terminated abnormally. Action: Restart any non-recovered instances. |
| ORA-00052 maximum number of enqueue resources (string) exceeded | Cause: Ran out of enqueue resources. Action: Increase the value of the ENQUEUE_RESOURCES initialization parameter. |
| ORA-00053 maximum number of enqueues exceeded | Cause: Ran out of enqueue state objects. Action: Increase the value of the ENQUEUES initialization parameter. |
| ORA-00054 resource busy and acquire with NOWAIT specified | Cause: The NOWAIT keyword forced a return to the command prompt because a resource was unavailable for a LOCK TABLE or SELECT FOR UPDATE command. Action: Try the command after a few minutes or enter the command without the NOWAIT keyword. |
| ORA-00055 maximum number of DML locks exceeded | Cause: Ran out of DML lock state objects. Action: Increase the value of the DML_LOCKS initialization parameter and restart Oracle. |
| ORA-00056 DDL lock on object 'string.string' is already held in an incompatible mode | Cause: The attempted lock is incompatible with the DDL lock already held on the object. This happens if you attempt to drop a table that has parse locks. Action: Before attempting to drop a table check that it has no parse locks. Wait a few minutes before retrying the operation. |
| ORA-00057 maximum number of temporary table locks exceeded | Cause: The number of temporary tables equals or exceeds the number of temporary table locks. Temporary tables are often created by large sorts. Action: Increase the value of the TEMPORARY_TABLE_LOCKS initialization parameter and restart Oracle. |
| ORA-00058 DB_BLOCK_SIZE must be string to mount this database (not string) | Cause: The value of the DB_BLOCK_SIZE initialization parameter used to start this database does not match the value used when that database was created. Potential reasons for this mismatch are - mounting the wrong database - using the wrong initialization parameter file - the value of the DB_BLOCK_SIZE parameter was changed. Action: For one of the above causes either - mount the correct database - use the correct initialization parameter file - correct the value of the DB_BLOCK_SIZE parameter. |
| ORA-00059 maximum number of DB_FILES exceeded | Cause: The value of the DB_FILES initialization parameter was exceeded. Action: Increase the value of the DB_FILES parameter and restart Oracle. |
| ORA-00060 deadlock detected while waiting for resource | Cause: Your session and another session are waiting for a resource locked by the other. This condition is known as a deadlock. To resolve the deadlock one or more statements were rolled back for the other session to continue work. Action: Either – - Enter a ROLLBACK statement and re-execute all statements since the last commit - Wait until the lock is released / possibly a few minutes and then re-execute the rolled back statements. |
| ORA-00061 another instance has a different DML_LOCKS setting | Cause: The shared instance being started is using DML locks and the running instances are not or vice-versa. Action: Either: - Do not use DML_LOCKS by setting DML_LOCKS to zero at all instances - Use DML_LOCKS by setting DML_LOCKS to a positive integer at all instances. |
| ORA-00062 DML full-table lock cannot be acquired; DML_LOCKS is 0 | Cause: The instance was started with the value of DML_LOCKS set to zero and the statement being executed needs a full-table lock (S or X or SSX). Action: Restart the instance with DML_LOCKS not equal to zero and re-execute the statement. |
| ORA-00063 maximum number of LOG_FILES exceeded | Cause: The value of the LOG_FILES initialization parameter was exceeded. Action: Increase the value of the LOG_FILES initialization parameter and restart Oracle. The value of the parameter needs to be as large as the highest number of log files that currently exist rather than just the count of logs that exist. |
| ORA-00064 object is too large to allocate on this O/S (string.string) | Cause: An initialization parameter was set to a value that required allocating more contiguous space than can be allocated on this operating system. Action: Reduce the value of the initialization parameter. |
| ORA-00065 initialization of FIXED_DATE failed | Cause: The FIXED_DATE string was not in date format yyyy-mm-dd:hh24:mi:ss. Action: Make sure the initialization parameter is in the correct date format. |
| ORA-00066 LOG_FILES is string but needs to be string to be compatible | Cause: The maximum number of log files supported by this instance is not the same as for the other instances. All instances must be able to open all the files any instance can open. Action: Change the value of the LOG_FILES initialization parameter to be compatible. |
| ORA-00067 invalid value string for parameter string; must be at least string | Cause: The value for the initialization parameter is invalid. Action: Choose a value as indicated by the message. |
| ORA-00068 invalid value string for parameter string must be between string and string | Cause: The value for the initialization parameter is invalid. Action: Choose a value as indicated by the message. |
| ORA-00069 cannot acquire lock — table locks disabled for string | Cause: A command was issued that tried to lock the table indicated in the message. Examples of commands that can lock tables are: LOCK TABLE / ALTER TABLE… ADD (…) and so on. Action: Use the ALTER TABLE… ENABLE TABLE LOCK command and retry the command. |
| ORA-00070 command string is not valid | Cause: An invalid debugger command was specified. Action: Type HELP to see the list of available commands. |
| ORA-00071 process number must be between 1 and string | Cause: An invalid process number was specified. Action: Specify a valid process number. |
| ORA-00072 process "string" is not active | Cause: An invalid process was specified. Action: Specify a valid process. |
| ORA-00073 command string takes between string and string argument(s) | Cause: An incorrect number of arguments was specified. Action: Specify the correct number of arguments. Type HELP to see the list of commands and their syntax. |
| ORA-00074 no process has been specified | Cause: No debug process has been specified. Action: Specify a valid process. |
| ORA-00075 process "string" not found in this instance | Cause: The specified process was not logged on to the current instance. Action: Specify a valid process. |
| ORA-00076 dump string not found | Cause: An attempt was made to invoke a dump that does not exist. Action: Type DUMPLIST to see the list of available dumps. |
| ORA-00077 dump string is not valid | Cause: An attempt was made to invoke an invalid dump. Action: Try another dump. |
| ORA-00078 cannot dump variables by name | Cause: An attempt was made to dump a variable by name on a system that does not support this feature. Action: Try the PEEK command. |
| ORA-00079 variable string not found | Cause: An attempt was made to dump a variable that does not exist. Action: Use a valid variable name. |
| ORA-00080 invalid global area specified by level string | Cause: An attempt was made to dump an invalid global area. Action: Use level 1 for the PGA / 2 for the SGA and 3 for the UGA. Use extra + level to dump global area level as well as extra bytes for every pointer; extra must be a multiple of 4. |
| ORA-00081 address range [string / string) is not readable | Cause: An attempt was made to read/write an invalid memory address range. Action: Try another address or length. |
| ORA-00082 memory size of string is not in valid set of [1] / [2] / [4]stringstringstringstringstring | Cause: An invalid length was specified for the POKE command. Action: Use a valid length (either 1 / 2 / 4 or possibly 8). |
| ORA-00083 warning: possibly corrupt SGA mapped | Cause: Even though there may be SGA corruptions the SGA was mapped. Action: Use the DUMPSGA command to dump the SGA. |
| ORA-00084 global area must be PGA / SGA or UGA | Cause: An attempt was made to dump an invalid global area. Action: Specify either PGA or SGA or UGA. |
| ORA-00085 current call does not exist | Cause: An invalid attempt was made to dump the current call heap. Action: Wait until the process starts a call. |
| ORA-00086 user call does not exist | Cause: An invalid attempt was made to dump the user call heap. Action: Wait until the process starts a call. |
| ORA-00087 command cannot be executed on remote instance | Cause: Cluster database command issued for non cluster database ORADEBUG command. Action: Issue the command without the cluster database syntax. |
| ORA-00088 command cannot be executed by shared server | Cause: A debug command was issued on a shared server. Action: Reissue the command using a dedicated server. |
| ORA-00089 invalid instance number in ORADEBUG command | Cause: An invalid instance number was specified in a cluster database ORADEBUG command. Action: Reissue the command with valid instance numbers. |
| ORA-00090 failed to allocate memory for cluster database ORADEBUG command | Cause: Could not allocate memory needed to execute cluster database oradebug. Action: Reissue the command on each instance with single-instance ORADEBUG. |
| ORA-00091 LARGE_POOL_SIZE must be at least string | Cause: The value of LARGE_POOL_SIZE is below the minimum size. Action: Increase the value of LARGE_POOL_SIZE past the minimum size. |
| ORA-00092 LARGE_POOL_SIZE must be greater than LARGE_POOL_MIN_ALLOC | Cause: The value of LARGE_POOL_SIZE is less than the value of LARGE_POOL_MIN_ALLOC. Action: Increase the value of LARGE_POOL_SIZE past the value of LARGE_POOL_MIN_ALLOC. |
| ORA-00093 string must be between string and string | Cause: The parameter value is not in a valid range. Action: Modify the parameter value to be within the specified range. |
| ORA-00094 string requires an integer value | Cause: The parameter value is not an integer. Action: Modify the parameter value to be an integer. |
| ORA-00096 invalid value string for parameter string must be from among string | Cause: The value for the initialization parameter is invalid. Action: Choose a value as indicated by the message. |
| ORA-00097 use of Oracle SQL feature not in SQL92 string Level | Cause: An attempt was made to use an Oracle SQL feature that is not compliant with the SQL92 standard. Action: Do not use the feature or use the ALTER SESSION SET FLAGGER command to set the appropriate level of SQL92 compliance. |
| ORA-00099 timed out while waiting for resource potential PDML deadlock | Cause: The resource needed by the transaction was busy. The PDML transaction could not acquire the resource within the specified amount of time. This indicates potential deadlock involving this PDML transaction and other transactions currently running in the system. Action: Increase the value of the PARALLEL_TRANSACTION_RESOURCE_TIMEOUT parameter; then retry the operation. |
| ORA-00100 no data found | Cause: An application made a reference to unknown or inaccessible data. Action: Handle this condition within the application or make appropriate modifications to the application code. |
