Skip to content

Fatih Acar's blog

About of Database Systems and Information Technologies

Menu
  • Home
  • About Me
  • Contact Me
Menu

Oracle Data File Occupancy in Oracle

Posted on 23/01/201323/01/2013 by Fatih Acar

Size of Oracle Data Files can be max 32 GB. If you are not chech data files sizes, The system can give an error when size of data files arrive max extent. You can solve this problem with adding a new data file in tablespace. But this state is not a good. You have to recognize before has an error. For solution, you can check data files sizes with e mail notification or thirt party alert applications. Below query give to us that rate of max extent of tablespaces.

Query of Tablespaces Max Size Rate

SELECT tablespace_name,
ROUND (SUM (NVL (max_mb, 0))) allocated,
ROUND (SUM (NVL (used_mb, 0))) used,
ROUND(100*ROUND (SUM (NVL (max_free_mb, 0))) / DECODE (ROUND (SUM (NVL (max_mb, 0))), 0, 1, ROUND (SUM (NVL (max_mb, 0))))) blank_percent
FROM ( SELECT df.tablespace_name,
df.file_name file_name,
df.BYTES / (1024 * 1024) allocated_mb,
(df.BYTES – SUM (NVL (dfs.BYTES, 0))) / (1024 * 1024) used_mb,
SUM (NVL (dfs.BYTES, 0)) / (1024 * 1024) free_space_mb,
NVL (
DECODE (autoextensible,
‘NO’, DF.BYTES,
GREATEST (DF.BYTES, maxbytes)),
0)
/ (1024 * 1024)
max_mb,
DECODE (
autoextensible,
‘YES’, (df.maxbytes / (1024 * 1024)
– (df.BYTES – SUM (NVL (dfs.BYTES, 0)))
/ (1024 * 1024)),
SUM (NVL (dfs.BYTES, 0)) / (1024 * 1024))
max_free_mb,
df.autoextensible
FROM dba_data_files df, dba_free_space dfs
WHERE df.file_id = dfs.file_id(+) AND DF.BYTES / (1024 * 1024) > 0.2
GROUP BY df.tablespace_name,
df.file_name,
df.BYTES,
df.maxbytes,
df.autoextensible)
GROUP BY tablespace_name
UNION ALL
SELECT A.tablespace_name tablespace_name, round(D.mb_total) allocated,
round(SUM (A.used_blocks * D.block_size) / 1024 / 1024) used,
ROUND(100* (round(D.mb_total – SUM (A.used_blocks * D.block_size) / 1024 / 1024)/ round(D.mb_total))) blank_percent
FROM gv$sort_segment A,
(
SELECT B.name, C.block_size, SUM (C.bytes) / 1024 / 1024 mb_total
FROM gv$tablespace B, gv$tempfile C
WHERE B.ts#= C.ts# and b.inst_id=c.inst_id
GROUP BY B.name, C.block_size
) D
WHERE A.tablespace_name = D.name
GROUP by A.tablespace_name, D.mb_total
ORDER BY blank_percent;

Share this:

  • Click to share on LinkedIn (Opens in new window) LinkedIn
  • Click to share on X (Opens in new window) X
  • Click to share on Facebook (Opens in new window) Facebook

Leave a Reply Cancel reply

Your email address will not be published. Required fields are marked *

Time limit is exhausted. Please reload CAPTCHA.



View Fatih ACAR's profile on LinkedIn

Categories

  • Databases (329)
    • MsSQL Server (18)
      • Administration (16)
      • Errors and Solutions (4)
      • SQL (2)
    • MySQL (5)
      • Administration (4)
      • Backup And Recovery (1)
      • Errors and Solutions (1)
    • Oracle (290)
      • Administration (79)
      • Backup And Recovery (29)
      • Errors and Solutions (195)
      • Procedure (10)
      • SQL (32)
    • PostgreSQL (16)
      • Administration (15)
      • Errors and Solutions (3)
      • SQL (2)
    • Redis (1)
  • Microsotf Dynamics CRM (1)
  • Operating Systems (47)
    • Linux & Unix (34)
    • Windows (13)
  • Programing (5)
    • Python (5)
  • SAP (15)
    • Errors and Solutions (4)
    • SAP Basis (12)
  • Security (8)
    • Database Security (6)
    • Information Security (1)
    • System Security (4)
  • VMware (4)

Recent Posts

  • Redis 7 Sentinel Infrastructure Installation
  • Oracle Database 19c Multi Data Guard and DML Redirect, Switchover-Failover Operations on Oracle Linux 8
  • Oracle Database 23ai Free Installation Steps on Oracle Linux 9
  • Oracle Database 19c Active Data Guard Installation and DML Redirect, Switchover-Failover Operations on Oracle Linux 8
  • Oracle Database 19c Installation and 19.22 RU Patch Apply on Oracle Linux 8

Resources

  • Oracle
  • PostgreSQL

Blogroll

  • Gökhan Atıl
  • H. Koray Gündüz
  • Hakan Talip Öztürk
  • Zekeriya Beşiroğlu

Web Pages

  • BT Çözümleri

Tag Cloud

Administration Backup and Recovery Cluster Systems Database Administration Database Security Linux Linux Administration MsSQL Server MsSQL Server Error and Solutions MySQL MySQL Administration ORA-00018 ORA-00020 Oracle Oracle 12c Oracle 19c Oracle Administration Oracle Backup and Restore Oracle Data Guard Oracle Data Guard Failover Oracle Data Guard Switchover Oracle Error Solutions Oracle Linux Oracle Rman Backup Oracle Security Oracle SQL Query PostgreSQL PostgreSQL Administration PostgreSQL High Availability PostgreSQL Hot Standby Python SAP Basis Sap Errors and Solutions Sap System Administration SQL SQL Server Administration SQL Server Availability Group Stored Procedure System Administration System Security VMware VMware Administration Windows Windows Batch Script Windows Server

Social

  • View facar1987’s profile on Twitter
  • View facar’s profile on LinkedIn

Subscribe to Blog via Email

Enter your email address to subscribe to this blog and receive notifications of new posts by email.

Join 17 other subscribers
©2026 Fatih Acar's blog | Built using WordPress and Responsive Blogily theme by Superb