Skip to main content

Reorg Script for Oracle Tables Within the Same Tablespace

 -- Ensure you're logged in as the appropriate user


-- 1. Define variables for schema and table names

DEFINE schema_name = 'YOUR_SCHEMA_NAME';

DEFINE table_name = 'YOUR_TABLE_NAME';


-- 2. Check the status and size of the table before reorganization

SELECT table_name, num_rows, blocks, empty_blocks, avg_row_len

FROM dba_tables

WHERE owner = '&schema_name'

AND table_name = '&table_name';


-- 3. Move the table within the same tablespace to reorganize it

-- No tablespace specified, it will remain in the same tablespace

ALTER TABLE &schema_name..&table_name MOVE;


-- 4. Rebuild indexes associated with the table

-- Get all indexes associated with the table

SELECT 'ALTER INDEX ' || index_name || ' REBUILD;' 

FROM dba_indexes 

WHERE owner = '&schema_name'

AND table_name = '&table_name';


-- 5. Gather statistics for the table after reorganization

EXEC DBMS_STATS.GATHER_TABLE_STATS('&schema_name', '&table_name');


-- 6. Check the table status and size after reorganization

SELECT table_name, num_rows, blocks, empty_blocks, avg_row_len

FROM dba_tables

WHERE owner = '&schema_name'

AND table_name = '&table_name';


-- 7. Optionally, shrink the table space after reorganization (use with caution)

ALTER TABLE &schema_name..&table_name SHRINK SPACE CASCADE;


-- 8. If partitioned, handle partitions separately

-- ALTER TABLE &schema_name..&table_name MOVE PARTITION partition_name;


Comments

Popular posts from this blog

CHANGING DBID FOR ORACLE DATABASE 11G

C:\Users\computer>sqlplus SQL*Plus: Release 11.1.0.7.0 - Production on Thu Sep 10 21:03:33 2013 Copyright (c) 1982, 2008, Oracle.  All rights reserved. Enter user-name: sys as sysdba Enter password: Connected to: Oracle Database 11g Enterprise Edition Release 11.1.0.7.0 - Production With the Partitioning, OLAP, Data Mining and Real Application Testing options SQL> select dbid from v$database;       DBID ---------- 2188161033 SQL> exit Disconnected from Oracle Database 11g Enterprise Edition Release 11.1.0.7.0 - Production With the Partitioning, OLAP, Data Mining and Real Application Testing options C:\Users\computer>nid DBNEWID: Release 11.1.0.7.0 - Production on Thu Sep 10 21:04:44 2013 Copyright (c) 1982, 2007, Oracle.  All rights reserved. Keyword     Description                    (Default) ---------------------------------------------------- TARGET ...

Difference between AWR, ADDM and ASH reports

AWR: Automatic Workload Repository gathers, processes and maintains performance stats used for problem detection and self-tuning the databases. Different Components that uses AWR are: Automatic Database Diagnostic Monitor Undo Advisor SQL Tuning Advisor Segment Advisor Different types of AWR Reports for different purposes: For Single Instance Environment: @$ORACLE_HOME/rdbms/admin/awrrpt.sql For Oracle RAC Environment : @$ORACLE_HOME/rdbms/admin/awrgrpt.sql For a particular SQL Statement : @$ORACLE_HOME/rdbms/admin/awrsqrpt.sql For Comparing the reports : @$ORACLE_HOME/rdbms/admin/awrddrpt.sql ADDM: Automatic Database Diagnostic Monitoring Report analyzes the AWR data on a regular basis, to give you overview of the root cause of the problem which is affecting your database’s performance. It also provides suggestions or recommendations for rectifying any problem identified and lists the areas which are having no issues. ADDM recommends multiple solutions for the DBA to choose from which...