Oracleの権限(GRANT)とは(システム権限、オブジェクト権限)

Oracleの権限(GRANT)

Oracleでテーブルを作成するには「テーブルを作成する権限」をもっていないと作成はできません。テーブルの作成に限らず、何をするにしても権限が必要なのです。

  • システム権限
  • オブジェクト権限

Oralceの権限は「システム権限」、「オブジェクト権限」という2種類の権限があります。

システム権限

システム権限はデータベースに対して操作する権限です。

例えば、データベースを変更する権限(ALTER DATABASE)、表領域を作成する権限(CREATE TABLESPACE)、ユーザーを作成する権限(CREATE USER)などです。

オブジェクト権限

オブジェクト権限とはデータベース全体ではなく特定のスキーマに関しての権限になります。

例えば、登録権限(INSERT権限)、削除権限(DELETE権限)などがあります。

権限を付与するGRANTコマンド

では、実際にコマンドで権限を付与してみましょう。

権限付与はGRANT文で行います。まずは権限を付与できるユーザーでログインする必要があります。

ここではsysdbaでログインします。

権限付与できるユーザーでログインできました。権限付与していきます。

上記コマンドはシステム権限であるCREATE TABLE権限を「SATOU」ユーザーへ付与します。これで「SATOU」はCREATE TABLEが可能となりました。

上記コマンドはオブジェクト権限であるINSERT権限を「SATOU」のTABLE_Aに対して付与します。これで「SATOU」はTABLE_Aに対してINSERTできるようになりました。

Oracleは権限がないと何もできません。だからといって多くの権限を与えるのはセキュリティ上、好ましくはありません。

権限で重要なことは、「必要最低限な権限のみを付与する」ということです。そして、その「必要最低限」を見極めるのがDBAの仕事であります。

Oracleの権限のまとめ

  • Oracleは権限がないと何も操作できないので権限を付与することからはじまります。
  • 権限付与はGRANTコマンド
  • 必要最低限の権限のみを付与するのがポイント

以上、Oracleの権限のまとめでした。