以下のように表示されます。
(日本語)
ORA-01031: 権限が不足しています。
(英語)
ORA-01031: insufficient privileges
発生パターン
このエラーは以下のような場合に発生します。
- 実行しようとした処理を実行する権限が無い
- エラー例
- SQL> CREATE VIEW testv AS SELECT * FROM scott.muser; CREATE VIEW testv AS SELECT * FROM scott.muser; * 行1でエラーが発生しました。 ORA-01031: 権限が不足しています
ログインしているユーザにSCOTT.MUSERテーブルにVIEWを作成する権限が無いためエラーが発生しています。
対処法
- 使用しているユーザ(スキーマ)に対して管理者に権限を付与してもらう
- 使用しようとしているオブジェクトにアクセスできる権限をオブジェクト所有者に付与してもらう
- 権限があるユーザ(スキーマ)でログインし直して実行する
例えば上の発生パターンの例であれば、管理者やテーブルの所有者に権限を付与してもらえばVIEWを作成できるようになります。
- エラー例
- SQL> show user ユーザーは"SCOTT"です。 -- VIEWの作成をtigerユーザに許可する権限付与 SQL> GRANT CREATE VIEW TO tiger; 権限付与が成功しました。 -- muserテーブルをSELECTする権限をtigerユーザに付与する SQL> GRANT SELECT ON muser TO tiger; 権限付与が成功しました。
CREATE VIEWしようとしているスキーマがtigerの例です。