Hi,
At work I have an app sitting on Oracle 7.3 (old stuff, yes). Recently I tried to create an account that would be able to SELECT on all tables, but nothing else i.e. no updates or deletes. But whenever I create a new account it already has access to all application tables. I even stripped it down to CREATE SESSION only. This didn't help - the user could still update any table!
So, I found that there is a whole bunch of Public Synonyms named exactly the same as tables (i.e. table myTable123, public synonym myTable123). I removed one of them and the user was not able to SELECT on that particualr table. Then I created a new table and obviously the new user couldn't see it. I added a Public Synonym for that table, hoping that the user would be able to access it. No luck the new user could not see it.. which would make sense as no GRANTs were given. There has to be something else....
I'm not an Oracle expert and I'm trying to get to the bottom of this issue, but no luck so far. Please help with any suggestions you may have. Cheers! Damo