I have two users - schema1 and schema 2 in our oracle database.
I created a table and synonym in schema1 as follows
Create table test ( user varchar2(25)) ;
Create or replace synonym schema2.test for schema1.test
I observed a difference in behavior while I was trying to query test table from schema2 between our development and production environments.
select * from test
in our development environment did not throw any error.
But when I ran same command in production ,I got insufficient privileages error for schema2. I had to explicitly give select grant on test table to schema2 in production.
Why this difference could have arised between dev and prod environments?
Does creating a synonym automatically grant select access to an underlying table in oracle?