Oracle 11g Error Codes and Solution Suggestions from ORA-04000 to ORA-04100
- ORA-04000: the sum of PCTUSED and PCTFREE cannot exceed 100
- Cause: the sum of PCTUSED and PCTFREE for a cluster or table exceeds 100
- Action: create the table/cluster specifying values whose sum is <= 100
- ORA-04001: sequence parameter string must be an integer
- Cause: %s (a sequence parameter) specified was not an integer
- Action: create the sequence, giving the specified parameter an integer value
- ORA-04002: INCREMENT must be a non-zero integer
- Cause: a sequence increment was specified to be zero
- Action: specify the increment to be a non-zero value
- ORA-04003: sequence parameter string exceeds maximum size allowed (string digits)
- Cause: %s (a sequencer parameter) had too many digits
- Action: specify the parameter with the allowed number of digits
- ORA-04004: MINVALUE must be less than MAXVALUE
- Cause: MINVALUE was specified to be greater than or equal to MAXVALUE
- Action: specify a MINVALUE that is less than MAXVALUE
- ORA-04005: INCREMENT must be less than MAXVALUE minus MINVALUE
- Cause: the INCREMENT specified is >= MAXVALUE-MINVALUE
- Action: specify an INCREMENT that is < MAXVALUE-MINVALUE
- ORA-04006: START WITH cannot be less than MINVALUE
- Cause: the given starting value is less than MINVALUE
- Action: make sure that the starting value is >= MINVALUE
- ORA-04007: MINVALUE cannot be made to exceed the current value
- Cause: the given MINVALUE would be greater than the current value
- Action: always make sure that MINVALUE is <= the current value
- ORA-04008: START WITH cannot be more than MAXVALUE
- Cause: the starting value would be larger than MAXVALUE
- Action: make sure that the starting value is less than MAXVALUE
- ORA-04009: MAXVALUE cannot be made to be less than the current value
- Cause: the current value exceeds the given MAXVALUE
- Action: make sure that the new MAXVALUE is larger than the current value
- ORA-04010: the number of values to CACHE must be greater than 1
- Cause: the value in the CACHE clause was one
- Action: specify NOCACHE, or a value larger than one
- ORA-04011: sequence string must range between string and string
- Cause: the value specified for one of the sequence parameters exceeds limits
- Action: specify parameter within these limits
- ORA-04012: object is not a sequence
- Cause: the object specified cannot have sequence ddl’s performed on it
- Action: re-enter the statement being careful with the spelling of the name
- ORA-04013: number to CACHE must be less than one cycle
- Cause: number to CACHE given is larger than values in a cycle
- Action: enlarge the cycle, or cache fewer values
- ORA-04014: descending sequences that CYCLE must specify MINVALUE
- Cause: sequences that cycle must have their wrap-wrap specified
- Action: re-create the sequence, specifying its wrap-value
- ORA-04015: ascending sequences that CYCLE must specify MAXVALUE
- Cause: sequences that cycle must have their wrap-wrap specified
- Action: re-create the sequence, specifying its wrap-value
- ORA-04016: sequence string no longer exists
- Cause: sequence was dropped while processing its next value.
- Action: re-create the sequence
- ORA-04017: invalid value string (length = string) for parameter max_dump_file_size
- Cause: neither did the string supplied for max_dump_file_size parameter match the “UNLIMITED” string value nor did it represent a base 10 integer.
- Action: reassign a proper value to this parameter.
- ORA-04020: deadlock detected while trying to lock object stringstringstringstringstring
- Cause: While trying to lock a library object, a deadlock is detected.
- Action: Retry the operation later.
- ORA-04021: timeout occurred while waiting to lock object stringstringstringstringstring
- Cause: While waiting to lock a library object, a timeout occurred.
- Action: Retry the operation later.
- ORA-04022: nowait requested, but had to wait to lock dictionary object
- Cause: Had to wait to lock a library object during a nowait request.
- Action: Retry the operation later.
- ORA-04023: Object stringstringstringstringstring could not be validated or authorized
- Cause: A number of attempts were made to validate or authorize an object but failed.
- Action: Please report this error to Oracle Support Services.
- ORA-04024: self-deadlock detected while trying to mutex pin cursor string
- Cause: While trying to mutex pin a cursor, a self-deadlock is detected.
- Action: Retry the operation later.
- ORA-04027: self-deadlock during automatic validation for object string.string
- Cause: An attempt was made to validate an invalidated object but it failed because of a self-deadlock.
- Action: , e.g. compile the invalidated object separately.
- ORA-04028: cannot generate diana for object stringstringstringstringstring
- Cause: Cannot generate diana for an object because of lock conflict.
- Action: Please report this error to your support representative.
- ORA-04029: error ORA-string occurred when querying stringstringstring
- Cause: The table or view being queried might be missing. The error number indicates the error.
- Action: Fix the error.
- ORA-04030: out of process memory when trying to allocate string bytes (string,string)
- Cause: Operating system process private memory was exhausted.
- Action: None
- ORA-04031: unable to allocate string bytes of shared memory (“string“,”string“,”string“,”string“)
- Cause: More shared memory is needed than was allocated in the shared pool.
- Action: 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 initialization parameters SHARED_POOL_RESERVED_SIZE and SHARED_POOL_SIZE. If the large pool is out of memory, increase the initialization parameter LARGE_POOL_SIZE.
- ORA-04032: pga_aggregate_target must be set before switching to auto mode
- Cause: attempt to set workarea_size_policy to AUTO while pga_aggregate_target is not specified
- Action: before setting workarea_size_policy, set pga_aggregate_target to a value representing the total private memory available to the instance. This total is generally the total physical memory available in the system minus what is needed for the SGA minus what is needed for the operating system (e.g. 500MB)
- ORA-04033: Insufficient memory to grow pool
- Cause: The system had insufficient memory to grow the pool to the specified size.
- Action: Specify a smaller value to grow the pool.
- ORA-04034: unable to shrink pool to specified size
- Cause: The pool could not shrink to the specified size as it could not free memory.
- Action: Specify a larger value to which to shrink the pool to.
- ORA-04035: unable to allocate string bytes of shared memory in shared object cache “string” of size “string“
- Cause: More shared memory is needed than was allocated in the shared object cache.
- Action: None
- ORA-04041: package specification must be created first before creating package body
- Cause: Attempt to create a package body before creating its package specification.
- Action: Create the package specification first before creating the package body.
- ORA-04042: procedure, function, package, or package body does not exist
- Cause: Attempt to access a procedure, function, package, or package body that does not exist.
- Action: Make sure the name is correct.
- ORA-04043: object string does not exist
- Cause: An object name was specified that was not recognized by the system. There are several possible causes:
- – An invalid name for a table, view, sequence, procedure, function, package, or package body was entered. Since the system could not recognize the invalid name, it responded with the message that the named object does not exist.
- – An attempt was made to rename an index or a cluster, or some other object that cannot be renamed.
- Action: Check the spelling of the named object and rerun the code. (Valid names of tables, views, functions, etc. can be listed by querying the data dictionary.)
- ORA-04044: procedure, function, package, or type is not allowed here
- Cause: A procedure, function, or package was specified in an inappropriate place in a statement.
- Action: Make sure the name is correct or remove it.
- ORA-04045: errors during recompilation/revalidation of string.string
- Cause: This message indicates the object to which the following errors apply. The errors occurred during implicit recompilation/revalidation of the object.
- Action: Check the following errors for more information, and make the necessary corrections to the object.
- ORA-04046: results of compilation are too large to support
- Cause: Attempt to compile and store a large stored procedure that results in compilation data that is too large for the system to support or store.
- Action: Reduce the size of the store procedure by splitting it into smaller stored procedures.
- ORA-04047: object specified is incompatible with the flag specified
- Cause: The object type implied by the flag does not match the type of object specified.
- Action: Specify the correct object, or use the appropriate flag
- ORA-04050: invalid or missing procedure, function, or package name
- Cause: The required procedure, function, or package name is invalid or missing.
- Action: Specify a valid name.
- ORA-04051: user string cannot use database link string.string
- Cause: During forwarding of a remote object access, an attempt was made to use a non-existent database link or one owned by a user other than the logon user or PUBLIC.
- Action: Change your database link structure so that all indirect remote accesses are done from the same userid that originates the request.
- ORA-04052: error occurred when looking up remote object stringstringstringstringstring
- Cause: An error occurred when trying to look up a remote object.
- Action: Fix the error. Make sure the remote database system has run CATRPC.SQL to create necessary views used for querying or looking up objects stored in the database.
- ORA-04053: error occurred when validating remote object stringstringstringstringstring
- Cause: An error occurred when trying to validate a remote object.
- Action: Fix the error. Make sure the remote database system has run CATRPC.SQL to create necessary views used for querying or looking up objects stored in the database.
- ORA-04054: database link string does not exist
- Cause: During compilation of a PL/SQL block, an attempt was made to use a non-existent database link.
- Action: Either use a different database link or create the database link.
- ORA-04055: Aborted: “string” formed a non-REF mutually-dependent cycle with “string“.
- Cause: This compilation was aborted because the library unit that was compiled would have formed a non-REF mutually-dependent cycle with some other library units. This happens when an attempt is made to compile types that have attributes of other types that may participate in a cycle with this type. Example: create type t1; create type t2 (a t1); create type t1 (a t2);
- Action: Break the cycle (possibly by adding a REF or by using another type).
- ORA-04060: insufficient privileges to execute string
- Cause: Attempt to execute a stored procedure without sufficient privileges.
- Action: Get necessary privileges.
- ORA-04061: existing state of string has been invalidated
- Cause: Attempt to resume the execution of a stored procedure using the existing state which has become invalid or inconsistent with the stored procedure because the procedure has been altered or dropped.
- Action: Try again; this error should have caused the existing state of all packages to be re-initialized.
- ORA-04062: string of string has been changed
- Cause: Attempt to execute a stored procedure to serve an RPC stub which specifies a timestamp or signature that is different from the current timestamp/signature of the procedure.
- Action: Recompile the caller in order to pick up the new timestamp.
- ORA-04063: string has errors
- Cause: Attempt to execute a stored procedure or use a view that has errors. For stored procedures, the problem could be syntax errors or references to other, non-existent procedures. For views, the problem could be a reference in the view’s defining query to a non-existent table. Can also be a table which has references to non-existent or inaccessible types.
- Action: Fix the errors and/or create referenced objects as necessary.
- ORA-04064: not executed, invalidated string
- Cause: Attempt to execute a stored procedure that has been invalidated.
- Action: Recompile it.
- ORA-04065: not executed, altered or dropped string
- Cause: Attempt to execute a stored procedure that has been altered or dropped thus making it not callable from the calling procedure.
- Action: Recompile its dependents.
- ORA-04066: non-executable object, string
- Cause: Attempt to execute a non-procedure.
- Action: Make sure that a correct name is given.
- ORA-04067: not executed, string does not exist
- Cause: Attempt to execute a non-existent stored procedure.
- Action: Make sure that a correct name is given.
- ORA-04068: existing state of packagesstringstringstring has been discarded
- Cause: One of errors 4060 – 4067 when attempt to execute a stored procedure.
- Action: Try again after proper re-initialization of any application’s state.
- ORA-04069: cannot drop or replace a library with table dependents
- Cause: An attempt was made to drop or replace a library that has dependents. There could be a table which depends on type which depends on the library being dropped.
- Action: Drop all table(s) depending on the type, then retry.
- ORA-04070: invalid trigger name
- Cause: An invalid trigger name was specified.
- Action: Verify that trigger name is not a reserved keyword.
- ORA-04071: missing BEFORE, AFTER or INSTEAD OF keyword
- Cause: The trigger statement is missing the BEFORE/AFTER/INSTEAD OF clause.
- Action: Specify either BEFORE, AFTER or INSTEAD OF.
- ORA-04072: invalid trigger type
- Cause: An invalid trigger type was given.
- Action: Specify either INSERT, UPDATE or DELETE.
- ORA-04073: column list not valid for this trigger type
- Cause: A column list was specified for a non-update trigger type.
- Action: Remove the column list.
- ORA-04074: invalid REFERENCING name
- Cause: An invalid name was given in the referencing clause.
- Action: Verify the referencing name is not a reserved word.
- ORA-04075: invalid trigger action
- Cause: An statement was given for the trigger action.
- Action: Re-specify the trigger action.
- ORA-04076: invalid NEW or OLD specification
- Cause: An invalid NEW or OLD specification was given for a column.
- Action: Re-specify the column using the correct NEW or OLD specification.
- ORA-04077: WHEN clause cannot be used with table level triggers
- Cause: The when clause can only be specified for row level triggers.
- Action: Remove the when clause or specify for each row.
- ORA-04078: OLD and NEW values cannot be identical
- Cause: The referencing clause specifies identical values for NEW and OLD.
- Action: Re-specify either the OLD or NEW referencing value.
- ORA-04079: invalid trigger specification
- Cause: The create TRIGGER statement is invalid.
- Action: Check the statement for correct syntax.
- ORA-04080: trigger ‘string‘ does not exist
- Cause: The TRIGGER name is invalid.
- Action: Check the trigger name.
- ORA-04081: trigger ‘string‘ already exists
- Cause: The TRIGGER name or type already exists.
- Action: Use a different trigger name or drop the trigger which is of the same name.
- ORA-04082: NEW or OLD references not allowed in table level triggers
- Cause: The trigger is accessing “new” or “old” values in a table trigger.
- Action: Remove any new or old references.
- ORA-04083: invalid trigger variable ‘string‘
- Cause: The variable referenced in the trigger body is invalid.
- Action: See the manual for valid trigger variable types.
- ORA-04084: cannot change NEW values for this trigger type
- Cause: New trigger variables can only be changed in before row insert or update triggers.
- Action: Change the trigger type or remove the variable reference.
- ORA-04085: cannot change the value of an OLD reference variable
- Cause: Old values can only be read and not changed.
- Action: Do not attempt to change an old variable.
- ORA-04086: trigger description too long, move comments into triggering code
- Cause: The trigger description is limited to 2000 characters (for dictionary storage reasons). The description does not include the text of the “when” clause or the text of the pl/sql code executed for the trigger.
- Action: If the trigger description contains a large comment, move that
- ORA-04087: cannot change the value of ROWID reference variable
- Cause: Rowid’s can only be read and not changed.
- Action: Do not attempt to change an rowid value.
- ORA-04088: error during execution of trigger ‘string.string‘
- Cause: A runtime error occurred during execution of a trigger.
- Action: Check the triggers which were involved in the operation.
- ORA-04089: cannot create triggers on objects owned by SYS
- Cause: An attempt was made to create a trigger on an object owned by SYS.
- Action: Do not create triggers on objects owned by SYS.
- ORA-04090: ‘string‘ specifies same table, event and trigger time as ‘string‘
- Cause: Trigger is of duplicate event and trigger time.
- Action: Combine the triggering information into one trigger which is fired at the given time.
- ORA-04091: table string.string is mutating, trigger/function may not see it
- 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.
- Action: Rewrite the trigger (or function) so it does not read that table.
- ORA-04092: cannot string in a trigger
- Cause: A trigger attempted to commit or rollback.
- Action: Rewrite the trigger so it does not commit or rollback.
- ORA-04093: references to columns of type LONG are not allowed in triggers
- Cause: A trigger attempted to reference a long column in the triggering table.
- Action: Do not reference the long column.
- ORA-04094: table string.string is constraining, trigger may not modify it
- Cause: A trigger attempted to modify a table that was constraining for some referential constraint of a parent SQL statement.
- Action: None
- ORA-04095: trigger ‘string‘ already exists on another table, cannot replace it
- Cause: Cannot replace a trigger which already exists on a different table than the one being replaced.
- Action: Drop the trigger with the same name and re-create it.
- ORA-04096: trigger ‘string‘ has a WHEN clause which is too large, limit 2K
- Cause: A trigger’s ‘when’ clause is limited to 2K for dictionary storage reasons. The trigger being created exceeded that size.
- Action: Use a smaller ‘when’ clause. Note, the trigger body could be used to perform the same limiting action as the ‘when’ clause.
- ORA-04097: DDL conflict while trying to drop or alter a trigger
- Cause: An attempt was made to concurrently perform two DDL operations on a trigger or trigger table.
- Action: Investigate the new state of the trigger and retry the DDL operation, if still appropriate.
- ORA-04098: trigger ‘string.string‘ is invalid and failed re-validation
- Cause: A trigger was attempted to be retrieved for execution and was found to be invalid. This also means that compilation/authorization failed for the trigger.
- Action: Options are to resolve the compilation/authorization errors, disable the trigger, or drop the trigger.
- ORA-04099: trigger ‘string‘ is valid but not stored in compiled form
- Cause: A trigger was attempted to be retrieved for execution and was found to be valid, but not stored. This may mean the an upgrade was done improperly from a non-stored trigger release.
- Action: Alter compile the trigger to create the trigger in stored form. Also, you may want to review that a proper upgrade was done.