Skip to content

Fatih Acar's blog

About of Database Systems and Information Technologies

Menu
  • Home
  • About Me
  • Contact Me
Menu

Oracle 12c R2 Error Codes and Solution Suggestions from ORA-04000 to ORA-04100

Posted on 24/08/201620/12/2016 by Fatih Acar

Oracle 12c R2 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: The string supplied for the parameter MAX_DUMP_FILE_SIZE was not an integer, an integer followed by ‘K’, ‘M’, or ‘G’, nor the special value UNLIMITED.

Action: Provide a proper value for this parameter.

ORA-04018: The ‘string‘ parameter cannot be altered in Oracle Database Standard Edition or Oracle Database Express Edition.

Cause: An attempt was made to alter the specified parameter in the Standard Edition or Express Edition.

Action: Do not attempt to alter the parameter in the Standard Edition or Express Edition.

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-04025: maximum allowed library object lock allocated for stringstringstringstringstring

Cause: Too many active locks for the object has been allocated. This error can be a result of too many cursors kept open per session.

Action: Close cursors, reduce session_cached_cursors value.

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: Identify the root cause of the self-deadlock and take corrective 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: n/a

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 or Streams 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. If the error is issued from an Oracle Streams or XStream process, increase the initialization parameter STREAMS_POOL_SIZE or increase the capture or apply parameter MAX_SGA_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: n/a

ORA-04036: PGA memory used by the instance exceeds PGA_AGGREGATE_LIMIT

Cause: Private memory across the instance exceeded the limit specified in the PGA_AGGREGATE_LIMIT initialization parameter. The largest sessions using Program Global Area (PGA) memory were interrupted to get under the limit.

Action: Increase the PGA_AGGREGATE_LIMIT initialization parameter or reduce memory usage.

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: n/a

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.

Share this:

  • Click to share on LinkedIn (Opens in new window) LinkedIn
  • Click to share on X (Opens in new window) X
  • Click to share on Facebook (Opens in new window) Facebook

Leave a Reply Cancel reply

Your email address will not be published. Required fields are marked *

Time limit is exhausted. Please reload CAPTCHA.



View Fatih ACAR's profile on LinkedIn

Categories

  • Databases (329)
    • MsSQL Server (18)
      • Administration (16)
      • Errors and Solutions (4)
      • SQL (2)
    • MySQL (5)
      • Administration (4)
      • Backup And Recovery (1)
      • Errors and Solutions (1)
    • Oracle (290)
      • Administration (79)
      • Backup And Recovery (29)
      • Errors and Solutions (195)
      • Procedure (10)
      • SQL (32)
    • PostgreSQL (16)
      • Administration (15)
      • Errors and Solutions (3)
      • SQL (2)
    • Redis (1)
  • Microsotf Dynamics CRM (1)
  • Operating Systems (47)
    • Linux & Unix (34)
    • Windows (13)
  • Programing (5)
    • Python (5)
  • SAP (15)
    • Errors and Solutions (4)
    • SAP Basis (12)
  • Security (8)
    • Database Security (6)
    • Information Security (1)
    • System Security (4)
  • VMware (4)

Recent Posts

  • Redis 7 Sentinel Infrastructure Installation
  • Oracle Database 19c Multi Data Guard and DML Redirect, Switchover-Failover Operations on Oracle Linux 8
  • Oracle Database 23ai Free Installation Steps on Oracle Linux 9
  • Oracle Database 19c Active Data Guard Installation and DML Redirect, Switchover-Failover Operations on Oracle Linux 8
  • Oracle Database 19c Installation and 19.22 RU Patch Apply on Oracle Linux 8

Resources

  • Oracle
  • PostgreSQL

Blogroll

  • Gökhan Atıl
  • H. Koray Gündüz
  • Hakan Talip Öztürk
  • Zekeriya Beşiroğlu

Web Pages

  • BT Çözümleri

Tag Cloud

Administration Backup and Recovery Cluster Systems Database Administration Database Security Linux Linux Administration MsSQL Server MsSQL Server Error and Solutions MySQL MySQL Administration ORA-00018 ORA-00020 Oracle Oracle 12c Oracle 19c Oracle Administration Oracle Backup and Restore Oracle Data Guard Oracle Data Guard Failover Oracle Data Guard Switchover Oracle Error Solutions Oracle Linux Oracle Rman Backup Oracle Security Oracle SQL Query PostgreSQL PostgreSQL Administration PostgreSQL High Availability PostgreSQL Hot Standby Python SAP Basis Sap Errors and Solutions Sap System Administration SQL SQL Server Administration SQL Server Availability Group Stored Procedure System Administration System Security VMware VMware Administration Windows Windows Batch Script Windows Server

Social

  • View facar1987’s profile on Twitter
  • View facar’s profile on LinkedIn

Subscribe to Blog via Email

Enter your email address to subscribe to this blog and receive notifications of new posts by email.

Join 17 other subscribers
©2026 Fatih Acar's blog | Built using WordPress and Responsive Blogily theme by Superb