Professional Documents
Culture Documents
"PRODICS"."XXFMICS_DRAWING_ATTACHMENTS"
"XXFMIT"."XXFMCSD_COMP_ATTACHMENT"
desc XXFMIT.XXFMCSD_COMP_ATTACHMENT;
declare
error_1578 exception;
error_1555 exception;
error_22922 exception;
pragma exception_init(error_1578,-1578);
pragma exception_init(error_1555,-1555);
pragma exception_init(error_22922,-22922);
num number;
begin
for cursor_lob in (select rowid r, &&lob_column from &table_owner..&table_with_lob)
loop
begin
num := dbms_lob.instr (cursor_lob.&&lob_column, hextoraw ('889911')) ;
exception
when error_1578 then
insert into corrupt_lobs_xxfmit1 values (cursor_lob.r, 1578);
commit;
when error_1555 then
insert into corrupt_lobs_xxfmit1 values (cursor_lob.r, 1555);
commit;
when error_22922 then
insert into corrupt_lobs_xxfmit1 values (cursor_lob.r, 22922);
commit;
end;
end loop;
end;
/
Result has to be no row selected which indicates the corruption has been removed.
XXFMRE
XXFMCPS
XXFMCPS_VORTEX
SNDB
LEXICON
PRODICS
XXKTCS
SNSEG
XXALFAINFO
XXFMMFG_BARCODE
BOLINF
XXFMCPSAUTO
XXFINLY
XXFMIT
XXFMCLICK
XXIRIS
FMPCMS
EXCISE
XXFMPROJ
FDMS
TSC
PDM
XXFM_SCADA
XXEMS
$mkdir -p /______/DUMP_FILES
Take DB Size
SQL> @db_size
VALID
SQL>select owner,object_type, count(*)
from dba_objects
where owner in
('BOLINF','XXEMS','XXFMIT','XXFMRE','XXFMCPS','XXFMCPS_VORTEX','SNDB','LE
XICON','PRODICS','XXKTCS','SNSEG','XXALFAINFO','XXFMMFG_BARCODE','XXF
MCPSAUTO','XXFINLY','XXFMCLICK','XXIRIS','FMPCMS','EXCISE','XXFMPROJ','FD
MS','TSC','PDM','XXFM_SCADA')
and status='VALID' group by owner,object_type order by 1 asc;
INVALID
SQL>select owner,object_type, count(*)
from dba_objects
where owner in
('BOLINF','XXEMS','XXFMIT','XXFMRE','XXFMCPS','XXFMCPS_VORTEX','SNDB','LE
XICON','PRODICS','XXKTCS','SNSEG','XXALFAINFO','XXFMMFG_BARCODE','XXF
MCPSAUTO','XXFINLY','XXFMCLICK','XXIRIS','FMPCMS','EXCISE','XXFMPROJ','FD
MS','TSC','PDM','XXFM_SCADA')
and status='INVALID' group by owner,object_type order by 1 asc;
REORG ACTIVITY
$expdp parfile=expdp_parfile.par
userid=system/Fm5yqaxcftOpX1@PROD
directory=BKPDP
dumpfile=expdp_CUST_SCHEMA_PROD_%U.dmp
logfile=expdp_CUST_SCHEMA_PROD.log
filesize=30G
parallel=6
schemas=XXFMIT,XXFMRE,XXFMCPS,XXFMCPS_VORTEX,SNDB,LEXICON,PRODI
CS,XXKTCS,SNSEG,XXALFAINFO,XXFMMFG_BARCODE,XXFMCPSAUTO,XXFINL
Y,XXFMCLICK,XXIRIS,FMPCMS,EXCISE,XXFMPROJ,FDMS,TSC,PDM,XXFM_SCA
DA,BOLINF,XXEMS
metrics=y
Once the export has been taken drop all the users.
Drop all schemas
SQL>@drop_users.sql
$impdp parfile=impdp_parfile.par
userid=system/Fm5yqaxcftOpX1@PROD
directory=BKPDP
dumpfile=expdp_CUST_SCHEMA_PROD_%U.dmp
logfile=impdp_CUST_SCHEMA_PROD.log
metrics=y
parallel=6
SQL>/home/oraprod/Reorg/Prod_grant1.sql
SQL>/home/oraprod/Reorg/Prod_grant2.sql
SQL>/home/oraprod/Reorg/Prod_grant3.sql
SQL>/home/oraprod/Reorg/Prod_grant4.sql
SQL>/home/oraprod/Reorg/Prod_grant5.sql
Prod_grant1.sql,Prod_grant2.sql,Prod_grant3.sql,Prod_grant4.sql,Prod_grant5.sql ------->
These ddl have to take before performing Reorg. I have created 5 sql files inorder to
accommodate ddl of 5 schemas in each sql file.
POST REORG CHECKS
$cd $ORACLE_HOME/rdbms/admin
!sq
Alter session set container=PROD;
SQL>@utlrp.sql
SQL>@ts_used
DB SIZE
SQL>@db_size