Skip to main content

Script for getting Oracle table size:

Script for getting Oracle table size:


There is no oracle defined function for getting size of a table. After all if it is easy with one simple query who will require a function.

There will be a prompt, enter USERNAME to view tables of a particular user.


SELECT owner, table_name, TRUNC(sum(bytes) / 1024 / 1024) Meg
  FROM (SELECT segment_name table_name, owner, bytes
          FROM dba_segments
         WHERE segment_type = 'TABLE'
        UNION ALL
        SELECT i.table_name, i.owner, s.bytes
          FROM dba_indexes i, dba_segments s
         WHERE s.segment_name = i.index_name
           AND s.owner = i.owner
           AND s.segment_type = 'INDEX'
        UNION ALL
        SELECT l.table_name, l.owner, s.bytes
          FROM dba_lobs l, dba_segments s
         WHERE s.segment_name = l.segment_name
           AND s.owner = l.owner
           AND s.segment_type = 'LOBSEGMENT'
        UNION ALL
        SELECT l.table_name, l.owner, s.bytes
          FROM dba_lobs l, dba_segments s
         WHERE s.segment_name = l.index_name
           AND s.owner = l.owner
           AND s.segment_type = 'LOBINDEX')
 WHERE owner in UPPER('&owner')
 GROUP BY table_name, owner
HAVING SUM(bytes) / 1024 / 1024 > 10 /* Ignore really small tables */
 ORDER BY SUM(bytes) desc;



With Tablespace information:

select sysdate,
       owner,
       segment_name,
       segment_type,
       tablespace_name,
       sum(bytes)/1024/1024/1024 GB
  from dba_segments
 group by owner, segment_type, segment_name, tablespace_name
 order by GB desc;
--------------------------------------------------------------------
Happy to Help !!!

Comments

Post a Comment

Popular posts from this blog

EXPDP/IMPDP Export/Import dumpfile to a Remote Server Using Network_Link.

EXPDP/IMPDP Export/Import dumpfile to a Remote Server Using Network_Link. Step 1:   First you have to create a TNS entry at destination database which will be used to connect to the remote target database. pumplink =   (DESCRIPTION =     (ADDRESS_LIST =       (ADDRESS = (PROTOCOL = TCP)(HOST = 172.17.1.171)(PORT = 1521))     )     (CONNECT_DATA =       (SERVER = DEDICATED)       (SERVICE_NAME = Ultimus)     )   ) Step 2:   Connect to SQL plus: --Issue the following command to create db link on destination database: CREATE PUBLIC DATABASE LINK pumplink    connect to scott identified by tiger USING 'pumplink'; Step 3:   Issue the expdp command on the destination server using Network_link parameter: expdp scott/tiger directory= dumpdir logfile=impi_temp.log network_link= pumplink  schemas=scott dump...

Solution of problem: Resultset Exceeds the Maximum Size (100 MB)

Solution of problem: Resultset Exceeds the Maximum Size (100 MB) I was running a select statement in PL/SQL Developer. it was a short query but the data volume that the query was fetching was huge. But when ever i Click the button Fetch Last Page or press 'ALT+End' button a message box comes after a while saying: Then I started looking for the exact reason of this sort of problem in Google. When I realized there was no direct solution in the web, I started looking the PL/SQL Developer Software menu and found the ultimate solution. The reason of this problem is there is a parameter of maximum result set size in PL/SQL Developer Software which is by default set to 100 MB. To change this parameter you have to go to the following location: 1. Goto Edit Menu and click ' PL/SQL Beautifier Options '. A new window will open. 2. Click SQL Window of " Window Types ". 3. Now Change the value of "Maximum Result Set Size( 0 is unlimited)"  ...

10g Release 2 (10.2.0.5) Patch Set 4 for Solaris Operating System (x86-64)

10g Release 2 (10.2.0.5) Patch Set 4 for Solaris Operating System (x86-64) PART ONE: Applying Patch___________________________________________________ Step 1:  Shut Down Oracle Databases SQL> shutdown immediate;  Shut down any existing Oracle Database instances with normal or immediate priority. On Oracle RAC systems, shut down all instances on each node. Step 2: Stopping All Processes for a Single Instance Installation Shut down the following Oracle Database 10g processes in the order specified before installing the patch set:  Shut down all processes in the Oracle home that might be accessing a database; for example, Oracle Enterprise Manager Database Control: $ emctl stop dbconsole $ lsnrctl stop Step 3: To install the Oracle Database 10g patch set interactively: a. Log in as the oracle user. b. Enter the following commands to start Oracle Universal Installer, where patchset_directory is the directory where you unpac...