Oracle8 Error Messages Release 8.0.4 A58312-01 |
Library | Product | Contents | Index

## 01900-02039: SQL Parsing Messages

This section lists some of the messages generated when SQL statements are parsed by the Oracle Server. See also 00900-00999: SQL Parsing Messages on page -53.

##### ORA-01900: LOGFILE keyword expected

Cause: The keyword LOGFILE is required in this context.

Action: Check the syntax, insert the keyword LOGFILE where required, then re-execute the statement.

##### ORA-01901: ROLLBACK keyword expected

Cause: The keyword ROLLBACK is required in this context.

Action: Check the syntax, insert the keyword ROLLBACK where required, and re-execute the statement.

##### ORA-01902: SEGMENT keyword expected

Cause: The keyword SEGMENT is required in this context.

Action: Check the syntax, insert the keyword SEGMENT where required, and re-execute the statement.

##### ORA-01903: EVENTS keyword expected

Cause: The keyword EVENTS is required in this context.

Action: Check the syntax, insert the keyword EVENTS where required, and re-execute the statement.

##### ORA-01904: DATAFILE keyword expected

Cause: The keyword DATAFILE is required in this context.

Action: Check the syntax, insert the keyword DATAFILE where required, and re-execute the statement.

##### ORA-01905: STORAGE keyword expected

Cause: The keyword STORAGE is required in this context.

Action: Check the syntax, insert the keyword STORAGE where required, and re-execute the statement.

##### ORA-01906: BACKUP keyword expected

Cause: The keyword BACKUP is required in this context.

Action: Check the syntax, insert the keyword BACKUP where required, and re-execute the statement.

##### ORA-01907: TABLESPACE keyword expected

Cause: The keyword TABLESPACE is required in this context.

Action: Check the syntax, insert the keyword TABLESPACE where required, and re-execute the statement.

##### ORA-01908: EXISTS keyword expected

Cause: The keyword EXISTS is required in this context.

Action: Check the syntax, insert the keyword EXISTS where required, and re-execute the statement.

##### ORA-01909: REUSE keyword expected

Cause: The keyword REUSE is required in this context.

Action: Check the syntax, insert the keyword REUSE where required, and re-execute the statement.

##### ORA-01910: TABLES keyword expected

Cause: The keyword TABLES is required in this context.

Action: Check the syntax, insert the keyword TABLES where required, and re-execute the statement.

##### ORA-01911: CONTENTS keyword expected

Cause: The keyword CONTENTS is required in this context.

Action: Check the syntax, insert the keyword CONTENTS where required, and re-execute the statement.

##### ORA-01912: ROW keyword expected

Cause: The keyword ROW is required in this context.

Action: Check the syntax, insert the keyword ROW where required, and re-execute the statement.

##### ORA-01913: EXCLUSIVE keyword expected

Cause: The keyword EXCLUSIVE is required in this context.

Action: Check the syntax, insert the keyword EXCLUSIVE where required, and re-execute the statement.

##### ORA-01914: invalid auditing option for sequence numbers

Cause: AUDIT or NOAUDIT on a sequence number specifies an auditing option that is legal for tables but is not legal for sequence numbers.

Action: The following options may not be used for sequence numbers and should be removed from the statement: COMMENT, DELETE, INDEX, INSERT, LOCK, RENAME, UPDATE, REFERENCES, and EXECUTE.

##### ORA-01915: invalid auditing option for views

Cause: AUDIT or NOAUDIT on a view specifies an auditing option that is legal for tables but is not legal for views.

Action: The following options may not be used for views and should be removed from the statement: ALTER, INDEX, REFERENCES, and EXECUTE.

##### ORA-01916: ONLINE keyword or OFFLINE keyword expected

Cause: The keyword ONLINE or OFFLINE is required in this context.

Action: Check the syntax, insert the keyword ONLINE or OFFLINE where required, and re-execute the statement.

##### ORA-01917: user or role name does not exist

Cause: An invalid user or role name was specified.

Action: Check that a valid user or role name is used.

##### ORA-01918: user name does not exist

Cause: The user name specified cannot be found in the system.

Action: Check that a valid user or role name is used.

##### ORA-01919: role name does not exist

Cause: An invalid role name was specified.

Action: Check that a valid role name is specified.

##### ORA-01920: user name name conflicts with another user or role name

Cause: A user or role by that name already exists.

Action: Choose a different user name.

##### ORA-01921: role name name conflicts with another user or role name

Cause: A user or role by that name already exists.

Action: Choose a different role name.

##### ORA-01922: CASCADE must be specified to drop name

Cause: The user owns objects that need to be dropped along with the user.

Action: Use the CASCADE command.

##### ORA-01923: CASCADE aborted, objects locked by another user

Cause: A CASCADE operation was aborted because the specified user owns objects that are locked and thus cannot be dropped.

Action: Use the lock monitor to determine who locked the objects. The objects must be unlocked before the specified user can be dropped.

##### ORA-01924: role name not granted or does not exist

Cause: The grantor attempted to use a SET ROLE command to enable a role not granted to the grantor, or to enable a subrole, or the grantor did not have the SET ROLE system privilege.

Action: To use the SET ROLE command, check that the grantor has the SET ROLE system privilege and is granted the role to be passed on.

##### ORA-01925: maximum of num enabled roles exceeded

Cause: The specified number of enabled roles exceeds the value specified in the initialization parameter MAX_ENABLED_ROLES.

Action: Increase MAX_ENABLED_ROLES and restart the instance.

##### ORA-01926: cannot grant WITH GRANT OPTION to a role

Cause: Privileges with GRANT OPTION cannot be granted to a role.

Action: Perform the grant without the GRANT OPTION.

##### ORA-01927: original grantor must REVOKE privileges

Cause: Only the original grantor of privileges can REVOKE those privileges.

Action: Ask the database administrator for the grantor of the privileges and ask that person to revoke the privileges.

##### ORA-01928: GRANT option not granted for all privileges

Cause: The grantor does not have the GRANT OPTION for some or all of the privileges specified. These privileges are not granted.

Action: Check that grantor has the GRANT OPTION for privileges to be granted to a user or role.

##### ORA-01929: no privileges to GRANT

Cause: The grantor attempted to grant privileges using the object privilege ALL, but was not granted privileges to do so via the GRANT OPTION.

Action: Check that the grantor has the necessary privileges via the GRANT OPTION and try again.

##### ORA-01930: no privileges to REVOKE

Cause: The REVOKE ALL command was issued against a user when there were no privileges to revoke.

Action: This action is unnecessary.

##### ORA-01931: cannot grant UNLIMITED TABLESPACE, REFERENCES, or INDEX to a role

Cause: The UNLIMITED TABLESPACE, REFERENCES, or INDEX privileges cannot be granted to a role.

Action: Grant these privileges directly to the user.

##### ORA-01932: WITH ADMIN option not granted for role name

Cause: Grantor attempted an operation on a role, but does not have the necessary privileges via the ADMIN OPTION.

Action: Obtain the necessary privileges via the ADMIN OPTION and try again.

##### ORA-01933: cannot create a stored object using privileges from a role

Cause: An attempt was made to create a stored object using privileges from a role. Stored objects cannot use privileges from roles.

Action: Grant the required privileges to the user directly.

##### ORA-01934: circular role grant detected

Cause: A role, the primary role, cannot be granted to itself or another role that is granted via one or more roles to the primary role. This would cause a circular definition. See Oracle8 Server SQL Reference for more detail.

Action: Analyze the role and user structure to be used and check that no attempt is made to grant roles circularly.

##### ORA-01935: missing user or role name

Cause: The entered statement required a user or role name, and it was not specified.

Action: Specify a user or role name in the statement.

##### ORA-01936: cannot specify owner when creating users or roles

Cause: An attempt was made to specify an owner while creating a user or a role. Users and roles do not have owners.

Action: Do not specify an owner when creating a user or a role.

##### ORA-01937: missing or invalid role name

Cause: A valid role name was expected.

Action: Specify a valid role name. For more information about specifying a valid role name, see the index entry on "CREATE ROLE" in Oracle8 Server SQL Reference.

##### ORA-01938: IDENTIFIED BY must be specified for CREATE USER

Cause: An attempt was made to create a user without using the IDENTIFIED EXTERNALLY clause or the IDENTIFIED BY password clause.

Action: In the CREATE USER statement, either assign the user a password using the IDENTIFIED BY password clause or use the IDENTIFIED EXTERNALLY clause, which allows the operating system to perform user authentication.

##### ORA-01939: only the ADMIN OPTION can be specified

Cause: An attempt was made to grant a system privilege or a role to a user using a GRANT statement with the GRANT OPTION (GRANT Form I). System privileges and roles must be granted using the WITH ADMIN OPTION (GRANT Form II).

Action: Use the WITH ADMIN OPTION, rather than the WITH GRANT OPTION, in the GRANT statement.

##### ORA-01940: cannot DROP a user that is currently logged in

Cause: An attempt was made to drop a user that was currently logged in.

Action: Make sure the user is logged out, then re-execute the command.

##### ORA-01941: SEQUENCE keyword expected

Cause: The keyword SEQUENCE is required in this context.

Action: Check syntax, insert keyword SEQUENCE as required, and try again.

##### ORA-01942: IDENTIFIED BY and EXTERNALLY cannot both be specified

Cause: A user was specified with an Oracle password and identified externally.

Action: Specify only one of these options. For details and syntax, see Oracle8 Server SQL Reference.

##### ORA-01943: IDENTIFIED BY already specified

Cause: The IDENTIFIED BY "password" clause was specified more than once in a statement.

Action: Use the clause IDENTIFIED BY only once in the statement. If desired, change the user's password later with an ALTER USER command.

##### ORA-01944: IDENTIFIED EXTERNALLY already specified

Cause: The keyword IDENTIFIED EXTERNALLY was specified more than once in a statement.

Action: Use the keyword IDENTIFIED EXTERNALLY only once in the statement.

##### ORA-01945: DEFAULT ROLE[S] already specified

Cause: The keyword DEFAULT ROLE was used more than once in a CREATE USER or ALTER USER statement.

Action: Use the keyword DEFAULT ROLE only once in the statement. If desired, change the user's role later with an ALTER USER statement.

##### ORA-01946: DEFAULT TABLESPACE already specified

Cause: The keyword DEFAULT TABLESPACE was specified more than once in a CREATE USER or ALTER USER statement.

Action: Use the keyword DEFAULT TABLESPACE only once in the statement. If desired, change the user's tablespace later with an ALTER USER statement.

##### ORA-01947: TEMPORARY TABLESPACE already specified

Cause: The keyword TEMPORARY TABLESPACE was specified more than once in a CREATE USER or ALTER USER statement.

Action: Use the keyword TEMPORARY TABLESPACE only once in the statement. If desired, change the user's tablespace later with an ALTER USER statement.

##### ORA-01948: invalid DEFAULT ROLE specification

Cause: An invalid role name was specified.

Action: Check that the role name is correct.

##### ORA-01949: ROLE keyword expected

Cause: The context of the command or argument requires the use of the ROLE keyword; for example, DROP [ROLE], DEFAULT [ROLE], and so on.

Action: Check syntax and try again. For syntax rules, see Oracle8 Server SQL Reference.

##### ORA-01950: no privileges on tablespace "name"

Cause: The attempt to give the user a tablespace quota failed because the user does not have the necessary system privileges.

Action: Either grant the user the system privileges needed to create objects in the specified tablespace or grant the user a specific space resource in the tablespace.

##### ORA-01951: role not granted for ROLE: name, user: name

Cause: An attempt was made to revoke a role not granted to the user.

Action: Check that the user has the role.

##### ORA-01952: system privileges not granted to name

Cause: An attempt was made to revoke a system privilege not granted to the user.

Action: Check that the user has the system privilege.

##### ORA-01953: command no longer valid, see ALTER USER

Cause: The syntax for assigning quotas on tablespaces has changed. The ALTER USER command is now used to grant quotas on tablespaces.

Action: Use the ALTER USER command.

##### ORA-01954: DEFAULT ROLE clause not valid for CREATE USER

Cause: An attempt was made to grant a default role to a user in a CREATE USER statement. A DEFAULT ROLE clause cannot be used in a CREATE USER statement.

Action: Use a GRANT ROLE statement to grant an initial role to the user; then use the ALTER USER command to assign any desired default roles.

##### ORA-01955: user not granted DEFAULT ROLE name

Cause: An attempt was made to set the default role of a user to a role the user was not granted.

  Note: Subroles cannot be specified in a DEFAULT ROLE clause.

Action: Check that the user is granted the role before specifying it as the default.

##### ORA-01956: invalid command when OS_ROLES are being used

Cause: An attempt to grant a role to a user failed because Oracle database roles are disabled and operating system roles are enabled. This occurred because the OS_ROLES parameter in the initialization parameter file is set to TRUE.

Action: Ask the database administrator or security administrator how to set roles via the operating system. See also your Oracle operating system-specific Oracle documentation.

##### ORA-01957: keyword MIN or MAX expected, not found

Cause: The keyword MIN or MAX was expected as an argument.

Action: Enter the keyword MIN or MAX and retry the operation.

##### ORA-01958: must supply an integer for the LAYER option

Cause: An item other than an integer was entered for the LAYER option.

Action: Enter an integer for the LAYER option and retry the operation.

##### ORA-01959: must supply an integer for the OPCODE option

Cause: An item other than an integer was entered for the OPCODE option. The value in ALTER SYSTEM DUMP ... OPCODE value must be an integer.

Action: Enter an integer for the OPCODE option and retry the operation.

  For more information on the OPCODE option, see the Oracle8 Server SQL Reference.

##### ORA-01960: invalid DUMP LOGFILE option

Cause: An invalid option was entered for the ALTER SYSTEM DUMP LOGFILE option command.

Action: For a list of valid options for DUMP LOGFILE, see the Oracle8 Server SQL Reference.

##### ORA-01961: invalid DUMP option

Cause: An invalid option was entered for the ALTER SYSTEM DUMP command.

Action: Enter a valid option for ALTER SYSTEM DUMP. Examples of valid options are LOGFILE and UNDO. For more information on the DUMP option, see the Oracle8 Server SQL Reference.

##### ORA-01962: must specify a file number or log sequence number

Cause: An invalid file number or log sequence number was specified.

Action: Enter a valid file number or log sequence number and retry the operation. For more information on valid file and log sequence numbers, see the Oracle8 Server SQL Reference.

##### ORA-01963: must specify a block number

Cause: An invalid block number was specified.

Action: Enter a valid block number and retry the operation. For more information on valid block numbers, see the Oracle8 Server SQL Reference.

##### ORA-01964: must specify a time for the TIME option

Cause: A value was entered for the TIME option that could not be interpreted as a date.

Action: Enter a valid date. For more information on the TIME option, see the Oracle8 Server SQL Reference.

##### ORA-01965: must specify a period

Cause: A period is missing between the file number and the block number.

Action: Enter a period between the file number and the block number, then retry the operation. For more information on file numbers and block numbers, see the Oracle8 Server SQL Reference.

##### ORA-01967: invalid option for CREATE CONTROLFILE

Cause: An invalid CREATE CONTROLFILE option is present.

Action: Specify only valid CREATE CONTROLFILE options.

##### ORA-01968: only specify RESETLOGS or NORESETLOGS once

Cause: The keyword RESETLOGS or NORESETLOGS has appeared more than once in the CREATE CONTROLFILE statement.

Action: Specify RESETLOGS or NORESETLOGS only once.

##### ORA-01969: you must specify RESETLOGS or NORESETLOGS

Cause: The RESETLOGS or NORESETLOGS option is missing from the CREATE CONTROL FILE statement.

Action: Specify RESETLOGS or NORESETLOGS on the command line.

##### ORA-01970: you must specify a database name for CREATE CONTROLFILE

Cause: The CREATE CONTROLFILE statement issued is missing a database name.

Action: Issue the CREATE CONTROLFILE statement again with the appropriate database name for the DATABASE keyword.

##### ORA-01971: Illegal ALTER TRACING option

Cause: An invalid ALTER TRACING option is present.

Action: Specify only valid ALTER TRACING options. Examples of valid options are ENABLE and DISABLE. For more information, see the Oracle8 Server SQL Reference.

##### ORA-01972: must specify a string for ALTER TRACING ENABLE or DISABLE

Cause: Something other than a valid identifier was specified for ALTER TRACING ENABLE or DISABLE.

Action: Specify a valid identifier for ALTER TRACING ENABLE or DISABLE and retry the operation. For more information on valid identifiers, see the Oracle8 Server SQL Reference.

##### ORA-01973: missing change number

Cause: The keyword CHANGE was specified on the command line, but the change number was not specified.

Action: Check the syntax of the command and retry it.

##### ORA-01974: illegal archive option

Cause: An invalid option to the ALTER SYSTEM ARCHIVE command was specified.

Action: Check the syntax of the command and retry it.

##### ORA-01975: illegal character in change number num

Cause: An invalid change number was supplied.

Action: Resubmit the command with a valid change number.

##### ORA-01976: missing change number

Cause: A change number was required, but not supplied.

Action: Check the syntax of the command, supply a change number where needed, then retry the command.

##### ORA-01977: missing thread number

Cause: The keyword THREAD was specified, but a thread number was not specified.

Action: Check the syntax of the command and retry it.

##### ORA-01978: missing sequence number

Cause: The keyword SEQUENCE was specified, but a sequence number was not specified.

Action: Check the syntax of the command and retry it.

##### ORA-01979: missing or invalid password for role name

Cause: An attempt was made to enable a role without giving the proper password.

Action: Use the IDENTIFIED BY clause in the SET ROLE command to specify the correct password.

##### ORA-01980: error during OS ROLE initialization

Cause: An operating system error occurred while loading a user's operating system roles.

Action: Check the operating system error and correct it.

##### ORA-01981: CASCADE CONSTRAINTS must be specified to perform this revoke

Cause: For this revoke, some foreign key constraints must be removed. To perform this automatically, CASCADE CONSTRAINTS can be specified as an option with the REVOKE command.

Action: Remove the constraints manually or specify CASCADE CONSTRAINTS.

##### ORA-01982: invalid auditing option for tables

Cause: The AUDIT or NOAUDIT command specified either REFERENCES or EXECUTE as an option. Those options are not legal for tables.

Action: Do not specify those auditing options on tables.

##### ORA-01983: invalid auditing option for DEFAULT

Cause: An illegal option was specified with DEFAULT.

Action: Do not specify the REFERENCES option with DEFAULT.

##### ORA-01984: invalid auditing option for procedures/packages/functions

Cause: An illegal option was specified with DEFAULT for a procedure, package, or function.

Action: The only legal auditing option with a default for procedures, packages, and functions is EXECUTE. Do not specify any option other than EXECUTE.

##### ORA-01985: cannot create user as LICENSE_MAX_USERS parameter exceeded

Cause: The maximum number of database users allowed by the database license has been created.

Action: Either drop existing users or contact your Oracle Corporation sales representative to upgrade your site license.

##### ORA-01986: invalid option for OPTIMIZER_GOAL

Cause: An invalid OPTIMIZER_GOAL option is present.

Action: Check the syntax for OPTIMIZER_GOAL, specify a valid option, and re-execute the statement.

##### ORA-01987: client O/S user name is too long

Cause: A client's O/S user name is too long for the O/S logon to succeed.

Action: Use a shorter O/S user name.

##### ORA-01988: remote O/S logon is not allowed

Cause: A remote O/S logon was attempted when it was not allowed.

Action: Use a local client or use the REMOTE_OS_AUTHENT initialization parameter to turn on remote O/S logon.

##### ORA-01989: role name not authorized by operating system

Cause: The specified operating system role does not exist, is not granted to you, or you did not provide the correct password.

Action: Retry the SET ROLE using a valid operating system role and password. See your DBA if you are not granted sufficient privileges.

##### ORA-01990: error opening password file name

Cause: An attempt to open the specified password file failed because of one of the following errors:

- An operating system error occurred.
- ORAPWD is already running, so the password file is locked.

The environment variables ORA_sid_PWFILE and ORA_PWFILE are not set.

Action: Check for the above causes and correct as necessary.

##### ORA-01991: invalid password file name

Cause: The specified password file name is invalid.

Action: Specify a correct password file name.

##### ORA-01992: error closing password file name

Cause: The password file could not be closed because of an operating system error or because an authentication action failed.

Action: Check for the above causes and correct as necessary.

##### ORA-01993: error writing password file name

Cause: The password file could not be written to because of an operating system error or because an authentication action failed.

Action: Check for the above causes and correct as necessary.

##### ORA-01994: GRANT failed: cannot add users to public password file

Cause: A grant failed because a user could not be added to the password file. This is because the value of the REMOTE_LOGIN_PASSWORDFILE initialization parameter is set to PUBLIC.

Action: To add a user to the password file, shutdown the database, change the REMOTE_LOGIN_PASSWORDFILE initialization parameter to PRIVATE, and restart the database.

##### ORA-01995: error reading password file name

Cause: An operating system error occurred when trying to read the password file.

Action: Fix the operating system error.

##### ORA-01996: GRANT failed: password file name is full

Cause: The grant failed when a user could not be added to the password file, because all available slots in it were used already.

Action: Either recreate a larger password file or free up slots in the password file by revoking the SYSOPER and SYSDBA privileges from some of the remote users. You can determine which remote users are valid and their privileges by issuing the following query in SQL*DBA:

    SELECT * FROM V$REMOTE_USERS;

##### ORA-01997: GRANT failed: user name is identified externally

Cause: You cannot grant the SYSOPER or SYSDBA privilege to a user created with the IDENTIFIED EXTERNALLY clause.

Action: If you wish to grant the user the SYSOPER or SYSDBA privileges, drop and recreate the user without the IDENTIFIED EXTERNALLY clause.

##### ORA-01998: REVOKE failed: user SYS always SYSOPER and SYSDBA

Cause: You attempted to revoke one of the necessary privileges, SYSOPER or SYSDBA, from user SYS. These privileges cannot be revoked.

Action: Do not attempt this operation.

##### ORA-01999: password file mode has changed from mode to mode

Cause: Another instance has started with the FORCE_PASSWORD_FILEMODE initialization parameter, which is incompatible with the startup mode of your instance.

Action: Shut down your instance and start up later when the password file changes are completed for the other instance.

##### ORA-02000: missing name keyword

Cause: The statement entered requires the missing keyword.

Action: Use the specified keyword.

##### ORA-02001: user SYS is not permitted to create indexes with freelist groups

Cause: An attempt was made to create an index while running with SYS authorization.

Action: Indexes cannot be created with SYS authorization. Either do not create the index or switch to USER authorization.

##### ORA-02002: error while writing to audit trail

Cause: The auditing facility is unable to write to the AUDIT_TRAIL table. If this error occurs, SQL statements that are currently being audited may also fail. This error will occur if the SYSTEM tablespace runs out of disk space.

Action: Add space to the SYSTEM tablespace or delete rows from the AUDIT_TRAIL table. If these operations fail or do not eliminate the problem, shut down and restart Oracle with auditing disabled. This is done by setting the initialization parameter AUDIT_TRAIL to FALSE.

##### ORA-02003: invalid USERENV parameter

Cause: An invalid parameter was specified for the USERENV function.

Action: Specify one of the allowable parameters TERMINAL, SESSIONID, ENTRYID, or NLS_LANG.

##### ORA-02004: security violation

Cause: A user is attempting to perform an operation without the proper permission, and this fact is being recorded in the AUDIT_TRAIL table. This message only appears in the AUDIT_TRAIL table's return code column.

Action: For auditing information only; no action required.

##### ORA-02005: implicit (-1) length not valid for this bind or define datatype

Cause: A negative length for the define variable was passed to a define function.

Action: An explicit, non-negative, length parameter must be passed.

##### ORA-02006: invalid packed decimal format string

Cause: A packed decimal datatype was passed to a bind or define function, and the format string parameter was either not present or invalid.

Action: A valid format string parameter must be passed for a packed decimal variable. Check the programming manual for the definition of a packed decimal format string.

##### ORA-02007: can't use ALLOCATE or DEALLOCATE options with REBUILD

Cause: Allocate or deallocate storage and rebuild index are not compatible.

Action: Choose one or the other.

  For more information about ALTER INDEX in changing future storage allocation and the STORAGE clause, see the index entries on "ALTER INDEX" and on "STORAGE clause" in Oracle8 Server SQL Reference.

##### ORA-02008: non-zero scale specified for non-numeric column

Cause: A scale factor was specified for a bind or define of a non-numeric variable.

Action: Set the scale factor to zero, then retry the operation.

##### ORA-02009: the file size specified for a file must not be zero

Cause: A file specification included a SIZE clause with a zero value.

Action: If allowed, leave out the size clause or specify a valid value.

##### ORA-02010: missing host connect string

Cause: A quoted character string does not follow the keyword USING in the USING clause of a CREATE DATABASE LINK statement.

Action: Specify the host connect string, then retry the operation.

##### ORA-02011: duplicate database link name

Cause: The database link name specified in a CREATE DATABASE LINK statement already exists.

Action: Either specify a new name or drop the existing link.

##### ORA-02012: missing USING keyword

Cause: The keyword USING does not follow the CONNECT TO clause in a CREATE DATABASE LINK statement.

Action: Specify the USING clause after the CONNECT TO clause.

##### ORA-02013: missing CONNECT keyword

Cause: The keyword CONNECT does not follow the database link name in a CREATE DATABASE LINK statement.

Action: Specify the CONNECT clause after the database link name.

##### ORA-02014: cannot select FOR UPDATE from view with DISTINCT, GROUP BY, etc.

Cause: An attempt was made to SELECT... FOR UPDATE from a view whose defining SELECT statement uses at least one of the following constructs in its outer block: outer join, GROUP BY clause, aggregate functions, SELECT DISTINCT, CONNECT BY clause, or set operation, UNION, INTERSECT, or MINUS.

Action: Do not use SELECT... FOR UPDATE on this view.

##### ORA-02015: cannot select FOR UPDATE from remote table

Cause: An attempt was made to SELECT... FOR UPDATE from a table in a remote database.

Action: It is not currently possible to SELECT... FOR UPDATE from a table in a remote database. Instead, log in or connect directly to the remote database before entering a SELECT... FOR UPDATE on its tables.

##### ORA-02016: cannot use a subquery in a START WITH on a remote database

Cause: An attempt was made to use a subquery in a START WITH clause. Such a subquery is not currently permitted if the table in the FROM clause of the tree query is in a remote database.

Action: It is necessary to connect directly to the remote database before using a subquery in the START WITH clause.

##### ORA-02017: integer value required

Cause: The specified value must be an integer.

Action: Specify an appropriate integer value, then retry the operation.

##### ORA-02018: database link of same name has an open connection

Cause: The user is currently connected to a PUBLIC database link with the same name as the database link name specified in a CREATE or DROP DATABASE LINK statement.

Action: Close the cursors that use the PUBLIC database link.

##### ORA-02019: connection description for remote database not found

Cause: The user attempted to connect or log in to a remote database using a connection description that could not be found.

Action: Specify an existing database link. Query the data dictionary to see all existing database links. See your operating system-specific Net8 documentation for valid connection descriptors.

##### ORA-02020: too many database links in use

Cause: The maximum number of active connections to remote databases per user login has been reached.

Action: If the user has no open cursors, the current SQL statement accesses more than the maximum allowed remote databases. Otherwise, the user may free remote database connections by closing all cursors that access the databases.

  If this occurs often, consider increasing the value of the initialization parameter OPEN_LINKS, which controls the maximum number of concurrent open connections to remote databases per user process.

##### ORA-02021: DDL operations are not allowed on a remote database

Cause: An attempt was made to use a DDL operation on a remote database. For example, "CREATE TABLE tablename@remotedbname...".

Action: To alter the remote database structure, you must connect to the remote database with the appropriate privileges.

##### ORA-02022: remote statement has unoptimized view with remote object

Cause: The local view is unoptimized and contains references to objects at the remote database, and the statement must be executed at the remote database.

Action: Create a similar view on the remote database and modify the violating view in the SQL statement with the new view@remote.

##### ORA-02023: START WITH or CONNECT BY predicate cannot be evaluated by remote database

Cause: The statement contains a tree query on a remote database, and the tree query's START WITH or CONNECT BY predicate contains a term that cannot be evaluated at the remote database. Such terms include calls to user functions, calls to USERENV, and references to ROWID.

Action: Remove the disallowed term, directly connect, or log on to the remote database.

##### ORA-02024: database link not found

Cause: The database link to be dropped is not found in the dictionary.

Action: Correct the database link name.

##### ORA-02025: all tables in the SQL statement must be at the remote database

Cause: A SQL statement referenced tables from multiple databases, and one or more of the remote databases are not Oracle Servers.

Action: Remote updates can be performed only if all databases in the SQL statement are Oracle Servers. Update the earlier version databases in a separate statement.

##### ORA-02026: missing LINK keyword

Cause: The keyword LINK is required in this context.

Action: Check syntax, insert keyword LINK as required, and try again.

##### ORA-02027: multi-row UPDATE of LONG column is not supported

Cause: A bind variable whose length is greater than 2000 bytes is being used to update a column, and the UPDATE statement affects more than one row.

Action: Check that each such bind variable updates only a single row.

##### ORA-02028: fetching an exact number of rows is not supported by the server

Cause: The server does not support UPIALL, so the fetch of an exact number of rows cannot be emulated on the user side.

Action: Connect to a valid server or do not use an exact fetch.

##### ORA-02029: missing FILE keyword

Cause: The keyword FILE is required in this context.

Action: Check syntax, insert keyword FILE as required, and try again.

##### ORA-02030: can only select from fixed tables/views

Cause: An operation other than SELECT on a fixed dynamic performance table or view was attempted. It is only possible to select from fixed tables or views.

Action: Remove the fixed table or view name from the SELECT statement.

##### ORA-02031: no ROWID for fixed tables or for index-organized tables

Cause: An attempt was made to select the ROWID from a fixed or from a index-organized table.

Action: Do not select ROWID from a fixed table or from a index-organized table.

##### ORA-02032: clustered tables cannot be used before the cluster index is built

Cause: An attempt was made to perform a DML operation on a clustered table for which no cluster index has yet been created.

Action: Create a cluster index before referencing clustered tables in a SQL statement.

##### ORA-02033: a cluster index for this cluster already exists

Cause: A cluster index already exists for the cluster.

Action: No action required.

##### ORA-02034: speed bind not permitted

Cause: Speed bind not allowed with supplied bind variables.

Action: No action required.

##### ORA-02035: illegal bundled operation combination

Cause: UPI bundled execution call was requested on an illegal combination of operations.

Action: Use a legal combination of operations and retry.

##### ORA-02036: too many variables to describe with automatic cursor open

Cause: UPI-bundled execution call tried to perform automatic cursor open and close on a describe operation. There were too many SELECT list items or bind variables to do this.

Action: Open and close cursor explicitly.

##### ORA-02037: universalized speed bind storage

Cause: A user attempted to perform a speed-execution call on a SQL statement containing host variables without first performing a speed-bind call.

Action: Perform a speed-bind call before performing a speed-execution call.

##### ORA-02038: define is not allowed for array type

Cause: A user attempted to define a select list variable of type "array". Arrays may serve only as host bind variables.

Action: Correct the offending code.

##### ORA-02039: bind by value is not allowed for array type

Cause: User attempted to bind an array host variable by value. Arrays may be bound only by reference.

Action: Correct the offending code.

Prev | Top | Next
| Copyright © 1997 Oracle Corporation. All Rights Reserved. |
Library | Product | Contents | Index