Najlepszym sposobem byłoby zakwalifikowanie nazwy schematu w aplikacji.
Jeśli nie jest to możliwe, a aplikacja używa tylko języka SQL (nie PL/SQL) do uzyskiwania dostępu do obiektów „Właściciel”, można w ogóle uniknąć synonimów, zmieniając domyślny schemat w wyzwalaczu po logowaniu:
create or replace trigger USERX.a_logon_USERX
after logon on USERX
BEGIN
EXECUTE IMMEDIATE ('ALTER SESSION SET current_schema=standard');
END;
Jednak nieco trudno jest pojąć, że ta technika zawodzi, gdy aplikacja wysyła bloki PL/SQL („begin ... end;”) do bazy danych. PL/SQL jest skompilowany i dlatego nie może uwzględniać bieżącego schematu.