Para obtener información de las tablas de Oracle existen los catálogos. Como por ejemplo DBA_TABLES, USER_TABLES, DBA_TAB_COLUMNS, que contienen datos estadísticos.
Estos datos no pueden actualizarse en tiempo real porque penalizarías mucho el rendimiento general de la base de datos. La clausula Analyze permite actualizar esos datos.
Ejemplo de uso. Para obtener el nº de columnas por tabla del OWNER ‘SA’
SELECT TABLE_NAME, COUNT(COLUMN_NAME)
FROM DBA_TAB_COLUMNS
WHERE OWNER='SA'
GROUP BY TABLE_NAME
ORDER BY TABLE_NAME;
Ejemplo de uso. Para obtener el nº de filas por tabla del OWNER ‘SA’
SELECT TABLE_NAME, NUM_ROWS
FROM DBA_TABLES
WHERE OWNER='SA'
ORDER BY TABLE_NAME;