SET SERVEROUTPUT ON
SET FEEDBACK ON VERIFY ON HEADING ON ECHO ON TIMING ON
SPOOL MovePartTableTBS.log
BEGIN
FOR rec_tab_part IN (
SELECT DISTINCT TABLE_OWNER,TABLE_NAME,PARTITION_NAME
FROM ALL_TAB_PARTITIONS
WHERE TABLESPACE_NAME NOT IN ('SYSAUX','SYSTEM','DATA_TBS')
)
LOOP
BEGIN
EXECUTE IMMEDIATE 'ALTER TABLE '||rec_tab_part.TABLE_OWNER||'.'||rec_tab_part.TABLE_NAME||' MOVE PARTITION '||rec_tab_part.PARTITION_NAME||' TABLESPACE DATA_TBS';
DBMS_OUTPUT.PUT_LINE('Successfully moved partition '||rec_tab_part.TABLE_OWNER||'.'||rec_tab_part.PARTITION_NAME||' of '||rec_tab_part.TABLE_NAME);
EXCEPTION WHEN OTHERS THEN
DBMS_OUTPUT.PUT_LINE('Unable to move partition '||rec_tab_part.PARTITION_NAME||' of '||rec_tab_part.TABLE_OWNER||'.'||rec_tab_part.TABLE_NAME||' with SQL Error '||SQLERRM);
END;
END LOOP;
FOR rec_tab_part IN (
SELECT DISTINCT TABLE_OWNER,TABLE_NAME,SUBPARTITION_NAME
FROM ALL_TAB_SUBPARTITIONS
WHERE TABLESPACE_NAME NOT IN ('SYSAUX','SYSTEM','DATA_TBS')
)
LOOP
BEGIN
EXECUTE IMMEDIATE 'ALTER TABLE '||rec_tab_part.TABLE_OWNER||'.'||rec_tab_part.TABLE_NAME||' MOVE SUBPARTITION '||rec_tab_part.SUBPARTITION_NAME||' TABLESPACE DATA_TBS';
DBMS_OUTPUT.PUT_LINE('Successfully moved partition '||rec_tab_part.TABLE_OWNER||'.'||rec_tab_part.SUBPARTITION_NAME||' of '||rec_tab_part.TABLE_NAME);
EXCEPTION WHEN OTHERS THEN
DBMS_OUTPUT.PUT_LINE('Unable to move partition '||rec_tab_part.SUBPARTITION_NAME||' of '||rec_tab_part.TABLE_OWNER||'.'||rec_tab_part.TABLE_NAME||' with SQL Error '||SQLERRM);
END;
END LOOP;
END;
/
SPOOL OFF
SET FEEDBACK ON VERIFY ON HEADING ON ECHO ON TIMING ON
SPOOL MovePartTableTBS.log
BEGIN
FOR rec_tab_part IN (
SELECT DISTINCT TABLE_OWNER,TABLE_NAME,PARTITION_NAME
FROM ALL_TAB_PARTITIONS
WHERE TABLESPACE_NAME NOT IN ('SYSAUX','SYSTEM','DATA_TBS')
)
LOOP
BEGIN
EXECUTE IMMEDIATE 'ALTER TABLE '||rec_tab_part.TABLE_OWNER||'.'||rec_tab_part.TABLE_NAME||' MOVE PARTITION '||rec_tab_part.PARTITION_NAME||' TABLESPACE DATA_TBS';
DBMS_OUTPUT.PUT_LINE('Successfully moved partition '||rec_tab_part.TABLE_OWNER||'.'||rec_tab_part.PARTITION_NAME||' of '||rec_tab_part.TABLE_NAME);
EXCEPTION WHEN OTHERS THEN
DBMS_OUTPUT.PUT_LINE('Unable to move partition '||rec_tab_part.PARTITION_NAME||' of '||rec_tab_part.TABLE_OWNER||'.'||rec_tab_part.TABLE_NAME||' with SQL Error '||SQLERRM);
END;
END LOOP;
FOR rec_tab_part IN (
SELECT DISTINCT TABLE_OWNER,TABLE_NAME,SUBPARTITION_NAME
FROM ALL_TAB_SUBPARTITIONS
WHERE TABLESPACE_NAME NOT IN ('SYSAUX','SYSTEM','DATA_TBS')
)
LOOP
BEGIN
EXECUTE IMMEDIATE 'ALTER TABLE '||rec_tab_part.TABLE_OWNER||'.'||rec_tab_part.TABLE_NAME||' MOVE SUBPARTITION '||rec_tab_part.SUBPARTITION_NAME||' TABLESPACE DATA_TBS';
DBMS_OUTPUT.PUT_LINE('Successfully moved partition '||rec_tab_part.TABLE_OWNER||'.'||rec_tab_part.SUBPARTITION_NAME||' of '||rec_tab_part.TABLE_NAME);
EXCEPTION WHEN OTHERS THEN
DBMS_OUTPUT.PUT_LINE('Unable to move partition '||rec_tab_part.SUBPARTITION_NAME||' of '||rec_tab_part.TABLE_OWNER||'.'||rec_tab_part.TABLE_NAME||' with SQL Error '||SQLERRM);
END;
END LOOP;
END;
/
SPOOL OFF
No comments:
Post a Comment