最初のケースでは、次のいずれかを行う必要があるため、機能しません。
-
含まれているスキーマを含むテーブル名を参照します。つまり、
SELECT * FROM schema.EMP;
または
2。すべてのSQLステートメントにスキーマを含めずにテーブルを「表示」できるようにするには、[public]シノニムを作成します。
2番目のケースでは、スキーマを参照しようとしていますが、間違ったスキーマを取得しています。 EMPテーブルは通常、SYSTEMではなくSCOTTスキーマにあります。あなたの場合、多分あなたはする必要があるかもしれませんが:
grant select on cis605.emp to chap7;
また、「USER」というユーザーを持つことは悪い考えです。これはOracleのキーワードです。 (これは単なる例の目的かもしれませんが)