最善の方法は、アプリケーションでスキーマ名を修飾することです。
それが不可能で、アプリケーションがSQLのみ(PL / SQLではなく)を使用して「所有者」オブジェクトにアクセスする場合は、ログオン後トリガーのデフォルトスキーマを変更することで、シノニムをまったく回避できます。
create or replace trigger USERX.a_logon_USERX
after logon on USERX
BEGIN
EXECUTE IMMEDIATE ('ALTER SESSION SET current_schema=standard');
END;
ただし、アプリケーションがPL / SQLブロック( "begin ... end;")をデータベースに送信するときに、この手法が失敗することを理解するのは少し難しいです。 PL / SQLはコンパイルされているため、現在のスキーマを考慮することはできません。