Det bästa sättet skulle vara att kvalificera schemanamnet i programmet.
Om det inte är möjligt och applikationen bara använder SQL (inte PL/SQL) för att komma åt "Ägare"-objekten, kan du undvika synonymer överhuvudtaget genom att ändra standardschemat i en utlösare efter inloggning:
create or replace trigger USERX.a_logon_USERX
after logon on USERX
BEGIN
EXECUTE IMMEDIATE ('ALTER SESSION SET current_schema=standard');
END;
Det är dock lite svårt att förstå att denna teknik misslyckas när applikationen skickar PL/SQL-block ("börja ... slut;") till databasen. PL/SQL är kompilerad och kan därför inte beakta det aktuella schemat.