Saturday, February 15, 2025

Online_redefinition_reorg_steps_HistoryMessage_ST6.docx

 

--Ensure to take backup of table HISTORYMESSAGE in Prod and ST6. In ST6 we used below steps to take export:

 

create or replace directory ST6_Nimbus as '/pac/prod_backup/WF_MILESTONE'

grant read,write on directory ST6_NIMBUS to nimbus;

nohup expdp nimbus/bbnms0l4s2021 DIRECTORY = ST6_Nimbus DUMPFILE = WF_MILESTONE_20221025_%U.dmp filesize=10G TABLES=HISTORYMESSAGE PARALLEL=8 LOGFILE =WF_MILESTONE_20221025.log COMPRESSION=ALL &

 

-- Ensure to copy the table script using toad. In ST6 it was copied and pasted at end of this doc.

 

 

-- Ensure to take Snapshot before starting activity

-- Dependent object count and status

--check grant ans referential integrity

-- Tablespace free and available space

set timing on;

select    tbs.tablespace_name,

tot.bytes/1024/1024/1024 total,

tot.bytes/1024/1024/1024-sum(nvl(fre.bytes,0))/1024/1024/1024 used,

sum(nvl(fre.bytes,0))/1024/1024/1024 free,

(1-sum(nvl(fre.bytes,0))/tot.bytes)*100 pct

from      dba_free_space fre,

(select  tablespace_name, sum(bytes) bytes

from      dba_data_files

group by tablespace_name) tot,

dba_tablespaces tbs

where   tot.tablespace_name    = tbs.tablespace_name

and        fre.tablespace_name(+) = tbs.tablespace_name

group by tbs.tablespace_name, tot.bytes/1024, tot.bytes

union

select    tsh.tablespace_name,

dtf.bytes/1024/1024/1024 total,

sum(nvl(tsh.bytes_used,0))/1024/1024/1024 used,

sum(nvl(tsh.bytes_free,0))/1024/1024/1024 free,

(1-sum(nvl(tsh.bytes_free,0))/dtf.bytes)*100 pct

from             v$temp_space_header tsh,

(select tablespace_name, sum(bytes) bytes

from dba_temp_files

group by tablespace_name) dtf

where   dtf.tablespace_name     = tsh.tablespace_name(+)

group by tsh.tablespace_name, dtf.bytes/1024/1024/1024, dtf.bytes

order by 1;

 

TABLESPACE_NAME                     TOTAL       USED       FREE        PCT

------------------------------ ---------- ---------- ---------- ----------

GGS_DATA                               30 .000976563 29.9990234 .003255208

JBBOS_ARCHIVE                         255 104.233032 150.766968 40.8756989

JBBOS_DAT                            4770 3678.96765 1091.03235 77.1272044

JBBOS_DAT_1                         752.5 166.051270 586.448730 22.0666139

JBBOS_IDX                         1233.75 685.821899 547.928101 55.5884012

SYSAUX                                 30 20.1910400 9.80895996 67.3034668

SYSTEM                                 30 1.02807617 28.9719238 3.42692057

TEMP                                  120 119.992188   .0078125 99.9934896

TOOLS                                  30 .000976563 29.9990234 .003255208

UNDOTBS1                               60 26.2839966 33.7160034 43.8066610

UNDOTBS2                               60 52.8189087 7.18109131 88.0315145

UNDOTBS3                               60 59.7031860 .296813965 99.5053101

UNDOTBS4                               90 88.0750732 1.92492676 97.8611925

UNDOTBS5                               60 59.5672607 .432739258 99.2787679

UNDOTBS6                               60 39.5926514 20.4073486 65.9877523

USERS                                  30 .000976563 29.9990234 .003255208

VENUS_DAT                              90 71.7305908 18.2694092 79.7006565

 

17 rows selected.

Elapsed: 00:00:21.98

 

 

 

--Count of indexes,triggers,synonyms and constraints

set timing on;

 

select index_name from user_indexes where table_name='HISTORYMESSAGE';

select trigger_name from user_triggers where table_name='HISTORYMESSAGE';

select constraint_name from user_constraints where table_name='HISTORYMESSAGE';

select synonym_name from user_synonyms where table_name='HISTORYMESSAGE';

 

INDEX_NAME                                                                     

--------------------------------------------------------------------------------

HISTORYMESSAGE_PK                                                              

I_HSTRMSG_SONUM                                                                

I_HSTRMSG_TASKID                                                               

I_HSTRMSG_SOERRID                                                              

I_HSTRMSG_SOVID                                                                

I_HSTRMSG_BANNUMBER                                                            

I_HSTRMSG_PRODUCTTYPE                                                          

 

7 rows selected.

Elapsed: 00:00:01.26

no rows selected.

Elapsed: 00:00:02.32

 

CONSTRAINT_NAME                                                                

--------------------------------------------------------------------------------

SYS_C00286531                                                                  

1 row selected.

Elapsed: 00:00:04.42

no rows selected.

Elapsed: 00:00:01.50

 

--Count of invalid objects in schema:

 

SELECT OBJECT_NAME, OBJECT_TYPE,status

    FROM USER_OBJECTS where status <>'VALID';

 

OBJECT_NAME                                                                    

--------------------------------------------------------------------------------

OBJECT_TYPE             STATUS

----------------------- -------

IPTVBATCHMIGRATION                                                             

PACKAGE BODY            INVALID

                                                                               

MULTITHREAD_MIGRATION_UTIL                                                     

PACKAGE BODY            INVALID

                                                                               

ORDERANALYSIS                                                                  

PACKAGE BODY            INVALID

                                                                               

PRIORITYORDER                                                                  

PACKAGE BODY            INVALID

                                                                               

SUBMIGRATION                                                                   

PACKAGE BODY            INVALID

                                                                               

SUPPORT_UTIL                                                                   

PACKAGE BODY            INVALID

                                                                               

UV10BATCHMIGRATION                                                             

 

OBJECT_NAME                                                                    

--------------------------------------------------------------------------------

OBJECT_TYPE             STATUS

----------------------- -------

PACKAGE BODY            INVALID

                                                                               

CHECK_YESTERDAY_REC                                                            

PROCEDURE               INVALID

                                                                               

CLOB_TO_BLOB                                                                   

PROCEDURE               INVALID

                                                                               

DM_MIGRATE_SUBTYPE                                                             

PROCEDURE               INVALID

                                                                               

GRANITE_REPORT_TEST                                                            

PROCEDURE               INVALID

                                                                               

MIGRATION_NPATTA                                                               

PROCEDURE               INVALID

                                                                               

MIGRATION_SUBTYPE                                                              

PROCEDURE               INVALID

 

OBJECT_NAME                                                                    

--------------------------------------------------------------------------------

OBJECT_TYPE             STATUS

----------------------- -------

                                                                               

MIGRATION_WIRECENTER                                                           

PROCEDURE               INVALID

                                                                               

OUTPUT_BKDN_REPORT_DATA                                                        

PROCEDURE               INVALID

                                                                               

OUTPUT_BREAK_REPORT_DATA                                                       

PROCEDURE               INVALID

                                                                               

OUTPUT_EXP_REPORT_DATA                                                         

PROCEDURE               INVALID

                                                                               

OUTPUT_SPLIT_REPORT_DATA                                                       

PROCEDURE               INVALID

                                                                               

TEST_GRANITE                                                                   

PROCEDURE               INVALID

                                                                               

 

OBJECT_NAME                                                                    

--------------------------------------------------------------------------------

OBJECT_TYPE             STATUS

----------------------- -------

TEST_PROC                                                                      

PROCEDURE               INVALID

                                                                               

BATCHORDER                                                                     

PACKAGE BODY            INVALID

                                                                               

DBCLEANUP                                                                      

PACKAGE BODY            INVALID

                                                                               

DB_UTIL                                                                        

PACKAGE BODY            INVALID

                                                                               

HIBERNATE_MIGRATION                                                            

PACKAGE BODY            INVALID

                                                                               

DUE_ORDER_SUMMARY                                                              

VIEW                    INVALID

                                                                               

FAILED_ORDER_SUMMARY                                                           

 

OBJECT_NAME                                                                    

--------------------------------------------------------------------------------

OBJECT_TYPE             STATUS

----------------------- -------

VIEW                    INVALID

                                                                               

NONFAILED_ORDER_SUMMARY                                                        

VIEW                    INVALID

                                                                               

ORDER_DUE_BY_TYPE                                                              

VIEW                    INVALID

                                                                               

ORDER_STATUS_BY_TYPE                                                           

VIEW                    INVALID

                                                                               

WFMBISMIGRATION                                                                

PROCEDURE               INVALID

                                                                               

WORKFLOWMIGRATION                                                              

PROCEDURE               INVALID

                                                                               

 

31 rows selected.

Elapsed: 00:00:01.05

 

--Index Status before reorg

set timing on;

SELECT OBJECT_NAME, OBJECT_TYPE,status

    FROM USER_OBJECTS

 where object_name in (select index_name from user_indexes where table_name='HISTORYMESSAGE') and status<>'VALID';

 

no rows selected.

--Find ASM diskgroup space:

The Following query can be used to find out the total/free space in ASM Diskgroups: SQL:

set timing on;

 

ASM>select name,total_mb/1024 TOTAL_in_GB,free_mb/1024 FREE_in_GB,state from v$asm_diskgroup;

ASMCMD tool can also be used to find the free space.

 

 

 

--To check Fragmanted space:

 

 

select table_name,blocks,num_rows,avg_row_len,round(((blocks*8/1024)),0) "TOTAL_SIZE",

round((num_rows*avg_row_len/1024/1024),0) "ACTUAL_SIZE",

round(((blocks*8/1024)-(num_rows*avg_row_len/1024/1024)),0) "FRAGMENTED_SPACE" from

user_tables where round(((blocks*8/1024)-(num_rows*avg_row_len/1024/1024)),2)

> 100 order by 7 desc;

 

 

select

 table_name,round(((blocks*8)/1024/1024),2) "size (gb)" ,

 round(((num_rows*avg_row_len/1024))/1024/1024,2) "actual_data (gb)",

 round((((blocks*8)) - ((num_rows*avg_row_len/1024)))/1024/1024,2) "wasted_space (gb)",

 round(((((blocks*8)-(num_rows*avg_row_len/1024))/(blocks*8))*100 -10),2) "reclaimable space %",

 partitioned

from

 user_tables

where table_name='HISTORYMESSAGE' and

 (round((blocks*8),2) > round((num_rows*avg_row_len/1024),2))

order by 4 desc;

 

A picture containing text

Description automatically generated

 

COLUMN OBJECT_NAME FORMAT A40

COLUMN OBJECT_NAME FORMAT A40

SELECT OBJECT_NAME, OBJECT_TYPE, STATUS FROM DBA_OBJECTS WHERE OWNER='NIMBUS' and object_name like '%HISTORYMESSAGE%';

 

--Gather table stats:

exec DBMS_STATS.GATHER_TABLE_STATS('NIMBUS', 'HISTORYMESSAGE',  degree=>6, method_opt=> 'for all columns size 1', granularity => 'AUTO', ESTIMATE_PERCENT=>DBMS_STATS.AUTO_SAMPLE_SIZE, CASCADE=>TRUE);

 

PL/SQL procedure successfully completed.

Elapsed: 00:14:18.73

--Check the Table size and Index size

--Table and Index size output  before REORG :-

 

select segment_name,TABLESPACE_NAME ,segment_type, bytes/1024/1024/1024 size_gb from user_segments where segment_name = 'HISTORYMESSAGE' or

 segment_name in (select index_name from user_indexes where table_name='HISTORYMESSAGE');

HISTORYMESSAGE

JBBOS_DAT

TABLE

226.7764

I_HSTRMSG_PRODUCTTYPE

JBBOS_DAT

INDEX

17.90918

HISTORYMESSAGE_PK

JBBOS_IDX

INDEX PARTITION

1.866638

HISTORYMESSAGE_PK

JBBOS_IDX

INDEX PARTITION

2.965454

HISTORYMESSAGE_PK

JBBOS_IDX

INDEX PARTITION

1.671753

HISTORYMESSAGE_PK

JBBOS_IDX

INDEX PARTITION

2.402893

HISTORYMESSAGE_PK

JBBOS_IDX

INDEX PARTITION

2.152893

HISTORYMESSAGE_PK

JBBOS_IDX

INDEX PARTITION

1.903381

HISTORYMESSAGE_PK

JBBOS_IDX

INDEX PARTITION

1.652893

HISTORYMESSAGE_PK

JBBOS_IDX

INDEX PARTITION

2.340393

HISTORYMESSAGE_PK

JBBOS_IDX

INDEX PARTITION

1.879578

HISTORYMESSAGE_PK

JBBOS_IDX

INDEX PARTITION

2.090393

HISTORYMESSAGE_PK

JBBOS_IDX

INDEX PARTITION

1.652466

HISTORYMESSAGE_PK

JBBOS_IDX

INDEX PARTITION

1.528015

HISTORYMESSAGE_PK

JBBOS_IDX

INDEX PARTITION

2.715515

HISTORYMESSAGE_PK

JBBOS_IDX

INDEX PARTITION

2.248657

HISTORYMESSAGE_PK

JBBOS_IDX

INDEX PARTITION

2.778198

I_HSTRMSG_BANNUMBER

JBBOS_IDX

INDEX PARTITION

1.828979

I_HSTRMSG_BANNUMBER

JBBOS_IDX

INDEX PARTITION

1.823547

I_HSTRMSG_BANNUMBER

JBBOS_IDX

INDEX PARTITION

1.867004

I_HSTRMSG_BANNUMBER

JBBOS_IDX

INDEX PARTITION

3.632019

I_HSTRMSG_BANNUMBER

JBBOS_IDX

INDEX PARTITION

2.139038

I_HSTRMSG_BANNUMBER

JBBOS_IDX

INDEX PARTITION

1.833801

I_HSTRMSG_BANNUMBER

JBBOS_IDX

INDEX PARTITION

5.700745

I_HSTRMSG_BANNUMBER

JBBOS_IDX

INDEX PARTITION

5.493835

I_HSTRMSG_SOVID

JBBOS_IDX

INDEX PARTITION

0.948853

I_HSTRMSG_SOVID

JBBOS_IDX

INDEX PARTITION

1.212463

I_HSTRMSG_SOVID

JBBOS_IDX

INDEX PARTITION

4.927307

I_HSTRMSG_SOVID

JBBOS_IDX

INDEX PARTITION

0.915039

I_HSTRMSG_SOVID

JBBOS_IDX

INDEX PARTITION

3.450012

I_HSTRMSG_SOVID

JBBOS_IDX

INDEX PARTITION

3.112549

I_HSTRMSG_SOVID

JBBOS_IDX

INDEX PARTITION

2.032104

I_HSTRMSG_SOVID

JBBOS_IDX

INDEX PARTITION

2.060242

I_HSTRMSG_SOERRID

JBBOS_IDX

INDEX PARTITION

6.10E-05

I_HSTRMSG_SOERRID

JBBOS_IDX

INDEX PARTITION

6.10E-05

I_HSTRMSG_SOERRID

JBBOS_IDX

INDEX PARTITION

6.10E-05

I_HSTRMSG_SOERRID

JBBOS_IDX

INDEX PARTITION

6.10E-05

I_HSTRMSG_SOERRID

JBBOS_IDX

INDEX PARTITION

6.10E-05

I_HSTRMSG_SOERRID

JBBOS_IDX

INDEX PARTITION

6.10E-05

I_HSTRMSG_SOERRID

JBBOS_IDX

INDEX PARTITION

6.10E-05

I_HSTRMSG_SOERRID

JBBOS_IDX

INDEX PARTITION

6.10E-05

I_HSTRMSG_TASKID

JBBOS_IDX

INDEX PARTITION

6.870972

I_HSTRMSG_TASKID

JBBOS_IDX

INDEX PARTITION

6.882751

I_HSTRMSG_TASKID

JBBOS_IDX

INDEX PARTITION

6.918457

I_HSTRMSG_TASKID

JBBOS_IDX

INDEX PARTITION

6.917358

I_HSTRMSG_TASKID

JBBOS_IDX

INDEX PARTITION

6.920959

I_HSTRMSG_TASKID

JBBOS_IDX

INDEX PARTITION

6.902527

I_HSTRMSG_TASKID

JBBOS_IDX

INDEX PARTITION

6.917542

I_HSTRMSG_TASKID

JBBOS_IDX

INDEX PARTITION

6.936523

I_HSTRMSG_SONUM

JBBOS_IDX

INDEX PARTITION

2.272644

I_HSTRMSG_SONUM

JBBOS_IDX

INDEX PARTITION

2.211853

I_HSTRMSG_SONUM

JBBOS_IDX

INDEX PARTITION

3.20636

I_HSTRMSG_SONUM

JBBOS_IDX

INDEX PARTITION

4.943176

I_HSTRMSG_SONUM

JBBOS_IDX

INDEX PARTITION

2.225281

I_HSTRMSG_SONUM

JBBOS_IDX

INDEX PARTITION

3.766724

I_HSTRMSG_SONUM

JBBOS_IDX

INDEX PARTITION

6.312683

I_HSTRMSG_SONUM

JBBOS_IDX

INDEX PARTITION

2.09314

HISTORYMESSAGE_PK

JBBOS_IDX

INDEX PARTITION

1.90271

 

--Last analyzed

SELECT LAST_ANALYZED FROM user_TABLES WHERE TABLE_NAME IN 'HISTORYMESSAGE';

A picture containing text

Description automatically generated

--High water mark(HWM) check query :

 

 

select a.table_name,b.blocks alcblks,a.blocks usdblks,(b.blocks-a.empty_blocks-1) hgwtr

 from user_tables a,user_segments b where a.table_name=b.segment_name

 and a.blocks <> (b.blocks-a.empty_blocks-1)

 and  a.table_name like 'HISTORYMESSAGE'

 order by 1,2;

2nd Method: Redifinition:

grant execute on  DBMS_REDEFINITION to Nimbus;

grant redefine any table to nimbus;

grant CREATE ANY TABLE to NIMBUS;

grant ALTER ANY TABLE to NIMBUS;

grant DROP ANY TABLE to NIMBUS;

grant LOCK ANY TABLE to NIMBUS;

grant SELECT ANY TABLE to NIMBUS;

Grant CREATE ANY TRIGGER to NIMBUS;

Grant CREATE ANY INDEX to NIMBUS;

Grant CREATE VIEW to NIMBUS;

Grant CREATE MATERIALIZED VIEW to NIMBUS;

Grant execute any procedure to nimbus;

Grant select any dictionary to nimbus;

--Verify that the table is a candidate for online redefinition. In this case you specify that the redefinition is to be done using primary keys or pseudo-primary keys.

--priviledged user is needed

set timing on;

 

1.

BEGIN

  DBMS_REDEFINITION.CAN_REDEF_TABLE('NIMBUS','HISTORYMESSAGE',

      DBMS_REDEFINITION.CONS_USE_PK);

END;

/

 

--If table is candidate then it will return PL/SQL procedure successfully completed otherwise it raises an error.

2,

set timing on;

 

alter session force parallel dml parallel 16;

alter session force parallel query parallel 16;

 

Session altered.

Elapsed: 00:00:01.52

Session altered.

Elapsed: 00:00:00.40

 

 

 

3.

set timing on;

 

CREATE TABLE HISTORYMESSAGE_REORG AS SELECT * FROM HISTORYMESSAGE WHERE 1=2 ;

Table created.

Elapsed: 00:00:00.52

 

--Not Null constraint should not be created and dropped if created.

 

select constraint_name from user_constraints where table_name ='HISTORYMESSAGE_REORG';

 

alter table historymessage_reorg drop constraint sys_C00294849;

 

 

SELECT COUNT(*) FROM HISTORYMESSAGE_REORG ;

 

  COUNT(*)

 ----------

     0

 

 

 

--START REDEFINITION

set timing on;

 

EXEC DBMS_REDEFINITION.START_REDEF_TABLE('NIMBUS','HISTORYMESSAGE', 'HISTORYMESSAGE_REORG');

 

PL/SQL procedure successfully completed.

Elapsed: 00:12:00.70

--COPY DEPENDENT OBJECTS

The following automatically copy dependent objects like mview, primary key, view, sequence, and triggers.

IGNORE_ERROR is set to TRUE to avoid primary key violation with the COPY_TABLE_DEPENDENTS command.

 

set timing on;

 

DECLARE

      N PLS_INTEGER;

BEGIN

    DBMS_REDEFINITION.COPY_TABLE_DEPENDENTS('NIMBUS','HISTORYMESSAGE', 'HISTORYMESSAGE_REORG',

    DBMS_REDEFINITION.CONS_ORIG_PARAMS, TRUE, TRUE, TRUE, TRUE, N);

END;

/

 

PL/SQL procedure successfully completed.

Elapsed: 04:50:19.35

--CHECK FOR ERRORS

set timing on;

COL OBJECT_NAME FOR A25

SET LIN200 PAGES 200

COL DDL_TEXT FOR A60

SELECT OBJECT_NAME, BASE_TABLE_NAME, DDL_TXT FROM DBA_REDEFINITION_ERRORS;

No error

 

PL/SQL PROCEDURE SUCCESSFULLY COMPLETED.

--VALIDATE BOTH TABLES

The following validates the row count on both tables and syncing with the interim table:

set timing on;

SELECT COUNT(*) FROM NIMBUS.HISTORYMESSAGE_REORG ;

 

set timing on;

SELECT COUNT(*) FROM NIMBUS.HISTORYMESSAGE ;

 

 

  COUNT(*)

----------

 715618108

1 row selected.

Elapsed: 00:01:03.19

 

  COUNT(*)

----------

 715621658

1 row selected.

Elapsed: 00:02:27.26

 

 

set timing on;

 

EXEC DBMS_REDEFINITION.SYNC_INTERIM_TABLE('NIMBUS','HISTORYMESSAGE','HISTORYMESSAGE_REORG');

 

PL/SQL procedure successfully completed.

Elapsed: 00:02:27.91

--FINISH THE REDEFINITION

The following  finishes the redefinition:

set timing on;

EXEC DBMS_REDEFINITION.FINISH_REDEF_TABLE ('NIMBUS','HISTORYMESSAGE','HISTORYMESSAGE_REORG');

 

PL/SQL procedure successfully completed.

Elapsed: 00:02:42.11

SQL>

COLUMN OBJECT_NAME FORMAT A40

COLUMN OBJECT_NAME FORMAT A40

SELECT OBJECT_NAME, OBJECT_TYPE, STATUS FROM DBA_OBJECTS WHERE OWNER='NIMBUS' and object_name like '%HISTORYMESSAGE%';

 

 

--High water mark(HWM) check query post upgrade:

 

 

select a.table_name,b.blocks alcblks,a.blocks usdblks,(b.blocks-a.empty_blocks-1) hgwtr

 from user_tables a,user_segments b where a.table_name=b.segment_name

 and a.blocks <> (b.blocks-a.empty_blocks-1)

 and  a.table_name like 'HISTORYMESSAGE'

 order by 1,2;

 

A picture containing text

Description automatically generated

 

 

--CHECK ERROR AND RECOMPILE THE SCHEMA

If any invalid objects are there recompile them. Other wise ignore.

 

--EXEC UTL_RECOMP.RECOMP_SERIAL('NIMBUS') ;

 

Gather table stats:

exec DBMS_STATS.GATHER_TABLE_STATS('NIMBUS', 'HISTORYMESSAGE',  degree=>6, method_opt=> 'for all columns size 1', granularity => 'AUTO', ESTIMATE_PERCENT=>DBMS_STATS.AUTO_SAMPLE_SIZE, CASCADE=>TRUE);

 

SELECT OBJECT_NAME, OBJECT_TYPE, STATUS FROM DBA_OBJECTS WHERE OWNER='NIMBUS' and object_name='HISTORYMESSAGE';

 

 

--To check Fragmanted space:

 

select

 table_name,round(((blocks*8)/1024/1024),2) "size (gb)" ,

 round(((num_rows*avg_row_len/1024))/1024/1024,2) "actual_data (gb)",

 round((((blocks*8)) - ((num_rows*avg_row_len/1024)))/1024/1024,2) "wasted_space (gb)",

 round(((((blocks*8)-(num_rows*avg_row_len/1024))/(blocks*8))*100 -10),2) "reclaimable space %",

 partitioned

from

 user_tables

where table_name='HISTORYMESSAGE' and

 (round((blocks*8),2) > round((num_rows*avg_row_len/1024),2))

order by 4 desc;

Text, table

Description automatically generated

 

--Table and Index size output  after REORG :-

 

select segment_name,TABLESPACE_NAME ,segment_type, bytes/1024/1024/1024 size_gb from user_segments where segment_name = 'HISTORYMESSAGE' or

 segment_name in (select index_name from user_indexes where table_name='HISTORYMESSAGE');

 

HISTORYMESSAGE_PK   JBBOS_IDX          INDEX PARTITION            1.0693359375

I_HSTRMSG_BANNUMBER          JBBOS_IDX          INDEX PARTITION            1.1875

I_HSTRMSG_BANNUMBER          JBBOS_IDX          INDEX PARTITION            1.1875

HISTORYMESSAGE_PK   JBBOS_IDX          INDEX PARTITION            1.0625

HISTORYMESSAGE_PK   JBBOS_IDX          INDEX PARTITION            1.0625

I_HSTRMSG_SONUM     JBBOS_IDX          INDEX PARTITION            4.0673828125

I_HSTRMSG_SOERRID    JBBOS_IDX          INDEX PARTITION            6.103515625E-5

I_HSTRMSG_SOERRID    JBBOS_IDX          INDEX PARTITION            6.103515625E-5

I_HSTRMSG_TASKID       JBBOS_IDX          INDEX PARTITION            5

I_HSTRMSG_SOVID         JBBOS_IDX          INDEX PARTITION            1.625

I_HSTRMSG_SOVID         JBBOS_IDX          INDEX PARTITION            0.5390625

I_HSTRMSG_SOVID         JBBOS_IDX          INDEX PARTITION            3.125

HISTORYMESSAGE_PK   JBBOS_IDX          INDEX PARTITION            1.0625

HISTORYMESSAGE_PK   JBBOS_IDX          INDEX PARTITION            1.0625

I_HSTRMSG_SOERRID    JBBOS_IDX          INDEX PARTITION            6.103515625E-5

I_HSTRMSG_TASKID       JBBOS_IDX          INDEX PARTITION            4.970703125

I_HSTRMSG_BANNUMBER          JBBOS_IDX          INDEX PARTITION            5.0625

I_HSTRMSG_BANNUMBER          JBBOS_IDX          INDEX PARTITION            1.25

HISTORYMESSAGE_PK   JBBOS_IDX          INDEX PARTITION            1.0625

I_HSTRMSG_SONUM     JBBOS_IDX          INDEX PARTITION            1.33984375

HISTORYMESSAGE_PK   JBBOS_IDX          INDEX PARTITION            1.0625

HISTORYMESSAGE_PK   JBBOS_IDX          INDEX PARTITION            1.11328125

HISTORYMESSAGE_PK   JBBOS_IDX          INDEX PARTITION            1.0625

HISTORYMESSAGE_PK   JBBOS_IDX          INDEX PARTITION            1.0625

I_HSTRMSG_TASKID       JBBOS_IDX          INDEX PARTITION            4.982421875

I_HSTRMSG_SONUM     JBBOS_IDX          INDEX PARTITION            1.25

I_HSTRMSG_SOVID         JBBOS_IDX          INDEX PARTITION            0.5625

I_HSTRMSG_BANNUMBER          JBBOS_IDX          INDEX PARTITION            2.6875

HISTORYMESSAGE_PK   JBBOS_IDX          INDEX PARTITION            1.0625

I_HSTRMSG_SONUM     JBBOS_IDX          INDEX PARTITION            1.25

HISTORYMESSAGE           JBBOS_DAT        TABLE    184.997314453125

HISTORYMESSAGE_PK   JBBOS_IDX          INDEX PARTITION            1.0625

I_HSTRMSG_TASKID       JBBOS_IDX          INDEX PARTITION            5

I_HSTRMSG_SONUM     JBBOS_IDX          INDEX PARTITION            2.375

I_HSTRMSG_SONUM     JBBOS_IDX          INDEX PARTITION            5.314453125

I_HSTRMSG_SONUM     JBBOS_IDX          INDEX PARTITION            1.3125

I_HSTRMSG_BANNUMBER          JBBOS_IDX          INDEX PARTITION            1.375

I_HSTRMSG_SOVID         JBBOS_IDX          INDEX PARTITION            2.1875

I_HSTRMSG_TASKID       JBBOS_IDX          INDEX PARTITION            4.9853515625

I_HSTRMSG_TASKID       JBBOS_IDX          INDEX PARTITION            4.9375

I_HSTRMSG_TASKID       JBBOS_IDX          INDEX PARTITION            5.0029296875

I_HSTRMSG_TASKID       JBBOS_IDX          INDEX PARTITION            4.982421875

I_HSTRMSG_SOVID         JBBOS_IDX          INDEX PARTITION            0.84375

I_HSTRMSG_SOERRID    JBBOS_IDX          INDEX PARTITION            6.103515625E-5

I_HSTRMSG_SOERRID    JBBOS_IDX          INDEX PARTITION            6.103515625E-5

I_HSTRMSG_SOERRID    JBBOS_IDX          INDEX PARTITION            6.103515625E-5

I_HSTRMSG_BANNUMBER          JBBOS_IDX          INDEX PARTITION            4.7685546875

I_HSTRMSG_SOERRID    JBBOS_IDX          INDEX PARTITION            6.103515625E-5

I_HSTRMSG_SONUM     JBBOS_IDX          INDEX PARTITION            2.875

I_HSTRMSG_SOVID         JBBOS_IDX          INDEX PARTITION            1.75

I_HSTRMSG_SOVID         JBBOS_IDX          INDEX PARTITION            4.4375

HISTORYMESSAGE_PK   JBBOS_IDX          INDEX PARTITION            1.0625

HISTORYMESSAGE_PK   JBBOS_IDX          INDEX PARTITION            1.0625

HISTORYMESSAGE_PK   JBBOS_IDX          INDEX PARTITION            1.0625

I_HSTRMSG_BANNUMBER          JBBOS_IDX          INDEX PARTITION            1.1875

HISTORYMESSAGE_PK   JBBOS_IDX          INDEX PARTITION            1.0625

I_HSTRMSG_PRODUCTTYPE        JBBOS_DAT        INDEX   13.5869140625

I_HSTRMSG_SOERRID    JBBOS_IDX          INDEX PARTITION            6.103515625E-5

 

--Count of indexes,triggers,synonyms and constraints

 

select index_name from user_indexes where table_name='HISTORYMESSAGE';

select trigger_name from user_triggers where table_name='HISTORYMESSAGE';

select constraint_name from user_constraints where table_name='HISTORYMESSAGE';

select synonym_name from user_synonyms where table_name='HISTORYMESSAGE';

 

 

INDEX_NAME                                                                     

--------------------------------------------------------------------------------

I_HSTRMSG_PRODUCTTYPE                                                          

I_HSTRMSG_BANNUMBER                                                            

I_HSTRMSG_SOVID                                                                

I_HSTRMSG_SOERRID                                                              

I_HSTRMSG_TASKID                                                               

I_HSTRMSG_SONUM                                                                

HISTORYMESSAGE_PK                                                              

 

7 rows selected.

no rows selected.

 

CONSTRAINT_NAME                                                                

--------------------------------------------------------------------------------

SYS_C00286531                                                                  

1 row selected.

no rows selected.

 

 

 

 

SELECT OBJECT_NAME, OBJECT_TYPE,status

    FROM USER_OBJECTS where status <>'VALID';

 

--Index Status before reorg

    SELECT OBJECT_NAME, OBJECT_TYPE,status

    FROM USER_OBJECTS

 where object_name in (select index_name from user_indexes where table_name='HISTORYMESSAGE');

 

--DROP THE INTERIM TABLE

 

DROP TABLE NIMBUS.HISTORYMESSAGE_REORG;

 

 

 

Provide below grant in Prod:

GRANT SELECT ON NIMBUS.HISTORYMESSAGE TO NIMBUS_READ;

 

GRANT DELETE, INSERT, SELECT, UPDATE ON NIMBUS.HISTORYMESSAGE TO NIMBUS_RW;

 

GRANT READ ON NIMBUS.HISTORYMESSAGE TO VS3090;

________________________________________________________________

 

--HISTORYMESSAGE script in ST6

 

DROP TABLE NIMBUS.HISTORYMESSAGE CASCADE CONSTRAINTS;

 

CREATE TABLE NIMBUS.HISTORYMESSAGE

(

  ID                          NUMBER            NOT NULL,

  ACTIVITYNAME                VARCHAR2(255 BYTE),

  DATE0                       TIMESTAMP(6),

  EXECUTEDATETIME             TIMESTAMP(6),

  HOSTNAME                    VARCHAR2(255 BYTE),

  MANUAL                      VARCHAR2(255 BYTE),

  NOOP                        NUMBER,

  RETRYCOUNT                  NUMBER,

  SERVICEORDERNUMBER          VARCHAR2(255 BYTE),

  STATUS                      VARCHAR2(255 BYTE),

  SYSTEMNAME                  VARCHAR2(255 BYTE),

  TASKDEFINITIONID            VARCHAR2(255 BYTE),

  TASKID                      VARCHAR2(255 BYTE),

  TASKNAME                    VARCHAR2(255 BYTE),

  UID0                        VARCHAR2(255 BYTE),

  SERVICEORDERERROR_ID        NUMBER,

  SERVICEORDERVERSION_ID      NUMBER,

  VERSION                     NUMBER,

  BANNUMBER                   VARCHAR2(255 BYTE),

  SUBSCRIPTION_ID             NUMBER,

  CIRCUITID                   VARCHAR2(255 BYTE),

  CREATEDBY                   VARCHAR2(64 BYTE),

  INTERNALUSEONLY             NUMBER,

  STATUSMESSAGE               VARCHAR2(1000 BYTE),

  VERSIONNUMBER               VARCHAR2(64 BYTE),

  ORDERACTIONREFERENCENUMBER  VARCHAR2(64 BYTE),

  EXTERNALORDERNUMBER         VARCHAR2(32 BYTE),

  PRODUCTTYPE                 VARCHAR2(32 BYTE),

  SUPPLEMENTAL LOG GROUP GGS_67874 (ID) ALWAYS,

  SUPPLEMENTAL LOG DATA (PRIMARY KEY) COLUMNS,

  SUPPLEMENTAL LOG DATA (UNIQUE) COLUMNS,

  SUPPLEMENTAL LOG DATA (FOREIGN KEY) COLUMNS

)

TABLESPACE JBBOS_DAT

PCTUSED    0

PCTFREE    10

INITRANS   1

MAXTRANS   255

STORAGE    (

            INITIAL          64K

            NEXT             1M

            MAXSIZE          UNLIMITED

            MINEXTENTS       1

            MAXEXTENTS       UNLIMITED

            PCTINCREASE      0

            BUFFER_POOL      DEFAULT

           )

LOGGING

NOCOMPRESS

NOCACHE

MONITORING;

 

 

CREATE UNIQUE INDEX NIMBUS.HISTORYMESSAGE_PK ON NIMBUS.HISTORYMESSAGE

(ID)

  TABLESPACE JBBOS_DAT

  PCTFREE    20

  INITRANS   10

  MAXTRANS   255

  STORAGE    (

              BUFFER_POOL      DEFAULT

             )

GLOBAL PARTITION BY HASH (ID) ( 

  PARTITION ID_01

    TABLESPACE JBBOS_IDX, 

  PARTITION ID_02

    TABLESPACE JBBOS_IDX, 

  PARTITION ID_03

    TABLESPACE JBBOS_IDX, 

  PARTITION ID_04

    TABLESPACE JBBOS_IDX, 

  PARTITION ID_05

    TABLESPACE JBBOS_IDX, 

  PARTITION ID_06

    TABLESPACE JBBOS_IDX, 

  PARTITION ID_07

    TABLESPACE JBBOS_IDX, 

  PARTITION ID_08

    TABLESPACE JBBOS_IDX, 

  PARTITION ID_09

    TABLESPACE JBBOS_IDX, 

  PARTITION ID_10

    TABLESPACE JBBOS_IDX, 

  PARTITION ID_11

    TABLESPACE JBBOS_IDX, 

  PARTITION ID_12

    TABLESPACE JBBOS_IDX, 

  PARTITION ID_13

    TABLESPACE JBBOS_IDX, 

  PARTITION ID_14

    TABLESPACE JBBOS_IDX, 

  PARTITION ID_15

    TABLESPACE JBBOS_IDX, 

  PARTITION ID_16

    TABLESPACE JBBOS_IDX

);

 

CREATE INDEX NIMBUS.I_HSTRMSG_BANNUMBER ON NIMBUS.HISTORYMESSAGE

(BANNUMBER)

  TABLESPACE JBBOS_DAT

  PCTFREE    20

  INITRANS   10

  MAXTRANS   255

  STORAGE    (

              BUFFER_POOL      DEFAULT

             )

GLOBAL PARTITION BY HASH (BANNUMBER) ( 

  PARTITION I_HSTRMSG_BANNUMBER_01

    TABLESPACE JBBOS_IDX, 

  PARTITION I_HSTRMSG_BANNUMBER_02

    TABLESPACE JBBOS_IDX, 

  PARTITION I_HSTRMSG_BANNUMBER_03

    TABLESPACE JBBOS_IDX, 

  PARTITION I_HSTRMSG_BANNUMBER_04

    TABLESPACE JBBOS_IDX, 

  PARTITION I_HSTRMSG_BANNUMBER_05

    TABLESPACE JBBOS_IDX, 

  PARTITION I_HSTRMSG_BANNUMBER_06

    TABLESPACE JBBOS_IDX, 

  PARTITION I_HSTRMSG_BANNUMBER_07

    TABLESPACE JBBOS_IDX, 

  PARTITION I_HSTRMSG_BANNUMBER_08

    TABLESPACE JBBOS_IDX

);

 

CREATE INDEX NIMBUS.I_HSTRMSG_PRODUCTTYPE ON NIMBUS.HISTORYMESSAGE

(PRODUCTTYPE)

LOGGING

TABLESPACE JBBOS_DAT

PCTFREE    10

INITRANS   2

MAXTRANS   255

STORAGE    (

            INITIAL          64K

            NEXT             1M

            MAXSIZE          UNLIMITED

            MINEXTENTS       1

            MAXEXTENTS       UNLIMITED

            PCTINCREASE      0

            BUFFER_POOL      DEFAULT

           );

 

CREATE INDEX NIMBUS.I_HSTRMSG_SOERRID ON NIMBUS.HISTORYMESSAGE

(SERVICEORDERERROR_ID)

  TABLESPACE JBBOS_DAT

  PCTFREE    20

  INITRANS   10

  MAXTRANS   255

  STORAGE    (

              BUFFER_POOL      DEFAULT

             )

GLOBAL PARTITION BY HASH (SERVICEORDERERROR_ID) ( 

  PARTITION I_HSTRMSG_SOERRID_01

    TABLESPACE JBBOS_IDX, 

  PARTITION I_HSTRMSG_SOERRID_02

    TABLESPACE JBBOS_IDX, 

  PARTITION I_HSTRMSG_SOERRID_03

    TABLESPACE JBBOS_IDX, 

  PARTITION I_HSTRMSG_SOERRID_04

    TABLESPACE JBBOS_IDX, 

  PARTITION I_HSTRMSG_SOERRID_05

    TABLESPACE JBBOS_IDX, 

  PARTITION I_HSTRMSG_SOERRID_06

    TABLESPACE JBBOS_IDX, 

  PARTITION I_HSTRMSG_SOERRID_07

    TABLESPACE JBBOS_IDX, 

  PARTITION I_HSTRMSG_SOERRID_08

    TABLESPACE JBBOS_IDX

);

 

CREATE INDEX NIMBUS.I_HSTRMSG_SONUM ON NIMBUS.HISTORYMESSAGE

(SERVICEORDERNUMBER)

  TABLESPACE JBBOS_DAT

  PCTFREE    20

  INITRANS   10

  MAXTRANS   255

  STORAGE    (

              BUFFER_POOL      DEFAULT

             )

GLOBAL PARTITION BY HASH (SERVICEORDERNUMBER) ( 

  PARTITION I_HSTRMSG_SONUM_01

    TABLESPACE JBBOS_IDX, 

  PARTITION I_HSTRMSG_SONUM_02

    TABLESPACE JBBOS_IDX, 

  PARTITION I_HSTRMSG_SONUM_03

    TABLESPACE JBBOS_IDX, 

  PARTITION I_HSTRMSG_SONUM_04

    TABLESPACE JBBOS_IDX, 

  PARTITION I_HSTRMSG_SONUM_05

    TABLESPACE JBBOS_IDX, 

  PARTITION I_HSTRMSG_SONUM_06

    TABLESPACE JBBOS_IDX, 

  PARTITION I_HSTRMSG_SONUM_07

    TABLESPACE JBBOS_IDX, 

  PARTITION I_HSTRMSG_SONUM_08

    TABLESPACE JBBOS_IDX

);

 

CREATE INDEX NIMBUS.I_HSTRMSG_SOVID ON NIMBUS.HISTORYMESSAGE

(SERVICEORDERVERSION_ID)

  TABLESPACE JBBOS_DAT

  PCTFREE    20

  INITRANS   10

  MAXTRANS   255

  STORAGE    (

              BUFFER_POOL      DEFAULT

             )

GLOBAL PARTITION BY HASH (SERVICEORDERVERSION_ID) ( 

  PARTITION I_HSTRMSG_SOVID_01

    TABLESPACE JBBOS_IDX, 

  PARTITION I_HSTRMSG_SOVID_02

    TABLESPACE JBBOS_IDX, 

  PARTITION I_HSTRMSG_SOVID_03

    TABLESPACE JBBOS_IDX, 

  PARTITION I_HSTRMSG_SOVID_04

    TABLESPACE JBBOS_IDX, 

  PARTITION I_HSTRMSG_SOVID_05

    TABLESPACE JBBOS_IDX, 

  PARTITION I_HSTRMSG_SOVID_06

    TABLESPACE JBBOS_IDX, 

  PARTITION I_HSTRMSG_SOVID_07

    TABLESPACE JBBOS_IDX, 

  PARTITION I_HSTRMSG_SOVID_08

    TABLESPACE JBBOS_IDX

);

 

CREATE INDEX NIMBUS.I_HSTRMSG_TASKID ON NIMBUS.HISTORYMESSAGE

(TASKID)

  TABLESPACE JBBOS_DAT

  PCTFREE    20

  INITRANS   10

  MAXTRANS   255

  STORAGE    (

              BUFFER_POOL      DEFAULT

             )

GLOBAL PARTITION BY HASH (TASKID) ( 

  PARTITION I_HSTRMSG_TASKID_01

    TABLESPACE JBBOS_IDX, 

  PARTITION I_HSTRMSG_TASKID_02

    TABLESPACE JBBOS_IDX, 

  PARTITION I_HSTRMSG_TASKID_03

    TABLESPACE JBBOS_IDX, 

  PARTITION I_HSTRMSG_TASKID_04

    TABLESPACE JBBOS_IDX, 

  PARTITION I_HSTRMSG_TASKID_05

    TABLESPACE JBBOS_IDX, 

  PARTITION I_HSTRMSG_TASKID_06

    TABLESPACE JBBOS_IDX, 

  PARTITION I_HSTRMSG_TASKID_07

    TABLESPACE JBBOS_IDX, 

  PARTITION I_HSTRMSG_TASKID_08

    TABLESPACE JBBOS_IDX

);

 

GRANT SELECT ON NIMBUS.HISTORYMESSAGE TO APPLICATION_USER;

 

 

select

 table_name,round(((blocks*8)/1024/1024),2) "size (gb)" ,

 round(((num_rows*avg_row_len/1024))/1024/1024,2) "actual_data (gb)",

 round((((blocks*8)) - ((num_rows*avg_row_len/1024)))/1024/1024,2) "wasted_space (gb)",

 round(((((blocks*8)-(num_rows*avg_row_len/1024))/(blocks*8))*100 -10),2) "reclaimable space %",

 partitioned

from

 dba_tables

where table_name='HISTORYMESSAGE' and

 (round((blocks*8),2) > round((num_rows*avg_row_len/1024),2))

order by 4 desc;

 

No comments:

Post a Comment

FIG project queries

##### Service add & LOad Baclancing on Add Service ####### srvctl add service -s wcccdmt.farmersinsurance.com -r wcccdmtx1,wcccdmtx2,wcc...