Wednesday, September 9, 2009

V$COPY_CORRUPTION


V$COPY_CORRUPTION displays information about datafile copy corruptions from the control file.
Column
Datatype
Description
RECID
NUMBER
Copy corruption record ID
STAMP
NUMBER
Copy corruption record stamp
COPY_RECID
NUMBER
Datafile copy record ID
COPY_STAMP
NUMBER
Datafile copy record stamp
FILE#
NUMBER
Datafile number
BLOCK#
NUMBER
First block of the corrupted range
BLOCKS
NUMBER
Number of contiguous blocks in the corrupted range
CORRUPTION_CHANGE#
NUMBER
Change number at which the logical corruption was detected. Set to 0 to indicate media corruption.
MARKED_CORRUPT
VARCHAR2(3)
(YES | NO) If set to YES the blocks were not marked corrupted in the datafile, but were detected and marked as corrupted while making the datafile copy
CORRUPTION_TYPE
VARCHAR2(9)
Type of block corruption in the datafile:
  • ALL ZERO - Block header on disk contained only zeros. The block may be valid if it was never filled and if it is in an Oracle7 file. The buffer will be reformatted to the Oracle8 standard for an empty block.
  • FRACTURED - Block header looks reasonable, but the front and back of the block are different versions.
  • CHECKSUM - optional check value shows that the block is not self-consistent. It is impossible to determine exactly why the check value fails, but it probably fails because sectors in the middle of the block are from different versions.
  • CORRUPT - Block is wrongly identified or is not a data block (for example, the data block address is missing)
  • LOGICAL - Specifies the range is for logically corrupt blocks. CORRUPTION_CHANGE# will have a nonzero value.
Note:
1.       RMAN is able to detect block corruption. Three views server this purpose: V$BACKUP_CORRUPTION, V$COPY_CORRUPTION, and V$DATABASE_BLOCK_CORRUPTION.
2.       RMAN identifies corrupt blocks and logs in V$DATABASE_BLOCK_CORRUPTION. If the backup validation discovers corrupt blocks, then RMAN updates the V$DATABASE_BLOCK_CORRUPTION view with rows describing the corruptions. You can repair corruptions using block media recovery.  After a corrupt block is repaired, the row identifying this block is deleted from the view.
3.       The V$BACKUP_CORRUPTION view shows corrupted blocks discovered during an RMAN backup. But once the blocks have been fixed, this view is not updated. The corrupt backup sets information in V$BACKUP_CORRUPTION are represented by SET_STAMP, and SET_COUNT columns.
4.       Useful Join Columns: FILE# - join to V$DATAFILE.FILE#.
5.        In 10.2.0.4, the v$database_block_corruption view is based on v$copy_corruption and v$backup_corruption. The rows for dropped datafile doesn't go away until the datafile# is reused by database and a backup of that file# is taken. This issue was fixed in 11g. To workaround the problem in 10.2.0.4, you will have to clear the v$backup_corruption and v$copy_corruption view on target database.
SQL> execute dbms_backup_restore.resetCfileSection(17); /** clear v$backup_corruption
SQL> execute dbms_backup_restore.resetCfileSection(18); /**clear v$copy_corruption

Oracle data dictionary views

Last updated: September 9, 2009

V$DATABASE_BLOCK_CORRUPTION

V$DATABASE_BLOCK_CORRUPTION displays information about database blocks that were corrupted after the last backup.

Column
Datatype
Description
FILE#
NUMBER
Absolute file number of the datafile that contains the corrupt blocks
BLOCK#
NUMBER
Block number of the first corrupt block in the range of corrupted blocks
BLOCKS
NUMBER
Number of corrupted blocks found starting with BLOCK#
CORRUPTION_CHANGE#
NUMBER
Change number at which the logical corruption was detected. Set to 0 to indicate media corruption.
CORRUPTION_TYPE
VARCHAR2(9)
Type of block corruption in the datafile:
·         ALL ZERO - Block header on disk contained only zeros. The block may be valid if it was never filled and if it is in an Oracle7 file. The buffer will be reformatted to the Oracle8 standard for an empty block.
·         FRACTURED - Block header looks reasonable, but the front and back of the block are different versions.
·         CHECKSUM - optional check value shows that the block is not self-consistent. It is impossible to determine exactly why the check value fails, but it probably fails because sectors in the middle of the block are from different versions.
·         CORRUPT - Block is wrongly identified or is not a data block (for example, the data block address is missing)
·         LOGICAL - Specifies the range is for logically corrupt blocks. CORRUPTION_CHANGE# will have a nonzero value.
Note:
1.       RMAN is able to detect block corruption. Three views server this purpose: V$BACKUP_CORRUPTION, V$COPY_CORRUPTION, and V$DATABASE_BLOCK_CORRUPTION.
2.       RMAN identifies corrupt blocks and logs in V$DATABASE_BLOCK_CORRUPTION. If the backup validation discovers corrupt blocks, then RMAN updates the V$DATABASE_BLOCK_CORRUPTION view with rows describing the corruptions. You can repair corruptions using block media recovery.  After a corrupt block is repaired, the row identifying this block is deleted from the view.
3.       The V$BACKUP_CORRUPTION view shows corrupted blocks discovered during an RMAN backup. But once the blocks have been fixed, this view is not updated. The corrupt backup sets information in V$BACKUP_CORRUPTION are represented by SET_STAMP, and SET_COUNT columns.
4.       Useful Join Columns: FILE# - join to V$DATAFILE.FILE#.
5.        In 10.2.0.4, the v$database_block_corruption view is based on v$copy_corruption and v$backup_corruption. The rows for dropped datafile doesn't go away until the datafile# is reused by database and a backup of that file# is taken. This issue was fixed in 11g. To workaround the problem in 10.2.0.4, you will have to clear the v$backup_corruption and v$copy_corruption view on target database.
SQL> execute dbms_backup_restore.resetCfileSection(17); /** clear v$backup_corruption
SQL> execute dbms_backup_restore.resetCfileSection(18); /**clear v$copy_corruption

Oracle data dictionary views

Last updated: September 9, 2009

Tuesday, August 25, 2009

Oracle Parameter Messages

LRM-00100: internal error [number]

Cause: An internal error has occurred.

Action: Contact Oracle Support Services and report the error.

LRM-00101: unknown parameter name "string"

Cause: The parameter name was misspelled.

Action: Spell the parameter name correctly.

LRM-00102: "string" is not in the legal range for "string"

Cause: The value of the parameter is not within the legal range.

Action: Refer to the manual for the allowable values for this parameter.

LRM-00103: "string" contains an illegal integer radix for "string"

Cause: An illegal integer radix specification was found.

Action: Only "d", "h", "D", and "H" may be used as radix specifications.

LRM-00104: "string" is not a legal integer for "string"

Cause: The value is not a valid integer.

Action: Specify only valid integers for this parameter.

LRM-00105: "string" is not a legal Boolean for "string"

Cause: The value is not a valid Boolean.

Action: Refer to the manual for allowable Boolean values.

LRM-00106: out of memory

Cause: The operating system has run out of memory.

Action: Take action to make more memory available to the program.

LRM-00107: parameter name abbreviation "string" is not unique

Cause: The given abbreviation was not unique.

Action: Use a longer abbreviation to make the parameter name unique.

LRM-00108: invalid positional parameter value "string"

Cause: An invalid positional parameter value has been entered.

Action: Remove the invalid positional parameter.

LRM-00109: could not open parameter file "string"

Cause: The parameter file does not exist.

Action: Create an appropriate parameter file.

LRM-00110: syntax error at "string"

Cause: A syntax error was detected.

Action: Change the input so that the correct syntax is used.

LRM-00111: no closing quote for value "string"

Cause: A quoted string was started but not finished.

Action: Put a closing quote in the proper location.

LRM-00112: multiple values not allowed for parameter "string"

Cause: An attempt was made to specify multiple values for a parameter which can take only one value.

Action: Do not specify more than one value for this parameter.

LRM-00113: error when processing file "string"

Cause: A problem occurred when processing this file.

Action: Examine the additional error messages and correct the problem.

LRM-00114: error when processing from command line

Cause: A problem occurred when processing the command line.

Action: Examine the additional error messages and correct the problem.

LRM-00115: error when processing an environment variable

Cause: A problem occurred when processing an environment variable.

Action: Examine the additional error messages and correct the problem.

LRM-00116: syntax error at "string" following "string"

Cause: A syntax error was detected.

Action: Change the input so that the correct syntax is used.

LRM-00117: syntax error at "string" at the start of input

Cause: A syntax error was detected.

Action: Change the input so that the correct syntax is used.

LRM-00118: syntax error at "string" at the end of input

Cause: A syntax error was detected.

Action: Change the input so that the correct syntax is used.

LRM-00119: unable to obtain a valid value for "string"

Cause: No valid value was obtained for this parameter.

Action: Rerun the application and enter a valid value.

LRM-00120: "string" is not a legal Oracle number for "string"

Cause: The value is not a valid Oracle number.

Action: Refer to the manual for allowable Oracle number values.

LRM-00121: "string" is not an allowable value for "string"

Cause: The value is not a legal value for this parameter.

Action: Refer to the manual for allowable values.

LRM-00122: value "string" for "string" must be between "number" and "number"

Cause: The value of the parameter is not within the legal range.

Action: Specify a value that is within the legal range.

LRM-00123: invalid character number found in the input file

Cause: A character that is invalid was found in the input file.

Action: Specify an input file that contains only valid characters.

Last updated: August 25, 2009

All Oracle errors in the blog can be found at: Oracle errors
All ESRI ArcSDE errors in the blog can found at:
ArcSDE Errors