Przy migracji pewnej aplikacji Oracle db okazało sie, że jeden z użytkowników ma zrobione public synonym do wszystkich obiektow.
Poniżej mały skrypcik do automatycznego wygenerowania brakujacych synonym
Oczywiscie skrypt w czystym oracle sql. Najlepiej odpalac z usera, któremu chcemy zrobic synonym:
declare cursor user_syn is select object_name from all_objects where upper(owner) like 'USER_NAME'; syn varchar2(100); begin open user_syn; loop fetch user_syn into syn; exit when user_syn%NOTFOUND; execute immediate 'create or replace public synonym '||syn||' for USER_NAME.'||syn; end loop; close user_syn; end; /