SQL Scripts for Indexes and Constraints in Oracle



The Eucharistic Miracles of the World
1. List Indexes Associated with a Specific Table Constraint 

 This script lists indexes associated with a specific table constraint, such as a primary key or unique constraint. Replace 'YOUR_TABLE_NAME' and 'YOUR_CONSTRAINT_NAME' with the actual table name and constraint name you want to query. The script joins the all_indexes and all_constraints data dictionary views to retrieve information about the indexes linked to the specified constraint.

-- Query to list indexes associated with a specific table constraint
SELECT i.index_name, i.table_name, c.constraint_name, c.constraint_type
FROM all_indexes i
JOIN all_constraints c ON i.table_name = c.table_name AND i.index_name = c.index_name
WHERE c.table_name = 'YOUR_TABLE_NAME' AND c.constraint_name = 'YOUR_CONSTRAINT_NAME';
2. Identify Constraints that Create Implicit Indexes 

This script identifies constraints (primary key or unique constraints) that create implicit indexes. It queries the all_constraints data dictionary view to find constraints with types 'P' (primary key) or 'U' (unique constraint) that do not have an explicitly defined index. Oracle automatically creates an index for such constraints to enforce uniqueness and fast access.

-- Query to identify constraints that create implicit indexes
SELECT constraint_name, constraint_type, table_name, index_name
FROM all_constraints
WHERE constraint_type IN ('P', 'U') AND index_name IS NULL;

3.Find Indexes with Disabled or Unusable Constraints 
This script finds indexes that have disabled or unusable constraints. Replace 'YOUR_TABLE_NAME' with the actual table name you want to query. The script queries the all_indexes data dictionary view and filters indexes with a status other than 'VALID', indicating that the corresponding constraint might be disabled or unusable. Please customize 'YOUR_TABLE_NAME' and 'YOUR_CONSTRAINT_NAME' with the appropriate table and constraint names in the scripts. Adjust the queries as needed for schema-specific information or additional details.

-- Query to find indexes with disabled or unusable constraints
SELECT index_name, table_name, status, constraint_name, constraint_type
FROM all_indexes
WHERE status <> 'VALID' AND table_name = 'YOUR_TABLE_NAME';


Website Stats


Post a Comment


Oracle (629) Script (86) General (77) Unix (47) Blog (23) Technology (19) gadget (6) games (6) Business (3) OCI (3) SQL* Loader (3) Datapump (2)

acehints.com Copyright 2011-23 All Rights Reserved | Site Map | Contact | Disclaimer