ユーザーを作成したら、ユーザーに対してGRANT文で権限を付与します。Oracleの権限には「オブジェクト権限」と「システム権限」があります。
目次
ユーザーに権限を付与する
システム権限
システム権限はデータベースの変更や表領域の作成など、ユーザーがデータベースを操作する権限です。
構文
GRANT {システム権限名} TO {ユーザ名}
[WITH ADMIN OPTION];
※WITH ADMIN OPTION を指定することで、他のユーザーやロールに対して権限を与えることができます。
主なシステム権限名 | 説明 |
---|---|
CREATE USER | ユーザーを作成する権限。 |
ALTER USER | ユーザーを変更する権限。 |
DROP USER | ユーザーを削除する権限。 |
CREATE TABLE | 自分のスキーマに表を作成する権限。 |
CREATE ANY TABLE | 任意のスキーマに表を作成する権限。 |
ALTER ANY TABLE | 任意のスキーマの表を変更する権限。 |
DROP ANY TABLE | 任意のスキーマの表を削除する権限。 |
UPDATE ANY TABLE | 任意のスキーマの表を更新する権限。 |
DBA | 管理者用のロールで、ほとんどの管理機能をユーザーが実行できる権限。 データベース・インスタンスの起動または停止の権限は含まれません。 |
以下はsampleユーザーにDBAロールの権限を付与するGRANT文です。
GRANT DBA TO sample;
SQL> GRANT DBA TO sample; |
オブジェクト権限
オブジェクト権限はユーザーがデータベースに対して操作する権限です。
構文
GRANT {オブジェクト権限名} ON {オブジェクト名} TO {ユーザ名}
[WITH ADMIN OPTION];
※WITH ADMIN OPTION を指定することで、他のユーザーやロールに対して権限を与えることができます。
主なオブジェクト権限名 | 説明 |
---|---|
ALTER | 表などのオブジェクトの定義を変更する権限。 |
SELECT | SELECT文で問合せをする権限。 |
INSERT | INSERT文でレコードを挿入する権限。 |
UPDATE | UPDATE文でレコードを更新する権限。 |
DELETE | DELETE文でレコードを削除する権限。 |
INDEX | 表に索引を作成する権限。 |
EXECUTE | プロシージャやファンクションを実行する権限。 |
以下はsampleユーザーにempテーブルのSELECT権限を付与するGRANT文です。
GRANT DBA ON emp TO sample;
SQL> GGRANT DBA ON emp TO sample;
|
以上、Oracleのユーザーに対してGRANT文で権限を付与する方法について解説しました。