0% found this document useful (0 votes)
46 views7 pages

Reorg Activity Prod

The document outlines the steps to perform a reorganization activity on the PROD database. Key steps include: 1. Exporting schemas using Data Pump utilities and dropping all schemas. 2. Resizing datafiles to 1GB and 30GB to prepare for reorganization. 3. Importing all schemas and granting access. 4. Performing post reorg checks like validating objects and compiling invalid objects.

Uploaded by

Ramoji apps
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
46 views7 pages

Reorg Activity Prod

The document outlines the steps to perform a reorganization activity on the PROD database. Key steps include: 1. Exporting schemas using Data Pump utilities and dropping all schemas. 2. Resizing datafiles to 1GB and 30GB to prepare for reorganization. 3. Importing all schemas and granting access. 4. Performing post reorg checks like validating objects and compiling invalid objects.

Uploaded by

Ramoji apps
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 7

REORG ACTIVITY PROD

PRE REORG STEPS:

"PRODICS"."XXFMICS_DRAWING_ATTACHMENTS"
"XXFMIT"."XXFMCSD_COMP_ATTACHMENT"

desc XXFMIT.XXFMCSD_COMP_ATTACHMENT;

create table corrupt_lobs_xxfmit1 (corrupt_rowid rowid, err_num number);

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;
/

select * from corrupt_lobs_xxfmit1;

update XXFMIT.XXFMCSD_COMP_ATTACHMENT set ATTACHMENT=empty_blob()


where rowid in (select corrupt_rowid from corrupt_lobs_xxfmit);

create table corrupt_lobs_xxfmit2 (corrupt_rowid rowid, err_num number);

select * from corrupt_lobs_xxfmit2;

Result has to be no row selected which indicates the corruption has been removed.

Like same do it for PRODICS.XXFMICS_DRAWING_ATTACHMENTS


Take ddl for schema’s under XBOL_TS_TX_DATA

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

Create directory for dump files

$mkdir -p /______/DUMP_FILES

SQL>create or replace directory BKPDP as '/_____/DUMP_FILES';

Take tablespace size:


SQL>@ts_used

Take Disk space use:


$ df -h

Take DB Size
SQL> @db_size

Drop backup tables


SQL>/home/oraprod/Reorg/drop_bkp_table.sql

SQL> truncate table XXFMIT.XXFMCST_FG_PRODUCT_EXPLODE;


Connect as PDB take invalid and valid object count for all schema’s.

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

Export Schemas using parfile

$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

drop user XXFMIT cascade;


drop user XXFMRE cascade;
drop user XXFMCPS cascade;
drop user XXFMCPS_VORTEX cascade;
drop user SNDB cascade;
drop user LEXICON cascade;
drop user PRODICS cascade;
drop user XXKTCS cascade;
drop user SNSEG cascade;
drop user XXALFAINFO cascade;
drop user XXFMMFG_BARCODE cascade;
drop user XXFMCPSAUTO cascade;
drop user XXFINLY cascade;
drop user XXFMCLICK cascade;
drop user XXIRIS cascade;
drop user FMPCMS cascade;
drop user EXCISE cascade;
drop user XXFMPROJ cascade;
drop user FDMS cascade;
drop user TSC cascade;
drop user PDM cascade;
drop user XXFM_SCADA cascade;
drop user BOLINF cascade;
drop user XXEMS cascade;

332,325,330,331 -----> These datafiles have to be added in sql files

RESIZE DATAFILES 1GB:


SQL>@df_resize_1g.sql

alter database datafile 226 resize 1g;


alter database datafile 227 resize 1g;
alter database datafile 228 resize 1g;
alter database datafile 229 resize 1g;
alter database datafile 230 resize 1g;
alter database datafile 231 resize 1g;
alter database datafile 232 resize 1g;
alter database datafile 207 resize 1g;
alter database datafile 205 resize 1g;
alter database datafile 204 resize 1g;
alter database datafile 203 resize 1g;
alter database datafile 275 resize 1g;
alter database datafile 278 resize 1g;
alter database datafile 279 resize 1g;
alter database datafile 282 resize 1g;
alter database datafile 305 resize 1g;
alter database datafile 313 resize 1g;
alter database datafile 268 resize 1g;
alter database datafile 269 resize 1g;
alter database datafile 270 resize 1g;
alter database datafile 272 resize 1g;
alter database datafile 273 resize 1g;
alter database datafile 274 resize 1g;
alter database datafile 284 resize 1g;
alter database datafile 290 resize 1g;
alter database datafile 298 resize 1g;
alter database datafile 306 resize 1g;
alter database datafile 308 resize 1g;
alter database datafile 309 resize 1g;
alter database datafile 225 resize 1g;
alter database datafile 325resize 1g;
alter database datafile 332resize 1g;

RESIZE DATAFILES 30GB:


SQL>@df_resize_30g.sql
alter database datafile 233 resize 30g;
alter database datafile 234 resize 30g;
alter database datafile 235 resize 30g;
alter database datafile 236 resize 30g;
alter database datafile 237 resize 30g;
alter database datafile 238 resize 30g;
alter database datafile 239 resize 30g;
alter database datafile 240 resize 30g;
alter database datafile 241 resize 30g;
alter database datafile 242 resize 30g;
alter database datafile 243 resize 30g;
alter database datafile 244 resize 30g;
alter database datafile 245 resize 30g;
alter database datafile 246 resize 30g;
alter database datafile 247 resize 30g;
alter database datafile 307 resize 30g;
alter database datafile 250 resize 30g;
alter database datafile 208 resize 30g;
alter database datafile 209 resize 30g;
alter database datafile 210 resize 30g;
alter database datafile 211 resize 30g;
alter database datafile 212 resize 30g;
alter database datafile 213 resize 30g;
alter database datafile 214 resize 30g;
alter database datafile 215 resize 30g;
alter database datafile 216 resize 30g;
alter database datafile 217 resize 30g;
alter database datafile 218 resize 30g;
alter database datafile 219 resize 30g;
alter database datafile 220 resize 30g;
alter database datafile 221 resize 30g;
alter database datafile 222 resize 30g;
alter database datafile 223 resize 30g;
alter database datafile 224 resize 30g;
alter database datafile 206 resize 30g;
alter database datafile 202 resize 30g;
alter database datafile 248 resize 30g;
alter database datafile 249 resize 30g;
alter database datafile 262 resize 30g;
alter database datafile 263 resize 30g;
alter database datafile 264 resize 30g;
alter database datafile 330 resize 30g;
alter database datafile 331 resize 30g;

IMPORT ALL SCHEMAS:

$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

Grant access to schemas:


SQL>/home/oraprod/Reorg/NOV30/grant1.sql
SQL>/home/oraprod/Reorg/NOV30/grant2.sql
SQL>/home/oraprod/Reorg/NOV30/grant3.sql
SQL>/home/oraprod/Reorg/NOV30/dev_grants.sql
SQL>/home/oraprod/Reorg/NOV30/grant_md.sql
SQL>/home/oraprod/Reorg/PROD_CUST_GRT_MD.sql

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

CHECK VALID INVALID OBJECTS:

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;

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;

Compile invalid objects:

$cd $ORACLE_HOME/rdbms/admin
!sq
Alter session set container=PROD;
SQL>@utlrp.sql

SQL> select count(*) from dba_objects where status='INVALID';

Take tablespace size:

SQL>@ts_used

Disk space usage


$df -h

DB SIZE
SQL>@db_size

You might also like

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy