Pre requisites : conn vinod/abcdefg CREATE TABLE unpar_table ( a NUMBER, y number, name VARCHAR2(100), date_used date); begin for i in 1 .. 1000 loop for j in 1 .. 1000 loop insert into unpar_table values ( i, j, dbms_random.random, sysdate-j ); end loop; end loop; end; commit; CREATE TABLE unpar_table2 ( a NUMBER, y number, name VARCHAR2(100), date_used date); begin for i in 1 .. 1000 loop for j in 1 .. 1000 loop insert into unpar_table2 values ( i, j, dbms_random.random, sysdate-j ); end loop; end loop; end; commit; alter table unpar_table add primary key(a,y); alter table unpar_table2 add primary key(a,y); Driving Table : CREATE TABLE table_and_tablespace_details ( TABLENAME VARCHAR2(500 CHAR), TABLESPACENAME VARCHAR2(500 CHAR) ); alter table table_and_tablespace_details add primary key(tablename); Temp table to keep indexes name. create table TABLE_INDEXNAME (INDEXNAME varchar2(30)); insert into table_and_tablespace_details values('UNPAR_TABLE','USERS'); insert into table_and_tablespace_details values('UNPAR_TABLE2','USERS'); Constraints validations tables : create table dba_constraints_before (c_type varchar2(30),stat varchar2(10),cnt number); create table dba_constraints_after (c_type varchar2(30),stat varchar2(10),cnt number); Objects validations tables : create table dba_objects_before (own varchar2(20),o_type varchar2(30),cnt number,stat varchar2(10)); create table dba_objects_after (own varchar2(20),o_type varchar2(30),cnt number,stat varchar2(10));