DB/Oracle/コマンド/ユーザ管理
目次†
ユーザの管理。作ったり消したり、権限をあたえたり。
ユーザの作成†
ユーザを作る。すべてはここから。
方法†
- ユーザを作成する
-- ミニマムな指定だとこれだけで良い create user <user-name> identified by <password> -- オプションで追記 default tablespace <tablespace-name> temporary tablespace <tablespace-name> quota <size> on <tablespace-name> ;
- オプションの意味は以下。大体見たままだけど
オプション 説明 identified by <password> パスワード default tablespace <tablespace-name> デフォルト表領域 temporary tablespace <tablespace-name> 一時表領域 quota <size>
on <tablespace>表領域での割当制限。セグメントを作るときに必須
- オプションの意味は以下。大体見たままだけど
補足†
- デフォルト表領域を指定しなかった場合はデータベースのデフォルト表領域(データベースのインストール時に指定)で割り当てられる。データベースのデフォルト表領域が指定されていなければ SYSTEM 表領域になる
- 権限を与えないとなにもできない。接続すらできない。必要な権限を考えて、適宜作ったユーザに割り当てること
ユーザ定義の変更†
既存ユーザの定義をいじくりまわす。変更したいオプションを列挙すれば、ユーザ名以外は変更可能。
方法†
- ユーザ定義を変更する
alter user <user-name> ... <options> ... ;
ユーザの削除†
ユーザを抹消する。
方法†
- ユーザを削除する
-- ユーザの定義だけを消す drop user <user-name>; -- ユーザの所有するオブジェクトごと消す drop user <user-name> cascade;
システム権限の付与と取消†
システム権限を与えたり奪ったりする。連鎖しない系権限。
方法†
- システム権限の付与や取消を行う
-- 権限の付与 grant <privileges> [, <privileges>] to <user-name>; -- 権限の取消 revoke <privileges> [, <privileges>] from <user-name>;
権限の例†
いろいろあるのでいくつかサンプル。
- サンプル
-- 接続できるようにする grant create session to <user-name>; -- 表を作れるようにする grant create table to <user-name>; -- ほとんど全部許可する。オブジェクト権限も含む。手抜き grant all privileges to <user-name>;
オブジェクト権限の付与と取消†
オブジェクト権限を与えたり奪い去ったり。
方法†
- オブジェクト権限の付与や取消を行う
-- 権限の付与 grant <privileges> [, <privileges>] on <object-name> to <user-name>; -- 権限の取消 revoke <privileges> [, <privileges>] on <object-name> from <user-name>;
権限の例†
いろいろあるのでこれもいくつかサンプル。
- サンプル
-- 参照できるようにする grant select on <object-name> to <user-name>; -- 削除できるようにする grant delete on <object-name> to <user-name>;
ユーザや権限に関する情報の確認†
ユーザに関する情報の確認†
ユーザ関係の情報はだいたいここらでわかる。
- dba_users
- dba_ts_quptas
権限に関する情報の確認†
権限まわりはこっち。
- dba_sys_privs
- dba_tab_privs
Last-modified: 2011-11-02 (水) 09:55:59