I noticed an interesting thing today. Consider a system where the production and test databases are equipped with the same privileges. In the production database, a user can select the table under another user without the ability to select. However, this process does not happen in the test database. What could be the reason for this situation in the production database?
Production database privileges:
ALTER ANY PROCEDURE
CREATE ANY CREDENTIAL
CREATE ANY JOB
CREATE ANY PROCEDURE
CREATE ANY RULE
CREATE ANY SEQUENCE
CREATE ANY TABLE
CREATE ANY TRIGGER
CREATE ANY TYPE
CREATE ANY VIEW
CREATE PROCEDURE
CREATE TABLE
CREATE TRIGGER
CREATE VIEW
DEBUG ANY PROCEDURE
EXECUTE ANY PROCEDURE
GRANT ANY PRIVILEGE
GRANT ANY ROLE
AQ_ADMINISTRATOR_ROLE
AUTHENTICATEDUSER
CONNECT
EXP_FULL_DATABASE
JAVA_ADMIN
JAVADEBUGPRIV
JAVA_DEPLOY
JAVAIDPRIV
JAVASYSPRIV
JAVAUSERPRIV
select * from dba_tab_privs where grantee='USER1' and owner='USER2' and table_name='TABLE_NAME_OWNED_BY_USER2' order by table_name, privilege;
no rows selected
But USER1 can select this table.
Best Regards,