アプリケーション側で「テーブル参照のみさせたい」ユーザを作成してくれという依頼が最近ありました。
大抵はselect any table 権限をつければ良いんですが、個別ユーザの全テーブルを参照させたい場合は各テーブル分、オブジェクト権限を付ける必要があります。
これが結構面倒臭い作業なので、以下の手順でSQL文を生成して実行してやります。
テーブル参照ユーザーにて下記SQLを実行
SQL> set pages 0
SQL> SELECT 'grant select on '||table_name|| ' to <参照させたいユーザ>;' FROM user_tables;