Oracle 12c R2 Error Codes and Solution Suggestions from ORA-09800 to ORA-10000
- ORA-09800: Process sensitivity label retrieval failed.
Cause: ORACLE was unable to get the sensitivity label for a process.
Action: Check the UNIX error number for a possible operating system failure. If there is no error, contact Oracle Support Services.
Cause: ORACLE was unable to retrieve the user’s ID number from the SQL*Net connection.
Action: Check the UNIX error number for a possible operating system error. Also check the “additional information” field for the SQL*Net error. If there is no error, contact Oracle Support Services.
Cause: ORACLE was unable to convert a binary label to a string.
Action: Check the UNIX error number for a possible operating system failure. If there is no error, contact Oracle Support Services.
Cause: a buffer used to hold the name of the file for which a label was to be obtained could not be allocated.
Action: Check the UNIX error number for a possible operating system failure. If there is no error, contact Oracle Support Services. The number of bytes that ORACLE attempted to allocate is in the “Additional Information” field.
Cause: ORACLE was unable to convert a class component from binary format to ORACLE format.
Action: Check the UNIX error number for a possible operating system failure. If there is no error, contact Oracle Support Services.
Cause: ORACLE was unable to translate a category number to its corresponding string representation failed.
Action: Check the UNIX error number for a possible operating system failure. If there is no error, contact Oracle Support Services. The category number is contained in the “Additional information” field.
Cause: a temporary buffer used to hold a label could not be allocated.
Action: Check the UNIX error number for a possible operating system failure. If there is no error, contact Oracle Support Services. The number of bytes that ORACLE attempted to allocate is in the “Additional Information” field.
Cause: ORACLE was unable to convert the string representation of a label to binary format.
Action: Re-enter a valid label.
Cause: ORACLE was unable to get a user’s clearance level.
Action: Check the UNIX error number for a possible operating system failure. If there is no error, contact Oracle Support Services.
Cause: ORACLE was unable to retrieve the user’s group ID number from the SQL*Net connection.
Action: Check the UNIX error number for a possible operating system error. Also check the “additional information” field for the SQL*Net error. If there is no error, contact Oracle Support Services.
Cause: ORACLE was unable to retrieve the user’s process ID number from the SQL*Net connection.
Action: Check the UNIX error number for a possible operating system error. Also check the “additional information” field for the SQL*Net error. If there is no error, contact Oracle Support Services.
Cause: ORACLE was unable to initialize the library used to obtain security information.
Action: This is an internal error. Contact Oracle Support Services.
Cause: ORACLE was unable to retrieve the user’s operating system session clearance from the SQL*Net connection.
Action: Check the UNIX error number for a possible operating system error. Also check the “additional information” field for the SQL*Net error. If there is no error, contact Oracle Support Services.
Cause: ORACLE was unable to determine if a directory is multilevel.
Action: Check the UNIX error number for a possible operating system error. If there is no error, contact Oracle Support Services.
Cause: ORACLE was unable to expand the name of a file that resides in multilevel directory.
Action: Check the UNIX error number for a possible operating system error. If there is no error, contact Oracle Support Services.
Cause: The buffer that ORACLE uses to hold the expanded name of a too small.
Action: This is an internal error. Contact Oracle Support Services.
Cause: ORACLE was unable to write an entry to the file used as the audit trail.
Action: Check the UNIX error number for a possible operating system error. If there is no error, contact Oracle Support Services.
Cause: ORACLE was unable to convert a component string to a number because the number is larger than the largest possible value for an integer. The additional information field specifies the maximum.
Action: Correct the string and repeat the conversion.
Cause: the number specified for a component was greater than the maximum value allowed for that component.
Action: Change the component to a value less than the maximum and repeat the conversion. The maximum component number is contained in the “Additional information” field.
Cause: ORACLE was unable to convert a class string to a number because all of the characters in the string were not numeric.
Action: Change the string to be either all numbers or all non-numeric characters and repeat the conversion.
Cause: A label specified in ORACLE numeric format was found not to be valid.
Action: Re-enter a valid label. Consult your system’s encodings for valid numeric component values.
Cause: Oracle was unable to translate the value of the AUDIT_FILE_DEST initialization parameter.
Action: Check the UNIX error number for a possible operating system error. If there is no error, contact Oracle Support Services.
Cause: The name of a device was too long to fit into an internal buffer. The additional information field contains the length of the device name.
Action: This is an internal error. Contact Oracle Support Services.
Cause: ORACLE was not able to turn on allowmacaccess privilege so that it could do a label comparison.
Action: Check the UNIX error number. If it indicates that ORACLE does not have the allowmacaccess privilege, add the allowmacaccess privilege to the potential privilege set of $ORACLE_HOME/bin/oracle using chpriv (1M). If the executable already has the allowmacaccess privilege, contact Oracle Support Services.
Cause: ORACLE was not able to turn off the allowmacaccess privilege after doing a label comparison.
Action: This is an internal error. Contact Oracle Support Services.
Cause: System call atomic_op() return error.
Action: Check additional information in the trace file.
Cause: System call atomic_op() return unexpected error.
Action: Check additional information in the trace file.
Cause: System call atomic_op() return unexpected error.
Action: Check additional information in the trace file.
Cause: The call pws_start_instance to (Oracle helper) failed; system resources might be exhausted.
Action: Make sure the server is still active. Check the error code returned in sercerrno, and look for error messages in the server log file.
Cause: The msg_rpc system call returned an error.
Action: Internal error. Contact Oracle support.
Cause: The routine failed to build a port set on which to listen for requests.
Action: Possible operating system failure. Contact Oracle support.
Cause: The routine received an incorrectly formatted request.
Action: Internal error. Contact Oracle support.
Cause: The routine received an incorrectly formatted request.
Action: Internal error. Contact Oracle support.
Cause: The port_status system called failed.
Action: Possible operating system error. Contact Oracle support.
Cause: The port to be added to the callback list is already in a port set.
Action: Internal error. Contact Oracle support.
Cause: The port_set_add system called failed.
Action: Possible operating system error. Contact Oracle support.
Cause: The malloc library call failed to allocate space for a callback link.
Action: Possible operating system error. Contact Oracle support.
Cause: The port port_set_remove system call failed.
Action: Possible operating system error. Contact Oracle support.
Cause: The port to be removed to the callback list is not in the callback port set.
Action: Internal error. Contact Oracle support.
Cause: sltln() could not translate the named pipe ?/dbs/mon2arch_@.
Action: Make sure that the ORACLE_HOME specified for this ORACLE_SID in oratab is correct.
Cause: sltln() could not translate the named pipe ?/dbs/arch2mon_@.
Action: Make sure that the ORACLE_HOME specified for this ORACLE_SID in oratab is correct.
Cause: mknod() failed to create named pipe ?/dbs/mon2arch_@.
Action: Your current OS login may lack write permission for the ORACLE_HOME/dbs directory. Only userids in the dba group of a given instance can run archmon for that ORACLE_SID. Make sure that the ORACLE_HOME directory is correct in oratab.
Cause: mknod() failed to create named pipe ?/dbs/arch2mon_@.
Action: Your current OS login may lack write permission for the ORACLE_HOME/dbs directory. Only userids in the dba group of a given instance can run archmon for that ORACLE_SID. Make sure that the ORACLE_HOME directory is correct in oratab.
Cause: open() failed to open named pipe ?/dbs/mon2arch_@.
Action: Only the oracle dba can run archmon. Make sure that your current OS login has owner or group search permission for the ORACLE_HOME/dbs directory. The max number of open files may have been exceeded.
Cause: open() failed to open named pipe ?/dbs/arch2mon_@.
Action: Only the oracle dba can run archmon. Make sure that your current OS login has owner or group search permission for the ORACLE_HOME/dbs directory. The max number of open files may have been exceeded.
Cause: open() failed to open named pipe ?/dbs/mon2arch_@.
Action: Make sure that the OS userid of the currently running database has search permission for the ORACLE_HOME/dbs directory. The max number of open files may have been exceeded.
Cause: open() failed to open named pipe ?/dbs/arch2mon_@.
Action: Make sure that the OS userid of the currently running database has search permission for the ORACLE_HOME/dbs directory. The max number of open files may have been exceeded.
- ORA-09848: soawrt: Unable to write to named pipe.
- ORA-09849: soarcv: Unable to read from named pipe.
- ORA-09850: soacon: Archmon unable to lock named pipe.
Cause: fcntl() failed to set write lock on named pipe ?/dbs/arch2mon_@.
Action: Make sure that archmon is not already active on another terminal for this ORACLE_SID. Only one archmon session is allowed at a time for a given instance.
Cause: fcntl() failed to set read lock on named pipe ?/dbs/mon2arch_@.
Action: Make sure that archmon is not already active on another terminal for this ORACLE_SID. Only one archmon session is allowed at a time for a given instance.
Cause: The request to remove a port from the callback set returned a failure code.
Action: Possible operating system error. Contact Oracle support.
Cause: The request to collect info on a port in the callback set returned a failure code.
Action: Possible operating system error. Contact Oracle support.
Cause: The routine received an incorrectly formatted request.
Action: Internal error. Contact Oracle support.
Cause: The vm_allocate system call returned an error.
Action: Check returned error. Possibly out of system resources.
Cause: The vm_protect system call returned an error.
Action: Internal error. Contact Oracle support.
Cause: The function sfngat() received a filename which is not an OMF file name.
Action: Further diagnostic information should be in the error stack.
Cause: The function sfngat() received a filename which is not an autobackup OMF file name.
Action: Further diagnostic information should be in the error stack.
- ORA-09870: spini: failure initializing maximum number of open files.
Cause: ulimit system call returned an error.
Action: Check errno.
Cause: Failure of sltln(?/tasdef@.dbf) while creating test and set pages.
Action: Check additional return error for more information.
Cause: Create() failed when trying to create the tasdef file.
Action: Verify permissions on $(ORACLE_HOME)/dbs directory.
Cause: Unable to open tasdef@.dbf file.
Action: Check errno. Possible permission problem. Verify that tasdef@.dbf file exists.
Cause: Read system call returned an error when attempting to read ?/dbs/tasdef@.dbf.
Action: Check errno returned. Sgadef file may be corrupted or incompatible with oracle version.
Cause: Write call failed.
Action: Check errno returned. Possibly out of space on device.
Cause: Close system call returned an error.
Action: Check errno returned. Possible operating system failure.
Cause: Error in shmget.
Action: Check errno returned. Verify that enough shared memory is available on the system.
Cause: Error in shmat.
Action: Check errno returned.Verify that enough shared memory is available on the system.
Cause: Error in shmat.
Action: Check errno returned.Verify that enough shared memory is available on the system.
Cause: Error in shmdt.
Action: Check errno returned.
Cause: Error in shmdt.
Action: Check errno returned.
Cause: Error in shmctl.
Action: Check errno returned.
Cause: The oratab file does not exist.
Action: Install oracle before you use it or recreate the oratab file.
Cause: You are trying to start oracle on another PU than you configured oracle on or there is no entry for this SID in oratab file.
Action: Start oracle with this SID on its designated PU (see oratab file). Or install the new database with SID.
Cause: The TXIPC driver failed to create pipes for two-task communications with the oracle shadow process.
Action: You have probably exceeded the maximum number of open file descriptors per user or the system file table is full. Note the operating system error code and contact your system administrator.
Cause: Failure of sltln(txipc@.trc) while creating debug channel.
Action: Check additional return error for more information.
- ORA-09887: osnTXtt: Failed to create/open debug channel.
- ORA-09888: osnTXtt: txipc channel creation failed
Cause: The txipc driver failed to create channels for two-task communications with the oracle shadow process.
Action: You have probably exceeded the maximum number of open file descriptors per user or the system file table operating system error code and contact your system administrator.
Cause: The txipc driver could not access the oracle executable.
Action: Check the permissions on the ORACLE executable and each component of the ORACLE_HOME/bin path.
Cause: The txipx driver failed to allocate enough heap space for its context area buffers.
Action: Contact your customer support representative.
Cause: The system call gethostname returned an error.
Action: This is most likely an internal error. Make sure gethostname is successful in other contexts, and if so contact Oracle support.
Cause: Memory needed for a temporary buffer could not be allocated. The additional information field contains the number of bytes that ORACLE attempted to allocate.
Action: Check the UNIX error number. It is probable that the system has run out of memory. If there is no error, contact ORACLE support.
Cause: No entry exists for the user in the ORACLE password file.
Action: Have the database administrator install a password entry by running orapasswd.
Cause: The password entered by the user was incorrect.
Action: Enter the correct password.
Cause: ORACLE was unable to allocate memory for one or both of the buffers that are used to hold the name of DBA and the operator users.
Action: Check the UNIX error number. It is probable that the system has run out of memory. If there is no error, contact ORACLE support.
Cause: ORACLE was unable to allocate memory for the user name that is to to be used in the encryption of the user’s password.
Action: Check the UNIX error number. It is probable that the system has run out of memory. If there is no error, contact ORACLE support.
Cause: ORACLE could not open the password file for reading.
Action: Check the UNIX error number. If the error number indicates that the file does not exist, have the database administrator create the file by running orapasswd. If the error number indicates insufficient permissions, ask the database administrator to change the permissions. Otherwise, contact ORACLE customer support.
Cause: ORACLE was unable to encrypt a password.
Action: This is an internal error – contact ORACLE customer support.
Cause: A user attempted to connect as “internal,” but did not specify a password.
Action: Connect as internal again and specify a password.
Cause: ORACLE was unable to retrieve the user’s privilege set from the SQL*Net connection.
Action: Check the UNIX error number for a possible operating system error. Also check the “additional information” field for the SQL*Net error. If there is no error, contact ORACLE support.
Cause: ORACLE was unable to set the label of the dedicated to server to the required value.
Action: Check the UNIX error number for a possible operating system error. Also, check the privileges on the oracle executable. It should have at least “allowmacaccess” privilege.
Cause: ORACLE was unable to retrieve the user’s sensitivity label from the SQL*Net connection.
Action: Check the UNIX error number for a possible operating system error. Also check the “additional information” field for the SQL*Net error. If there is no error, contact ORACLE support.
Cause: ORACLE was unable to retrieve the user’s information label from the SQL*Net connection.
Action: Check the UNIX error number for a possible operating system error. Also check the “additional information” field for the SQL*Net error. If there is no error, contact ORACLE support.
Cause: ORACLE was unable to spawn a background process because the directory that will hold trace files of the background processes was not created properly.
Action: Examine the directory pointed to by the initialization parameter “background_dump_dest”. Make sure that all of the following is true: 1. The directory exists. 2. The name indeed points to a directory, and is not a file. 3. The directory is accessible and writable to the ORACLE user.
Cause: ORACLE was unable to spawn a background process because the directory that holds the trace files of the dedicated server processes was not created properly.
Action: Examine the directory pointed to by the initialization parameter “user_dump_dest”. Make sure that all of the following is true: 1. The directory exists. 2. The name indeed points to a directory, and is not a file. 3. The directory is accessible and writable to the ORACLE user.
Cause: ORACLE was unable to spawn a background process because the directory that holds the core dumps produced by ORACLE processes in the event of exceptions was not created properly.
Action: Examine the directory pointed to by the initialization parameter “core_dump_dest”. Make sure that all of the following is true: 1. The directory exists. 2. The name indeed points to a directory, and is not a file. 3. The directory is accessible and writable to the ORACLE user.
Cause: ORACLE was not able to create the file being used to hold audit trail records.
Action: Check the UNIX error number for a possible operating system error. If there is no error, contact ORACLE customer support.
Cause: A dedicated server was unable to set it’s own privilege set.
Action: Check the privileges granted to the ORACLE executable. It must have at least “allowmacacess” privilege.
Cause: ORACLE was not able to set the label of a server to a new value.
Action: Check the privileges on $ORACLE_HOME/bin/oracle. Make sure that it has “allowmacaccess” privilege.
Cause: ORACLE was unable to restore the label of the server to the value that it had before raising it to database high.
Action: This is an internal error – contact ORACLE support.
Cause: The result of a greatest lower bound operation on two labels was not valid.
Action: Repeat the operation with two different labels. Consult the system encoding file for the values of valid labels.
Cause: The result of a least upper bound operation on two labels was not valid.
Action: Repeat the operation with two different labels. Consult the system encoding file for the values of valid labels.
Cause: An attempt to open a password file for reading failed.
Action: Make sure that the permissions on the file have not been changed so that the ORACLE user cannot open it.
Cause: An attempt to close a password file failed.
Action: Check the UNIX error number for the specific reason.
Cause: The removal of the old password file failed.
Action: Check the UNIX error number for the specific reason.
Cause: ORACLE was unable to create a link so that the old password file could be saved.
Action: Check the UNIX error number for the specific reason.
Cause: ORACLE was unable to complete the saving of the current password file.
Action: Check the UNIX error number for the specific reason.
Cause: ORACLE was unable to create a password file.
Action: Check the UNIX error number for the specific reason.
Cause: ORACLE was unable to change a password file to be readonly.
Action: Check the UNIX error number for the specific reason.
Cause: ORACLE was unable to save the previous values of selected signal handlers.
Action: This is an internal error. Contact ORACLE support.
Cause: ORACLE was unable to restore the previous values of selected signal handlers.
Action: This is an internal error. Contact ORACLE support.
Cause: The header of one of the password files was not in the format that ORACLE expected.
Action: Check the headers of both files. The header should be in the format “FILE VERSION: N.N.N.N.N EXECUTABLE VERSION: N.N.N.N.N” where N is a number. Remove the corrupt file(s) and re-run “orapasswd”.
Cause: The version of orapasswd or installer that is being run is older than that of the ORACLE password file. Since the file version is only changed when the format is changed, this error means that the executable is using a different format than that with which the file was created.
Action: Run a version of the installer or orapasswd whose version is the same or later than that of the file.
Cause: The attempt to write out the header of the ORACLE password file failed.
Action: Check the operating system error number. It is possible that the file system became full.
Cause: When it is building a list of password file entries, ORACLE allocates memory for various components. One of the allocations failed.
Action: Check the operating system error number. The system has probably run out of memory.
Cause: An entry in an ORACLE password file was not in the format that ORACLE expected.
Action: Removed the corrupt file(s) and re-run “orapasswd.”
Cause: ORACLE unable to write header information to the file being used as the audit trail.
Action: Check the UNIX error number for a possible operating system error. If there is no error, contact ORACLE customer support.
Cause: The buffer that was to be used to hold a file name was determined to be too short for the generated name. This will happen if the translated name for either a trace file or an audit file is longer than the maximum allowed, which on many ports is 256 characters.
Action: Use a shorter file name.
Cause: ORACLE was not able to allocate the memory needed to hold the attributes of the SQL*Net connection. The “Additional Information” field holds the number of bytes that ORACLE attempted to allocate.
Action: Check the UNIX error number. It is probable that the system has run out of memory. If there is no error, contact ORACLE customer support.
Cause: ORACLE was unable to get the information label for a process.
Action: Check the UNIX error number for a possible operating system failure. If there is no error, contact ORACLE support.
Cause: ORACLE was unable to get the operating system privileges for the client process.
Action: Check the UNIX error number for a possible operating system failure. If there is no error, contact ORACLE support.
Cause: ORACLE was unable to get its privileges from the operating system.
Action: This is an error that should never happen. Contact ORACLE customer support.
Cause: ORACLE was unable to create a file.
Action: Check the UNIX error number for a possible operating system failure. If there is no error, contact ORACLE support.
Cause: The distributed lock manager returned an unexpected value
Action: Check for system error message and refer to the distributed lock manager documentation or contact your customer support representative.
Cause: The distributed lock manager returned an unexpected value
Action: Check for lock manager error message and refer to DLM documentation refer to the distributed lock manager documentation or contact your customer support representative.
Cause: The distributed lock manager returned an unexpected value
Action: Check for lock manager error message and refer to DLM documentation refer to the distributed lock manager documentation or contact your customer support representative.
Cause: DLM system service x returned an unexpected value
Action: Check for system error message and refer to DLM documentation refer to the distributed lock manager documentation or contact your customer support representative.
Cause: A global locking system service returned an unexpected value.
Action: Check for system error message (if any) and refer to refer to the distributed lock manager documentation or contact your customer support representative.
Cause: The attempt to send a termination signal to IMON failed.
Action: This is an internal error, contact ORACLE support.
Cause: The IMON process was unable to add an entry for a server process because another active process occupies the slot.
Action: This is an internal error, contact ORACLE support.
Cause: The IMON process was unable to delete a server process from its process ID array because no entry for the process could be found.
Action: This is an internal error, contact ORACLE support.
Cause: ORACLE was unable to set up a handler for the signal used to notify it that the instance was shutting down.
Action: This is an internal error, contact ORACLE support.
Cause: ORACLE failed to set the handler for the termination signal to its previous value.
Action: This is an internal error, contact ORACLE support.
- ORA-09962: lk_group_create error in scggrc
- ORA-09963: lk_group_attach error in scggra
- ORA-09964: lk_group_detach error in scggrd
- ORA-09966: falure in translation while expanding ?/dbs/lk for lock file
Cause: Oracle failed to translate ?/dbs/lk, when creating a file name for the database mount lock or the instance startup/shutdown lock.
Action: Check additional return errors for more information.
Cause: Oracle failed, when making an open system call, inorder to acquire a file lock used by the database mount lock or the instance startup/shutdown lock.
Action: Check errno for more information.
Cause: The system call for locking a file returned an error when trying to acquire a database mount lock or the instance startup/shutdown lock.
Action: Check errno for more information.
Cause: The close system call or unlink system call returned an error.
Action: Check errno for more information.
Cause: The process was unable to initialize the SDI channel properly.
Action: Correct the operating system error and retry the operation.
Cause: The process was unable to attach to the SDI channel.
Action: Verify that the SDI process specific limits correctly configured. Correct the operating system error and retry the operation.
Cause: The process was unable to create a communications endpoint.
Action: Verify that the SDI port specific limits correctly configured. Correct the operating system error and retry the operation.
Cause: The process was unable to connect to another endpoint.
Action: Verify that the SDI port specific limits correctly configured. Check that the other node(s) is part of the cluster and operating properly. Correct the operating system error and retry the operation.
Cause: The process was unable to disconnect cleanly from another endpoint.
Action: Check that the other node(s) are part of the cluster and operating properly. Check the instance and processes on the other node(s). Correct the operating system error and retry the operation.
Cause: The process was unable to send a message to an existing endpoint.
Action: Check that the other node(s) are part of the cluster and operating properly. Check the instance and processes on the other node(s). Correct the operating system error and retry the operation.
Cause: The process encountered an error while trying to receive a message.
Action: Check that the other node(s) are part of the cluster and operating properly. Check the instance and processes on the other node(s). Correct the operating system error and retry the operation.
Cause: The process was unable to add a page to the SDI buffer pool.
Action: Correct the operating system error and retry the operation.
Cause: The process was unable to remove a page to the SDI buffer pool.
Action: Correct the operating system error and retry the operation.
Cause: The process was unable shut down the SDI channel
Action: Check the SDI persistent resources using SDI tools. Verify that all processes exited cleanly and the instance is safely shut down. Delete any remaining SDI channel IDs associated with the current instance.
Cause: file does not exist or is not accessible
Action: Restart the instance to create the SGA definition file.
Cause: UNIX read() operation failed
Action: check errno and take appropriate action.
Cause: Struct skgmsdef size differs from no. of bytes read from SGA file
Action: Compare the two struct definitions and ensure that they are identical in size and structure.
Cause: The instance is not up, or SGA segments are not read-accessible
Action: Verify that the instance is up and read permissions for the SGA segments are set.
Cause: skgmsdef struct is corrupted and/or segment addresses are modified
Action: Safely shut down instance and mount SGA segments again.
Cause: Pointer to skgmsdef struct used without validating it
Action: Assign a valid address to the skgmsdef struct pointer before using it.