Oracle8i Supplied PL/SQL Packages Reference
Release 2 (8.1.6)

Part Number A76936-01

Library

Product

Contents

Index

Go to previous page Go to beginning of chapter Go to next page

DBMS_REPAIR, 2 of 2


Summary of Subprograms

Table 36-3 DBMS_REPAIR Package Subprograms
Subprogram  Description 
ADMIN_TABLES Procedure
 

Provides administrative functions for the DBMS_REPAIR package repair and orphan key tables, including create, purge, and drop functions. 

CHECK_OBJECT Procedure
 

Detects and reports corruptions in a table or index. 

DUMP_ORPHAN_KEYS Procedure
 

Reports on index entries that point to rows in corrupt data blocks. 

FIX_CORRUPT_BLOCKS 
Procedure
 

Marks blocks software corrupt that have been previously detected as corrupt by CHECK_OBJECT

REBUILD_FREELISTS Procedure
 

Rebuilds an object's freelists. 

SKIP_CORRUPT_BLOCKS 
Procedure
 

Sets whether to ignore blocks marked corrupt during table and index scans or to report ORA-1578 when blocks marked corrupt are encountered. 

ADMIN_TABLES Procedure

This procedure provides administrative functions for the DBMS_REPAIR package repair and orphan key tables.

Syntax

DBMS_REPAIR.ADMIN_TABLES (
   table_name IN   VARCHAR2,
   table_type IN   BINARY_INTEGER,
   action     IN   BINARY_INTEGER,
   tablespace IN   VARCHAR2        DEFAULT NULL);

Parameters

Table 36-4 ADMIN_TABLES Procedure Parameters
Parameter  Description 
table_name
 

Name of the table to be processed. Defaults to ORPHAN_KEY_TABLE or REPAIR_TABLE based on the specified table_type. When specified, the table name must have the appropriate prefix: ORPHAN_ or REPAIR_.  

table_type
 

Type of table; must be either ORPHAN_TABLE or REPAIR_TABLE.

See "Enumeration Types"

action
 

Indicates what administrative action to perform.

Must be either CREATE_ACTION, PURGE_ACTION, or DROP_ACTION. If the table already exists, and if CREATE_ACTION is specified, then an error is returned. PURGE_ACTION indicates to delete all rows in the table that are associated with non-existent objects. If the table does not exist, and if DROP_ACTION is specified, then an error is returned.

When CREATE_ACTION and DROP_ACTION are specified, an associated view named DBA_<table_name> is created and dropped respectively. The view is defined so that rows associated with non-existent objects are eliminated.

Created in the SYS schema.

See "Enumeration Types"

tablespace
 

Indicates the tablespace to use when creating a table.

By default, the SYS default tablespace is used. An error is returned if the tablespace is specified and if the action is not CREATE_ACTION.  

CHECK_OBJECT Procedure

This procedure checks the specified objects and populates the repair table with information about corruptions and repair directives.

Validation consists of block checking all blocks in the object. You may optionally specify a DBA range, partition name, or subpartition name when you want to check a portion of an object.

Syntax

DBMS_REPAIR.CHECK_OBJECT (
   schema_name       IN  VARCHAR2,
   object_name       IN  VARCHAR2,
   partition_name    IN  VARCHAR2       DEFAULT NULL,
   object_type       IN  BINARY_INTEGER DEFAULT TABLE_OBJECT,
   repair_table_name IN  VARCHAR2       DEFAULT 'REPAIR_TABLE',
   flags             IN  BINARY_INTEGER DEFAULT NULL,
   relative_fno      IN  BINARY_INTEGER DEFAULT NULL,
   block_start       IN  BINARY_INTEGER DEFAULT NULL,
   block_end         IN  BINARY_INTEGER DEFAULT NULL,
   corrupt_count     OUT BINARY_INTEGER);

Parameters

Table 36-5 CHECK_OBJECT Procedure Parameters
Parameter  Description 
schema_name
 

Schema name of the object to be checked. 

object_name
 

Name of the table or index to be checked. 

partition_name
 

Partition or subpartition name to be checked.

If this is a partitioned object, and if partition_name is not specified, then all partitions and subpartitions are checked. If this is a partitioned object, and if the specified partition contains subpartitions, then all subpartitions are checked.  

object_type
 

Type of the object to be processed. This must be either TABLE_OBJECT (default) or INDEX_OBJECT.

See "Enumeration Types"

repair_table_name
 

Name of the repair table to be populated.

The table must exist in the SYS schema. Use the admin_tables procedure to create a repair table. The default name is REPAIR_TABLE.  

flags
 

Reserved for future use. 

relative_fno
 

Relative file number: Used when specifying a block range. 

block_start
 

First block to process if specifying a block range. May be specified only if the object is a single table, partition, or subpartition.  

block_end
 

Last block to process if specifying a block range. May be specified only if the object is a single table, partition, or subpartition. If only one of block_start or block_end is specified, then the other defaults to the first or last block in the file respectively.  

corrupt_count
 

Number of corruptions reported. 

DUMP_ORPHAN_KEYS Procedure

This procedure reports on index entries that point to rows in corrupt data blocks. For each such index entry encountered, a row is inserted into the specified orphan table.

If the repair table is specified, then any corrupt blocks associated with the base table are handled in addition to all data blocks that are marked software corrupt. Otherwise, only blocks that are marked corrupt are handled.

This information may be useful for rebuilding lost rows in the table and for diagnostic purposes.

Syntax

DBMS_REPAIR.DUMP_ORPHAN_KEYS (
   schema_name       IN  VARCHAR2,
   object_name       IN  VARCHAR2,
   partition_name    IN  VARCHAR2       DEFAULT NULL,
   object_type       IN  BINARY_INTEGER DEFAULT INDEX_OBJECT,
   repair_table_name IN  VARCHAR2       DEFAULT 'REPAIR_TABLE',
   orphan_table_name IN  VARCHAR2       DEFAULT 'ORPHAN_KEYS_TABLE',
   flags             IN  BINARY_INTEGER DEFAULT NULL,
   key_count         OUT BINARY_INTEGER);

Parameters

Table 36-6 DUMP_ORPHAN_KEYS Procedure Parameters
Parameter  Description 
schema_name
 

Schema name. 

object_name
 

Object name. 

partition_name
 

Partition or subpartition name to be processed.

If this is a partitioned object, and if partition_name is not specified, then all partitions and subpartitions are processed. If this is a partitioned object, and if the specified partition contains subpartitions, then all subpartitions are processed.  

object_type
 

Type of the object to be processed. The default is INDEX_OBJECT

See "Enumeration Types"

repair_table_name
 

Name of the repair table that has information regarding corrupt blocks in the base table.

The specified table must exist in the SYS schema. The admin_tables procedure is used to create the table.  

orphan_table_name
 

Name of the orphan key table to populate with information regarding each index entry that refers to a row in a corrupt data block.

The specified table must exist in the SYS schema. The admin_tables procedure is used to create the table.  

flags
 

Reserved for future use. 

key_count
 

Number of index entries processed. 

FIX_CORRUPT_BLOCKS Procedure

This procedure fixes the corrupt blocks in specified objects based on information in the repair table that was previously generated by the check_object procedure.

Prior to effecting any change to a block, the block is checked to ensure the block is still corrupt. Corrupt blocks are repaired by marking the block software corrupt. When a repair is effected, the associated row in the repair table is updated with a fix timestamp.

Syntax

DBMS_REPAIR.FIX_CORRUPT_BLOCKS (
   schema_name       IN  VARCHAR2,
   object_name       IN  VARCHAR2,
   partition_name    IN  VARCHAR2       DEFAULT NULL, 
   object_type       IN  BINARY_INTEGER DEFAULT TABLE_OBJECT,
   repair_table_name IN  VARCHAR2       DEFAULT 'REPAIR_TABLE',
   flags             IN  BINARY_INTEGER DEFAULT NULL,
   fix_count         OUT BINARY_INTEGER);

Parameters

Table 36-7 FIX_CORRUPT_BLOCKS Procedure Parameters
Parameter  Description 
schema_name
 

Schema name. 

object_name
 

Name of the object with corrupt blocks to be fixed. 

partition_name
 

Partition or subpartition name to be processed.

If this is a partitioned object, and if partition_name is not specified, then all partitions and subpartitions are processed. If this is a partitioned object, and if the specified partition contains subpartitions, then all subpartitions are processed.  

object_type
 

Type of the object to be processed. This must be either TABLE_OBJECT (default) or INDEX_OBJECT.

See "Enumeration Types"

repair_table_name
 

Name of the repair table with the repair directives.

Must exist in the SYS schema.  

flags
 

Reserved for future use. 

fix_count
 

Number of blocks fixed. 

REBUILD_FREELISTS Procedure

This procedure rebuilds the freelists for the specified object. All free blocks are placed on the master freelist. All other freelists are zeroed.

If the object has multiple freelist groups, then the free blocks are distributed among all freelists, allocating to the different groups in round-robin fashion.

Syntax

DBMS_REPAIR.REBUILD_FREELISTS (
   schema_name    IN VARCHAR2,   
   partition_name IN VARCHAR2       DEFAULT NULL,
   object_type    IN BINARY_INTEGER DEFAULT TABLE_OBJECT);

Parameters

Table 36-8 REBUILD_FREELISTS Procedure Parameters
Parameter  Description 
schema_name
 

Schema name. 

object_name
 

Name of the object whose freelists are to be rebuilt. 

partition_name
 

Partition or subpartition name whose freelists are to be rebuilt.

If this is a partitioned object, and partition_name is not specified, then all partitions and subpartitions are processed. If this is a partitioned object, and the specified partition contains subpartitions, then all subpartitions are processed.  

object_type
 

Type of the object to be processed. This must be either TABLE_OBJECT (default) or INDEX_OBJECT.

See "Enumeration Types"

SKIP_CORRUPT_BLOCKS Procedure

This procedure enables or disables the skipping of corrupt blocks during index and table scans of the specified object.

When the object is a table, skip applies to the table and its indexes. When the object is a cluster, it applies to all of the tables in the cluster, and their respective indexes.


Note:

When Oracle performs an index range scan on a corrupt index after DBMS_REPAIR.SKIP_CORRUPT_BLOCKS has been set for the base table, corrupt branch blocks and root blocks are not skipped. Only corrupt non-root leaf blocks are skipped.  


Syntax

DBMS_REPAIR.SKIP_CORRUPT_BLOCKS (
   schema_name IN VARCHAR2,
   object_name IN VARCHAR2,
   object_type IN BINARY_INTEGER DEFAULT TABLE_OBJECT,
   flags       IN BINARY_INTEGER DEFAULT SKIP_FLAG);

Parameters

Table 36-9 SKIP_CORRUPT_BLOCKS Procedure Parameters
Parameter  Description 
schema_name
 

Schema name of the object to be processed. 

object_name
 

Name of the object. 

partition_name 
(optional)
 

Partition or subpartition name to be processed.

If this is a partitioned object, and if partition_name is not specified, then all partitions and subpartitions are processed. If this is a partitioned object, and if the specified partition contains subpartitions, then all subpartitions are processed. 

object_type
 

Type of the object to be processed. This must be either TABLE_OBJECT (default) or CLUSTER_OBJECT.

See "Enumeration Types"

flags
 

If SKIP_FLAG is specified, then it turns on the skip of software corrupt blocks for the object during index and table scans. If NOSKIP_FLAG is specified, then scans that encounter software corrupt blocks return an ORA-1578.

See "Enumeration Types"


Go to previous page Go to beginning of chapter Go to next page
Oracle
Copyright © 1996-2000, Oracle Corporation.

All Rights Reserved.

Library

Product

Contents

Index