Oracle 11g Error Codes and Solution Suggestions from ORA-06500 to ORA-06600
- ORA-06500: PL/SQL: storage error
- Cause: PL/SQL was unable to allocate additional storage. This message normally appears with an ORA-4030 or ORA-4031 error which gives additional information. Sometimes this error can be caused by runaway programs.
- Action: 1) Ensure there are no issues or bugs in your PL/SQL program which are causing excessive amounts of memory to be used. 2) Programmatically cause unused objects to be freed (e.g. by setting them to NULL). 3) Increase the amount of shared or process memory (as appropriate) available to you.
- ORA-06501: PL/SQL: program error
- Cause: This is an internal error message. An error has been detected in a PL/SQL program.
- Action: Contact Oracle Support Services.
- ORA-06502: PL/SQL: numeric or value errorstring
- Cause: An arithmetic, numeric, string, conversion, or constraint error occurred. For example, this error occurs if an attempt is made to assign the value NULL to a variable declared NOT NULL, or if an attempt is made to assign an integer larger than 99 to a variable declared NUMBER(2).
- Action: Change the data, how it is manipulated, or how it is declared so that values do not violate constraints.
- ORA-06503: PL/SQL: Function returned without value
- Cause: A call to PL/SQL function completed, but no RETURN statement was executed.
- Action: Rewrite PL/SQL function, making sure that it always returns a value of a proper type.
- ORA-06504: PL/SQL: Return types of Result Set variables or query do not match
- Cause: Number and/or types of columns in a query does not match declared return type of a result set variable, or declared types of two Result Set variables do not match.
- Action: Change the program statement or declaration. Verify what query the variable actually refers to during execution.
- ORA-06505: PL/SQL: variable requires more than 32767 bytes of contiguous memory
- Cause: A PL/SQL variable was declared with a constraint which required more than 32767 bytes of memory. PL/SQL does not currently support allocations of contiguous memory greater than 32767 bytes.
- Action: Consider reducing the constraint in the variable declaration. If that is not possible, try changing the database or national character set to such, that requires less memory for the same constraint. Note: changing the character set will impact execution of all PL/SQL code.
- ORA-06510: PL/SQL: unhandled user-defined exception
- Cause: A user-defined exception was raised by PL/SQL code, but not handled.
- Action: Fix the problem causing the exception or write an exception handler for this condition. Or you may need to contact your application administrator or DBA.
- ORA-06511: PL/SQL: cursor already open
- Cause: An attempt was made to open a cursor that was already open.
- Action: Close cursor first before reopening.
- ORA-06512: at stringline string
- Cause: Backtrace message as the stack is unwound by unhandled exceptions.
- Action: Fix the problem causing the exception or write an exception handler for this condition. Or you may need to contact your application administrator or DBA.
- ORA-06513: PL/SQL: index for PL/SQL table out of range for host language array
- Cause: An attempt is being made to copy a PL/SQL table to a host language array. But an index in the table is either less than one or greater than the maximum size of the host language array. When copying PL/SQL tables to host language arrays, the table entry at index 1 is placed in the first element of the array, the entry at index 2 is placed in the second element of the array, etc. If an table entry has not been assigned then the corresponding element in the host language array is set to null.
- Action: Increase size of host language array, or decrease size of PL/SQL table. Also make sure that you don’t use index values less than 1.
- ORA-06514: PL/SQL: The remote call cannot be handled by the server
- Cause: The remote call has parameters that are cursor variables or lob variables. This cannot be handled by stored procedures on your server.
- Action: Avoid using cursor variables or lob variables as parameters for stored procedures on this server or upgrade your server to a version that supports this.
- ORA-06515: PL/SQL: unhandled exception string
- Cause: An exception was raised by PL/SQL code, but not handled. The exception number is outside the legal range of Oracle errors.
- Action: Fix the problem causing the exception or write an exception handler for this condition. Or you may need to contact your application administrator or DBA.
- ORA-06516: PL/SQL: the Probe packages do not exist or are invalid
- Cause: A Probe operation, probably an attempt to initialize the ORACLE server to debug PL/SQL, could not be completed because the Probe packages were not loaded or have become invalid.
- Action: DBA should load the Probe packages. This can be done by running the pbload.sql script supplied with the RDBMS.
- ORA-06517: PL/SQL: Probe error – string
- Cause: An error occurred while passing a Probe operation to the server for execution.
- Action: Refer to the entry for the embedded error message.
- ORA-06518: PL/SQL: Probe version string incompatible with version string
- Cause: The current version of Probe is incompatible with the version on the ORACLE server.
- Action: Refer to the documentation to ensure that this degree of compatibility is supported.
- ORA-06519: active autonomous transaction detected and rolled back
- Cause: Before returning from an autonomous PL/SQL block, all autonomous transactions started within the block must be completed (either committed or rolled back). If not, the active autonomous transaction is implicitly rolled back and this error is raised.
- Action: Ensure that before returning from an autonomous PL/SQL block, any active autonomous transactions are explicitly committed or rolled back. ———————————————————————– 06520 through 06529 reserved for Foreign function errors
- ORA-06520: PL/SQL: Error loading external library
- Cause: An error was detected by PL/SQL trying to load the external library dynamically.
- Action: Check the stacked error (if any) for more details.
- ORA-06521: PL/SQL: Error mapping function
- Cause: An error was detected by PL/SQL trying to map the mentioned function dynamically.
- Action: Check the stacked error (if any) for more details.
- ORA-06522: string
- Cause: ORA-06520 or ORA-065211 could stack this error with a system specific error string.
- Action: This error string should give the cause for errors ORA-06520 or ORA-065211
- ORA-06523: Maximum number of arguments exceeded
- Cause: There is an upper limit on the number of arguments that one can pass to the external function.
- Action: Check the port specific documentation on how to calculate the upper limit.
- ORA-06524: Unsupported option : string
- Cause: The option specified is an unsupported feature for external procedures.
- Action: Correct the syntax in the external specification
- ORA-06525: Length Mismatch for CHAR or RAW data
- Cause: The length specified in the length variable has an illegal value. This can happen if you have requested requested a PL/SQL INOUT, OUT or RETURN raw variable to be passed as a RAW with no corresponding length variable. This error can also happen if there is a mismatch in the length value set in the length variable and the length in the orlvstr or orlraw.
- Action: Correct the external procedure code and set the length variable correctly.
- ORA-06526: Unable to load PL/SQL library
- Cause: PL/SQL was unable to instantiate the library referenced by this referenced in the EXTERNAL syntax. This is a serious error and should normally not happen.
- Action: Report this problem to customer support.
- ORA-06527: External procedure SQLLIB error: string
- Cause: An error occurred in sqllib during execution of a Pro* external procedure.
- Action: The message text indicates the actual SQLLIB error that occurred. Consult the Oracle Error Messages and Codes manual for a complete description of the error message and follow the appropriate action.
- ORA-06528: Error executing PL/SQL profiler
- Cause: An error occurred in during execution of a PL/SQL profiler procedure.
- Action: Check the stacked errors for more details.
- ORA-06529: Version mismatch – PL/SQL profiler
- Cause: The PL/SQL profiler package (dbmspb.sql, prvtpbp.plb) does not match the version of the code in the server implementing the profiler.
- Action: Run the package profload.sql in $ORACLE_HOME/rdbms/admin to load the correct version of the PL/SQL profiler packages
- ORA-06530: Reference to uninitialized composite
- Cause: An object, LOB, or other composite was referenced as a left hand side without having been initialized.
- Action: Initialize the composite with an appropriate constructor or whole-object assignment.
- ORA-06531: Reference to uninitialized collection
- Cause: An element or member function of a nested table or varray was referenced (where an initialized collection is needed) without the collection having been initialized.
- Action: Initialize the collection with an appropriate constructor or whole-object assignment.
- ORA-06532: Subscript outside of limit
- Cause: A subscript was greater than the limit of a varray or non-positive for a varray or nested table.
- Action: Check the program logic and increase the varray limit if necessary.
- ORA-06533: Subscript beyond count
- Cause: An in-limit subscript was greater than the count of a varray or too large for a nested table.
- Action: Check the program logic and explicitly extend if necessary.
- ORA-06534: Cannot access Serially Reusable package string
- Cause: The program attempted to access a Serially Reusable package in PL/SQL called from SQL context (trigger or otherwise). Such an access is currently unsupported.
- Action: Check the program logic and remove any references to Serially Reusable packages (procedure, function or variable references) which might happen in PL/SQL called from sql context (trigger or otherwise).
- ORA-06535: statement string in string is NULL or 0 length
- Cause: The program attempted to use a dynamic statement string that was either NULL or 0 length.
- Action: Check the program logic and ensure that the dynamic statement string is properly initialized.
- ORA-06536: IN bind variable bound to an OUT position
- Cause: The program attempted to bind an IN bind variable to a statement that was expecting an OUT bind variable at that position.
- Action: Make sure that an OUT or IN OUT bind mode is specified for the bind argument.
- ORA-06537: OUT bind variable bound to an IN position
- Cause: The program attempted to bind an OUT bind variable to a statement that was expecting an IN bind variable at that position.
- Action: Make sure that an IN or IN OUT bind mode is specified for the bind argument.
- ORA-06538: statement violates string RESTRICT_REFERENCES pragma
- Cause: The program attempted to execute a dynamic statement which does not meet the purity level specified (in the pragma RESTRICT_REFERENCES directive) for the module executing the statement.
- Action: Ensure that the dynamic statement meets the purity level specified for the module executing the statement.
- ORA-06539: target of OPEN must be a query
- Cause: The program attempted to perform an OPEN cursor operation on a dynamic statement that was not a query.
- Action: Ensure that the OPEN cursor operation is done on a dynamic query statement. ——————————————————– 06540 through 06549 reserved for pl/sql error handling
- ORA-06540: PL/SQL: compilation error
- Cause: A pl/sql compilation error occurred. However, the user generally will not see this error message. Instead, there will be accompanying PLS-nnnnn error messages.
- Action: See accompanying PLS-nnnnn error messages.
- ORA-06541: PL/SQL: compilation error – compilation aborted
- Cause: A pl/sql compilation error occurred and the compilation was aborted; but the compilation unit was written out to the backing store. However, unlike ora-06545, the user generally will not see this error message. Instead, there will be accompanying PLS-nnnnn error messages.
- Action: See accompanying PLS-nnnnn error messages.
- ORA-06544: PL/SQL: internal error, arguments: [string], [string], [string], [string], [string], [string], [string], [string]
- Cause: A pl/sql internal error occurred.
- Action: Report as a bug; the first argument is the internal error nuber.
- ORA-06545: PL/SQL: compilation error – compilation aborted
- Cause: A pl/sql compilation error occurred and the compilation was aborted completely without the compilation unit being written out to the backing store. Unlike ora-06541, the user will always see this error along with the accompaning PLS-nnnnn error messages.
- Action: See accompanying PLS-nnnnn error messages.
- ORA-06546: DDL statement is executed in an illegal context
- Cause: DDL statement is executed dynamically in illegal PL/SQL context.
- – Dynamic OPEN cursor for a DDL in PL/SQL
- – Bind variable’s used in USING clause to EXECUTE IMMEDIATE a DDL
- – Define variable’s used in INTO clause to EXECUTE IMMEDIATE a DDL
- Action: Use EXECUTE IMMEDIATE without USING and INTO clauses to execute the DDL statement.
- ORA-06547: RETURNING clause must be used with INSERT, UPDATE, or DELETE statements
- Cause: EXECUTE IMMEDIATE with a RETURNING clause is used to execute dynamic UPDATE, INSERT, or DELETE statements only.
- Action: use RETURNING clause in EXECUTE IMMEDIATE for INSERT, UPDATE, or DELETE statements only. For other statements, use USING clause instead.
- ORA-06548: no more rows needed
- Cause: The caller of a pipelined function did not need more rows to be produced by the pipelined function.
- Action: Do not catch the NO_DATA_NEEDED exception in an exception handling block.
- ORA-06549: PL/SQL: failed to dynamically open shared object (DLL): string:string
- Cause: One possible cause might be there are too many DLLs open at the same time.
- Action: ——————————————————–
- ORA-06550: line string, column string: string
- Cause: Usually a PL/SQL compilation error.
- Action: None
- ORA-06554: package DBMS_STANDARD must be created before using PL/SQL
- Cause: The DBMS specific extensions to PL/SQL’s package “STANDARD” are in package “DBMS_STANDARD”. This package must be created before using PL/SQL.
- Action: Create package “DBMS_STANDARD”. The source for this PL/SQL stored package is provided with the distribution.
- ORA-06555: this name is currently reserved for use by user SYS
- Cause: You tried to create a package named “STANDARD”, “DBMS_STANDARD” or “DEBUG_IO”. These are currently reserved for use by user SYS.
- Action: Choose another name for your package.
- ORA-06556: the pipe is empty, cannot fulfill the unpack_message request
- Cause: There are no more items in the pipe.
- Action: Check that the sender and receiver agree on the number and types of items placed on the pipe.
- ORA-06557: null values are not allowed for any parameters to pipe icd’s
- Cause: Internal error from the dbms_pipe package.
- Action: None
- ORA-06558: buffer in dbms_pipe package is full. No more items allowed
- Cause: The pipe buffer size has been exceeded.
- Action: None
- ORA-06559: wrong datatype requested, string, actual datatype is string
- Cause: The sender put different datatype on the pipe than that being requested (package ‘dbms_pipe’). The numbers are: 6 – number, 9 – char, 12 – date.
- Action: Check that the sender and receiver agree on the number and types of items placed on the pipe.
- ORA-06560: pos, string, is negative or larger than the buffer size, string
- Cause: Internal error from the dbms_pipe package.
- Action: None
- ORA-06561: given statement is not supported by package DBMS_SQL
- Cause: Attempting to parse an unsupported statement using procedure PARSE provided by package DBMS_SQL.
- Action: Only statements which begin with SELECT, DELETE, INSERT, UPDATE, LOCK, BEGIN, DECLARE or << (PL/SQL label delimiter) are supported.
- ORA-06562: type of out argument must match type of column or bind variable
- Cause: Attempting to get the value of a column or a bind variable by calling procedure COLUMN_VALUE or VARIABLE_VALUE of package DBMS_SQL but the type of the given out argument where to place the value is different from the type of the column or bind variable that was previously defined by calling procedure DEFINE_COLUMN (for defining a column) or BIND_VARIABLE (for binding a bind variable) of package DBMS_SQL.
- Action: Pass in an out argument of the correct type when calling procedure COLUMN_VALUE or VARIABLE_VALUE. The right type is the type that was provided when defining the column or binding the bind variable.
- ORA-06563: name has too many parts
- Cause: The name to be resolved was specified as one of the following:
- – With three parts (A.B.C) but the A.B parts resolved to an object that did not expose visible nested procedures; the C part could not be resolved.
- – With two parts (A.B) and the A part resolved to an object that did not expose visible nested procedures; the B part could not be resolved.
- Action: Specify the valid name of an object or of a packaged procedure or function without specifying any additional trailing parts.
- ORA-06564: object string does not exist
- Cause: The named object could not be found. Either it does not exist or you do not have permission to access it.
- Action: Create the object or get permission to access it.
- ORA-06565: cannot execute string from within stored procedure
- Cause: The named procedure cannot be executed from within a stored procedure, function or package. This function can only be used from pl/sql anonymous blocks.
- Action: Remove the procedure from the calling stored procedure.
- ORA-06566: invalid number of rows specified
- Cause: An invalid number of rows was specified in a call to the procedure DEFINE_COLUMN in the package DBMS_SQL. For a given parsed statement in a given cursor, all columns must be defined to have the same number of rows, so all the calls to DEFINE_COLUMN must specify the same number of rows.
- Action: Specify a number that matches that for previously defined columns.
- ORA-06567: invalid number of values specified
- Cause: An invalid number of values to be bound was specified in a call to the procedure BIND_VARIABLE in the package DBMS_SQL. In order to execute a given parsed statement in a given cursor, the same number of values must have been bound for all bind variables, so when EXECUTE is called, the latest calls to BIND_VARIABLE must must have specified the same number of values to be bound for all bind variables.
- Action: Make sure that the same number of values have been bound for all of the bind variables.
- ORA-06568: obsolete ICD procedure called
- Cause: An obsolete ICD procedure was called by a PL/SQL program. The PL/SQL program was probably written for an eralier release of RDBMS.
- Action: Make sure that all PL/SQL programs have been upgraded to the latest release of the RDBMS. This can be accomplished by following upgrade instructions in the README file, or by running the catproc.sql script supplied with the RDBMS.
- ORA-06569: Collection bound by bind_array contains no elements
- Cause: A collection with zero elements was bound to a bind variable in a call to procedure BIND_ARRAY in the package DBMS_SQL. In order to execute a bind of a collection, the collection must contain at least one element. If no elements are present then at execute time there will be no value for this bind and the statement is meaningless.
- Action: Fill the collection with the elements you want to bind and try the bind call again.
- ORA-06570: shared pool object does not exist, cannot be pinned/purged
- Cause: The specified shared pool shared cursor could not be found, therefore it cannot be pinned/purged.
- Action: Remove the procedure from the calling stored procedure.
- ORA-06571: Function string does not guarantee not to update database
- Cause: There are two possible causes for this message:
- * A SQL statement references a packaged, PL/SQL function that does not contain a pragma that prevents the database from being updated.
- * A SQL statement references a stand-alone, PL/SQL function that contains an instruction to update the database.
- Action: If the referenced function is a packaged, PL/SQL function: Recreate the PL/SQL function with the required pragma; be certain to include the ‘Write No Database State’ (WNDS) argument in the argument list of the pragma. If the referenced function is a stand-alone, PL/SQL function: Do not use the function.
- ORA-06572: Function string has out arguments
- Cause: A SQL statement references either a packaged, or a stand-alone, PL/SQL function that contains an OUT parameter in its argument list. PL/SQL functions referenced by SQL statements must not contain the OUT parameter.
- Action: Recreate the PL/SQL function without the OUT parameter in the argument list.
- ORA-06573: Function string modifies package state, cannot be used here
- Cause: There are two possible causes for this message:
- * A SQL statement references a packaged, PL/SQL function that does not contain a pragma containing the ‘Write no Package State’ (WNPS).
- * A SQL statement references a stand-alone, PL/SQL function that modifies a package state. A stand-alone, PL/SQL function referenced by a SQL statement cannot modify a package state.
- Action: If the function is a packaged, PL/SQL function: Recreate the function and include a pragma containing the ‘Write no Package State’ (WNPS). If the function is a stand-alone, PL/SQL function: Delete the function from the SQL statement.
- ORA-06574: Function string references package state, cannot execute remotely
- Cause: There are two possible causes for this message:
- * A remote, packaged function or a remote-mapped, local, packaged function that does not contain a pragma with the ‘Write no Package State’ (WNPS) and ‘Read no Package State’ (RNPS) arguments references a package state.
- * A remote, stand-alone function or a remote-mapped, local, stand-alone function contains a reference to a package state (reads or writes a package variable). Only local functions that are referenced in a SELECT list, VALUES clause of an INSERT statement, or SET clause of an UPDATE statement can modify a package state.
- Action: If the function is a packaged function: Recreate the function and include a pragma containing the ‘Write no Package State’ (WNPS) and ‘Read no Package State’ (RNPS) arguments. If the function is a stand-alone function: Do not call the function.
- ORA-06575: Package or function string is in an invalid state
- Cause: A SQL statement references a PL/SQL function that is in an invalid state. Oracle attempted to compile the function, but detected errors.
- Action: Check the SQL statement and the PL/SQL function for syntax errors or incorrectly assigned, or missing, privileges for a referenced object.
- ORA-06576: not a valid function or procedure name
- Cause: Could not find a function (if an INTO clause was present) or a procedure (if the statement did not have an INTO clause) to call.
- Action: Change the statement to invoke a function or procedure
- ORA-06577: output parameter not a bind variable
- Cause: The argument corresponding to an IN/OUT or OUT parameter for a function or a procedure or a function return value in a CALL statement must be a bind variable.
- Action: Change the argument to a bind variable
- ORA-06578: output parameter cannot be a duplicate bind
- Cause: The bind variable corresponding to an IN/OUT or OUT parameter for a function or a procedure or a function return value in a CALL statement cannot be a duplicate bind variable.
- Action: Change the bind variable to be unique
- ORA-06579: Bind variable not big enough to hold the output value
- Cause: The bind variable specified by the user is not large enough to hold the output returned by the function or a procedure.
- Action: Specify a bind variable of larger size.
- ORA-06580: Hash Join ran out of memory while keeping large rows in memory
- Cause: Hash Join reserves 3 slots (each slot size = DB_BLOCK_SIZE * HASH_JOIN_MULTIBLOCK_IO_COUNT) for a row. If a row is larger than that, this error will be raised.
- Action: Increase HASH_JOIN_MULTIBLOCK_IO_COUNT so that each joined row fits in a slot. HASH_AREA_SIZE may also need to be increaed.
- ORA-06592: CASE not found while executing CASE statement
- Cause: A CASE statement must either list all possible cases or have an else clause.
- Action: Add all missing cases or an else clause.
- ORA-06593: string is not supported with natively compiled PL/SQL modules
- Cause: Specified feature is not yet supported for natively compiled PL/SQL modules yet.
- Action: Recompile the relevant PL/SQL modules in non-native mode by setting the parameter plsql_compiler_flags to INTERPRETED.
- ORA-06595: REF CURSOR parameters are not supported in forwarded RPC calls
- Cause: An attempt was made to make a forwarded RPC call with a REF CURSOR parameter.
- Action: Either call the remote function directly (i.e., not by way of forwarding), or move the remote function to a database where it can be called directly.
- ORA-06596: object cannot be purged, object is permanently kept in shared pool
- Cause: The specified object was permanently kept, therefore, cannot be purged.
- Action: Use DBMS_SHARED_POOL.UNKEEP procedure to unkeep the object and then purge it.
- ORA-06597: Failed to increase the session’s call stack memory to string bytes at a depth of string calls. (The current maximum is string bytes.)
- Cause: PL/SQL program execution used more call stack memory than permitted.
- Action: * Ask your DBA to increase the maximum allowed call stack memory.
- * Decrease the amount of call stack used by the program. This may be accomplished by using fewer, smaller local variables, or by limiting the depth of function call nesting.
- ORA-06600: LU6.2 Driver: SNA software is not loaded
- Cause: The SNA software is not running.
- Action: Start the SNA software and try again.
APAR status
-
Closed as program error.
Error description
-
The initial problem was happening on the customer's DEV platform (4.4.3.3 on AIX Oracle 10g with IF0010 applied): 2010.03.15-18.14.53 UTC LDR.1-1577172 3 FM_END_DISK_USAGE finished calculating disk usage (bytes: 10925629440 ms: 11) 2010.03.15-18.14.53 UTC LDR.1-1577172 2 STOREDPROCOK CHECKLOADREMERGESTATE - (1,BASE,000,'2010031118'->NEW) 2010.03.15-18.14.54 UTC LDR.1-1577172 2 STOREDPROCOK STARTREMERGE - (1,BASE,000,H0,'2010031118') -> false 2010.03.15-18.14.56 UTC LDR.1-1577172 W [DC10107] STOREDPROCERR ADDRESIZETABLESPACE - ORA-06520: PL/SQL: Error loading external library ORA-06522: 0509-022 Cannot load module . 0509-026 System error: A file or directory in the path name does not exist. ORA-06512: at "PV_ADMIN.PVM_DATALOAD", line 3158 ORA-06512: at line 1 2010.03.15-18.14.56 UTC LDR.1-1577172 F [DC10004] ERROR Shutting down the image with error: ORA-06520: PL/SQL: Error loading external library ORA-06522: 0509-022 Cannot load module . 0509-026 System error: A file or directory in the path name does not exist. ORA-06512: at "PV_ADMIN.PVM_DATALOAD", line 3158 ORA-06512: at line 1 2010.03.15-18.14.56 UTC LDR.1-1577172 F [DC10004] ERROR Walkback written to: /opt/datachannel/log/walkback-LDR.1-1577172-2010.03.15-18.14.56. log 2010.03.15-18.14.56 UTC LDR.1-1577172 F [DC10004] ERROR Shutting down the image with error: ORA-06520: PL/SQL: Error loading external library ORA-06522: 0509-022 Cannot load module . 0509-026 System error: A file or directory in the path name does not exist. ORA-06512: at "PV_ADMIN.PVM_DATALOAD", line 3158 ORA-06512: at line 1 2010.03.15-18.14.56 UTC LDR.1-1577172 1 SHUTDOWN Shutting down the image Once the permissions on 'libpvmextc.so' were changed (it seems they had been wrong), the error that was occrring changed to this: 010.03.15-19.54.33 UTC LDR.1-2138230 W [DC10107] STOREDPROCERR ADDRESIZETABLESPACE - ORA-06502: PL/SQL: numeric or value error: character string buffer too small ORA-06512: at "PV_ADMIN.PVM_DATALOAD", line 3158 ORA-06512: at line 1 2010.03.15-19.54.33 UTC LDR.1-2138230 F [DC10004] ERROR Shutting down the image with error: ORA-06502: PL/SQL: numeric or value error: character string buffer too small ORA-06512: at "PV_ADMIN.PVM_DATALOAD", line 3158 ORA-06512: at line 1 2010.03.15-19.54.33 UTC LDR.1-2138230 F [DC10004] ERROR Walkback written to: /opt/datachannel/log/walkback-LDR.1-2138230-2010.03.15-19.54.33. log 2010.03.15-19.54.33 UTC LDR.1-2138230 F [DC10004] ERROR Shutting down the image with error: ORA-06502: PL/SQL: numeric or value error: character string buffer too small ORA-06512: at "PV_ADMIN.PVM_DATALOAD", line 3158 ORA-06512: at line 1 2010.03.15-19.54.33 UTC LDR.1-2138230 1 SHUTDOWN Shutting down the image
Local fix
-
Error was from PVM_DATALOAD when it was trying to gather stats on the metric tables: ORA-20005: object statistics are locked (stattype = ALL) But the tables were all locked. select table_name from dba_tab_statistics where owner like 'PV_%' and stattype_locked = 'ALL' showed about 3000 tables owned by Proviso who's table statistics were all locked. Probably from the export/import or Data Pump of the XenoBridge tool... The import has to be done with a statistics=none (or with an exclude clause with DataPump) otherwise the statistics are locked on import. Unlocked all the schemas using dbms_stats.unlock_schema_stats for all PV schemas, restarted the loader and it caught up and is loading into the DB.
Problem summary
-
The LDR would encounter an issue and throw an Oracle error when running on AIX, the problem was traced to a an oracle library
Problem conclusion
-
4.4.3.3-TIV-PROV-IF0050
Temporary fix
Comments
APAR Information
-
APAR number
IZ73374
-
Reported component name
NC/PROV DATACHA
-
Reported component ID
5724P59DC
-
Reported release
443
-
Status
CLOSED PER
-
PE
NoPE
-
HIPER
NoHIPER
-
Special Attention
NoSpecatt
-
Submitted date
2010-03-24
-
Closed date
2010-05-13
-
Last modified date
2010-05-13
-
APAR is sysrouted FROM one or more of the following:
-
APAR is sysrouted TO one or more of the following:
Fix information
-
Fixed component name
NC/PROV DATACHA
-
Fixed component ID
5724P59DC
Applicable component levels
-
R443 PSY
UP
[{«Business Unit»:{«code»:»BU048″,»label»:»IBM Software»},»Product»:{«code»:»SSCFPZK»,»label»:»DataChannel»},»Component»:»»,»ARM Category»:[],»Platform»:[{«code»:»PF025″,»label»:»Platform Independent»}],»Version»:»443″,»Edition»:»»,»Line of Business»:{«code»:»»,»label»:»»}}]
Bug: ORA-06522: (path)st_shapelib.dll: cannot open shared object file: No such file or directory
Description
When accessing the Spatial Type for Oracle using SQL, the following error message is displayed:
«ERROR:
ORA-06520: PL/SQL: Error loading external library
ORA-06522: (path)st_shapelib.dll: cannot open shared object file: No such file or directory
ORA-06512: at «SDE.ST_GEOMETRY_SHAPELIB_PKG», line 12
ORA-06512: at «SDE.ST_GEOMETRY», line 56″
The path and name of the ST_Geometry shape library was not created correctly in the Oracle data
dictionary view USER_LIBRARIES. Check this by using this SQL statement when logged into Oracle as the SDE user:
Code:
SQL> select file_spec from user_libraries where library_name = 'ST_SHAPELIB';FILE_SPEC
--------------------------------------------------------------------------------
c:arcgisarcsdeora10gexebinst_shapelib.dll
The path returned from this query does not exist on the Oracle server.
Cause
This is a known issue.
This can happen when running sdesetup on an Oracle instance from a remote system, and the remote system has a different operating system or a different location for SDEHOME.
The sdesetup uses the string specified in the ‘-H’ option of sdesetup used to create a path to the location of ArcSDE libraries. The path is constructed as <specified_path>bin on Windows, or <specified_path>/lib on Unix and Linux. The path must be valid and contain the direct connect libraries in order for sdesetup to work. This path is used for at least two things:
· The location of the direct connect libraries needed for sdesetup to connect to the database to do its work.
· The location of the library that is used in the CREATE LIBRARY command. This is the command that inserts into ALL_LIBRARIES for later use by the EXTPROC.
When Oracle and ArcSDE are on the same system, these two uses are compatible. Both point to the local SDEHOME/lib or SDEHOME/bin. But when sdesetup is run on one system to set up another, the uses of this path are probably not compatible.
Workaround
Recreate the library reference on the remote Oracle server as the Oracle user ‘SDE’:
Code:
SQL> create or replace library ST_SHAPELIB
2 as '/opus1/sde/sdeexe93/lib/libst_shapelib.so';
3 /Library created.
SQL> alter package sde.st_geometry_shapelib_pkg compile reuse settings;
Package altered.
Note:
Keep in mind that replacing the definition for ST_SHAPELIB invalidates some database objects. This is usually not a problem because Oracle attempts to recompile invalid packages when it encounters them.One complication of remote ArcSDE/Oracle installations is that the libraries needed by the EXTPROC must be installed on the remote Oracle server. A simple copy from the SDE server is not possible if the OS is different.
Last Published : 5/5/2016
Article ID: 000009389
Error loading external library
I am trying to work with a C routine called in Pl/Sql.
When i run the program i encounter the following error.
nimsD2>exec nim_orders.pr_process_orders;
begin nim_orders.pr_process_orders; end;
*
ERROR at line 1:
ORA-06520: PL/SQL: Error loading external library
ORA-06522: ld.so.1: extprocepsid_nims: fatal: libclntsh.so.8.0: open failed: No such file or
directory
ORA-06512: at «NIMS.NIMK_SEND_MAIL», line 0
ORA-06512: at «NIMS.NIM_ORDERS», line 81
ORA-06520: PL/SQL: Error loading external library
ORA-06522: ld.so.1: extprocepsid_nims: fatal: libclntsh.so.8.0: open failed: No such file or
directory
ORA-06512: at line 1
From Oracle Help;
ORA-06520: PL/SQL: Error loading external library
Cause: An error was detected by PL/SQL trying to load the external library dynamically.
Action: Check the stacked error (if any) for more details.
LIBRARY MQCANCELORDER and it’s path is already present in all_libraries.
===============================================================================================
CREATE OR REPLACE PACKAGE BODY nim_orders
AS
PROCEDURE pr_process_orders
IS
:
:
BEGIN
:
:
lvReturnValue := fn_call_C_proc(recQueueInfo.queue_manager_name, recQueueInfo.get_queue_name, lvreceivedMsg);
:
:
End;
FUNCTION fn_call_C_proc(p_queue_manager_name IN VARCHAR2
,p_queue_name IN VARCHAR2
,p_received_msg OUT VARCHAR2
)
RETURN BINARY_INTEGER
AS
EXTERNAL
LIBRARY MQCANCELORDER
NAME «processCancelledOrders»
Language C
WITH CONTEXT
PARAMETERS(CONTEXT,
p_queue_manager_name,
p_queue_manager_name INDICATOR SHORT,
p_queue_name,
p_queue_name INDICATOR SHORT,
p_received_msg,
p_received_msg INDICATOR SHORT
);
END fn_parse_cancelled_order;
End nim_orders;