Skip to main content

Number of Tables by The Number of Rows in Oracle Database

Here I am giving an example to find out number of tables by the number of rows in oracle database.

Query 1: Number of all tables accessible to the current user in Oracle database by the number of rows grouped into predefined intervals.

SELECT row_interval,
       count(*) AS no_of_tables
  FROM (SELECT owner,
               table_name,
               num_rows,
               CASE
                 WHEN num_rows > 1000000000
                 THEN '1b rows and more'
                 WHEN num_rows > 1000000
                 THEN '1m - 1b rows'
                 WHEN num_rows > 1000
                 THEN '1k - 1m rows'
                 WHEN num_rows > 100
                 THEN '100 - 1k rows'
                 WHEN num_rows > 10
                 THEN '10 - 100 rows'
                 ELSE '0 - 10 rows'
               END AS row_interval
          FROM sys.all_tables
-- excluding some Oracle maintained schemas
         WHERE owner NOT IN ('ANONYMOUS','CTXSYS','DBSNMP','EXFSYS', 
                             'LBACSYS', 'MDSYS', 'MGMT_VIEW','OLAPSYS',
                             'OWBSYS','ORDPLUGINS', 'ORDSYS', 'SI_INFORMTN_SCHEMA',
                             'SYS','SYSMAN','SYSTEM', 'TSMSYS','DIP', 
                             'WKPROXY','WMSYS','XDB','APEX_040000', 
                             'APEX_PUBLIC_USER', 'FLOWS_30000','FLOWS_FILES',
                             'MDDATA', 'ORACLE_OCM', 'XS$NULL', 'SPATIAL_CSW_ADMIN_USR', 
                             'SPATIAL_WFS_ADMIN_USR', 'PUBLIC', 'WK_TEST','WKSYS', 
                             'OUTLN')
       )
 GROUP BY row_interval
 ORDER BY row_interval;

Query 2: Number of all tables in Oracle database by the number of  rows grouped into predefined intervals. (If you have privilege on dba_tables)

SELECT row_interval,
       count(*) AS no_of_tables
  FROM (SELECT owner,
               table_name,
               num_rows,
               CASE
                 WHEN num_rows > 1000000000
                 THEN '1b rows and more'
                 WHEN num_rows > 1000000
                 THEN '1m - 1b rows'
                 WHEN num_rows > 1000
                 THEN '1k - 1m rows'
                 WHEN num_rows > 100
                 THEN '100 - 1k rows'
                 WHEN num_rows > 10
                 THEN '10 - 100 rows'
                 ELSE '0 - 10 rows'
               END AS row_interval
          FROM sys.dba_tables
-- excluding some Oracle maintained schemas
         WHERE owner NOT IN ('ANONYMOUS','CTXSYS','DBSNMP','EXFSYS', 
                             'LBACSYS', 'MDSYS', 'MGMT_VIEW','OLAPSYS',
                             'OWBSYS','ORDPLUGINS', 'ORDSYS', 'SI_INFORMTN_SCHEMA',
                             'SYS','SYSMAN','SYSTEM', 'TSMSYS','DIP', 
                             'WKPROXY','WMSYS','XDB','APEX_040000', 
                             'APEX_PUBLIC_USER', 'FLOWS_30000','FLOWS_FILES',
                             'MDDATA', 'ORACLE_OCM', 'XS$NULL', 'SPATIAL_CSW_ADMIN_USR', 
                             'SPATIAL_WFS_ADMIN_USR', 'PUBLIC', 'WK_TEST','WKSYS', 
                             'OUTLN')
       )
 GROUP BY row_interval
 ORDER BY row_interval;

Output:

Reference:

Happy APEXing!!!...

Comments

Popular posts from this blog

Friendly URL: Redirect to Different Page after Login in Oracle APEX 20.1

Oracle has updated apex.oracle.com to APEX 20.1 which includes among other features the new Friendly URL option. Here i am giving an example to redirect to different page after login in Oracle APEX 20.1 [Friendly URL Enabled] Step 1: Define home page for each user in emp master table as below Step 2: To enable Friendly URL Syntax, follow below steps, 1) On the Workspace home page, click the App Builder icon. 2) Select an application (The Application home page appears). 3) From Application home page, you can access the Definition page in TWO ways: Click the Edit Application Properties button. From Shared Components:              1) Click Shared Components .              2) Under Application Logic, click Application Definition Attributes . The Definition page appears. 4) Under Properties, configure the Friendly URL s attribute: Click Apply Changes to save your ch...

Printing Page Numbers in RTF Template [Oracle BI Publisher]

Here I am giving an example to print the page numbers dynamically in the RTF (Rich Text Format) template. Step 1:  Go to page footer and copy and paste the below script. Page |  <?fo:page-number?>  of  <?fo:page-number-citation:xdofo:lastpage-joinseq?> <fo:page-number> :   This is the object, which is used to represent the current page-number. <?fo:page-number-citation:xdofo:lastpage-joinseq?> :  This is the syntax, which is used to represent the total number of pages. Step 2:  Load the XML and preview the result. Output: That's it. References: fo:page-number Printing Page Number Code in Oracle XMLP RTF Template

Generating the report with APEX_DATA_EXPORT

With the APEX_DATA_EXPORT package, you are able to export data from Oracle Application Express in the following file types: PDF, XLSX, HTML, CSV, XML, and JSON. Step 1: Create a table and populate it with some sample records. CREATE TABLE emp   (     empno        NUMBER,     first_name   VARCHAR2(240),     last_name    VARCHAR2(240),     mgr          NUMBER,     deptno       NUMBER,     sal          NUMBER,     created_date TIMESTAMP (6),     comm         NUMBER,     hiredate     DATE,     JOB          VARCHAR2(240),     ename        VARCHAR2(240),     PRIMARY KEY (empno) USING INDEX ENABLE   ); /    INSERT INTO emp (empno, first_name, last_name, mgr,...