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 件のコメント:
コメントを投稿