ユーザー作成

※表領域を確認して、ユーザー作成を行う。

  • 表領域の確認 (表領域名、状態、CONTENTS)

SQL> SELECT tablespace_name, status, contents FROM dba_tablespaces;

  • 表領域とデータ・ファイル情報の取得(ファイル名、領域名)

SQL> SELECT file_name, tablespace_name FROM dba_data_files;

  •  ユーザーのデフォルト表領域(ユーザー名、デフォルトとなるデータ領域) 

 SQL> SELECT username, default_tablespace FROM user_users; 

  •  ユーザー一覧(ユーザー名、デフォルトとなるデータ領域) 

 SQL> SELECT username, default_tablespace FROM dba_users; 

  • ユーザー作成

CREATE USER ユーザー名
IDENTIFIED BY パスワード
[DEFAULT TABLESPACE デフォルト表領域]
[TEMPORARY TABLESPACE 一時表領域]
[ QUOTA サイズ(K/M) ON 表領域名 ];

    ※補足
        ①[ ]で囲んだものは省略が可能。デフォルト表領域(DEFAULT TABLESPACE句で指定)、テンポラリ表領域(TEMPORARY TABLESPACE句で指定)を
         指定しなかった場合、SYSTEM表領域が指定されたことになる
        ② SYSTEM表領域はデータベースに関するすべての情報が格納されているため、
         ユーザ・オブジェクトを格納したり、テンポラリ領域として使うべきではない。

        ③ クォータ(QUOTA句)の指定がない表領域はクォータが0ということになり、ユーザはその表領域にオブジェクトを作成できない
          クォータの指定で
          QUOTA "UMLIMITED" ON 表領域名
          とした場合、"無制限に使える"という意味になる。

  •  権限の付与(ロールの与え) 

 SQL> GRANT connect, resource TO ユーザー名; 
           ※ この権限を付与しないと、せっかくユーザを作ってもログインさえできない。
             ロールとは
               ユーザーが権限について色々と組み合わせて名前をつけたものであり、アカウント管理のグループのようなものである。

               実行結果、作成された新規ユーザの権限を確認したら、下記のような権限があった。
               PRIVILEGE
                - - - - - - - -
               CREATE SESSION
               UNLIMITED TABLESPACE
               CREATE TABLE
               CREATE CLUSTER
               CREATE SEQUENCE
               CREATE PROCEDURE
               CREATE TRIGGER
               CREATE TYPE
               CREATE OPERATOR
               CREATE INDEXTYPE

           or下記の方法で

      権限の付与(細かく指定し、権限を付与する)

 SQL> GRANT CREATE SESSION, CREATE TABLE,
     CREATE SEQUENCE, CREATE VIEW, CREATE PROCEDURE
     TO ユーザー名; 

  •  権限の確認(自分が持っている権限を確認) 

 SQL> SELECT * FROM session_privs; 

  •  ユーザーの削除 

 DROP USER ユーザー名; 

     ユーザーの所有するスキーマ・オブジェクトも一緒に削除

 SQL> DROP USER ユーザー名 CASCADE; 

  •  誰が何のプロファイルを使用しているか確認 

 SQL> SELECT username, profile FROM dba_users; 

Unless otherwise stated, the content of this page is licensed under Creative Commons Attribution-ShareAlike 3.0 License