I am seeing a weird behaviour in my Oracle DB schema around a 'missing' table.
The end goal is to gather statistics for all the tables that our team uses. All those tables have a common prefix – rca
.
So, I am fetching the list of tables using:
SELECT *
FROM ALL_OBJECTS
where OBJECT_NAME like 'rca%'
AND OBJECT_TYPE = 'TABLE';
This query returns a table called rca_related_materials
.
We're using a function developed by some other team that does the gather stats job for us. We just pass the owner_name and the table_name to that function.
Calling that function for this table name or running
analyze table rca_related_materials compute statistics for table;
or even,
select *
from rca_related_materials;
returns the below Error report
SQL Error: ORA-00942: table or view does not exist
00942. 00000 - "table or view does not exist"
*Cause:
*Action:
How can I get this entry removed from the ALL_OBJECTS table?
PS: I see the same entry coming up in USER_TABLES and DBA_TABLES also.
Best Answer
Database objects with lowercase names need to have their name enclosed in double quotes when referenced
Also, you left out the schema name.
Try