Thursday, 24 October 2019

Move LOBS Tbs

SET SERVEROUTPUT ON
SET FEEDBACK ON VERIFY ON HEADING ON ECHO ON TIMING ON
SPOOL MoveLob.log

BEGIN
FOR rec_lobs IN (
SELECT DISTINCT OWNER,TABLE_NAME,COLUMN_NAME,SEGMENT_NAME FROM ALL_LOBS
WHERE TABLESPACE_NAME NOT IN ('SYSAUX','SYSTEM','DATA_TBS','TEMP')
)
LOOP
BEGIN
EXECUTE IMMEDIATE 'ALTER TABLE '||rec_lobs.OWNER||'.'||rec_lobs.TABLE_NAME||' MOVE LOB ('||rec_lobs.COLUMN_NAME||') STORE AS '||rec_lobs.SEGMENT_NAME||'(TABLESPACE DATA_TBS)';
DBMS_OUTPUT.PUT_LINE('Successfully moved LOB '||rec_lobs.OWNER||'.'||rec_lobs.TABLE_NAME);
EXCEPTION WHEN OTHERS THEN
DBMS_OUTPUT.PUT_LINE('Unable to move LOB '||rec_lobs.OWNER||'.'||rec_lobs.TABLE_NAME||' with SQL Error '||SQLERRM);
END;
END LOOP;
END;
/

SPOOL OFF

No comments:

Post a Comment