To clear up what might be a misconception, when you say:
SELECT * FROM DM.table
is not a tablespace name, it is an Oracle user
The reason that a (DM
) table is visible is because either:
- You are connected as the user DM
- DM has granted SELECT privileges to the user to which you have connected
- DM has granted SELECT privileges to PUBLIC
- The user to which you are connected has broad privileges to read other schemas' tables. For example, that user has been granted a ROLE such as DBA, or has been granted a system privilege such as SELECT ANY TABLE.
I apologize that I am not more familiar with the behaviors of SQL*Developer, but I'm thinking that the "[+]" you are clicking on probably has the functionality of showing tables that the connected user owns
. In this case, the connected user owns no tables (itself), but that user certainly has access to data dictionary views, and apparently has at least SELECT access to one or more tables that user DM
I hope this has helped at least a little bit.
(aka Dave of Sandy, Utah, USA)
"People may forget what you say, but they will never forget how you made them feel."