第5章 ユーザーの管理

5-1 データベース・ユーザーの作成
■ユーザーの作成の基本構文
CREATE USER ユーザー名
  IDENTIFIED BY パスワード
    [DEFAULT TABLESPACE デフォルト表領域名]
    [TEMPORARY TABLESPACE テンポラリー表領域名]
    [QUATA | UNLIMITED| ON 表領域名]
    [PROFILE プロファイル名 | DEFAULT];
情報 説明
ユーザー名 データベースに接続するユーザーの名前
ユーザー名は後で変更することが出来ません。
パスワード データベースに接続する際に使用するパスワード
デフォルト表領域 ユーザーがオブジェクトを作成した際に、そのデータをデフォルトで格納する表領域名
テンポラリー表領域 ユーザーが大きな表の並び替えや表を結合する際に、一時的に作成されるオブジェクトを格納する表領域名
QUOTA ユーザーの表領域への最大格納量(バイト単位)
省略した場合、全ての表領域にQUOTAが0に設定され、検索のみのユーザーとなります
各表領域単位に指定することが可能です
PROFILE データ−ベース・リソースに関する制限(同じユーザーで接続できる数、接続時間、CPUの利用時間の上限など)を集めたもの

■ユーザーの変更の基本構文
ALTER USER ユーザー名
  [IDENTIFIED BY パスワード]
  [DEFAULT TABLESPACE デフォルト表領域名]
  [TEMPORARY TABLESPACE テンポラリー表領域]
  [QUOTA  |サイズ | UNLIMITED|  ON 表領域名]
  [PROFILE ファイル名|DEFAULT];

■ユーザー削除の基本構文
DROP USER
ユーザー名
  [CASCADE]

■ユーザーの確認の基本構文
SELECT * FROM USER_USERS
  →ユーザー自身の情報
SELECT * FROM DBA_USERS
もしくは
SELECT * FROM ALL_USERS
  →すべてのユーザーの情報

■表領域の確認の基本欧文
SELECT * FROM USER_TS_QUOTAS
 
→ユーザー自身の表領域の情報
SELECT * FROM DBA_QUOTAS
もしくは
SELECT * FROM ALL_QUOTAS
  →すべてのユーザーの表領域の情報

5-2 データベース・アクセスの制御
■ユーザーがシステム内で何ができるか、また他のユーザーの所有するオブジェクトに対して何ができるかを権限として設定します。

■システム権限
  ・データベースへのアクセス権限

■オブジェクト権限
  ・他のユーザーの所有オブジェクトにアクセスする為の権限

■ロール
  ・システム権限をまとめて1つにセットしたもの

■システム権限の付与の基本構文
GRANT システム権限 | GRANT ANY PRIVILEGE
  TO ユーザー名

■システム権限の削除の基本構文
REVOKE システム権限
  FROM ユーザー名

■システム権限の確認の基本構文
SELECT * FORM SESSION_PRIVS

■オブジェクト権限の付与の基本構文
GRANT [ALL] オブジェクト権限[列名,列名・・・] 
  ON オブジェクト
    TO 他ユーザー名[,ユーザー名]
    [WITH GRANT OPTION]

■オブジェクト権限の削除の基本構文
REVOKE オブジェクト権限
  ON オブジェクト
    FROM 他ユーザー名
    [CASCADE CONSTRAINTS]

■オブジェクト権限確認の基本構文
SELECT * FROM USER_TAB_PRIVS_MADE
  →自分が与えたオブジェクト権限の確認
SELECT * FROM USER_TAB_PRIVS_RECD
  →自分がどのオブジェクトに権限を持っているかの確認
SELECT * FROM USER_COL_PRIVS_MADE
  →自分のスキーマオブジェクトに対して、誰がアクセス可能なのかの確認
SELECT * FROM USER_COL_PRIVS_RECD
  →自分がどのスキーマオブジェクトにアクセスできるのかの確認