Learn How to Quickly Check Your Oracle 12c Table Sizes with These Handy Code Examples.

Table of content

  1. Introduction
  2. Understanding Oracle 12c Tables
  3. Why Table Size Matters
  4. Code Example #1: Using the DBMS_SPACE Package
  5. Code Example #2: Querying the USER_TABLES Data Dictionary View
  6. Code Example #3: Calculating Table Size with SQL
  7. Code Example #4: Using the Oracle Enterprise Manager GUI
  8. Conclusion


If you're working with Oracle 12c and need to quickly check your table sizes, you're in luck! We have some handy code examples that will help you get the job done in no time. But before we dive into the code, let's take a moment to understand why checking table sizes is important.

Oracle 12c is a powerful database management system that is used by businesses and organizations to store and manage large amounts of data. As your data grows, so do your table sizes. It's important to regularly check your table sizes to ensure that they are properly optimized for performance and storage. Oversized tables can cause slow query performance and impact the overall health of your database.

In this tutorial, we'll show you how to use simple SQL commands to quickly check your table sizes. These commands are easy to use and can be executed directly from the SQL command line interface. So, let's get started!

Understanding Oracle 12c Tables

Oracle 12c is a powerful database management system used by organizations all over the world. Tables are one of the foundational components of Oracle databases, serving as containers for data. is crucial for working with data effectively.

Tables consist of rows and columns, with each row representing a single record in the database and each column representing a specific attribute or data point. Tables can be created, modified, and deleted using SQL statements, which enable you to manipulate the data and structure of your database.

When working with tables, it's important to consider their size. This measure can have a significant impact on database performance, as large tables can require more processing power and storage space. Being able to quickly check the size of your Oracle 12c tables can help you optimize your database and ensure it runs smoothly.

In the next sections, we'll provide some handy code examples that you can use to easily check your table sizes in Oracle 12c. These examples will make use of SQL statements, which allow you to retrieve information about your database objects.

Why Table Size Matters

Knowing the size of your Oracle 12c tables is crucial when it comes to managing your database efficiently, and avoiding performance issues caused by the tables being too big. It's important to remember that the larger the table, the longer it takes for queries to return results, which can lead to slower response times for your users.

Additionally, if your database exceeds the available memory on your server, your system might start swapping memory pages to disk, which can cause performance issues and even crashes. This is especially true if your system also handles other services, such as web applications.

By regularly checking your table sizes, you can detect potential problems early on, and take action to prevent them from spiraling out of control. This can include optimizing your queries, archiving old data, or partitioning your tables.

Therefore, it's essential to have a reliable and quick way to check your Oracle 12c table sizes, and make informed decisions based on that information. The code examples provided in this article will help you do just that, making it easy to monitor your database's performance and keep it running smoothly.

Code Example #1: Using the DBMS_SPACE Package

One of the easiest ways to check your Oracle 12c table sizes is by using the DBMS_SPACE package. This package is built into the Oracle database and provides several procedures for checking the space usage of objects in the database.

To use the DBMS_SPACE package, simply connect to your database instance and execute the package procedure for the object you want to check. For example, to check the size of a table named "employees" in the "hr" schema, you would execute the following SQL statement:


The result of this query will show you the size of each segment for the "employees" table, including the amount of space used for data, indexes, and other objects. You can also use the DBMS_SPACE package to check the size of other objects in the database, such as indexes and partitions.

Overall, the DBMS_SPACE package is a quick and easy way to check the size of your Oracle 12c tables. However, if you need more advanced functionality, such as analyzing table fragmentation or tracking object growth over time, you may need to use a third-party tool or write your own custom scripts.

Code Example #2: Querying the USER_TABLES Data Dictionary View

Another way to check your Oracle 12c table sizes is through querying the USER_TABLES data dictionary view. This view contains important information about all the tables you have created in your schema. To get the size of a specific table, you can use the following code:

SELECT segment_name, bytes/1024/1024 AS size_mb
FROM user_segments
WHERE segment_type = 'TABLE' AND segment_name = 'tableName';

Replace 'tableName' with the name of the table you want to check. This code will return the name of the table and its size in megabytes.

If you want to get the sizes of all the tables in your schema, you can use this code:

SELECT segment_name, bytes/1024/1024 AS size_mb
FROM user_segments
WHERE segment_type = 'TABLE';

This code will return the names of all the tables in your schema and their respective sizes in megabytes.

The USER_TABLES view and the USER_SEGMENTS view both provide information on the sizes of the tables in your Oracle 12c database. Using either of them should be sufficient for your needs, so feel free to experiment and choose the one that works best for you.

Code Example #3: Calculating Table Size with SQL

If you prefer using SQL to calculate your table size in Oracle 12c, here's a code example you can use:

SELECT owner, table_name, round(((num_rows * avg_row_len) + 10)/1024/1024) table_size_mb
FROM all_tables
ORDER BY table_size_mb DESC;

This query will give you the size of your tables in megabytes, ordered from largest to smallest. Make sure to replace 'YOUR_SCHEMA_NAME' with the name of your actual schema.

Like the previous code examples, this one uses the all_tables system view to retrieve information about your tables. It calculates the size by multiplying the average row length with the number of rows, then adding 10 bytes of overhead and converting the result to megabytes.

You can run this query in Oracle SQL Developer or any other SQL client that supports Oracle databases. Just make sure to log in with a user that has the appropriate privileges to access the all_tables view.

Using SQL to calculate table size can be a quick and convenient way to get an overview of your database. However, keep in mind that it may not be as accurate as other methods, especially if your tables contain large volumes of data or variable-length columns. In those cases, you may want to use a tool like Oracle Enterprise Manager or Oracle Database Control to get more detailed metrics.

Code Example #4: Using the Oracle Enterprise Manager GUI

For those who prefer a graphical user interface (GUI), Oracle Enterprise Manager (OEM) provides an easy way to check your table sizes. Simply launch OEM and navigate to the "Storage" section. From here, you can view the table space usage and drill down to individual table sizes.

The great thing about OEM is that it provides a visual representation of your table sizes, making it easy to identify any tables that are taking up a lot of space. You can also sort the tables by size or by the amount of free space available, making it easy to optimize your database and reclaim any unused space.

If you're new to Oracle and haven't used OEM before, it might take some time to get familiar with the interface. However, once you get the hang of it, it's a powerful tool for managing your database and keeping track of your table sizes.

Remember, it's always a good practice to regularly monitor your table sizes to prevent your database from growing too large and compromising performance. Whether you prefer using SQL queries or a GUI like OEM, the important thing is to make table size monitoring part of your regular database maintenance routine.


In , checking your Oracle 12c table sizes doesn't have to be a complicated or time-consuming process. With the code examples provided, you can quickly and easily retrieve the information you need to manage your databases effectively. Remember to pay attention to the syntax and structure of the code to ensure that it runs smoothly, and don't be afraid to experiment with different methods until you find what works best for you.

Of course, mastering any programming language, including Oracle SQL, takes time, practice, and patience. As you continue to work with these code examples and explore other aspects of Oracle and SQL, don't forget to take advantage of the many resources available to you, including online tutorials, blogs, and social media sites. And always remember: the best way to learn is through trial and error, so don't be afraid to make mistakes and learn from them!

By following these tips and taking a proactive approach to learning Oracle SQL, you'll be well on your way to becoming a skilled DBA and building robust, efficient databases that meet the needs of your organization. So keep practicing, keep exploring, and don't give up – the journey may be long, but the rewards are worth it!

My passion for coding started with my very first program in Java. The feeling of manipulating code to produce a desired output ignited a deep love for using software to solve practical problems. For me, software engineering is like solving a puzzle, and I am fully engaged in the process. As a Senior Software Engineer at PayPal, I am dedicated to soaking up as much knowledge and experience as possible in order to perfect my craft. I am constantly seeking to improve my skills and to stay up-to-date with the latest trends and technologies in the field. I have experience working with a diverse range of programming languages, including Ruby on Rails, Java, Python, Spark, Scala, Javascript, and Typescript. Despite my broad experience, I know there is always more to learn, more problems to solve, and more to build. I am eagerly looking forward to the next challenge and am committed to using my skills to create impactful solutions.

Leave a Reply

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

Related Posts

Begin typing your search term above and press enter to search. Press ESC to cancel.

Back To Top