Saturday, February 15, 2025

LOB Migration.txt

 


--Verify table and LOB size

SELECT

 (SELECT SUM(S.BYTES)/1024/1024/1024  FROM user_SEGMENTS S where                                                                                           -- The Table Segment size

         (S.SEGMENT_NAME = UPPER('WSMESSAGE'))) +

 (SELECT SUM(S.BYTES)/1024/1024/1024                                                                                                 -- The Lob Segment Size

  FROM user_SEGMENTS S, user_LOBS L

  WHERE 

       (L.SEGMENT_NAME = S.SEGMENT_NAME AND L.TABLE_NAME = UPPER('WSMESSAGE') )) +

 (SELECT SUM(S.BYTES)/1024/1024/1024                                                                                                 -- The Lob Index size

  FROM user_SEGMENTS S, user_INDEXES I

  WHERE 

       (I.INDEX_NAME = S.SEGMENT_NAME AND I.TABLE_NAME = UPPER('WSMESSAGE') AND INDEX_TYPE = 'LOB' ))

  "TOTAL TABLE SIZE"

FROM DUAL;

--Before 56 GB




select  table_name, column_name, securefile,compression from user_lobs where TABLE_NAME= 'WSMESSAGE';




ALTER TABLE WSMESSAGE MOVE LOB(REQUEST) STORE AS  securefile (TABLESPACE USERS);

ALTER TABLE WSMESSAGE MOVE LOB(RESPONSE) STORE AS  securefile (TABLESPACE USERS);

ALTER TABLE WSMESSAGE MOVE LOB(DEBUG) STORE AS  securefile (TABLESPACE USERS);





select  table_name, column_name, securefile,compression from user_lobs where TABLE_NAME= 'WSMESSAGE';



ALTER TABLE WSMESSAGE MODIFY LOB(REQUEST) (COMPRESS HIGH);

ALTER TABLE WSMESSAGE MODIFY LOB(RESPONSE) (COMPRESS HIGH);

ALTER TABLE WSMESSAGE MODIFY LOB(DEBUG) (COMPRESS HIGH);


select  table_name, column_name, securefile,compression from user_lobs where TABLE_NAME= 'WSMESSAGE';



select segment_type,round(sum(bytes)/1024/1024/1024) "GB"

from user_segments

where segment_name='WSMESSAGE'

group by segment_type

union

-- total size of LOBs for table MYTABLE

SELECT segment_TYPE,round(SUM(BYTES)/1024/1024/1024) "GB LOB"

FROM user_SEGMENTS 

WHERE SEGMENT_NAME IN(

    select distinct lob_name 

    from user_lob_partitions

    where table_name='WSMESSAGE'

)

group by segment_type;




BEGIN

  SYS.DBMS_STATS.GATHER_TABLE_STATS (

     OwnName           => 'IPAM'

    ,TabName           => 'WSMESSAGE_2020_BKUP'

    ,Estimate_Percent  => 10

    ,Method_Opt        => 'FOR ALL COLUMNS SIZE 1'

    ,Degree            => 4

    ,Cascade           => FALSE

    ,No_Invalidate  => FALSE);

END;

/


___________________________________________________________


2nd method

create table IPAM.WSMESSAGE_2020_BKUP_1

(

  TRANSACTION_ID  NUMBER                        NOT NULL,

  INTERFACE_NAME  VARCHAR2(30 BYTE),

  OPERATION       VARCHAR2(100 BYTE)            NOT NULL,

  START_TIME      DATE                          NOT NULL,

  ELAPSED_TIME    NUMBER,

  REQUEST         CLOB                          DEFAULT EMPTY_CLOB(),

  RESPONSE        CLOB                          DEFAULT EMPTY_CLOB(),

  SOURCE          VARCHAR2(128 BYTE),

  STATUS          NUMBER,

  REQUEST_TYPE    VARCHAR2(50 BYTE),

  DEBUG           CLOB                          DEFAULT EMPTY_CLOB()

)

LOB (REQUEST) STORE AS SECUREFILE (

  TABLESPACE  USERS

  enable      STORAGE IN ROW

  CHUNK       8192

  COMPRESS    HIGH

  NOCACHE

  LOGGING

      STORAGE    (

                  INITIAL          104K

                  NEXT             1M

                  MINEXTENTS       1

                  MAXEXTENTS       UNLIMITED

                  PCTINCREASE      0

                  BUFFER_POOL      DEFAULT

                 ))

LOB (RESPONSE) STORE AS SECUREFILE (

  TABLESPACE  USERS

  enable      STORAGE IN ROW

  CHUNK       8192

  COMPRESS    HIGH

  NOCACHE

  LOGGING

      STORAGE    (

                  INITIAL          104K

                  NEXT             1M

                  MINEXTENTS       1

                  MAXEXTENTS       UNLIMITED

                  PCTINCREASE      0

                  BUFFER_POOL      DEFAULT

                 ))

LOB (DEBUG) STORE AS SECUREFILE (

  TABLESPACE  USERS

  enable      STORAGE IN ROW

  CHUNK       8192

  COMPRESS    HIGH

  NOCACHE

  LOGGING

      STORAGE    (

                  INITIAL          104K

                  NEXT             1M

                  MINEXTENTS       1

                  MAXEXTENTS       UNLIMITED

                  PCTINCREASE      0

                  BUFFER_POOL      DEFAULT

                 ))

TABLESPACE USERS

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 

NOCACHE;


insert into IPAM.WSMESSAGE_2020_BKUP_1 select * from IPAM.WSMESSAGE;


select * from IPAM.WSMESSAGE_2020_BKUP;

commit;



SELECT

 (SELECT SUM(S.BYTES)/1024/1024/1024  FROM user_SEGMENTS S where                                                                                           -- The Table Segment size

         (S.SEGMENT_NAME = UPPER('WSMESSAGE'))) +

 (SELECT SUM(S.BYTES)/1024/1024/1024                                                                                                 -- The Lob Segment Size

  FROM user_SEGMENTS S, user_LOBS L

  WHERE 

       (L.SEGMENT_NAME = S.SEGMENT_NAME AND L.TABLE_NAME = UPPER('WSMESSAGE') )) +

 (SELECT SUM(S.BYTES)/1024/1024/1024                                                                                                 -- The Lob Index size

  FROM user_SEGMENTS S, user_INDEXES I

  WHERE 

       (I.INDEX_NAME = S.SEGMENT_NAME AND I.TABLE_NAME = UPPER('WSMESSAGE') AND INDEX_TYPE = 'LOB' ))

  "TOTAL TABLE SIZE"

FROM DUAL;


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...