2013/08/13

06-01.USERの作成と権限【USER 作成】

■USER作成

CREATE USER user_name
IDENTIFIELD [BY password | EXTERNALLY]
 [ DEFAULT TABLESPACE tablespace ]
 [ TEMPORARY TABLESPACE tablespace ]
 [ QUOTA { integer [K|M] | UNLIMITIED } ON tablespace ]
 [ PASSWORD EXPIRE ]
 [ ACCOUNT { LOCK | UNLOCK } ]
 [ PROFILE { profile | DEFAULT } ]

・user_name : USERの名前
・BY password : USERログイン時のパスワード
・EXTERNALLY : USERのOSによる認証指定
・DEFAULT TABLESPACE : USERスキーマの為の基本テーブルスペースを指定
・TEMPORARY TABLESPACE : USERの一時的テーブルスペースを指定
・QUOTA : USERが使用するテーブルスペースの領域を指定
・PASSWORD EXPIRE : USERがSQLPLUSでDBにログインする時パスワードを再設定
 (USERがDBにより認証される場合のみ適切なオプションだ。)
・ACCOUNT LOCK/UNLOCK : USERアカウントをロック、アンロックする時使用
 (UNLOCKが基本)
・PROFILE : 資源使用を制御し、USERへ使用される暗号制御処理方式を指定

ここでは簡単なユーザー作成について記載、
詳細なユーザー管理とPROFILE管理はアドミンで…

※TEMPORARY TABLESPACEを指定しないとシステムのテーブルスペースが基本的に指定されるが、システムのテーブルスペースに斷片が発生する可能性があるのでUSER作成時には、TEMPORARY TABLESPACEを指定するのが望ましい

また、DEFAULT TABLESPACEもUSER作成時に指定しないと基本的にシステムテーブルスペースが指定される。だが、USER作成時にDEFAULT TABLESPACEを指定してUSERが持つデーターとオブジェクトの保存スペースを別途管理する必要がある。

システムテーブルスペースは本来の目的(すべてのデーター情報、保存プロシーザー、パッケージ、DBトリーガー等を保存)の為に使う物であり、一般USERのデーター保存に使用してはいけない。

※テーブルスペースとは
 ・オラクルサーバーがデーターを保存する論理的な構造
 ・テーブルスペースは1つまたは多数のデーターファイルで作られる論理的データー保存構造

■USER作成実記

---SQL PLUS実行後、SCOTT/TIGERで接続

SQL> CREATE USER TEST IDENTIFIED BY TEST;
CREATE USER TEST IDENTIFIED BY TEST
                               *
行1でエラーが発生しました。:
ORA-01031: 権限が不足しています。


---SCOTT USERはユーザー作成権限がないので作成不可
---DBA Roleのあるユーザーで接続

SQL> CONN sys/manager AS SYSDBA
接続されました。

---USERを再作成
SQL> CREATE USER TEST IDENTIFIED BY TEST;

ユーザーが作成されました。

SQL>


新しく作成したユーザーで接続してみよう

SQL> CONN TEST/TEST
ERROR:
ORA-01045: user TEST lacks CREATE SESSION privilege; logon denied


警告: Oracleにはもう接続されていません。

---新しく作成したTESTユーザーは権限がないので接続できない
---すべてのユーザーは権限が付与され付与された権限のことしかできない
---TESTユーザーも使用するための権限を付与してあげなければならない

SQL> CONN sys/manager AS SYSDBA
接続されました。
SQL>
SQL> GRANT connect, resource to TEST;

権限付与が成功しました。

SQL> CONN TEST/TEST
接続されました。
SQL>


0 件のコメント:

コメントを投稿

QLOOKアクセス解析