User Privilege Oracle PLSQL Tutorial

Even though a public synonym has been created for schemaName.tableName, a user still needs object privileges
on that table to actually access the table.

CREATE PUBLIC SYNONYM products FOR schemaName.tableName;