■スキーマ
データベースオブジェクトの集合
スキーマ名はスキーマを所有するユーザ名と同じ
■ユーザに付与する権限
システム権限(ユーザがDBに対して特定操作を可能にするため付与する権限)
・CREATE TABLE
・CREATE USER
・SELECT ANY TABLE
・UNLIMITED TABLESPACE
※CREATE USERでユーザ作成時にはCONNECTロールは割り当てられないが、EMの場合は割り当てられる
文で作成した場合は、アクセス権限を付与しないと、DBアクセス操作はできない。
オブジェクト権限(特定のオブジェクトにアクセスを許可するとくに付与する権限)
・SELECT
・INSERT
・UPDATE
・DELETE
・EXECUTE
■ユーザ作成
create user ユーザ名
[identified by パスワード]
[default tablespace 表領域]名
[temporary tablespace 一時表領域]
[quota サイズ(k|m) on 表領域名]
[profile プロファイル名]
[account unlock|lock]
[password expire]
■権限
①付与
grant システム権限 to ユーザ名
grant オブジェクト権限名 on オブジェクト名 to ユーザ名
②取り消し
revoke システム権限 from ユーザ名
revike オブジェクト権限名 on オブジェクト名 from ユーザ名
■ロール
①作成
create role ロール名
[NOT IDENTIFIED | IDENTIFIED BY パスワード]
例)create role select_role
②権限付与
grant システム権限 to ロール名
例)grant create session,select any table to select_role;
③ユーザに割り当て
grant ロール名 to [ユーザ名 | public]
[with admin optin]
piblic:全てのユーザにロールを付与する
with admin option:他のユーザへのロールの付与、取り消しの権限も与える
例)grant select_role to ito;
create user ito
identified by jo0821
default tablespace users
temporary tablespace temp;
CREATE TABLE ito(
C_NUM NUMBER NOT NULL
);
create role crate_role;
grant create table to create_role;
grant create_role to ito;
・ユーザが利用する一時表領域の優先順位
①ユーザ作成時に割り当てられたもの
②データベースのデフォルト一時表領域
③①~②にはまらない場合SYSTEM表領域
・ユーザが作成するオブジェクトが格納される表領域の優先順位
①オブジェクトを作成する際に指定した表領域
②ユーザ作成時に割り当てられている表領域
③データベースのデフォルト表領域
④①~③にはまらない場合は、SYSTEM表領域
ユーザが表を作成するには以下の条件を満たす必要がある
①CREATE TABLEシステム権限を持っていること
②表を格納する表領域にクオータが与えられていること。
デフォルトは全ての表領域に0が割り当てされている。
※CREATE TABLEシステム権限は、CONNECTロールに含まれる
●スキーマオブジェクトのネーミング規則
①長さは30バイト以内
データベース名は、8バイト以内
データベースリンクは、128バイト以内
②予約語は使用不可
③先頭は文字で始める(数字は不可)
④以下のみ使用可能
英数、漢字、かな、カナ
「_」 「$」 「#」
⑤一つのネームスペースで一意な名前を利用する
●スキーマオブジェクトに含まれないもの
・表領域
・ロール
・プロファイル
・ユーザ