ACTIVE_RTN, routine "" is already active Explanation: An attempt was made to start an already active routine. The current architecture does not allow recursive invocation of stored routines. User Action: Change the flow of control so that an already called routine is not accessed a second time. ARGTOOLARGE, arguments for RCI call form string too large for transmission to remote server Explanation: This error occurs when you are accessing a remote database. When RCI calls that you supply directly (or to which your SQL or RDML statements are translated) execute on a remote system, the parameters for each call are concatenated into one string, which is sent to the remote system as a message. For some calls, the DSRI server on the remote system can accept only parameters that fit into a fixed-size (about 900-byte) buffer. If parameters for such calls form a string that is larger than the message buffer supported on the remote system, this error results. User Action: This error can be eliminated in a number of ways: o If the error is returned as a secondary message to the RDB__UNS_CAPABILITY error, then upgrading the version of the database product installed on the remote system may solve the problem. o If the call or statement can use a local rather than remote database, accessing the local database can solve the problem. o If you are executing RDO or SQL statements, and interactive RDO and SQL utilities are available to you on the remote system, execute the SET HOST command of DCL to log into the remote system. You can then invoke the RDO or SQL utility on the remote system to execute your statements. o Alter the RCI call or associated SQL or RDML statement to reduce the size of the message being transmitted between systems: - If the error is returned on a statement or call that attaches to a database, eliminate or reduce the size of user-supplied information in your call or statement. 1 (RCI users) In the RDB_ATTACH_DATABASE call, reduce the total number of bytes required by the database name and DPB buffer combined, or reduce the number of bytes required by the security buffer. (The database name and DPB buffer are sent as one unit, and the security buffer is sent as another unit.) - If the error is returned on a statement or call that creates, changes, or deletes a database definition, you may be able to split the operation into more than one statement or call to accomplish what you want to do. For example, if you must define a relation that contains 60 fields, try defining the relation only with the first 30 fields in one statement or call, and then enter another statement or call to change the relation definition and add the remaining 30 fields. An alternative strategy when you are creating a definition that contains many long names might be to reduce the length of the names. (RCI users) Reduce the total number of bytes required by the database name, DPB buffer, and security buffer if the message specifies the call RDB_CREATE_DATABASE, RDB_CHANGE_DATABASE, or RDB_DELETE_DATABASE. Reduce the size required by the MBLR buffer if the message specifies the call RDB_DDL. - If your statement or call specifies transaction characteristics and explicitly reserves relations, try reducing the number of relations that it reserves. (RCI users) If the message specifies the RDB_START_TRANSACTION call, reduce the number of bytes required by the TPB buffer. - (RCI users) If the message specifies the call RDB_REQUEST_INFO, RDB_DATABASE_INFO, RDB_TRANSACTION_INFO, or RDB_SEGMENTED_STRING_INFO, reduce the number of bytes required by the info item buffer. - (RCI users) If the message specifies the call RDB_EXTENSION, reduce the number of bytes required by the input buffer. 2 ARITH_EXCEPT, truncation of a numeric value at runtime Explanation: There was an error during computation or conversion of a numeric data item. There are a number of possible causes for this error. Only three are mentioned here. You may have explicitly declared a variable too small to contain a result when you initially developed a program. Alternatively, the data type of a field in the database may have changed, for example, from WORD to LONGWORD and an existing program has not been modified and/or precompiled so that it can process the larger value. Division by zero may also cause this error. User Action: (RCI users) You should check for conflicts between the message parameter and field types that could cause conversion errors. If the problem could be caused by invalid input, include a BLR_K_HANDLER statement to allow correction of the input. (RDML users) You may want to add an ON ERROR clause to the DML statement that caused the error. You can use the ON ERROR clause to trap this error and execute host language program instructions to ensure the value falls within a specified range. However, you might want to track down the conversion error and preprocess the program again if necessary. If the problem is not invalid input, please contact your Oracle support representative for assistance. (SQL users) You may want to add a host language conditional statement following the SQL statement that caused the error. The conditional statement can trap this error and execute other host language statements to ensure the value falls within a specified range. However, you might want to track down the conversion error and preprocess the program again if necessary. If the problem is not invalid input, please contact your Oracle support representative for assistance. ASYNC_BUSY, an asynchronous call is in progress for this database attachment Explanation: Your attempt to call a DSRI function has failed because an asynchronous call is in progress. Change your program so that it doesn't call another DSRI function using the same database handle until your asynchronous callback routine is called. User Action: Check and correct your program logic. 3 ASYNC_DISABLED, asynchronous calls have not been enabled for this database attachment Explanation: Your attempt to call a DSRI function has failed because asynchronous calls have been disabled. You must turn off multiplexing, via the database parameter block, in order to use asynchronous DSRI calls. User Action: Check and correct your program logic. AUTH_FAIL, authentication failed for user Explanation: User authentication has failed because of an incorrect username/password. User Action: Check your username and password to be sure that it is correct. Refer to Rdb documentation for more information regarding user authentication options. AUTH_IMPL_FAIL, implicit authentication on the server has failed Explanation: User authentication has failed because the server received an implicit authentication error. User Action: (SQL users) You can load the security information into the client configuration file or pass it via SQL USER and USING clauses. (DSRI applications) You can load the security information into the client configuration file or pass it via the DSRI security buffer. Refer to Rdb documentation for more information regarding user authentication options. AUTH_NO_IMPLICIT, implicit authentication is not permitted Explanation: User authentication has failed because implicit authentication is not allowed for trusted users such a SQL/Services Server. Also, implicit authentication is not allowed if the application is using poor man's routing (e.g. node::node::dbname). User Action: (SQL users) You can load the security information into the client configuration file or pass it via SQL USER and USING clauses. (DSRI applications) You can load the security information into the client configuration file or pass it via the DSRI security buffer. 4 Refer to Rdb documentation for more information regarding user authentication options. AUTH_NO_USERNAME, authentication failed due to missing username Explanation: User authentication has failed because the username was not found. User Action: (SQL users) You can load the security information into the client configuration file or pass it via SQL USER and USING clauses. (DSRI applications) You can load the security information into the client configuration file or pass it via the DSRI security buffer. Refer to Rdb documentation for more information regarding user authentication options. BAD_CLIENT_CTX, invalid client context pointer Explanation: The client context could not be set or a new one created because a supplied pointer did not point to a valid client context. User Action: (DSRI applications) The input buffer to the extension function SET_CLIENT_CTX, and the parent parameter to the function CREATE_CLIENT_CTX, must point to a valid client context block. BAD_DBKEY, access by dbkey failed - no such record in relation Explanation: You may have modified the variable holding the database key (dbkey) value. If you have defined dbkey scope as transaction, using a dbkey from a previous transaction may also cause this error. User Action: Check and correct your program logic. BAD_DB_FORMAT, does not reference a database known to Explanation: If you are accessing an Rdb or Rdb/ELN database, you may have supplied an invalid file specification or one that is not a database. If both Rdb and Rdb/ELN products are installed on the same system and images for the product you are using are not accessible for some reason, you may get this message and find that it names the other database product. (If there is only one database product on 5 your system to which you supply a file specification, then you are more likely to receive the error RDB__UNAVAILABLE or a message from the operating system when shareable images cannot be activated.) If you are accessing a database via a gateway, you may have supplied the database name incorrectly. The name may not have conformed to the gateway name format requirements or the requirements of the interface you are using with the gateway. (In some cases, missing quotation mark characters can cause this error.) You will also receive this error if the gateway fails to connect to the foreign system when attaching to the database. Subsequent gateway messages provide more specific information in this case. User Action: If you are accessing an Rdb or Rdb/ELN database, correct any errors in the database file specification. If an incorrect file specification is not the problem and Rdb and Rdb/ELN are both installed on your system, make sure that shareable images for the product you are using are being properly installed after system reboots, that the value for the system parameter VIRTUALPAGCNT is large enough to allow image activation, and that your process quotas (for example, PGFLQUOTA and FILLM on OpenVMS systems) are set to values recommended in the product's installation guide. If you are accessing a database via a gateway, use a corrected database name or wait until the foreign system is available. See the person responsible for the gateway on your system if you encounter communications failures that you do not understand. If these suggestions do not help, please contact your Oracle support representative for assistance. BAD_DB_HANDLE, invalid database handle Explanation: (RCI users) You must declare a variable as an explicit database handle and set this variable to zero before calling RDB_ATTACH_DATABASE or RDB_CREATE_DATABASE. You may not modify this variable after its value is set by the database system. (RDML and SQL users) Your program may have modified the value for the database handle (RDML) or authorization identifier (SQL) variable that is created by a precompiler. This is unlikely unless you altered the language source file output by a precompiler. 6 User Action: (RCI users) Make sure your program explicitly sets the variable for the database handle to zero before calling RDB_ATTACH_DATABASE or RDB_CREATE_DATABASE. (RCI, RDML, and SQL users) Make sure that your program is not changing the value of the variable for the database handle (or authorization identifier for SQL users). If your program has not caused this error, please contact your Oracle support representative for assistance. BAD_DETACH, database detach operation completed with errors Explanation: (VIDA with IDMS/R databases only) A communication or protocol error occurred while VIDA was in the process of detaching from the IBM database. This means that even though a process no longer exists on your local system, a job is left in an indeterminate state on the IBM system. Automatic error recovery procedures on the IBM system should clean out any jobs left in this state; however, the recovery procedures consume more system resources than a normal detach operation does. If this error occurs repeatedly, it can indicate a problem either in the VIDA access file or in the way resources on the IBM system are being allocated. User Action: If the error occurs repeatedly, check the VIDA log file to verify that it contains correct logout entries. If you do not find any problems with the access file, report the problem to the person responsible for the gateway node you are using and to the IBM system manager. BAD_DPB_CONTENT, invalid database parameters in the database parameter block (DPB) Explanation: (RCI users) One or more of the items in the database parameter block does not belong in that block. For example, a value may be out of range or may conflict with another value in the block. (RDML and SQL users) This error can be returned on your attempt to create or change a database. For example, you may have attempted to change an Rdb database by deleting or dropping storage areas that are not empty. A secondary message should more precisely identify the error. User Action: (RCI users) Check and correct the parameters. (RDML and SQL users) See the explanation and action for 7 any secondary error messages. If there are no secondary error messages, please contact your Oracle support representative for assistance. BAD_DPB_FORM, unrecognized database parameter block Explanation: (RCI users) One or more of the parameters in the database parameter block is not an option that the database system recognized. User Action: (RCI users) Check and correct the parameters. (SQL and RDML users) Check the explanation and action for any secondary error messages. If there are no secondary error messages, please contact your Oracle support representative for assistance. BAD_EBUFF_HEAD, bad extended buffer header Explanation: This error is returned when the send or the receive buffer header is invalid for the RDB_SEND_BUFFER, RDB_RECEIVE_BUFFER and RDB_START_SEND_RECEIVE calls. User Action: Check buffer header. BAD_MRKPT_HANDLE, invalid markpoint handle Explanation: Markpoints are RCI structures whose use is restricted to Rdb and related products. An internal software error has occurred. User Action: Please contact your Oracle support representative for assistance. BAD_MSG_VEC, invalid message vector Explanation: The message vector is inaccessible to the database product you are using. (Since the message vector is inaccessible, you can trap this error only by checking for its numeric value as the return status for an RCI call.) User Action: (RCI users) Make sure you correctly allocate memory for the message vector and then properly pass its address. (RDML and SQL users) Please contact your Oracle support representative for assistance on the interface you are using (for example; RDO, ERQL, interactive SQL, a precompiler, or the SQL module processor). BAD_REQ_HANDLE, invalid request handle 8 Explanation: (RCI users) You may not have set a request handle to zero before calling RDB_COMPILE_REQUEST, or your program may have modified the request handle's value (set by the database system) during the scope of the database attachment associated with that value. If your program works with multiple databases, it may not have re-initialized request handles to zero (in all program modules) following database detachment. If so, the first reference to the handle within the scope of a later database attachment could have produced this error. In addition, your program may have called RDB_RELEASE_REQUEST, which invalidates a handle, and then tried to use the handle of the request you released. (RDML users) A request handle is a variable whose value 1) identifies a DML operation performed by your program and 2) is valid only within the scope of a particular database attachment. If this error is returned to your program, your program probably executed a FINISH statement and then attempted to use a request handle whose value was invalidated by that FINISH statement. This can happen implicitly; in other words, your program does not have to explicitly declare and use request handle variables in order to get the BAD_REQ_HANDLE error. This error may also mean that you did not explicitly declare and specify request handles when you needed to do so, did not reinitialize those handles following execution of a FINISH statement, or both. If you are an RDBPRE preprocessor user and encounter this error, it may mean that you did not properly specify the request handle scope when you invoked the database. For most programs, REQUEST HANDLE SCOPE IS FINISH should be included in the INVOKE DATABASE statement. The default option, REQUEST HANDLE SCOPE IS DEFAULT, prevents you from specifying DML statements without request handles and then executing these statements within the scope of different database attachments. The RDBPRE and RDML precompilers differ with respect to whether the FINISH statement resets any request handles to zero by default. In programs processed by the RDBPRE precompiler, the FINISH statement does not reinitialize request handles at all by default. In programs processed by the RDML precompiler, the FINISH statement automatically reinitializes request handles in the program module where the FINISH statement 9 executes but not in other modules where the request handles are also declared (and therefore invalidated by the FINISH statement). (SQL users) In SQL, only the underlying software uses request handles, which are variables that: 1) identify all or part of a DML operation performed by your program, and 2) contain values that remain valid only within the scope of a particular database attachment. Execution of a FINISH statement automatically resets request handles to zero and this action affects all modules of a program image. If your program mixes modules that include SQL statements with modules that include RDO calls or statements processed by the RDBPRE and RDML precompilers, the BAD_REQ_HANDLE error may be caused by incorrect use of request handles in those modules. (See the explanation for RDML users.) User Action: (RCI users) Set the request handle to zero before referring to it. Make sure that your program does not write to the variable during the scope of a database attachment. Reset the request handle to zero if you detach from a database and then refer to the request handle again during another database attachment. In addition, make sure that your program does not refer to a request handle after you release a request. (RDBPRE and RDML preprocessor users) Review your programming documentation to determine when it is appropriate to use request handles explicitly. If you have not declared request handles and these are required for the operations you want to perform, add the declarations to your program. If your program declares request handles, check to make sure that they are properly included in statements and that your program does not write to the variables during the scope of any database attachment with which the handles are associated. If your program executes a FINISH statement that invalidates the request handles, you must reinitialize them to zero before executing any statement that uses the handles again. RDBPRE pre BAD_SEC_INFO, information in security buffer could not be decoded Explanation: Either the data in the security buffer did not conform to the correct format or the first byte of the buffer contained an invalid value for version number. User Action: This error is reserved for use in future products or 10 future versions of existing products. If you receive the error before an update to this online file is available, refer to the documentation of the product returning the error for corrective action. BAD_SEGSTR_HANDLE, invalid segmented string handle Explanation: (RCI and RDML users) If you declared a variable as an explicit handle for segmented strings, you did not set the variable to zero before referring to the handle (for RCI users, before calling RDB_OPEN_SEGMENTED_STRING or RDB_CREATE_SEGMENTED_STRING), or you modified the variable after it was set by the database system. User Action: (RCI and RDML users) Set the variable for the segmented string handle to zero before referring to the handle. Make sure your program does not write to this variable after initializing its value. (SQL users) Check the explanation and action for any secondary error messages. If there are no secondary error messages, please contact your Oracle support representative for assistance. BAD_SEGSTR_ID, invalid segmented string identifier Explanation: (RCI users) You have specified an invalid identifier for a segmented string field. User Action: (RCI users) Check that you have copied the segmented string ID correctly from the source relation. (SQL and RDML users) Check the explanation and action for any secondary error messages. If there are no secondary error messages, please contact your Oracle support representative for assistance. BAD_SERVPLAT, Platform conditions incorrect to start database server Explanation: There is an inconsistency in the underlying platform that makes it impossible to start the database server. User Action: Please contact your Oracle support representative for assistance. BAD_SLOTS_USED, number of slots used exceeds allocated count for message number Explanation: If the request state changes (BLR_K_SEND or new message -number) then RDB_SEND will set the SLOTS_USED to 11 indicate the number of records delivered. If the send operation detects that slotused is greater than the slotcnt, this exception is raised. User Action: Increate slotcnt. BAD_SVPT_HANDLE, invalid savepoint handle - "" is unknown Explanation: A ROLLBACK TO SAVEPOINT, or a RELEASE SAVEPOINT statement references a name that was not established using a SAVEPOINT statement. User Action: Check the application to ensure that a SAVEPOINT statement using this name was successful. BAD_TPB_CONTENT, invalid transaction parameters in the transaction parameter block (TPB) Explanation: (RCI users) One or more of the parameters in the transaction parameter block is out of range, or items conflict. (RCI, RDML, and SQL users) You may have started a transaction using an option not supported by the database product you are using. User Action: (RCI users) Check and correct the parameters. (RCI, RDML, and SQL users) Check the explanation and user action for any secondary error messages. If there are no secondary error messages, RDML and SQL users can assume a software error and should contact your Oracle support representative for assistance. BAD_TPB_FORM, unrecognized transaction parameter block Explanation: (RCI users) One or more of the parameters in the transaction parameter block are not recognized by by the database facility. User Action: (RCI users) Check and correct the parameters. (SQL and RDML users) Check the explanation and action for any secondary error messages. If there are no secondary error messages, please contact your Oracle support representative for assistance. BAD_TRANS_HANDLE, invalid transaction handle Explanation: You may have attempted a commit or rollback operation when no transaction is active. For example, your 12 program may execute the same set of actions to handle all fatal errors. If those actions include a rollback operation, the rollback operation will generate the BAD_TRANS_HANDLE error after a fatal error occurs on database attachment or on an attempt to start a transaction. The BAD_TRANS_HANDLE error occurs because you cannot end a transaction when no transaction has been started. (RCI and RDML users) If you declared a variable as an explicit transaction handle, you: a) may not have set the variable to zero before starting the transaction or b) may have modified the variable after it was set by the database system. User Action: Do not execute commit or rollback operations when a transaction is not active. Alternatively, you may choose to specifically check for this error after execution of commit and rollback operations, and branch to program recovery actions when appropriate. (RCI and RDML users) If you explicitly declared a transaction handle variable in your program, set the variable to zero before referring to it. Make sure that your program does not write to this variable after initializing its value. BAD_TXN_STATE, invalid transaction state - transaction already started Explanation: A SET TRANSACTION statement was executed, but it was not the first statement executed in the transaction. User Action: Make sure that there are no active transactions before executing the SET TRANSACTION statement. You can rollback or commit the active transaction before the SET TRANSACTION statement is executed. BUFFERREAD, A buffer from client could not be read from the server Explanation: The client has sent a buffer to the server that the server could not read. This may have happened due to a network problem or because the buffer was formatted incorrectly. This client session should not continue. User Action: Please contact your Oracle support representative for assistance. BUFTOOSMALL, remote buffer size too small for large data Explanation: This error is returned when the remote buffer cannot 13 handle large data (that is, the size of the remote buffer cannot hold the large data). User Action: If the SQL_REMOTE_BUFFER_SIZE configuration parameter is not defined, define it to a large number (bound by the memory limits of your machine). If SQL_REMOTE_BUFFER_SIZE is defined, increase the value. This number specifies the number of bytes the remote buffer should be. BUGCHECK, bug check at Explanation: An unexpected error occurs at this location. User Action: Please contact your Oracle support representative for assistance. BUG_CHECK, internal consistency check failed Explanation: An internal system failure occurred. User Action: (RCI users) Check your BLR and MBLR carefully. If you find no problem that you can correct, then please contact your Oracle support representative for assistance. (RCI, SQL, and RDML users) If this message is produced with a dump file from a product-specific facility, check product documentation to determine if a dump can identify a problem that you can correct. If there is no product-specific information about a problem that you can correct, please contact your Oracle support representative for assistance. BUG_CHECK_CALL, internal consistency check failed - called from Explanation: An internal system failure occurred. User Action: (RCI users) Check your BLR and MBLR carefully. If you find no problem that you can correct, please contact your Oracle support representative for assistance. (RCI, SQL, and RDML users) If this message is produced with a dump file from a product-specific facility, check the product documentation to determine if a dump can identify a problem that you can correct. If there is no product-specific information about a problem that you can correct, please contact your Oracle support representative for assistance. CANNOTFITMVEC, cannot fit all messages into communication buffer 14 Explanation: This error is returned when the communication buffer for the network is too small to fit in all the messages in a message vector. User Action: Increase the network buffer size to a larger number on the client and the server by using the SQL_NETWORK_BUFFER_SIZE parameter in the configuration files. CASENOTFOUND, case not found for CASE statement - no ELSE clause available Explanation: The CASE statement did not supply an ELSE clause, and none of the WHEN clauses matched the value expression of the case. User Action: Add an ELSE clause which can process any out-of-bounds values passed to the CASE statement. CHECK_FAIL, violation of view check option "" caused operation to fail Explanation: Your program attempted an operation that caused a violation of a view WITH CHECK OPTION. This error is caused by an attempt to insert or update a value which is prevented by the selection expression of the view. User Action: (All users) If the error is returned on your attempt to insert or update using a view table, proceed as follows: o (RCI users) Include a BLR_K_HANDLER statement to check and correct the invalid data. o (SQL users) Add a host language conditional statement to trap for this error, and execute statements that handle the invalid data. CLICONN, Client for user connected Explanation: A client for the specified user has connected to the database server successfully. User Action: None. CLIDISCONN_BAD, Client for user disconnected abnormally Explanation: The client for the specified user has disconnected with error conditions. 15 User Action: Check any secondary messages for more information. Please contact your Oracle support representative for assistance. CLIDISCONN_GOOD, Client for user disconnected normally Explanation: The client for the specified user has disconnected successfully. User Action: None. CLIENTAUTH, the client username and password were not found Explanation: Your authentication on the client side has failed because no security buffer was specified, no configuration file was specified, or a port number for implicit mode was not created. User Action: Provide the username and password. COMMITNAL, COMMIT not allowed Explanation: a) This error is returned if the application attempts to do an RDB_COMMIT_TRANSACTION and the application had issued the system service SYS$START_TRANS call. b) An attempt was made to COMMIT inside a multi-statement (or stored) procedure when the transaction spans multiple databases or involves two phase commit. Multi-statement (or stored) procedures are server procedures and do not know all the databases involved in the transaction. User Action: a) Do not call RDB_COMMIT_TRANSACTION if the system service SYS$START_TRANS call has been made. Call the system service SYS$END_TRANS call instead. b) You must use a COMMIT outside of a multi-statement procedure so that it affects all databases. CONCATTRUNC, data exception - string data, right truncation for concatenate Explanation: When using the concatenation operator, the operand on the right side was never used in the result because the result string is too small. User Action: The length of the result should accommodate some or all of the operand to the right of the operator. CONNECT_REJECT, host and server cannot agree on a protocol Explanation: You attempted to attach to a remote database and the 16 database software on client and server systems uses different versions of the DSRI remote protocol. User Action: You need to install an updated version of a database product on one of the systems. CONVERT_ERROR, invalid or unsupported data conversion Explanation: Your program attempted a data conversion that is either invalid or unsupported, such as converting alphabetic characters to a floating-point number. The error may be caused by invalid input. User Action: Check your program logic. If the error is caused by invalid input, add error handling to correct this condition. (RCI users may add a BLR_K_HANDLER statement to the request. RDML users may add an ON ERROR clause to the statement causing the error. SQL users may include a host language conditional statement to trap the error and execute remedial actions.) You can access information about supported data types in various manuals. RCI users should check the appendix on arithmetic and conversion rules in the DSRI Handbook. Rdb DML users should check the chapter on ensuring data type compatibility in the Rdb programming documentation. Rdb/ELN DML users should check the DATATYPE clause entry in the VAX Rdb/ELN reference documentation. SQL users should check the chapter on language and syntax elements in the SQL documentation. CSETNOTFOUND, invalid or undefined character set Explanation: The character set specified is not known to Rdb. User Action: Check the character set name and/or identifier to ensure that they are valid. DB_CORRUPT, database is corrupt Explanation: Data structures in the database that you referred to have been corrupted. If you are accessing an Rdb database, the database may be a multifile database whose files were improperly moved or deleted. Identifiers for files in a multifile database are stored in the database root. Therefore, when restoring or importing multifile databases, you can change file specifications only in certain ways. User Action: If you are accessing an Rdb database, use the RMU/ANALYZE statement to check the state of the 17 database. In most cases when this error is returned, you will have to restore the database from a backup copy. If the database files were corrupted by using DCL COPY to move the database, use the EXPORT and IMPORT statements of either RDO or SQL to transfer the original database files to target disk and directory locations. To ensure device independence, make sure that specifications for any database files in DEFINE DATABASE, CHANGE DATABASE, CREATE SCHEMA, IMPORT, and RMU/RESTORE statements include logical names defined with the /SYSTEM and /TRANSLATION_ATTRIBUTES=CONCEALED qualifiers to identify devices. If you choose to include a directory along with the device in a logical name, remember that the directory in the logical name is interpreted as a root directory rather than a full directory path. When you are importing or restoring a database, use target directories that do not include any files whose names are identical to names of database files. (Database files must created as version ;1 files.) If you are accessing an Rdb/ELN database, use the VALIDATE option of EBRP to verify the structure of the database. Once you have determined which structures are affected, you can unload unaffected relations and attempt other corrective measures. See the EBRP entry in the VAX Rdb/ELN reference documentation for more information. Please contact your Oracle support representative for assistance if a database becomes corrupt for reasons other than improperly moving, deleting, or restoring database files. Explanation: This message is used to indicate whether a remote database supports DECdtm at attach time. It is for Rdb/Dispatch internal use only. User Action: None. DEADLOCK, request failed due to resource deadlock Explanation: Your program cannot continue because it and another process have conflicting resource needs. User Action: Roll back your transaction and start a new one. If you are accessing an Rdb/ELN database and specified a CONCURRENCY mode transaction, and if your application mix does not require very quick response time, you can 18 avoid deadlock by reserving relations in CONSISTENCY mode. This action may increase response time for some jobs but will not affect throughput. DECDTMERR, DECdtm system service call error Explanation: There is an error calling the DECdtm system service. User Action: Check secondary messages for more information. The most common situations for producing this error include the following: 1. DECdtm is not started. 2. DECdtm log file is not created. DISTABORT, distributed transaction was aborted Explanation: This error is returned if the transaction was aborted suddenly (for example, if the database system at a remote node delivers an abort AST while the application at the local node is still running). This error is returned at the next RCI call. If there is a secondary error message, it will be returned along with this message. If there is no secondary error message, a 'cannot determine secondary error' message will be returned along with this message. User Action: None. DPB_REQ_EXCL, DPB item requires exclusive access which was not specified Explanation: (RCI users) Your program cannot be attached to a database when making a call such as RDB_CHANGE_DATABASE. In this case, if exclusive access is necessary to protect database integrity while your program accesses an item, you must specify exclusive access for the item in the database parameter block (DPB) associated with the call. User Action: (RCI users) When you make the call that returned this error, ensure that no user is attached to the database. (SQL and RDML users) Check the explanation and action for any secondary error messages. If there are no secondary error messages, please contact your Oracle support representative for assistance. ELIM_NULL, null value eliminated in set function Explanation: A null value was encountered and ignored during computation of an aggregate. For instance, computing the average salary for employees when at least one 19 employee has a null salary (perhaps the employee has been hired but has not yet begun work) could yield this message. User Action: This is an informational message; no action is required. ENGINEERR, The database engine has returned an error for client Explanation: The database engine on the server has returned an error. This error information will be passed back to the client and the client session can continue. User Action: Check the error information sent back to the client for more information. ERRACTRDB, Error activating RDB$SHARE image Explanation: The format of the RDB$SHARE image is incorrect or it cannot be found. The default location is SYS$COMMON:[SYSLIB]RDB$SHARE.EXE. If the logical name RDMS$VERSION_VARIANT is defined, the image is SYS$COMMON:[SYSLIB]RDB$SHARExx.EXE where xx is the two-digit version variant. If RDB$ENABLE_HIGHEST_VERSION is defined, the RDB$SHARE image of the highest available version is used. If RDB$DISPATCH_VERSION_VARIANT is defined, RDMS$VERSION_VARIANT is not used. User Action: Check the values of the above logical names and check for the existence of the expected RDB$SHARE image. EXCESS_SVPT, maximum number of savepoints are already active - "" failed Explanation: The SAVEPOINT statement did not succeed because the maximum number of savepoints have been activated. User Action: Check the application to ensure that either a RELEASE SAVEPOINT statement or a ROLLBACK TO SAVEPOINT statement is used to dispose of prior SAVEPOINT definitions. EXCESS_TRANS, exceeded limit of transaction(s) per database attachment Explanation: (RCI, SQL, and RDML users) Your program exceeded the number of transactions allowed for a given database 20 attachment. This number is product-specific and, for Rdb, is associated with either database handles (RDML) or authorization identifiers (SQL). In other words, if you are accessing one or more Rdb databases and have more than one transaction active at the same time, a given database handle (or authorization identifier) may be used in only one of the simultaneously active transactions. User Action: (RCI, SQL, and RDML users) Check your program logic. If you are using Rdb, make sure your program commits or rolls back a transaction before starting another one that uses the same database handle(s) in RDML or the same authorization identifiers in SQL. EXQUOTA, runtime quota exceeded Explanation: You have used up a quota imposed by the database system you are accessing. Limits on resources specified within the database system have been exceeded. If you were accessing a Rdb database, for example, you may have exceeded one of the query governor limits. User Action: Check secondary messages for more information. For corrective action, consult the online message files or error message appendixes appropriate for the facilities returning secondary messages. EXTFUN_FAIL, external routine failed to compile or execute successfully Explanation: Your attempt to invoke an external routine failed. Secondary messages will provide more details. User Action: Correct the problem, using information provided in the secondary message(s). EXT_ERR, extension error Explanation: An error occurred when you used an extension to DSRI that is supported by the product specified in the message. User Action: Check secondary messages for more information. For corrective action, consult the online message files or error message appendixes appropriate for the facilities returning secondary messages. FROM_NO_MATCH, no record matched the RSE in a "from" expression Explanation: (RCI users) You used a BLR_K_FROM value expression in a 21 request and no records in the database met the specified criteria. (RDML users) You used a FIRST value expression and there were no matches in the database. User Action: (RCI users) Substitute a BLR_K_VIA value expression to supply a default value. (RDML users) Use an ANY value expression to test for the existence of that value. (SQL users) Check the explanation and action for any secondary error messages. If there are no secondary error messages, please contact your Oracle support representative for assistance. HWALPHA, Alpha Explanation: Internationalizable hardware processor string. User Action: None. HWINTEL, Intel Explanation: Internationalizable hardware processor string. User Action: None. HWITANIUM, IA64 Explanation: Internationalizable hardware processor string. User Action: None. HWVAX, VAX Explanation: Internationalizable hardware processor string. User Action: None. IMP_EXC, facility-specific limit exceeded Explanation: You did not observe a restriction imposed by the database system you are accessing. Limits on resource utilization, index size, number of relations you can join, and the number of fields in a relation may have limits that are product-specific. If you were accessing an Rdb database, for example, you may have attempted to join more than 32 relations. 22 User Action: Check secondary error messages for more information. Change your input or query to observe the restrictions noted in these secondary messages. For a summary of product-specific limits, read the Software Product Description (SPD) for the database product you are using. INFINAP, specified item code does not apply to this object Explanation: (RCI users) Your program requested nonexistent information in a call to an RDB_~*_INFO routine. The item code you specified was a valid item code but it does not apply to the object you specified. User Action: (RCI users) Check the parameters on the call. This condition is returned in the result buffer of the information call, preceded by an error indicator and the type of information requested. The status of the information call is not affected by the error. (SQL and RDML users) Please contact your Oracle support representative for assistance. INFONA, no information currently available for this item code Explanation: (RCI users) Your program requested information that is not currently available for the object. The item code you supplied was valid, but the object about which you requested information did not have that information associated with it at the time. User Action: (RCI users) Check the parameters on the call. This message is sometimes appropriate depending on the state of the object to which you referred. The condition is returned in the result buffer of the information call, preceded by an error indicator and the type of information requested. The status of the information call is not affected by the error. (SQL and RDML users) Check the explanation and action for any secondary error messages. If there are no secondary error messages, please contact your Oracle support representative for assistance. INFUNK, item code is invalid for facility or version of facility being accessed Explanation: (RCI users) Your program asked an undefined question in an explicit DSRI information call. The database product (or product version) that you are using does not recognize the item code you supplied. 23 User Action: (RCI users) Check the parameters on the call. This condition is returned in the result buffer of the information call, preceded by an error indicator and the type of information requested. The status of the information call is not affected by the error. (SQL and RDML users) Check the explanation and action for any secondary error messages. If there are no secondary error messages, please contact your Oracle support representative for assistance. INSFMEM, insufficient virtual memory Explanation: A command or image exhausted the system pool of dynamic memory, and the system cannot complete the request. User Action: Free the resources you are holding, or increase the existing pool of memory. INSFSYSR, insufficient system resources to start database system Explanation: The database system is not activated because of insufficient system resources. User Action: Check secondary messages for more information. INTEG_FAIL, violation of constraint caused operation to fail Explanation: Your program attempted an operation that caused a violation of a constraint. Usually this error is caused by an attempt to store an invalid value when a record is stored or modified. It is also returned when you define a constraint and data already stored in the database violates that constraint. Currently, only Rdb systems support constraints and return this error. User Action: (All users) If the error is returned on your attempt to define a constraint, you must delete data that violates the constraint before defining the constraint again. If the error is caused by trying to add, delete, or modify data, then proceed as follows: o (RCI users) Include a BLR_K_HANDLER statement to check and correct the invalid data. o (RDML users) Use the ON ERROR clause to determine why the constraint failed and change your program to handle the invalid data. 24 o (SQL users) Add a host language conditional statement to trap for this error and execute statements that handle the invalid data. INVALID_BLR, request BLR is incorrect at offset Explanation: (RCI users) The database runtime system found an error in the binary language representation of a request. The offset identifies the number of the byte in the BLR string where the runtime system recognized the error. User Action: (RCI users) Check any secondary messages for more information. Correct the problem. (RDML and SQL users) Please contact your Oracle support representative for assistance on the software you are using with the database system. INVALID_SEC_INFO, invalid security information Explanation: The information in the security buffer (for example, user name or password) was invalid. User Action: This error is reserved for use in future products or future versions of existing products. If you receive the error before an update to this online file is available, refer to the documentation of the product returning the error for corrective action. INVESCSEQ, invalid character found after escape character Explanation: A character other than a wildcard or an escape character was found following an escape character in the pattern provided. User Action: Ensure that only a wildcard character or an escape character follows the escape character. INVESCVAL, invalid escape clause value Explanation: An escape clause value must be non-null and exactly one character in length. User Action: Ensure that the escape clause value is one character in length. INVPAT, invalid regular expression pattern syntax Explanation: The pattern passed to SIMILAR TO contains and illegal format SIMILAR TO treats these characters are special: 25 [, ], {, }, (, ), *, +, ?, ^ and :. User Action: Consult the Oracle Rdb documentation and correct the pattern. Special character set ranges, [:ALPHA:], [:ALNUM:], [:DIGIT:], [:LOWER:], [:UPPER:], [:SPACE:], and [:WHITESPACE:] must always be specified in upper case. It may also be necessary to use the ESCAPE clause and add escape characters to allow use of the many reserved pattern characters as string values. INVSUBSTRLEN, length specified for substring is invalid Explanation: You specified an invalid length for the substring operator, which cannot be processed. Valid lengths for the substring operator are greater than or equal to 0. User Action: Specify a substring length that is greater than or equal to 0. INV_TRANS_ACTION, transaction state can not be modified from this call Explanation: (SQL Users) An attempt was bad to start, commit or rollback a transaction from within a stored function (or a procedure called from a stored function). (DSRI Users) An attempt was made to execute BLR_K_TRANSACTION (which modifies the transaction handle) in one of the RCI routines RDB_SEND or RDB_RECEIVE which do not provide a transaction handle. User Action: (SQL Users) Do not attempt to use SET TRANSACTION, COMMIT or ROLLBACK from within a stored function (even if the statement is nested in a called stored procedure). (DSRI Users) Time the execution of BLR_K_TRANSACTION when the active RCI routine is RDB_START_REQUEST, RDB_START_AND_SEND, or RDB_START_SEND_RECEIVE which allow the transaction handle to be modified. INV_VERSION_NUM, Invalid version number string specified Explanation: An invalid database version number was specified in the attach specification. User Action: Specify a 2 digit database version number. IO_ERROR, input or output error Explanation: Your program encountered an error on input or output. Frequently, this error occurs because of hardware 26 failure. This error is also returned if you have started a transaction that accesses a remote database and the communication link between local and remote systems is discontinued for any reason. User Action: Check any secondary messages for more information. Correct obvious problems such as incorrect file names, file protection problems, and so on. Correct your program logic if necessary, perhaps adding error handling. Note, however, that this condition is not generally correctable from a program. LOCK_CONFLICT, request failed due to locked resource Explanation: (RCI users) You either specified TPB$K_NOWAIT in the transaction parameter block in a call to RDB_START_TRANSACTION and a resource needed during the transaction was unavailable, or your program called RDB_ATTACH_DATABASE, and system resources in the database were locked. (RDML users) You either specified the NOWAIT option in a START_TRANSACTION statement and a resource you needed during the transaction was unavailable, or you attempted to attach to a database in which system resources were locked. (SQL users) You either specified the NOWAIT option in a DECLARE or SET TRANSACTION statement and a resource you needed during the transaction was unavailable or you attempted to attach to a database in which system resources were locked. Or you specified the WAIT option with a time out interval, and the timeout expired. Or you specified READ ONLY WAIT, and the table you attempted to access was locked by an EXCLUSIVE transaction. In this case, the transaction can not proceed as requested. User Action: If a transaction is being started or is in progress when the error was returned, retry the transaction with the "wait" default. "No wait" is generally not a reasonable transaction characteristic. If you must use the "no wait" option: a) trap this error using the statement or clause appropriate for your language, b) roll back the transaction, c) wait a random interval, and d) restart the transaction. Retrying at a random interval will avoid a "live lock," a situation in which two transactions compete for the same resources, 27 collide, retry, collide, retry, and so on. If you encounter the error when attempting to attach to a database, retry database attachment at another time. If the timeout expired, restart the transaction. If the READ ONLY WAIT failed, then add a RESERVING clause to the SET TRANSACTION statement to detect this situation on the SET TRANSACTION statement. METADATA_CORRUPT, metadata for database is corrupt Explanation: The database system relations for the named database have been corrupted. If you directly modified system relations, you probably made changes that were not internally consistent. (RCI users) You cannot use BLR to write to Rdb system relations. User Action: Check any secondary messages for more information. If you did not directly change system relations, please contact your Oracle support representative for assistance. (RCI users) If your program writes to system relations, make sure changes are internally consistent according to rules explained in the chapter on DSRI system relations in the DSRI Handbook. If you are writing to Rdb system relations, use the RDB_DDL call. (See the chapter on the metadata request language in the DSRI Handbook.) META_WARN, metadata successfully updated with the reported warning Explanation: A potential problem has been recognized during a Data Definition Language (DDL) operation. Continuing the operation will make this change permanent. User Action: Based on the sub-error, continue the operation or rollback the change. MONITOR_SYNC, Could not synchronize with database monitor Explanation: The server needs to synchronize with a database monitor but it cannot. User Action: Make sure that the database monitor on the server system is running successfully. If appropriate, have the database monitor and server restarted. 28 MONITOR_TERM, Database monitor has terminated Explanation: The server has previously synchronized with a database monitor but that monitor has now terminated. The server cannot continue running. User Action: Determine the reason the database monitor terminated. If appropriate, have the database monitor and server restarted. MRKPT_ACTIVE, markpoint has already been declared and is active Explanation: Markpoints are RCI structures whose use is restricted to Rdb and related products. An internal software error has occurred. User Action: Please contact your Oracle support representative for assistance. MRKPT_NOTACTIVE, no markpoint is currently active Explanation: Markpoints are RCI structures whose use is restricted to Rdb and related products. An internal software error has occurred. User Action: Please contact your Oracle support representative for assistance. MULTIPLE_MATCH, record selection criteria should identify only one record; more than one record found Explanation: (RCI users) A request specified a BLR_K_VIA expression, which evaluates an expression in the context of a record stream (specified by a record selection expression) that contains only one record. This error occurred because the record selection expression identified more than one record. The error may be returned on the calls RDB_SEND, RDB_RECEIVE, RDB_START_AND_SEND, and RDB_START_REQUEST. The error may also be returned on the call RDB_DDL when the call defines a constraint or view using a BLR_K_VIA expression. (SQL users) You specified a column select expression that identifies more than one row in a context where only one row should be identified. User Action: (RCI users) Check your program logic to make sure your use of BLR_K_VIA is correct. (SQL users) Correct the column select expression so 29 that it identifies only one row. (RDML users) Please contact your Oracle support representative for assistance. NEEDPRIV, the following privileges are needed: Explanation: This error message lists the privileges needed to execute the statement. User Action: Set the proper privileges before executing the statement again. NOARGACC_READ, database facility cannot read argument Explanation: (RCI users) Your program specified an argument that cannot be read by the database system. User Action: (RCI users) Correct the argument list of the call that generated the error. If you cannot find an error in the argument list, please contact your Oracle support representative for assistance. (SQL and RDML users) Check the explanation and action for any secondary error messages. If there are no secondary error messages, please contact your Oracle support representative for assistance. NOARGACC_WRITE, database facility cannot write to argument Explanation: (RCI users) Your program specified an argument to which the database system cannot write. User Action: (RCI users) Correct the argument list of the call that generated the error. If you cannot find an error in the argument list, please contact your Oracle support representative for assistance. (SQL and RDML users) Check the explanation and action for any secondary error messages. If there are no secondary error messages, please contact your Oracle support representative for assistance. NODECDTM, DECdtm is not installed on your system Explanation: DECdtm is not installed on the system. User Action: Make sure DECdtm is installed. NOENTRYPT, no entry point for this call 30 Explanation: There is no entry point for the call in the Rdb/Dispatch driver image or library. User Action: Make sure your database environment is set correctly and you are not running a program that is compiled with the latest version of Rdb/Dispatch driver against an older version of Rdb/Dispatch driver. NON_UPDATABLE, request BLR at offset defines a non-updatable set of tuples Explanation: (RCI and RDML users) Your program attempted to modify or delete one or more records retrieved from a record stream that is not updatable. You define a non-updatable record stream if you include the following clauses in an RSE: o (RCI users) BLR_K_FIRST, BLR_K_BOOLEAN, BLR_K_PROJECT, or multiple relations o (RDML users) FIRST, WITH, REDUCED, or CROSS clauses (SQL users) Your program attempted to update or delete one or more rows retrieved from a result table that is read-only. A read-only result table may be created when you specify a join operation, a function, the DISTINCT keyword, GROUP BY or HAVING clauses, or a subquery in a select expression. User Action: (RCI and RDML users) Correct your program so that it does not attempt to modify or delete records retrieved from a non-updatable record stream. (SQL users) Correct your program so that it does not attempt to update or delete rows retrieved from a read-only result table. NORESULT, stored function "" returned no result Explanation: A function must return a result. (SQL) The named stored function completed without executing a RETURN statement. This is not permitted. (DSRI) The named stored routine must assign a value to the special variable BLR$K_FUNCTION_RESULT before completion. User Action: Correct the coding of the function so that a value is returned. 31 NOSECERR, cannot determine secondary error Explanation: Cannot determine secondary error User Action: None NOSUCHTRANS, translation name is invalid or undefined Explanation: The translation name is not known to Rdb. User Action: Check the translation name to ensure it is valid. NOSUCHTXN, there is no such transaction handle Explanation: This error is returned if the transaction handle in the internal structure cannot be matched by the parameters passed in an RDB_FIND_TRANSACTION_HANDLE call. User Action: Make sure the distributed transaction id is a valid one and has been passed by an RDB_START_TRANSACTION call. NOTINVOKED, routine cannot be invoked Explanation: This routine can not be invoked. User Action: Based on the sub-error, either the routine or the call to the routine has to be corrected. NOTXNINPRGS, no transaction is in progress Explanation: This error is returned if there are no active transactions when the RDB_FIND_TRANSACTION_HANDLE call is made. User Action: Make sure a transaction has been started before you make the RDB_FIND_TRANSACTION_HANDLE call. NOT_VALID, validation on field caused operation to fail Explanation: 1. You attempted to change a relation by adding a new field with a VALID IF clause that does not allow missing values for the field, or 2. You attempted to define an index on a numeric field with a mapping range that is not valid for some value of the field already stored in the database, or 3. You tried to store or modify a field value and the value failed a validation check defined for the field (the validation check may be a VALID IF or an index field mapping range). User Action: For cases 1 and 2: Re-specify the definition to eliminate the problem indicated by the secondary 32 message. For example, you might need to change the VALID IF clause to allow MISSING values, or change the index definition mapping range to encompass all existing values. For case 3: (RCI users) use a BLR_K_HANDLER statement to reprompt for valid values. If the value should be valid, change the validation defined for the field. (You can specify a new VALID IF via a CHANGE FIELD statement; you must, however, delete and re-define an index to change a mapping range.) (RDML users) Use an ON ERROR clause to trap the error and, if the problem is invalid terminal input, to re-prompt for valid field values. If the field value seems valid, you may want to change the validation for the field. (You can specify a new VALID IF with a CHANGE FIELD statement; you must, however, delete and re-define an index to change a mapping range.) (SQL users) Add a host language conditional statement to trap for the error, and execute statements that either re-prompt for valid column values or otherwise handle the condition. NO_CUR_REC, stream has no current record for retrieval or update Explanation: (RDML users) Your program created a stream with the START_STREAM statement but did not retrieve a record with the FETCH statement before trying to manipulate a record. User Action: (RDML users) Use the FETCH statement before other statements that manipulate the record. (SQL users) Check the explanation and action for any secondary error messages. If there are no secondary error messages, please contact your Oracle support representative for assistance. NO_DIST_BATCH_UPDATE, no distributed transaction is allowed with the recovery mechanism disabled Explanation: (Rdb databases) You attempted to start a BATCH_UPDATE Distributed Transaction. BATCH_UDPATE (for SQL, BATCH UPDATE) disables database recovery, and this violates the Two Phase Commit Protocol used in Distributed Transactions. If the transaction were allowed to proceed and then failed, any database involved in that Distributed Transaction would be corrupted. This type of transaction is not allowed. 33 User Action: (Rdb databases) Start the transaction again without using BATCH_UPDATE mode. In the future, do not attempt to start Distributed Transactions in BATCH_UPDATE mode. NO_DUP, index field value already exists; duplicates not allowed for Explanation: You attempted to write a duplicate value in an indexed field that does not allow duplicates. For example, the indexed field contains values that are unique employee IDs, and you attempted to store a record for a new employee using an employee id already assigned to someone else. User Action: If duplicate values are appropriate, you need to delete the index and redefine it to allow duplicates. Otherwise, provide another value for the indexed field as follows: (RCI users) Use the BLR_K_HANDLER statement to trap this error and prompt for new input. (RDML users) Trap this error with an ON ERROR clause. Prompt for another value if the problem is inaccurate terminal input. (SQL users) Trap this error with a host language conditional statement. Prompt for another value if the problem is inaccurate terminal input. NO_META_UPDATE, metadata update failed Explanation: Your attempt to update metadata failed. You may have tried to modify or delete a database definition on which other definitions depend. If you were directly writing to system relations, you may have tried changing fields that do not allow write operations or you may have tried writing fields that do not exist. Secondary messages will provide more details. User Action: Correct the problem indicated by the secondary message; for example, you might need to delete dependent index or view definitions before deleting a relation field referred to by the view or index. If you are directly writing to system relations, explanations of rules that apply are in the following places: the "System Relations" entry in the VAX Rdb/ELN reference documentation, the chapter on system relations in the Rdb SQL reference documentation, and the chapters on system relations and the metadata request language in the DSRI Handbook. 34 NO_PRIV, privilege denied by database facility Explanation: Your program attempted an operation that violated privileges defined for an entity in an Rdb database or for a database entity that a gateway needs to access on a foreign system. User Action: See Rdb reference documentation for more information about Rdb privileges (access control lists). See the appropriate gateway documentation for an explanation of the privileges needed on foreign systems. NO_RECON, reconnect failed Explanation: (RCI users) Your attempt to reconnect to a transaction (the RDB_RECONNECT call) failed. User Action: (RCI users) Check any secondary messages. If the transaction id was incorrect, correct it. Otherwise, please contact your Oracle support representative for assistance. (SQL and RDML users) Check the explanation and action for any secondary error messages. If there are no secondary error messages, please contact your Oracle support representative for assistance. NO_RECORD, access by dbkey failed because dbkey is no longer associated with a record Explanation: You have saved a database key in your program, erased the record associated with that key, and then requested the record by that key. (You can do this implicitly and inadvertently if you delete a record in the inner loop of a nested loop that is not coded properly.) Alternatively, you are using a dbkey that is not currently usable due to structural changes to the database. User Action: Check and correct your program logic. NO_ROLLBACK, no rollback is allowed with the recovery mechanism disabled Explanation: (Rdb databases) You started a BATCH_UPDATE (for SQL, BATCH UPDATE) transaction, which disables database recovery, and then attempted to roll back the transaction. If you detach from the database without committing the transaction (as a program would if it stops execution immediately following the error), your database is corrupted. 35 User Action: (Rdb databases) Because this error is not fatal, you can commit the transaction to prevent database corruption and then start a new transaction to remove the database changes. If you exited from an interactive utility after encountering the error or your program stopped its run without committing the transaction, then you must restore your database from a backup. In the future, do not attempt to roll back transactions that are started in BATCH_UPDATE mode. BATCH_UPDATE mode is appropriate for operations such as replacing all the data in one or more tables. NO_SEGSTR_CLOSE, segmented string must be closed before being stored Explanation: (RCI users) Your program attempted to store a record containing a segmented string identifier before calling RDB_CLOSE_SEGMENTED_STRING to complete storage of the field. User Action: (RCI users) Check and correct your program logic so that you close segmented strings before you store their identifiers. (SQL and RDML users) Check the explanation and action for any secondary error messages. If there are no secondary error messages, please contact your Oracle support representative for assistance. NULL_NO_INDICATOR, null can't be reported due to missing indicator Explanation: (SQL users) A null value was found, but could not be returned to the user due to the lack of an indicator parameter. User Action: (SQL users) Change the query to include an indicator parameter for each field which could return a null value. OBSOLETE_METADATA, request references metadata objects that no longer exist Explanation: You may have referred to a field, relation, or other metadata object that no longer exists. This is a common error if you are using embedded RDML or SQL and have not re-precompiled programs that access a changed database. Alternatively, you may have referred to a metadata object that never existed. For example, you may have entered an SQL CREATE SCHEMA statement that refers to an entity whose definition is not included in the 36 statement. User Action: Your program may be out of synchronization with the current state of an existing database. Update your program, if necessary, so that it refers only to currently defined objects. If you are using an RDBPRE, RDML, or SQL precompiler, precompile your program again. If you are using the SQL module processor, compile the SQL language module again. If your program is creating a database, make sure that you have not misspelled the name of an entity when you refer to it in the definition of another entity. In addition, make sure that you define all entities (for example, an index) referred to by other entities (for example, a storage map that specifies record placement via an index). ON_DB, on database Explanation: The error occurred on the database mentioned. User Action: None OPEN_TRANS, detach failed: transaction(s) still active Explanation: (RCI users) Your program attempted to execute a call to RDB_DETACH_DATABASE while there were active transactions. User Action: (RCI users) Commit or roll back transactions before you detach from the database. (SQL and RDML users) Check the explanation and action for any secondary error messages. If there are no secondary error messages, please contact your Oracle support representative for assistance. OSNT, Windows NT Explanation: Internationalizable operating system string. User Action: None. OSUNIX, Digital UNIX Explanation: Internationalizable operating system string. User Action: None. OSVMS, OpenVMS 37 Explanation: Internationalizable operating system string. User Action: None. PC_UPDATE, is trying to do a write operation in a distributed transaction Explanation: An attempt has been made to perform a write operation on a database that has no distributed transaction capability. User Action: See the appropriate documentation on how to clear this error. PORT_LEN, buffer length does not match BLR description Explanation: (RCI users) The length of the message you are passing as a parameter on an RDB_SEND, RDB_RECEIVE, or RDB_START_AND_SEND call does not match the length of the port (formatted message) declared in a request. User Action: (RCI users) Correct the program logic or data declarations as necessary to make the message lengths match. Make sure you calculate buffer lengths correctly and are passing the correct message. (RDML users) If you explicitly declare more than one request handle, make sure you do not incorrectly substitute one for another in request handle references. (SQL users) Check the explanation and action for any secondary error messages. If there are no secondary error messages, please contact your Oracle support representative for assistance. PREPARNAL, PREPARE not allowed Explanation: This error is returned if the application attempts to do an RDB_PREPARE_TRANSACTION and the application had issued the system service SYS$START_TRANS call. User Action: Do not call RDB_PREPARE_TRANSACTION if the system service SYS$START_TRANS call has been made. Call the system service SYS$END_TRANS call instead. READ_ONLY, operation is not supported by a read-only facility Explanation: You may have attempted to start a transaction using transaction characteristics that a particular gateway 38 product does not support. If this error is returned after a transaction is started, then you attempted to execute a data definition or write operation via a gateway product. User Action: (All users) Do not execute a data definition against any databases via a gateway after a transaction is started. (RCI users) For DB2 databases, you must specify TPB_K_READ in the the transaction parameter block for the RDB_START_TRANSACTION call. For VIDA with IDMS/R databases, you must specify TPB_K_WAIT and TPB_K_CONCURRENCY in addition to TPB_K_READ. (RDML users) In a START_TRANSACTION statement (or section of that statement) that refers to a DB2 database, make sure that you specify READ_ONLY transaction mode. If the statement (or statement section) refers to a VIDA with IDMS/R database, you must specify WAIT and CONCURRENCY in addition to READ_ONLY. (SQL users) In a DECLARE TRANSACTION statement, SET TRANSACTION statement, or section of either statement that refers to a DB2 database, you must specify READ ONLY. If the statement or statement section refers to a VIDA with IDMS/R database, then you must specify CONSISTENCY LEVEL 2, and WAIT in addition to READ ONLY. READ_ONLY_FIELD, attempt to update the read-only field Explanation: Your program tried to update a read-only field in a system relation, a computed field in a user-defined relation or view, or a field used in a restriction on a join. User Action: Do not try to update fields described as read-only in system relations, fields defined with the COMPUTED BY clause of RDML, or fields that are arithmetic expressions in SQL view definitions or select expressions. For more information: for Rdb/ELN, see the entries for "System Relations" and the DEFINE FIELD statement in the VAX Rdb/ELN reference documentation; for Rdb see the chapter on system relations and the entry for DEFINE FIELD in the reference documentation for RDO users. SQL users may also check the section about the CREATE VIEW statement in the SQL reference documentation. READ_ONLY_REL, relation was reserved for read access; updates 39 not allowed Explanation: You attempted to update a relation that you reserved for read access. User Action: Correct your program logic by ending the current transaction and then starting another in which you reserve the relation for write access. READ_ONLY_TRANS, attempt to update during a read-only transaction Explanation: You attempted to write to the database during a read-only transaction. User Action: End the current transaction and start a new one that allows write access. (RCI users) Substitute TPB_K_WRITE for TPB_K_READ when calling RDB_START_TRANSACTION. (RDML users) Substitute READ_WRITE for READ_ONLY in your START_TRANSACTION statement. (SQL users) Substitute READ WRITE for READ ONLY in your DECLARE TRANSACTION or SET TRANSACTION statement. READ_ONLY_VIEW, view cannot be updated Explanation: (RDML users) You attempted to update a view whose definition includes a FIRST, WITH, CROSS, or REDUCED clause. Such views cannot be updated. (SQL users) You attempted to update a view whose definition includes a join operation, a function, the DISTINCT keyword, GROUP BY or HAVING clauses, or subqueries. Such views cannot be updated. User Action: If you want to update data accessed through such a view, you must update the records in relations contributing to the view. Include all contributing relations in a single transaction to ensure that all the necessary changes are made permanent at the same time. REQ_NO_TRANS, attempt to execute request with no transaction active Explanation: (RCI and RDML users) You attempted to continue a request after you ended a transaction or to start a request before you had begun a transaction. For example, you may have put a commit operation in the middle of a FOR loop. 40 User Action: (RCI and RDML users) Modify your program logic to complete the operation before the end of the transaction or to start a transaction before executing a request. (RCI users only) Remember that a request can be compiled before a transaction is started, but the request can execute only after the transaction starts. (SQL users) Check the explanation and action for any secondary error messages. If there are no secondary error messages, please contact your Oracle support representative for assistance. REQ_SYNC, host program out of synchronization with the specified request Explanation: (RCI users) Your program did one of the following things: o Called RDB_RECEIVE when the request was stalled at a BLR_K_RECEIVE or BLR_K_SELECT statement o Called RDB_SEND or RDB_START_AND_SEND when the request was stalled at a BLR_K_SEND statement o Specified a different message identifier than what the request expected on an RDB_SEND or RDB_RECEIVE call (All DML users) Your program can receive this error if another exception or error occurred previously and you did not detect or properly handle the earlier exception or error. The rest of this explanation includes some examples of common programming mistakes that may result in the REQ_SYNC error. (RDML and SQL users) The error may be the result of continuing the program without rolling back the transaction after deadlock or lock-conflict. Also, some host languages, such as FORTRAN, permit syntax that can cause premature exit from a loop. If an RDML or SQL statement is included in a loop that is exited prematurely, the RDB__REQ_SYNC error may be generated. (RDML users only) You may have omitted the AT END clause from a FETCH statement that encountered the end of stream condition. Note that when programs are processed by the RDML or RDBPRE precompilers, the STREAM_EOF error is not returned on execution of a FETCH statement. Therefore, programs processed by the 41 RDML or RDBPRE precompilers cannot detect the end of stream condition using the ON ERROR clause of the FETCH statement. The ON ERROR clause traps the REQ_SYNC error because the end of stream condition occurred earlier and was not detected and handled by an AT END clause. A program processed by the RDBPRE precompiler can also receive this error if it includes a START_STREAM statement in a FOR loop, and then, within the scope of the START_STREAM statement, attempts to assign to host variables the values of fields specified in the FOR statement RSE. User Action: (RCI users) Correct your program logic. (RDML users) If you are using a precompiler and determine that a FETCH statement is missing the AT END clause, add the AT END clause to handle the end of stream condition. Make sure that your program detects lock conflict and deadlock errors and terminates transactions when these occur. If your program was processed using the RDBPRE precompiler and includes a START_STREAM statement within a FOR loop, check to make sure you are retrieving fields specified in the FOR statement RSE outside the scope of the START_STREAM statement. This may mean that statements must execute in the order FOR, GET, START_STREAM, FETCH, rather than in the order, FOR, START_STREAM, GET, FETCH. Additionally, check program logic to ensure that program flow at execution time cannot cause a premature exit from a loop. If none of the preceding actions apply to your program, please contact your Oracle support representative for assistance. (SQL users) Make sure that your program detects deadlock and lock conflict errors and handles them by terminating the transaction. Additionally, check your program logic to ensure that program flow at execution time cannot cause a premature exit from a loop. If you cannot find a problem related to faulty error handling or program logic, please contact your Oracle support representative for assistance. REQ_WRONG_DB, database named in specified request is not a database named in specified transaction Explanation: (All users) Your program may have requested a relation from a database not included in the current transaction. For example, you may have qualified a relation name in an RSE with the name of a database not included in the transaction. You may have specified the LOCAL attribute for a database in a calling program 42 when called programs participate in the transaction that uses that database. RDML users who link precompiled modules with modules output by the SQL module processor should also read the following information supplied for SQL users. (SQL users) If your program contains multiple modules, and these modules establish different authorization identifiers for what you intend to be the same schema, you can encounter this error. In this case, one of the following conditions is likely to be true: o You specified different identifiers for the default schema in the AUTHORIZATION clauses of multiple SQL language modules in your image. o You specified an identifier other than RDB$DBHANDLE in the AUTHORIZATION clause of one or more SQL language modules and then linked the object files output by the SQL module processor with object files output by the SQL, RDB, or RDML precompiler. If you inadvertently establish different authorization identifiers in modules for what you assume is the same default schema, and control is passed among modules during a transaction, unqualified table name references are ambiguous in statements that execute in modules where transactions are not started. User Action: Make sure qualification of relation names is correct. If it is, then make the requested database available to the transaction. (RCI users) End the current transaction and start a new one, specifying all databases used during the transaction in the RDB_START_TRANSACTION call. (RDML users) End the current transaction and start a new one. Specify in the START_TRANSACTION statement database handles for all the databases you intend to use during the transaction. If your program passes a transaction handle to a called module, make sure you specify databases used in that transaction as EXTERNAL in the calling module. If your program image includes modules compiled by the SQL module processor, you should also read information supplied for SQL users. Note that SQL does not support explicit use of transaction handles. (SQL users) End the current transaction and start a new one. Specify in the DECLARE or SET TRANSACTION 43 statement authorization identifiers for all the schemas that you intend to use during the transaction. (SQL users) If you are linking multiple SQL language modules into an image and intend that all modules should use the same schema by default, then make sure that you specify the same identifier in the AUTHORIZATION clauses of all modules. If you are linking SQL language modules with precompiled modules and intend that all modules should access the same schema by default, then specify RDB$DBHANDLE as the identifier in the AUTHORIZATION clauses of all SQL language modules. ROLBCKNAL, ROLLBACK not allowed Explanation: a) This error is returned if the application attempts to do an RDB_ROLLBACK_TRANSACTION and the application had issued the system service SYS$START_TRANS call. b) An attempt was made to ROLLBACK inside a multi-statement (or stored) procedure when the transaction spans multiple databases or involves two phase commit. Multi-statement (or stored) procedures are server procedures and do not know all the databases involved in the transaction. User Action: a) Do not call RDB_ROLLBACK_TRANSACTION if the system service SYS$START_TRANS call has been made. Call the system service SYS$ABORT_TRANS call instead. b) You must use a ROLLBACK outside of a multi-statement procedure so that it affects all databases. RTN_FAIL, routine "" failed to compile or execute successfully Explanation: The named routine failed to compile, or execute when referenced. User Action: The secondary messages will describe the reason for the failure. SEGMENT, segmented string is not complete Explanation: (RCI users) This message is an alternate success code for the RDB_GET_SEGMENT call. It indicates that your program succeeded in retrieving only part of the segment. This condition occurred because the buffer you declared in your program for the segment was shorter than the segment returned from the database. (RDML users) This message is an alternate success code 44 for segmented string retrieval. User Action: (RCI users) You can call RDB_GET_SEGMENT again to retrieve more of the segment. Alternatively, you can use the RDB_SEGMENTED_STRING_INFO call to find out how big the segment is. You can then increase the size of the declared buffer so that it accommodates the entire segment in one call to RDB_GET_SEGMENT. (RDML users) Change your program to accept this condition as an alternate success code for segmented string retrieval. (SQL users) Check the explanation and action for any secondary error messages. If there are no secondary error messages, please contact your Oracle support representative for assistance. SEGSTR_EOF, attempt to fetch past the end of a segmented string Explanation: (RCI users) While calling RDB_GET_SEGMENT to retrieve segments from a segmented string field, you tried to retrieve one too many segments. You may also receive this error on the first attempt to retrieve a segment if the segmented string field is empty. User Action: (RCI users) Test for this condition and stop retrieving. (SQL and RDML users) Check the explanations and actions for secondary error messages. If there are no secondary messages, please contact your Oracle support representative for assistance. SEGSTR_NO_OP, operation is not valid on segmented strings Explanation: (RCI and RDML users) You attempted an operation that cannot be performed on segmented strings. For example, you may have included a segmented string field in an arithmetic or other value expression. User Action: (RCI and RDML users) Do not include segmented string fields in value expressions. (SQL users) Check the explanation and action for any secondary error messages. If there are no secondary error messages, please contact your Oracle support representative for assistance. SEGSTR_NO_READ, segmented string is open for write access only; read prohibited 45 Explanation: (RCI users) Your program attempted to access a segmented string that has been created but not yet closed and stored. User Action: (RCI users) Check and correct your program logic. The segmented string must be closed and its segmented string identifier must be stored in a field of type segmented string. Only then can you open the string for read access by calling RDB_OPEN_SEGMENTED_STRING. (SQL and RDML users) Check the explanation and action for any secondary error messages. If there are no secondary error messages, please contact your Oracle support representative for assistance. SEGSTR_NO_TRANS, attempt to use a segmented string after a commit or rollback operation Explanation: (RCI and RDML users) You attempted to access a segmented string after ending the transaction in which the string was opened. For example, you may have included a roll back operation in a FOR loop that accessed segmented strings. User Action: (RCI and RDML users) Make sure you access the segmented-string field before the end of the transaction. (SQL users) Check the explanation and action for any secondary error messages. If there are no secondary error messages, please contact your Oracle support representative for assistance. SEGSTR_NO_WRITE, segmented string is open for read access only; write prohibited Explanation: (RCI users) Your program attempted to write to a segmented string by calling RDB_PUT_SEGMENT, but the segmented string was opened with a call to RDB_OPEN_SEGMENTED_STRING. Segmented strings cannot be modified and therefore must be opened with a call to RDB_CREATE_SEGMENTED_STRING if you want to write to them. User Action: (RCI users) Check and correct your program logic. (SQL and RDML users) Check the explanation and action for any secondary error messages. If there are no secondary error messages, please contact your Oracle support representative for assistance. 46 SEGSTR_PARAM, illegal parameter to segmented string routine Explanation: An illegal parameter was supplied to the segmented string routine. See the secondary error code for further information. User Action: The specific error is described in the secondary error code. See the explanation of that error for more information. SEGSTR_WRONG_DB, database where segmented string is to be created or opened is not a database referenced by specified transaction Explanation: (RCI users) You referred to a database in an RDB_CREATE_SEGMENTED_STRING or RDB_OPEN_SEGMENTED_STRING call that you did not include in the associated RDB_START_TRANSACTION call. User Action: (RCI users) Make the database that contains the segmented string available to the transaction. (SQL and RDML users) Check the explanation and action for any secondary error messages. If there are no secondary error messages, please contact your Oracle support representative for assistance. SEQNONEXT, The next value for the sequence "" is not available Explanation: The next value (NEXTVAL) has not been fetched during this session, or you have reached the limit of the sequence. User Action: You must fetch the next value before attempting to get the current value (CURRVAL) during a session. If the sequence is defined as NOCYCLE then you may have reached the maximum value (for ascending sequences) or the minimum value (for descending sequences). In this case you will need to alter the sequence to enlarge the value range. SERVEND_BAD, database server stopped abnormally Explanation: The database server has stopped with error conditions. User Action: Check any secondary messages for more information. Please contact your Oracle support representative for assistance. SERVEND_GOOD, database server stopped normally 47 Explanation: The database server has stopped successfully. User Action: None. SERVER_REJECT_OLD, server reject old communication protocol Explanation: This error is returned when a V6.0 and above client is communicating with a V6.0 and above server using the old communication protocol. This error is internal to the code and should never be displayed. User Action: None SERVSTART, database server started Explanation: The database server has started successfully. User Action: None. SIGNAL_SQLSTATE, routine "" signaled SQLSTATE "" Explanation: The application called the special routine RDB$$SIGNAL_SQLSTATE to pass back a failure status to the caller. User Action: This is expected behaviour from this routine call. Rdb's SQL interface will convert this return condition to an SQLSTATE for use in the applications error handler. Other processors of the message vector can extract the five character return code from the second parameter. STRANSNAL, distributed START TRANSACTION not allowed - some databases are not able to participate Explanation: This error is returned if the application attempts to do an RDB_START_TRANSACTION on databases that support distributed transactions and databases that do not support distributed transactions. Databases that don't support distributed transactions cannot access the OpenVMS transaction management system service calls. This error is returned only if the application made a system service SYS$START_TRANS call and then called RDB_START_TRANSACTION using a mix of databases, some of which supported distributed transactions and some that did not. User Action: Do not mix databases that support distributed transactions and databases that do not support distributed transactions in a single start transaction statement (See the Rdb Guide to Distributed 48 Transactions for more information). STREAM_EOF, attempt to fetch past end of record stream Explanation: (RDML users) You attempted to fetch more records than there were records in the stream. Note that the end of stream condition does not produce this error on execution of FETCH statements in precompiled programs. Therefore, you cannot use the ON ERROR clause of the FETCH statement to detect when there are no more records. (SQL users) Your program attempted to fetch more rows than were in a cursor. User Action: (RDML users) Make sure you specify the AT END clause of a FETCH statement to handle the end of stream condition in precompiled programs. For FETCH statements that are executed by RDO calls and statements other than FETCH that retrieve records, you can detect and handle the STREAM_EOF error using the same mechanism as you detect and handle other errors. (SQL users) Add a WHENEVER NOTFOUND or host language conditional statement to handle the condition. SVPT_NOALLOWED, a savepoint may not be establish in this context - "" failed Explanation: The SAVEPOINT statement did not succeed because it is not allowed in this context. For instance, a SAVEPOINT statement is not allowed in a SQL function, or in an ATOMIC compound statement. User Action: Check the application to ensure that SAVEPOINT statements are used appropriately. SYSTEM_SERVICE, system service error at Explanation: This message is returned when an error is returned from a call to a system service. User Action: Look at the secondary error for the details of why this error happened. SYS_REQUEST, error from system services request Explanation: Your program received an error from a system service. (Databases via a gateway) The error may occur if a gateway message image is missing or is unavailable for 49 some reason (perhaps because virtual memory is insufficient for activating the image). User Action: Check any secondary messages for more information. Include error handling in your program if the condition is one that your program can correct. Refer problems related to missing message images and virtual memory to your system manager. (RCI users) You may want to handle program correctable errors with a BLR_K_HANDLER statement (RDML users) You may want to handle conditions that your program can correct in an ON ERROR clause for the DML statement that caused the error. (SQL users) You may want to handle conditions that your program can correct using a host language conditional statement. SYS_REQUEST_CALL, error from system services request - called from Explanation: Your program received an error from a system service. (Databases via a gateway) The error may occur if a gateway message image is missing or is unavailable for some reason (perhaps because virtual memory is insufficient for activating the image). User Action: Check any secondary messages for more information. Include error handling in your program if the condition is one that your program can correct. Refer problems related to missing message images and virtual memory to your system manager. (RCI users) You may want to handle program correctable errors with a BLR_K_HANDLER statement. (RDML users) You may want to handle conditions that your program can correct in an ON ERROR clause for the DML statement that caused the error. (SQL users) You may want to handle conditions that your program can correct using a host language conditional statement. TEXT, Explanation: If you have set the configuration parameter SQL_MESSAGE_VECTOR_RETURN_TYPE to be TEXT, this message 50 is used to return a secondary error in text format. User Action: Examine the contents of the text message to to see the secondary error. TRANSSTATE, a transaction state change has occurred Explanation: The state of a transaction has changed due to internal operations such as operations in a multistatement procedure. This is internal information for Rdb. User Action: None. TRIG_INV_UPD, invalid update; encountered error condition defined for trigger Explanation: (Rdb databases) An update operation caused a user-defined error condition that is specified for the database in a trigger definition. In this case, a secondary message identifies the trigger where the error condition is specified. User Action: (Rdb databases) Roll back the transaction and check the definition of the trigger named in the secondary message. Then eliminate the update condition that caused this error condition to occur. (It may be necessary to discuss a solution with your database manager if the update is valid and the trigger does not permit it.) When the update condition that caused this error can no longer occur, start the transaction again. If this error is returned for reasons unrelated to a user-defined trigger error condition, please contact your Oracle support representative for assistance. TRIG_REQ_ERROR, error encountered by a request using triggers Explanation: (Rdb databases) An update operation probably selected a trigger or a series of triggers, so that a triggered action either: 1) requires that one of the currently selected triggers be selected again (a recursive selection), or 2) tries to delete a record which is the current subject record of a trigger. A secondary message identifies the trigger that has been recursively selected or that defines the offending triggered action. For example, if an update selects trigger A, and trigger A has a triggered update action that selects trigger B, and trigger B has a triggered update action that selects trigger A, then the secondary message identifies the recursively selected trigger; trigger A. 51 User Action: (Rdb databases) Roll back the transaction and check the secondary message. Start the transaction again only after data, program logic, or the trigger definitions themselves are adjusted to prevent the recursion or illegal deletion. (It may be necessary to discuss a solution with your database manager.) If this error is returned without a secondary error or you cannot find the cause in programming logic or database design, please contact your Oracle support representative for assistance. TRIM_ERROR, trim error - invalid trim character specified Explanation: The trim character specified is not exactly one character in length. The value expression does not result in a character string of the correct length. Please correct the SQL query. User Action: Ensure that the length of the trim character specified is exactly one character in length. TRUN_RTRV, string truncated during assignment to a variable or parameter Explanation: A character string was assigned to a variable or parameter that was not large enough to hold the whole string. Characters at the end of the source string were truncated. This warning is signaled whether or not the truncated characters were blank. User Action: This is an informational message; no action is required. If you wish to retrieve the whole character string, you must supply a larger variable or parameter. TRUN_STORE, string truncated during assignment to a column Explanation: A character string could not be assigned to a column because the string was too long. This error is signaled only if the truncated portion of the string contains non-blank characters. User Action: You must enter a shorter character string or alter the database column so it is large enough to hold the full source string. UNAVAILABLE, is not available on your system Explanation: Your program attempted to use a database for which the specified product's runtime system was not available for some reason. This condition may arise when: 52 o The shareable image for a database product (the RDMSHR.EXE file for Rdb, for example) is not in the correct directory. o The system parameter VIRTUALPAGCNT is set lower than the value required to activate a product's shareable images for your process. o Your process quotas (PGFLQUOTA and FILLM, for example) are set to values lower than those recommended for the database product you are using. o Reinstallation of shareable images has not occurred after their activation was manually suspended or after a system reboot (assuming that the product you are using requires its images be made known to the system through the INSTALL utility). o You are trying to access a remote database and the runtime system for the appropriate database product has not been installed on the remote system. o Shareable images cannot be activated for reasons other than the ones mentioned in this list. User Action: Check with the manager for the system where you expect a product to be available to ensure that it has been installed on the system and that no one has moved or deleted any required images. Make sure that required disk drives are on line. You may have to check with the manager of a remote system if what you are doing involves a proxy (or other kind of remote) account. Check (or ask the system manager to check) the quotas set for your account and have them adjusted if they are lower than what is recommended in the product's installation guide. Ask the system manager to make sure that the system startup file executes product-specific startup files if this is recommended in the product's installation guide. If improper system startup is the problem, the system manager may need to manually install needed product images before you can use the product. If the preceding actions are not needed or do not correct the error condition, ask the system manager if the virtual memory available on the system is likely to be adequate for image activation. If this appears to be a problem, you may have to wait until other users 53 are placing fewer demands on the system before you can use the product. If none of the preceding actions solves the problem, please contact your Oracle support representative for assistance. UNAVAILABLE2, is not available on your system Explanation: Your program attempted to use a database for which the specified product's runtime system was not available for some reason. This condition may arise when: o The shareable image for a database product (the RDMSHR.EXE file for Rdb, for example) is not in the correct directory. o The system parameter VIRTUALPAGCNT is set lower than the value required to activate a product's shareable images for your process. o Your process quotas (PGFLQUOTA and FILLM, for example) are set to values lower than those recommended for the database product you are using. o Reinstallation of shareable images has not occurred after their activation was manually suspended or after a system reboot (assuming that the product you are using requires its images be made known to the system through the INSTALL utility). o You are trying to access a remote database, and the runtime system for the appropriate database product has not been installed on the remote system. o Shareable images cannot be activated for reasons other than the ones mentioned in this list. User Action: Check with the manager for the system where you expect a product to be available to ensure that it has been installed on the system and that no one has moved or deleted any required images. Make sure that required disk drives are on line. You may have to check with the manager of a remote system if what you are doing involves a proxy (or other kind of remote) account. Check (or ask the system manager to check) the quotas set for your account and have them adjusted if they are lower than what is recommended in the product's 54 installation guide. Ask the system manager to make sure that the system startup file executes product-specific startup files if this is recommended in the product's installation guide. If improper system startup is the problem, the system manager may need to manually install needed product images before you can use the product. If the preceding actions are not needed or do not correct the error condition, ask the system manager if the virtual memory available on the system is likely to be adequate for image activation. If this appears to be a problem, you may have to wait until other users are placing fewer demands on the system before you can use the product. If none of the preceding actions solves the problem, please contact your Oracle support representative for assistance. UNIQUETXN, more than one transaction handle can be identified Explanation: This error is returned if more than one transaction handle can be identified by the distributed transaction id and the database handle passed in to the RDB_FIND_TRANSACTION_HANDLE call. User Action: Make sure that when you start a transaction, you use unique (different) database handles for each active transaction. UNRES_REL, relation in specified request is not a relation reserved in specified transaction Explanation: Your program began a transaction by reserving a list of relations. It then tried to access a relation that was not in the list. Remember that the list of relations you are reserving must include all the relations to which your program refers and, assuming the product you are using supports constraints, any relations that must be accessed to evaluate a constraint. User Action: (RCI users) End the current transaction. Then start a new one, listing all relations you will access in the transaction parameter block. (RDML users) End the current transaction. Start a new one where you include all the relations you will access in the RESERVING clause of the START_TRANSACTION statement. 55 (SQL users) End the current transaction. Start a new one where you include all the tables you will access in the RESERVING clause of the DECLARE TRANSACTION or SET TRANSACTION statement. UNS_CAPABILITY, capability is not supported by Explanation: Your program attempted to use a feature that the specified product does not support. A secondary error message will supply more information on the unsupported capability. Currently, this message occurs only if you are accessing a remote database. (The substitution string in message text is "remote server" rather than a product name.) In this case, the error occurs because database software on the remote system does not include the latest version of the remote server protocol. User Action: If the local and remote systems are running different versions of the same product, installing a more up-to-date version of product software on the remote system should solve the problem. If both of the following conditions are true, you may need to work around the problem until a future version is available for the product installed on the remote system: o The remote server protocol on the remote system is supplied by a different product than the remote server protocol on the local system. o The product version installed on the remote system is the most up-to-date version of that product. In this case, refer to the accompanying secondary message for a workaround. UNS_EXT, host program requested a DSRI extension not available with Explanation: You attempted to use a feature that the specified product does not support. (RDML and SQL users) You may get this error when you use a utility or precompiler designed for use with a database created by one product to access a database created by another product. A particular utility or precompiler may include some options that are not supported by all DSRI-compliant database systems. 56 User Action: Do not try to use the feature. UNS_RCI, RCI call is not supported by Explanation: If the message specifies a product name: o (RCI users) You attempted to use an RCI call that the specified product does not support. o (RDML and SQL users) You may get this error when using a utility or processor designed for use with a database created by one product to access a database created by another product. A particular utility or processor may include features that are implemented through RCI calls that are not supported by all DSRI-compliant database systems. If the message specifies "remote server," then your statement or call accesses a remote database. In this case, the database software installed on the remote system uses a different version of the DSRI remote protocol than the database software installed on your local system. User Action: If the message specifies a product name: o (RCI users) Do not try to use the specified RCI call with that product. o (RDML and SQL users) Do not use the utility or processor feature that resulted in this error when you are accessing a database created by the specified product. If the message specifies "remote server," you may need to install an updated version of a database product on the remote system. If you have the most up-to-date version of the database product installed on the remote system, please contact your Oracle support representative for assistance. VALOUTRANGE, value outside the specified precision () for column "" Explanation: Your application attempted to INSERT or UPDATE a DECIMAL or NUMERIC column with a value outside its defined precision. User Action: You must restrict values to the specified precision, or alter the definition of the column to allow for a larger precision. 57 WISH_LIST, feature has not been implemented Explanation: You attempted to use a feature that is not available in this release of the product that manages the database you are accessing. (RDML and SQL users) You may get this error when you use a utility or precompiler designed for use with a database created by one product to access a database created by another product. A particular utility or precompiler may include some options that are not supported by all DSRI-compliant database systems. User Action: Do not try to use that feature. WRONG_ODS, the on-disk structure of the database is not supported by this version Explanation: The on-disk structure of the database you referred to does not match the on-disk structure expected by the database product (or product version) that you are using. User Action: Check secondary messages for the expected and actual structure versions. You may have to back up and restore, or convert the database. For more information, see the maintenance and performance guide for Rdb, the CONVERT statement entry in Rdb reference documentation, or the "EBRP" entry in the VAX Rdb/ELN reference documentation. WRONUMARG, wrong number of arguments on call to facility Explanation: (RCI users) You specified too many or too few arguments on an RCI call. User Action: (RCI users) Check and correct the argument list for the call that generated the error. (SQL and RDML users) Check the explanation and action for any secondary error messages. If there are no secondary error messages, please contact your Oracle support representative for assistance. XA_RETVALUE, X/Open XA return value is: Explanation: This message identifies a X/Open XA return status value. The specified return value will be returned to a XA compliant Transaction Manager. User Action: None. 58