DB/Oracle/コマンド/ユーザ管理

Top / DB / Oracle / コマンド / ユーザ管理

目次

ユーザの管理。作ったり消したり、権限をあたえたり。


ユーザの作成

ユーザを作る。すべてはここから。

方法

  1. ユーザを作成する
    -- ミニマムな指定だとこれだけで良い
    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 表領域になる
  • 権限を与えないとなにもできない。接続すらできない。必要な権限を考えて、適宜作ったユーザに割り当てること

ユーザ定義の変更

既存ユーザの定義をいじくりまわす。変更したいオプションを列挙すれば、ユーザ名以外は変更可能。

方法

  1. ユーザ定義を変更する
    alter user <user-name>
      ...
      <options>
      ...
    ;
    

ユーザの削除

ユーザを抹消する。

方法

  1. ユーザを削除する
    -- ユーザの定義だけを消す
    drop user <user-name>;
    
    -- ユーザの所有するオブジェクトごと消す
    drop user <user-name> cascade;
    

システム権限の付与と取消

システム権限を与えたり奪ったりする。連鎖しない系権限。

方法

  1. システム権限の付与や取消を行う
    -- 権限の付与
    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>;
    

オブジェクト権限の付与と取消

オブジェクト権限を与えたり奪い去ったり。

方法

  1. オブジェクト権限の付与や取消を行う
    -- 権限の付与
    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 (2270d)