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
Cause: %s (a sequence parameter) specified was not an integer
Action: create the sequence, giving the specified parameter an integer value
Cause: a sequence increment was specified to be zero
Action: specify the increment to be a non-zero value
Cause: %s (a sequencer parameter) had too many digits
Action: specify the parameter with the allowed number of digits
Cause: MINVALUE was specified to be greater than or equal to MAXVALUE
Action: specify a MINVALUE that is less than MAXVALUE
Cause: the INCREMENT specified is >= MAXVALUE-MINVALUE
Action: specify an INCREMENT that is < MAXVALUE-MINVALUE
Cause: the given starting value is less than MINVALUE
Action: make sure that the starting value is >= MINVALUE
Cause: the given MINVALUE would be greater than the current value
Action: always make sure that MINVALUE is <= the current value
Cause: the starting value would be larger than MAXVALUE
Action: make sure that the starting value is less than MAXVALUE
Cause: the current value exceeds the given MAXVALUE
Action: make sure that the new MAXVALUE is larger than the current value
Cause: the value in the CACHE clause was one
Action: specify NOCACHE, or a value larger than one
Cause: the value specified for one of the sequence parameters exceeds limits
Action: specify parameter within these limits
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
Cause: number to CACHE given is larger than values in a cycle
Action: enlarge the cycle, or cache fewer values
Cause: sequences that cycle must have their wrap-wrap specified
Action: re-create the sequence, specifying its wrap-value
Cause: sequences that cycle must have their wrap-wrap specified
Action: re-create the sequence, specifying its wrap-value
Cause: sequence was dropped while processing its next value.
Action: re-create the sequence
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.
Cause: While trying to lock a library object, a deadlock is detected.
Action: Retry the operation later.
Cause: While waiting to lock a library object, a timeout occurred.
Action: Retry the operation later.
Cause: Had to wait to lock a library object during a nowait request.
Action: Retry the operation later.
Cause: A number of attempts were made to validate or authorize an object but failed.
Action: Please report this error to Oracle Support Services.
Cause: While trying to mutex pin a cursor, a self-deadlock is detected.
Action: Retry the operation later.
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.
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.
Cause: Cannot generate diana for an object because of lock conflict.
Action: Please report this error to your support representative.
Cause: The table or view being queried might be missing. The error number indicates the error.
Action: Fix the error.
Cause: Operating system process private memory was exhausted.
Action: n/a
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.
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)
Cause: The system had insufficient memory to grow the pool to the specified size.
Action: Specify a smaller value to grow the pool.
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
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.
Cause: Attempt to create a package body before creating its package specification.
Action: Create the package specification first before creating the package body.
Cause: Attempt to access a procedure, function, package, or package body that does not exist.
Action: Make sure the name is correct.
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.)
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.
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.
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.
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
Cause: The required procedure, function, or package name is invalid or missing.
Action: Specify a valid name.
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.
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.
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.
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.
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).
Cause: Attempt to execute a stored procedure without sufficient privileges.
Action: Get necessary privileges.
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.
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.
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.
Cause: Attempt to execute a stored procedure that has been invalidated.
Action: Recompile it.
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.
Cause: Attempt to execute a non-procedure.
Action: Make sure that a correct name is given.
Cause: Attempt to execute a non-existent stored procedure.
Action: Make sure that a correct name is given.
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.
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.
Cause: An invalid trigger name was specified.
Action: Verify that trigger name is not a reserved keyword.
Cause: The trigger statement is missing the BEFORE/AFTER/INSTEAD OF clause.
Action: Specify either BEFORE, AFTER or INSTEAD OF.
Cause: An invalid trigger type was given.
Action: Specify either INSERT, UPDATE or DELETE.
Cause: A column list was specified for a non-update trigger type.
Action: Remove the column list.
Cause: An invalid name was given in the referencing clause.
Action: Verify the referencing name is not a reserved word.
Cause: An statement was given for the trigger action.
Action: Re-specify the trigger action.
Cause: An invalid NEW or OLD specification was given for a column.
Action: Re-specify the column using the correct NEW or OLD specification.
Cause: The when clause can only be specified for row level triggers.
Action: Remove the when clause or specify for each row.
Cause: The referencing clause specifies identical values for NEW and OLD.
Action: Re-specify either the OLD or NEW referencing value.
Cause: The create TRIGGER statement is invalid.
Action: Check the statement for correct syntax.
Cause: The TRIGGER name is invalid.
Action: Check the trigger name.
Cause: The TRIGGER name or type already exists.
Action: Use a different trigger name or drop the trigger which is of the same name.
Cause: The trigger is accessing “new” or “old” values in a table trigger.
Action: Remove any new or old references.
Cause: The variable referenced in the trigger body is invalid.
Action: See the manual for valid trigger variable types.
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.
Cause: Old values can only be read and not changed.
Action: Do not attempt to change an old variable.
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
Cause: Rowid’s can only be read and not changed.
Action: Do not attempt to change an rowid value.
Cause: A runtime error occurred during execution of a trigger.
Action: Check the triggers which were involved in the operation.
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.
Cause: Trigger is of duplicate event and trigger time.
Action: Combine the triggering information into one trigger which is fired at the given time.
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.
Cause: A trigger attempted to commit or rollback.
Action: Rewrite the trigger so it does not commit or rollback.
Cause: A trigger attempted to reference a long column in the triggering table.
Action: Do not reference the long column.
Cause: A trigger attempted to modify a table that was constraining for some referential constraint of a parent SQL statement.
Action: n/a
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.
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.
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.
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.
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.