Oracle 19c Table Shrink Space
Shrink tables in Oracle 19c to reclaim unused space, reduce fragmentation, and boost database performance. Step-by-step guide included.
oracle configurationintermediate
by OracleDba
55 views
Shrink tables in Oracle 19c to reclaim unused space, reduce fragmentation, and boost database performance. Step-by-step guide included.
1234567891011
CREATE TABLE TRANSACTION_LOGS (
TRANSACTION_ID NUMBER PRIMARY KEY,
ACCOUNT_NO VARCHAR2(20),
AMOUNT NUMBER(12,2),
TRANSACTION_DATE DATE
);12345678910111213141516171819
BEGIN
FOR i IN 1..1000000 LOOP
INSERT INTO TRANSACTION_LOGS
VALUES (i, 'ACC'||DBMS_RANDOM.STRING('X', 10),
DBMS_RANDOM.VALUE(10, 10000),
TRUNC(SYSDATE - DBMS_RANDOM.VALUE(0, 365)));
END LOOP;
COMMIT;
END;
/1234567891011
DELETE FROM TRANSACTION_LOGS
WHERE TRANSACTION_DATE < ADD_MONTHS(SYSDATE, -6);
COMMIT;
SELECT table_name, blocks, num_rows
FROM user_tables
WHERE table_name = 'TRANSACTION_LOGS';1
ALTER TABLE TRANSACTION_LOGS ENABLE ROW MOVEMENT;1
ALTER TABLE TRANSACTION_LOGS SHRINK SPACE CASCADE;12345
SELECT table_name, blocks, num_rows
FROM user_tables
WHERE table_name = 'TRANSACTION_LOGS';1
ALTER TABLE TRANSACTION_LOGS DISABLE ROW MOVEMENT;Please to add comments
No comments yet. Be the first to comment!