Oracle8
Error Messages Release 8.0 A54625_01 |
|
This section lists messages generated during SQL execution.
Cause: An attempt was made to insert a NULL into the column "USER"."TABLE"."COLUMN".
For example, if you enter:
connect scott/tiger create table a (a1 number not null); insert into a values (null);
Oracle returns:
ORA-01400 cannot insert NULL into ("SCOTT"."A"."A1") : which means you cannot insert NULL into "SCOTT"."A"."A1".
Action: Retry the operation with a value other than NULL.
Cause: The value entered is larger than the maximum width defined for the column.
Action: Enter a value smaller than the column width or use the MODIFY option with ALTER TABLE to expand the column width.
Cause: An INSERT or UPDATE statement was attempted on a view created with the CHECK OPTION. This would have resulted in the creation of a row that would not satisfy the view's WHERE clause.
Action: Examine the view's WHERE clause in the dictionary table VIEWS. If the current view does not have the CHECK OPTION, then its FROM clause must reference a second view that is defined using the CHECK OPTION. The second view's WHERE clause must also be satisfied by any INSERT or UPDATE statements. To insert the row, it may be necessary to insert it directly into the underlying table, rather than through the view.
Cause: In a host language program, all records have been fetched. The return code from the fetch was +4, indicating that all records have been returned from the SQL query.
Action: Terminate processing for the SELECT statement.
Cause: Increasing the length of a column would cause the combined length of the columns specified in a previous CREATE INDEX statement to exceed the maximum index length (255). The total index length is computed as the sum of the width of all indexed columns plus the number of indexed columns. Date fields are calculated as a length of 7, character fields are calculated at their defined width, and numeric fields are length 22.
Action: The only way to alter the column is to drop the affected index. The index cannot be recreated if to do so would exceed the maximum index width.
Cause: The INTO clause of a FETCH operation contained a NULL value, and no indicator was used. The column buffer in the program remained unchanged, and the cursor return code was +2. This is an error unless you are running Oracle with DBMS=6, emulating version 6, in which case it is only a warning.
Action: You may do any of the following:
Cause: In a host language program, a FETCH operation was forced to truncate a character string. The program buffer area for this column was not large enough to contain the entire string. The cursor return code from the fetch was +3.
Action: Increase the column buffer area to hold the largest column value or perform other appropriate processing.
Cause: An attempt was made to update a table column "USER"."TABLE"."COLUMN" with a NULL value.
For example, if you enter:
connect scott/tiger update table a (a1 number not null); insert into a values (null);
Oracle returns:
Action: Retry the operation with a value other than NULL.
Cause: A CREATE INDEX statement specified a column that is already indexed. A single column may be indexed only once. Additional indexes may be created on the column if it is used as a portion of a concatenated index, that is, if the index consists of multiple columns.
Action: Do not attempt to re-index the column, as it is unnecessary. To create a concatenated key, specify one or more additional columns in the CREATE INDEX statement.
Cause: Creation of index with NOSORT option when rows were not ascending. The NOSORT option may only be used for indexes on groups of rows that already are in ascending order.
For non-unique indexes the ROWID is considered part of the index key. This means that two rows that appear to be stored in ascending order may not be. If you create an index NOSORT, and two of the rows in the table have the same index values, but get split across two extents, the data block address of the first block in the second extent can be less than the data block address of the last block in the first extent. If these addresses are not in ascending order, the ROWIDs are not either. Since these ROWIDs are considered part of the index key, the index key is not in ascending order, and the create index NOSORT fails.
Action: Create the index without the NOSORT option or ensure that the table is stored in one extent.
Cause: A ROWID was entered incorrectly. ROWIDs must be entered as formatted hexadecimal strings using only numbers and the characters A through F. A typical ROWID format is '000001F8.0001.0006'.
Action: Check the format, then enter the ROWID using the correct format. ROWID format: block ID, row in block, file ID.
Cause: Oracle tried to fetch a column more than 64K long and could not store the length of the column in the given indicator size of 2 bytes.
Action: Use the new bind type with callbacks to fetch the long column.
Cause: The length for datatype 97 is 0.
Action: Specify the correct length for the datatype.
Cause: The user buffer bound by the user as a packed decimal number contained an illegal value.
Cause: An attempt was made to bind an array without either a current array length pointer or a zero maximum array length.
Action: Specify a valid length.
Cause: Two tables in a join operation specified an outer join with respect to each other. If an outer join is specified on one of the tables in a join condition, it may not be specified on the other table.
Action: Remove the outer join specification (+) from one of the tables, then retry the operation.
Cause: A table in a join operation specified an outer join to more than one other table. A table may specify an outer join to only one other table.
Action: Specify only one outer join (+) to this table, then retry the operation.
Cause: An ALTER INDEX, DROP INDEX, or VALIDATE INDEX statement specified the name of an index that does not exist. Only existing indexes can be altered, dropped, or validated. Existing indexes may be listed by querying the data dictionary.
Action: Specify the name of an existing index in the ALTER INDEX, DROP INDEX, or VALIDATE INDEX statement.
Cause: An attempt was made to use an incorrect format.
Action: Inspect the format, correct it if necessary, then retry the operation.
Cause: An attempt was made to use an invalid format.
Action: Inspect the format, correct it if necessary, then retry the operation.
Cause: An attempt was made to use an invalid precision specifier.
Action: Inspect the precision specifier, correct it if necessary, then retry the operation.
Cause: More rows were returned from an exact fetch than specified.
Action: Rewrite the query to return fewer rows or specify more rows in the exact fetch.
Cause: An error was encountered during the execution of an exact fetch. This message will be followed by more descriptive messages.
Action: See the accompanying messages and take appropriate action.
Cause: The character following the escape character in LIKE pattern is missing or not one of the wildcard characters '%' or '_'.
Action: Remove the escape character or specify the missing character.
Cause: Given escape character for LIKE is not a character string of length 1.
Action: Change it to a character string of length 1.
Cause: Evaluation of a value expression has caused an overflow or possibly an underflow.
Action: Rewrite the expression as a series of expressions with fewer operands than the "overloaded" expression.
Cause: The outer query must use one of the keywords ANY, ALL, IN, or NOT IN to specify values to compare because the subquery returned more than one row.
Action: Use ANY, ALL, IN, or NOT IN to specify which values to compare or reword the query so only one row is retrieved.
Cause: An illegal value for a mathematical function argument was specified. For example
SELECT SQRT(-1) "Square Root" FROM DUAL;
Action: See Oracle8 Server SQL Reference manual for valid input and ranges of the mathematical functions.
Cause: A data segment to store the overflow has not been defined.
Action: Add an overflow segment and retry the operation.
Cause: An ALTER TABLE ADD statement specified the name of a column that is already in the table. All column names must be unique within a table.
Action: Specify a unique name for the new column, then re-execute the statement.
Cause: An internal error occurred while attempting to execute a GRANT statement.
Action: Contact customer support.
Cause: The synonym specified in DROP PUBLIC SYNONYM is not a valid public synonym. It may be a private synonym.
Action: Correct the synonym name or use DROP SYNONYM if the synonym is not public.
Cause: A CREATE SYNONYM statement specified a synonym name that is the same as an existing synonym, table, view, or cluster. Synonyms may not have the same name as any other synonym, table, view, or cluster available to the user creating the synonym.
Action: Specify a unique name for the synonym, then re-execute the statement.
Cause: A DROP SYNONYM statement specified a synonym that does not exist. Existing synonym names may be listed by querying the data dictionary.
Action: Specify the name of an existing synonym in the DROP SYNONYM statement.
Cause: This message is caused by any reference to a non-existent user. For example, it occurs if a SELECT, GRANT, or REVOKE statement specifies a username that does not exist. Only a GRANT CONNECT statement may specify a new username. All other GRANT and REVOKE statements must specify existing usernames. If specified in a SELECT statement, usernames must already exist.
Action: Specify only existing usernames in the SELECT, GRANT, or REVOKE statement or ask the database administrator to define the new username.
Cause: The condition specified in a CONNECT BY clause caused a loop in the query, where the next record to be selected is a descendent of itself. When this happens, there can be no end to the query.
Action: Check the CONNECT BY clause and remove the circular reference.
Cause: A join operation was specified with a CONNECT BY clause. If a CONNECT BY clause is used in a SELECT statement for a tree-structured query, only one table may be referenced in the query.
Action: Remove either the CONNECT BY clause or the join operation from the SQL statement.
Cause: When inserting or updating records, a numeric value was entered that exceeded the precision defined for the column.
Action: Enter a value that complies with the numeric column's precision, or use the MODIFY option with the ALTER TABLE command to expand the precision.
Cause: An ALTER TABLE MODIFY statement attempted to change the datatype of a column containing data. A column whose datatype is to be altered must contain only NULL values.
Action: To alter the datatype, first set all values in the column to NULL.
Cause: An ALTER TABLE MODIFY statement attempted to decrease the scale or precision of a numeric column containing data. In order to decrease either of these values, the column must contain only NULL values. An attempt to increase the scale without also increasing the precision will also cause this message.
Action: Set all values in the column to NULL before decreasing the numeric precision or scale. If attempting to increase the scale, increase the precision in accordance with the scale or set all values in the column to NULL first.
Cause: An ALTER TABLE MODIFY statement attempted to decrease the size of a character field containing data. A column whose maximum size is to be decreased must contain only NULL values.
Action: Set all values in column to NULL before decreasing the maximum size.
Cause: An ALTER TABLE MODIFY statement attempted to change a column specification unnecessarily, from NOT NULL to NOT NULL.
Cause: An internal error occurred in referencing a view.
Action: Contact customer support.
Cause: This is an internal error message not normally issued.
Action: Contact customer support.
Cause: A SELECT statement attempted to select ROWIDs from a view derived from a join operation. Because the rows selected in the view do not correspond to underlying physical records, no ROWIDs can be returned.
Action: Remove ROWID from the view selection clause, then re-execute the statement.
Cause: A SELECT statement attempted to select ROWIDs from a view containing columns derived from functions or expressions. Because the rows selected in the view do not correspond to underlying physical records, no ROWIDs can be returned.
Action: Remove ROWID from the view selection clause, then re-execute the statement.
Cause: An ALTER TABLE MODIFY statement specified a column used to cluster the table. Clustered columns may not be altered.
Action: To alter the column, first recreate the table in non-clustered form. The column's size can be increased at the same time.
Cause: An ALTER TABLE MODIFY statement attempted to change an indexed character column to a LONG column. Columns with the datatype LONG may not be indexed, so the index must be dropped before the modification.
Action: Drop all indexes referencing the column before changing its datatype to LONG.
Cause: An ALTER TABLE MODIFY statement attempted to change the definition of a column containing NULL values to NOT NULL. The column may not currently contain any NULL values if it is to be altered to NOT NULL.
Action: Set all NULL values in the column to values other than NULL before ALTERING the column to NOT NULL.
Cause: The combined length of all the columns specified in a CREATE INDEX statement exceeded the maximum index length. The maximum index length varies by operating system. The total index length is computed as the sum of the width of all indexed columns plus the number of indexed columns. Date fields have a length of 7, character fields have their defined length, and numeric fields have a length of 22. Numeric length = (precision/2) + 1. If negative, add +1.
Action: Select columns to be indexed so the total index length does not exceed the maximum index length for the operating system. See also your operating system-specific Oracle documentation.
Cause: The column may already allow NULL values, the NOT NULL constraint is part of a primary key or check constraint, or an ALTER TABLE MODIFY statement attempted to change a column specification unnecessarily, from NULL to NULL.
Action: If a primary key or check constraint is enforcing the NOT NULL constraint, then drop that constraint.
Cause: A CREATE UNIQUE INDEX statement specified one or more columns that currently contain duplicate values. All values in the indexed columns must be unique by row to create a UNIQUE INDEX.
Action: If the entries need not be unique, remove the keyword UNIQUE from the CREATE INDEX statement, then re-execute the statement. If the entries must be unique, as in a primary key, then remove duplicate values before creating the UNIQUE index.
Cause: A transaction was not processed properly because the SET TRANSACTION statement was not the first statement.
Action: Commit or roll back the current transaction before using the statement SET TRANSACTION.
Cause: A non-numeric value could not be converted into a number value.
Action: Check the value to make sure it contains only numbers, a sign, a decimal point, and the character "E" or "e", then retry the operation.
Cause: The converted form of the specified expression was too large for the specified datatype.
Action: Define a larger datatype or correct the data.
Cause: A non-DDL INSERT/DELETE/UPDATE or SELECT FOR UPDATE operation was attempted.
Action: Commit or roll back the current transaction, then retry the operation.
Cause: The converted form of the specified expression was too large for the specified type. The problem also occurs in COBOL programs when using COMP-3 in the picture clause, which is acceptable to the Pro*COBOL Precompiler and to COBOL but results in this error.
Action: Define a larger datatype or correct the data.
Cause: An attempt was made to bind or define a variable character string with a buffer length less than the two-byte minimum requirement.
Action: Increase the buffer size or use a different type.
Cause: The buffer length was less than the minimum required (two bytes) or greater than its length at bind time minus two bytes.
Action: None. Buffer length is set correctly by Oracle at fetch time.
Cause: The requested format conversion is not supported.
Action: Remove the requested conversion from the SQL statement. Check the syntax for the TO_CHAR, TO_DATE, and TO_NUMBER functions to see which conversions are supported.
Cause: An attempt was made to insert a value from a LONG datatype into another datatype. This is not allowed.
Action: Do not try to insert LONG datatypes into other types of columns.
Cause: The longest literal supported by Oracle consists of 2000 characters.
Action: Reduce the number of characters in the literal to 2000 characters or fewer or use the VARCHAR2 or LONG datatype to insert strings exceeding 2000 characters.
Cause: An attempt was made to modify the datatype of a column that has referential constraints or that has check constraints that only allow changing the datatype from CHAR to VARCHAR or vice versa.
Action: Remove the constraint(s) or do not perform the offending operation.
Cause: The user in the TO clause of the GRANT statement has already been GRANTed privileges on this table.
Action: Do not GRANT privileges on a table to the user who originally GRANTed privileges on that table. The statement in error is probably unnecessary.
Cause: In an UPDATE statement following a SELECT FOR UPDATE, part of the ROWID contains invalid characters. ROWID must be expressed in the proper and expected format for ROWID and within quotes.
Action: Enter the ROWID just as it was returned in the SELECT FOR UPDATE.
Cause: In an UPDATE statement following a SELECT FOR UPDATE, part of the ROWID contains invalid characters. ROWID must be expressed in the proper and expected format for ROWID and within quotes.
Action: Enter the ROWID just as it was returned in the SELECT FOR UPDATE.
Cause: This is a time-based read consistency error for a database object, such as a table or index. Either of the following may have happened:
Action: If the cause is:
If the object creation time-stamp is still greater than the system time, then export the object's data, drop the object, recreate the object so it has a new creation time-stamp, import the object's data, and resume work.
Cause: A DISTINCT, GROUP BY, ORDER BY, or SET operation requires a sort key longer than that supported by Oracle. Either too many columns or too many group functions were specified in the SELECT statement.
Action: Reduce the number of columns or group functions involved in the operation.
Cause: A predicate in the WHERE clause has two columns from different tables with "(+)".
Action: Change the WHERE clause so that each predicate has a maximum of one outer-join table.
Cause: An invalid column name was specified after the PRIOR keyword.
Action: Check syntax, spelling, use a valid column name, and try again.
Cause: Constants of different types are specified in an in-list.
Action: Use constants of same type for in-lists.
Cause: An attempt was made to create a private synonym with the same name as the object to which it refers. This error typically occurs when a user attempts to create a private synonym with the same name as one of their objects.
Action: Choose a different synonym name or create the synonym under a different username.
Cause: CONNECT BY cannot be used on a view where there is not a correspondence between output rows and rows of the underlying table.
Action: Remove the DISTINCT or GROUP BY from the view or move the CONNECT BY clause into the view.
Cause: Subqueries cannot be used in a CONNECT BY clause.
Action: Remove the subquery or move it to the WHERE clause.
Cause: START WITH and PRIOR are meaningful only in connection with CONNECT BY.
Action: Check the syntax for the SQL statement and add a CONNECT BY clause, if necessary.
Cause: After executing a statement, an attempt was made to rebind a bind variable with a datatype different from that of the original bind.
Action: Reparse the cursor before rebinding with a different datatype.
Cause: An expression attempted to divide by zero.
Action: Correct the expression, then retry the operation.
Cause: This is an internal error message not normally issued.
Action: Contact customer support.
Cause: An attempt was made to use array bind on a column whose maximum size is greater than 2000 bytes. This is not permitted.
Action: Do not use array bind for a LONG column. Use an ordinary bind instead.
Cause: A bind variable of type 97 does not contain NULL at the last position.
Action: Make the last character a NULL.
Cause: A bind variable specified as type SQLT_STR is not terminated with an ASCII NULL (0) character.
Action: Check maximum lengths and contents of string bind variables.
Cause: An invalid format parameter was used with the TO_CHAR or TO_NUMBER function.
Action: Correct the syntax, then retry the operation.
Cause: The second or third parameter to the CONVERT function is not a supported character set.
Action: Use one of the supported character sets.
Cause: A bind variable of type DATE or NUMBER is too long.
Action: Check your Oracle operating system-specific documentation for the maximum allowable length.
Cause: You tried to bind an array to a non-PL/SQL statement.
Action: Rewrite the offending code being careful to bind arrays only to PL/SQL statements.
Cause: You bound a buffer of type DTYVCS (VARCHAR with the two byte length in front) and at execute time the length in the first two bytes is more than the maximum buffer length, given in the bind call. The number of elements in the array and the current number of elements in the array cannot be more than the maximum size of the array.
Action: Ensure that the buffer size is sufficiently large to contain the array plus two bytes for the buffer length.
Cause: An attempt was made to bind a data value that was either too large for the datatype, for example, NUMBER, or was greater than 2000 bytes, for example, VARCHAR or LONG.
Action: Find a way to convert or truncate the data value so that its length is acceptable.
Cause: A conversion request cannot be performed because the buffer is too small to hold the result.
Action: Increase the size of the buffer.
Cause: A conversion request cannot be performed because a digit was invalid.
Action: Fix the number and retry.
Cause: The result of a string concatenation was larger than the maximum length of a string (2000 characters).
Action: Reduce the size of one or both of the strings to be concatenated. Make certain the total length of the concatenation result is less than 2000 characters.
This section lists miscellaneous messages generated by secondary processes called by the current process, such as the ANALYZE command, the SQL parser, and during the execution of Oracle commands.
Cause: The syntax of the ANALYZE command was incorrect.
Action: Check the syntax and enter the command using the correct syntax.
Cause: The CASCADE option should be used only for tables or clusters.
Action: Do not use the CASCADE option in this manner. Check the syntax of the statement and then retry.
Cause: The LIST option can be used only for tables or clusters.
Action: Do not use the LIST option in this manner. Check the syntax of the statement and then retry.
Cause: The specified SAMPLE size is out of range.
Action: Specify a value within the proper range.
Cause: The specified histogram SIZE value was out of range.
Action: Specify a value within the proper range.
For more information about histograms, see Oracle8 Server Tuning.
Cause: The specified table does not exist, or the user does not have the proper privileges to access it.
Action: Specify an existing table or obtain the privileges to access the desired table.
Cause: The specified table does not have the proper field definitions.
Action: Check the spelling of the table name and specify the correct table to use.
Cause: The FOR COLUMNS <column list> clause cannot be used with ANALYZE CLUSTER.
Action: Retry with a legal syntax.
For more information about ANALYZE CLUSTER, see the index entry on "ANALYZE CLUSTER" in Oracle8 Server SQL Reference.
Cause: An error occurred while checking a block with the ANALYZE command.
Action: Check the trace file for more descriptive messages about the problem. Correct these errors. The name of the trace file is operating system-specific, for example, ORAxxxx.TRC. It is found in the directory specified by the initialization parameter USER_DUMP_DEST. If USER_DUMP_DEST is not set, trace files are not created. It may be necessary to recreate the object. See also your operating system-specific Oracle documentation.
Cause: An error occurred when validating an index or a table using them ANALYZE command. One or more entries does not point to the appropriate cross-reference.
Action: Check the trace file for more descriptive messages about the problem. Correct these errors. The name of the trace file is operating system-specific, for example, ORAxxxx.TRC. It is found in the directory specified by the initialization parameter USER_DUMP_DEST. If USER_DUMP_DEST is not set, trace files are not created. It may be necessary to recreate the object. See also your operating system-specific Oracle documentation.
This section lists messages generated when entering Oracle commands.
If you are using Trusted Oracle, see the Trusted Oracle documentation for information about error messages in that environment.
Cause: In executing a CREATE DATABASE or ALTER TABLESPACE statement, there was a failure in getting the date and time.
Action: Contact customer support.
Cause: An error occurred while executing the CREATE DATABASE statement.
Action: Refer to the diagnostic information in the accompanying message stack.
Cause: The specified index was marked invalid by a direct load.
Action: Drop the specified index.
Cause: An error occurred during CREATE CONTROLFILE.
Action: See accompanying messages.
Cause: The name in a CREATE DATABASE or START UP command does not match the name given in the initialization parameter DB_NAME.
Action: Determine which name is correct, then resubmit the command after correcting the name in the appropriate place.
Cause: In executing a CREATE DATABASE or ALTER DATABASE statement, an error occurred when adding new redo log files. The user issuing the command must CONNECT INTERNAL. The database must be mounted but closed in order to add redo log files.
Action: Check the accompanying message stack for detailed information and ensure that the session is connected as INTERNAL with the database mounted but closed.
Cause: No database name was specified in the ALTER DATABASE statement, nor was the initialization parameter DB_NAME specified.
Action: The database name must be given either in the ALTER DATABASE statement or as the value for the initialization parameter DB_NAME. Note that the SQL*DBA command START UP issues an ALTER DATABASE statement using the database name, if any, specified as part of START UP.
Cause: An ALTER DATABASE statement specified the name of a database to alter, but no database is currently mounted.
Action: If issuing an ALTER DATABASE command via the SQL*DBA START UP command, specify the MOUNT option. If directly issuing an ALTER DATABASE DISMOUNT command, do nothing. Otherwise, reissue the ALTER DATABASE command specifying the MOUNT option.
Cause: A CREATE DATABASE statement was unable to process the named file because an error occurred at the given line number.
Action: Check the offending line in the specified file, correct the error, then re-execute the CREATE DATABASE statement. If the error is in an Oracle-supplied file, contact customer support.
Cause: The database name specified in an ALTER DATABASE statement does not match the name of the currently mounted database.
Action: Correct the database name spelling or DISMOUNT the mounted database.
Cause: In executing an ALTER DATABASE statement, an error occurred while dropping redo log files.
Action: Check the accompanying message stack for detailed information.
Cause: In executing an ALTER DATABASE statement, an error occurred while renaming log or datafiles.
Action: Check the accompanying message stack for detailed information.
Cause: An attempt to change a redo log file's name in the control file failed because no file was found with the new name.
Action: Check that the redo log file has been properly renamed by the operating system and retry.
Cause: The operating system returned a time that was not between the years 1988 and 2121.
Action: Correct the time kept by the operating system.
Cause: A redo log filename or list of member names did not correspond to an existing redo log file.
Action: Specify the name of an existing redo log file, check the spelling and capitalization of the names, and then re-execute the statement.
Cause: An attempt was made to drop a redo log file that does not exist.
Action: Specify the name of an existing redo log file, then issue the statement again.
Cause: An ALTER DATABASE statement is attempting to rename a log file or a datafile that is not known to the database control file.
Action: Specify the name of an existing redo log file, then re-execute the statement.
Cause: This message indicates the filename involved with other messages.
Action: See the accompanying messages and take appropriate action.
Cause: Only one redo log file was specified in the CREATE DATABASE statement.
Action: Specify at least two redo log files, then re-execute the statement.
Cause: A CREATE DATABASE statement encountered a problem while processing the named file, probably because of a system installation error.
Action: Try the system installation procedure again or contact customer support. See also your operating system-specific Oracle documentation.
Cause: A CREATE TABLESPACE statement specifies more files than are permitted for this database.
Action: Use fewer files. To exceed the limit, recreate the database with a larger value of MAXDATAFILES.
Cause: During a CREATE or ALTER TABLESPACE, an error was detected while adding datafiles.
Action: Check the accompanying message stack for detailed information.
Cause: During an ALTER TABLESPACE RENAME, a file to be renamed was not found in the database control file.
Action: Specify the correct filename, then re-execute the statement.
Cause: During an ALTER DATABASE RENAME or ALTER TABLESPACE RENAME, the new name of a file is already present in the control file.
Action: Rename the file to a name not already in use as part of the database.
Cause: During an ALTER DATABASE CREATE DATAFILE, the new name of a file is already present in the control file.
Action: Use a name that is not already in use in the database.
Cause: An error occurred when renaming files as part of ALTER TABLESPACE.
Action: Check the accompanying message stack for detailed information. All files were renamed except those mentioned in the message stack.
Cause: A CREATE DATABASE was not able to open the file identified in the message. This is probably due to a system installation error.
Action: Try the system installation procedure again or contact customer support. See also your operating system-specific Oracle documentation.
Cause: A CREATE DATABASE statement was not able to read the specified file, probably because of a system installation error.
Action: Try the system installation procedure again or contact customer support. See also your operating system-specific Oracle documentation.
Cause: A CREATE DATABASE statement unexpectedly encountered an end-of-file marker while reading the specified file, probably because of a system installation error.
Action: Try the system installation procedure again or contact customer support. See also your operating system-specific Oracle documentation.
Cause: A CREATE DATABASE was not able to close the file identified in the message.
Action: Try the system installation procedure again or contact customer support. See also your operating system-specific Oracle documentation.
Cause: During an ALTER DATABASE MOUNT, an attempt was made to mount a database by an instance for which there is already a mounted database.
Action: To mount the database, shut down the instance, then start up the instance and try the operation again.
Cause: During an ALTER DATABASE, an attempt was made to open a database by an instance for which there was already an open database.
Action: To open a new database, shut down the instance, then start up the instance and try the operation again.
Cause: During a CREATE DATABASE, another user appears to be simultaneously starting the instance.
Action: Retry the operation. If the error recurs, contact customer support.
Cause: During an ALTER TABLESPACE RENAME, a file to be renamed was not found in the named tablespace.
Action: Check syntax and spelling and correctly specify the filename and tablespace name.
Cause: During an ALTER or DROP ROLLBACK SEGMENT, the specified rollback segment name was not found.
Action: Correct syntax and spelling and correctly specify the rollback segment name or specify a different rollback segment.
Cause: During a CREATE ROLLBACK SEGMENT, the specified rollback segment was found to exist already.
Action: Correct syntax and spelling and correctly specify the rollback segment name or specify a different rollback segment.
Cause: The space quota in the tablespace is already used up and the operation attempted the creation of a new extent in the tablespace.
Action: Either
Cause: During a CREATE or ALTER TABLESPACE, a file being added is already part of the database.
Action: Correct spelling of the datafile name or use a different file.
Cause: An instance failed to acquire the SYSTEM rollback segment, or an instance failed to acquire one rollback segment in addition to the SYSTEM rollback segment during start up in parallel mode.
Action: Check that the SYSTEM rollback segment is available. Before starting an instance in parallel mode, either create one more public rollback segment or specify an available private rollback segment in the initialization parameter ROLLBACK_SEGMENTS.
Cause: An attempt was made to bring a tablespace off line normally, but it is not online.
Action: Check the status of the tablespace. Use IMMEDIATE or TEMPORARY options to force all files off line. Also, the database must be in ARCHIVELOG mode.
Cause: A tablespace could not be brought online or made read-only because it is not offline.
Action: Check the status of the tablespace, then retry the operation. You can also use the options IMMEDIATE or TEMPORARY to force all files offline. If your intention is to make the file read-only, bring the tablespace online first.
Cause: An attempt was made to bring tablespace SYSTEM offline.
Action: Do not attempt to take the tablespace SYSTEM offline because it must always be online. Shut down if necessary to do a recovery.
Cause: An attempt was made to allocate space in an offline tablespace.
Action: Bring the tablespace online or create the object in another tablespace.
Cause: An attempt was made to create a tablespace that already exists.
Action: Use a different name for the new tablespace.
Cause: An attempt was made to drop the rollback segment SYSTEM.
Cause: Either:
Case 1: An attempt was made to bring a rollback segment online that is unavailable during startup. For example, the rollback segment is in an offline tablespace.
Case 2: An attempt was made to bring a rollback segment online that is already online. This is because the rollback segment is specified twice in the ROLLBACK_SEGMENTS parameter in the initialization parameter file, or the rollback segment is already online by another instance.
Case 3: An attempt was made to drop a rollback segment that is currently online.
Case 4: An attempt was made to drop a rollback segment that is currently online to use unlimited extents.
Action: Either:
If Case 1: Make the rollback segment available; for example, bring an offline tablespace online.
If Case 2: Remove the name from the ROLLBACK_SEGMENTS parameter if the name is a duplicate or if another instance has already acquired the rollback segment.
If Case 3: Bring the rollback segment offline, which may require waiting for the current transaction to finish, or, if the rollback segment needs recovery, discover which errors are holding up the rolling back of the transactions and take appropriate actions.
If Case 4: Same as for Case 3.
For more information about ALTER ROLLBACK SEGMENT, see the index entry on "ALTER ROLLBACK SEGMENT" in Oracle8 Server SQL Reference.
Cause: You tried to bring offline or make read-only a tablespace that contains active rollback segments.
Action: Shut down the instances that use the active rollback segments in the tablespace. Then bring it offline or make it read-only.
Cause: Media recovery with one of the incomplete recovery options ended without error. However, if the ALTER DATABASE OPEN RESETLOGS command were attempted now, it would fail with the specified error. The most likely cause of this error is forgetting to restore one or more datafiles from a sufficiently old backup before executing the incomplete recovery.
Action: Rerun the incomplete media recovery using different datafile backups, a different controlfile, or different stop criteria.
Cause: An attempt was made to drop a tablespace that contains active rollback segments.
Action: Shut down instances that use the active rollback segments in the tablespace and then drop the tablespace.
Cause: An attempt was made to drop a non-empty tablespace.
Action: To drop all the objects in the tablespace, use the INCLUDING CONTENTS option with DROP TABLESPACE.
Cause: An attempt was made to drop the tablespace SYSTEM.
Cause: This is an internal error message not normally issued.
Action: Contact customer support.
Cause: An attempt was made to use the SYSTEM rollback segment for operations involving a non-system tablespace.
Action: Create one or more rollback segments and then use ALTER ROLLBACK SEGMENT 'name' online. It may be necessary to modify the initialization parameter ROLLBACK_SEGMENTS to acquire one of the new private rollback segments. Before creating a rollback segment outside the SYSTEM tablespace, it is necessary to first create and activate a non-system rollback segment in the SYSTEM tablespace.
Cause: The number of extents allocated is greater than the MAXEXTENTS specified.
Action: Specify a larger MAXEXTENTS value.
Cause: There were too many concurrent transactions.
Action: Shut down Oracle, modify initialization parameters TRANSACTIONS and ROLLBACK_SEGMENTS, then restart Oracle. The TRANSACTIONS parameter must be high enough to handle any possible rollbacks.
Cause: One of the following:
Insufficient Rollback Segments: A long running query may not be able to reconstruct the snapshot of the blocks it is reading because the rollback data is not available. This can happen when the database has many transactions that are changing data, then committing or rolling back. The rollback data can be overwritten if the rollback segments are too small for the number and size of the changes being made.
Precompiler - Insufficient Rollback Segments: A long running query may not be able to reconstruct the snapshot of the blocks it is reading because the rollback data is not available. This can happen if your program does not CLOSE a cursor after repeated FETCH or UPDATE statements. Alternatively, if a FETCH is executed after a COMMIT, the number of rollback records created since the last CLOSE of the current cursor will fill the available rollback segments and begin to overwrite earlier records.
Action: For the above causes:
Insufficient Rollback Segments; Make a larger number of bigger rollback segments available. This will allow the rollback data for completed transactions to be kept longer.
Precompiler - Insufficient Rollback Segments: If you are not using the fetch across commit feature, ensure that you have CLOSEd cursors appropriately. Otherwise, you must increase the number and the size of rollback segments. You can estimate the size of the rollback data that your program will produce with the V$ROLLSTAT view, which contains the number of bytes written for each rollback segment. Set the current transaction to a rollback segment in a single user mode and query V$ROLLSTAT before and after the transaction. The difference in V$ROLLSTAT gives the number of rollback data bytes written for the transaction. Estimate the total number of transactions done in the loop and, after considering other concurrent transactions, create rollback segments accordingly.
Note: Fetch across commit is not supported by the ANSI standard. According to the ANSI standard, a cursor is invalidated when a commit is performed and should be closed and reopened. With Oracle you can fetch across commit. However, you should be aware that you may get this error.
Cause: A MINEXTENTS of less than two was specified for rollback segment.
Action: Specify a larger MINEXTENTS.
Cause: An extent of less than num blocks was specified for the rollback segment.
Action: Specify extents of at least num blocks, then retry the operation.
For more information about rollback segments and the ROLLBACK_SEGMENTS parameter, see the index entries on "rollback segments" and "ROLLBACK_SEGMENTS parameter" in Oracle8 Server SQL Reference.
Cause: All the available transaction IDs have been used.
Action: Shut down the instance, restart it using another rollback segment, then drop the rollback segment that has no more transaction IDs.
Cause: An invalid value for MAXEXTENTS was specified; the value must be greater than 1.
Action: Specify a MAXEXTENTS value of at least 2 and try again.
Cause: This message is only relevant for systems running the Parallel Server and occurs at instance start up. The value of the GC_name initialization parameter does not match that of an instance already mounted.
Action: Ensure correct initialization parameter files are being used. If necessary, modify the GC_name parameter in the offending initialization files, then shut down and restart those instances with corrected initialization parameter files.
Cause: A user failed to remove all objects when dropping a tablespace.
Action: Repeat DROP TABLESPACE until all objects have been dropped.
Cause: A failure occurred while trying to extend the rollback segment. The problem is usually lack of space in the database to extend the rollback segment.
Action: This is usually followed by another message stating the cause of the failure. Shut down and take appropriate action for the error that caused the failure. If no other messages follow this message, the cause is probably lack of space in the database.
Cause: The keyword PUBLIC was not used to identify a public rollback segment.
Action: Use the keyword PUBLIC when identifying a public rollback segment.
Cause: The identified rollback segment is not public.
Action: Do not use the keyword PUBLIC when identifying a private rollback segment.
Cause: An error occurred while trying to identify a file.
Action: Check the accompanying message stack for detailed information.
Cause: For an ALTER DATABASE, the list of files for the DROP LOGFILE option contains at least one duplicate.
Action: Remove the duplicate file specification, then re-execute the statement.
Cause: Dropping all the files specified would leave fewer than the required two redo log files. It may be possible to clear the log rather than drop it.
Action: Either drop fewer logs or disable the thread before deleting the logs.
Cause: An attempt was made to set a space quota for PUBLIC on a tablespace.
Action: To grant system-wide or tablespace-wide space privileges to all users, use the statement
GRANT UNLIMITED TABLESPACE [ON tablespace] TO PUBLIC;
Cause: The datafile specified during creation of the database is too small to hold the system dictionary tables.
Action: Re-create the database specifying a larger file or more files.
Cause: The number of extents already allocated is smaller than the MINEXTENTS specified in the command.
Action: Enter the command again specifying the number of extents given in the message as the value for MINEXTENTS.
Cause: This software version cannot read the current redo logs. Either crash recovery is required or there are offline database files that need media recovery. If a filename is listed then it needs media recovery.
Action: Shut down and start up using the compatible software. Do any required media recovery and open the database. Shut down and then start up using current software. If the file is going to be dropped, then take it offline with the DROP option to skip this check.
Cause: An operation requested a resource that was unavailable. On a Parallel Server system, the maximum number of system-wide rollback segments is specified by the GC_ROLLBACK_SEGMENTS parameter. When this maximum is reached, no more requests are processed.
Action: Use fewer rollback segments or increase the initialization parameter GC_ROLLBACK_SEGMENTS to a number greater than rollback segment ID num in every initialization parameter file of the Parallel Server. This change will not take effect until Oracle is shut down and restarted.
Cause: A process attempted to make changes while the database was being shut down.
Cause: An operation requested a resource that was unavailable. The maximum number of concurrent transactions is specified by the TRANSACTIONS initialization parameter. When this maximum is reached, no more requests are processed.
Action: Try the request again later or increase the TRANSACTIONS parameter in the initialization parameter file. This change will not take effect until Oracle is shut down and restarted.
Cause: The system timed out before it could acquire the necessary resources to do space management.
Action: Wait a few minutes, then retry the operation.
Cause: The version of Oracle is incompatible with the given locking protocol version.
Action: Upgrade the version of Oracle used to start up instances so that they use a compatible locking protocol.
Cause: While executing a CREATE or ALTER DATABASE statement, a file being added was found to already exist on the database.
Action: Check syntax and spelling, specify a valid filename, and try again.
Cause: The given data block was corrupted, probably due to program errors.
Action: Try to restore the segment containing the given data block. This may involve dropping the segment and recreating it. If there is a trace file, report the messages recorded in it to customer support.
Cause: A write error occurred during media recovery.
Action: Check the trace file for the type of the write error, then take appropriate action.
Cause: An operating system error occurred while attempting to create the referenced control file for backup.
Action: Check the accompanying message stack for detailed information, then take appropriate action.
Cause: Undo generated to extend a rollback segment run out of current undo block space and is attempting to write into the new extent, which has not been completely allocated.
Action: The rollback segment extending itself will be rolled back by the system. No more extension will be possible until the next extent is freed up by the rolling back or committing of other transactions.
Cause: An operating system error occurred while attempting to open a control file for backup.
Action: Check the accompanying message stack for detailed information, then take appropriate action.
Cause: An operating system error occurred while attempting to get the block size of a control file for backup.
Action: Check the accompanying message stack for detailed information, then take appropriate action.
Cause: An operating system error occurred while attempting to get the file size of a control file for backup.
Action: Check the accompanying message stack for detailed information, then take appropriate action.
Cause: An operating system error occurred when attempting to identify the referenced control file for backup.
Action: Check the accompanying message stack for detailed information, then take appropriate action.
Cause: An operating system error occurred while attempting to open a control file for backup.
Action: Check the accompanying message stack for detailed information, then take appropriate action.
Cause: An operating system error occurred while attempting to copy a control file for backup.
Action: Check the accompanying message stack for detailed information, then take appropriate action.
Cause: An earlier attempt to open the database with the RESETLOGS option did not complete, or recovery was done with a control file backup.
Action: Retry the operation making sure to specify the RESETLOGS option.
Cause: Either cancel-based or time-based recovery has been performed. After these types of recovery, it is necessary to specify either the RESETLOGS or NORESETLOGS option to open the database.
Action: Specify the appropriate option.
Cause: The value of the storage clause FREELIST GROUPS is greater than the maximum allowed for the block size.
Action: Specify a number for FREELIST GROUPS less than or equal to the maximum when creating the table or index. The block size specified in the initialization parameter DB_BLOCK_SIZE cannot be changed after the database is created.
Cause: An attempt was made to access a resource locked by a dead two-phase commit transaction that is in prepared state.
Action: Match the transaction number in the message with the GLOBAL_TRAN_ID column of the DBA_2PC_PENDING table to determine the database link and the state of the transaction. Attempt to repair network connections to the coordinator and commit point, if necessary. If timely repair is not possible, contact the database administrator at the commit point, if known, to resolve the pending transaction.
Cause: Oracle encountered an error while converting a Version 6 rollback segment into the format used by Oracle7.
Action: Investigate the accompanying internal error message. The Version 6 database may not have shut down cleanly. It may be necessary to reload the Version 6 database from backup and shut it down, ensuring it shuts down cleanly.
Cause: The specified OPTIMAL size is smaller than the cumulative size of the initial extents during create rollback segment.
Action: Specify a larger OPTIMAL size.
Cause: Undo generated to free a rollback segment extent is attempting to write into the same extent due to small extents or too many extents to free.
Action: Increase the optimal size of the rollback segment. The rollback segment shrinking will be rolled back by the system.
Cause: An error occurred while freeing inactive rollback segment extents.
Action: Check the trace file and check for prior messages.
Cause: The system rollback segment is specified in the INIT.ORA parameter referred to in the error message.
Action: Change the INIT.ORA parameter.
Cause: An attempt was made to online or offline the SYSTEM rollback segment.
Cause: The rollback segment was taken offline either manually or by SMON.
Action: Check the status of the rollback segment in DBA_ROLLBACK_SEGS.
Cause: The amount of allocated space is not enough.
Action: Take the rollback segment offline.
Cause: The initialization parameter GC_FILES_TO_LOCKS was not specified properly.
Action: Refer to the proper specifications of the GC_FILES_TO_LOCKS parameter and specify it correctly in the initialization parameter file. If other instances are currently accessing the database, use the value that they are using.
Cause: The number of locks specified in a clause of the initialization parameter GC_FILES_TO_LOCKS is not a positive integer.
Action: Refer to the proper specifications of the GC_FILES_TO_LOCKS parameter and specify it correctly in the initialization parameter file. If other instances are currently accessing the database, use the value that they are using.
Cause: The total number of PCM locks specified to all database files in the initialization parameter GC_FILES_TO_LOCKS is greater than the number specified in GC_DB_BLOCKS.
Action: Correct the value of either the GC_FILES_TO_LOCKS parameter or the GC_DB_LOCKS parameter before starting the instance. If other instances are currently accessing the database, use the values that they are using.
Cause: The initialization parameter GC_FILES_TO_LOCKS is specified incorrectly; if a clause specifies more than one range of file numbers, each range must be separated with commas.
Action: Correct the value of the GC_FILES_TO_LOCKS parameter before starting the instance. If other instances are currently accessing the database, use the value they are using. Use the following syntax:
GC_FILES_TO_LOCKS = "{filenum[-filenum] [,filenum[-filenum]]...= num_of_locks[EACH]}[:]..."
where filenum is a file number, as listed in V$DBFILE, and num_of_locks is the number of PCM locks.
Cause: The range of file numbers specified in a clause of the initialization parameter GC_FILES_TO_LOCKS is invalid. The first file number must be smaller than the second file number, and a hyphen must separate the numbers. All numbers in the range must be valid file numbers.
Action: Correct the value of the GC_FILES_TO_LOCKS parameter before starting the instance. If other instances are currently accessing the database, use the value that they are using.
|
Copyright © 1997 Oracle Corporation. All Rights Reserved. |
|