凡例
・[]
→任意
・{ a | b }
→aかbどちらかを選択
・$XXX
→任意設定項目
【前提条件】
・ユーザの作成はSYSユーザで行います。
・dba_XXXX表はselect any table権限がないと参照できません。
・CREATE USERシステム権限がないとUSERは作成できません。
-- ユーザ情報を確認する SELECT * FROM dba_users;
-- ユーザの表領域クォータを確認する SELECT * FROM dba_ts_quotas;
-- <ユーザの作成:凡例> CREATE USER user IDENTIFIED { BY $passward | EXTERNALLY | GLOBALLY AS $name } -- 認証方式の指定 [ DEFAULT TABLESPACE $tablespace ] -- ユーザが通常使用する表領域の指定 [ TEMPORARY TABLESPACE { $tablespace | $tablespace_group } ] -- ユーザが通常使用する一時表領域の指定 [ QUOTA { $int [ K | M ] | UNLIMITED } ON $tablespace ] -- ユーザ表領域クォータの指定 [ QUOTA { $int [ K | M ] | UNLIMITED } ON $tablespace ] -- ユーザ表領域クォータの指定(複数表領域に対して記述可能) [ PROFILE profile ] -- ユーザプロファイルの指定 [ PASSWORD EXPIRE ] -- 期限切れパスワード指定 [ ACCOUNT { LOCK | UNLOCK } ] -- アカウントロック指定 ;
<解説>
・IDENTIFIEDは必ず指定する。
・BYを指定する場合、ローカルユーザを作成できる。
BYに続いてデータベースへのログイン時のパスワードを指定する。
・EXTERNALLYを指定する場合、外部ユーザーを作成できる。
このユーザーは、外部サービス(オペレーティング・システムやサード・パーティのサービスなど)で認証できる。
セキュリティ的にあまり好ましくない。
・GLOBALLYを指定する場合、グローバル・ユーザーを作成できる。
このユーザーは、Oracle Internet Directoryによって認可される必要がある。
・DEFAULT TABLESPACEを未指定の場合は、DBのデフォルトの表領域が指定される。
DBのデフォルト表領域が指定されていない場合、SYSTEM表領域に格納される。
・TEMPORARY TABLESPACEを未指定の場合は、DBのデフォルトの一時表領域が指定される。
DBのデフォルト表領域が指定されていない場合、SYSTEM表領域に格納される。
TEMPORARY TABLESPACEを指定するの場合は、標準ブロック・サイズの一時表領域をでないとエラーとなる。
・QUOTAはユーザーが表領域内に割り当てることができる。最大サイズを指定できる。
・UNLIMITEDを使用した場合は、無制限に割り当て可能。
・一時表領域にQUOTAは指定できない。
・PROFILEを未指定の場合はDBのデフォルトがプロファイルが適用される。
プロファイルによって、ユーザーが使用できるデータベース・リソース容量を制限している。
・PASSWORD EXPIREを指定した場合は、ユーザーのパスワードを期限切れにできる。
ユーザーがデータベースにログインする前に、ユーザーまたはDBAはパスワードの変更が必要となる。
・ACCOUNT LOCKを指定すると、ユーザー・アカウントをロックし、アクセスを禁止する。
ACCOUNT UNLOCKを指定すると、ユーザー・アカウントのロックを解除し、アカウントへのアクセスを許可する。
-- <ユーザの作成:実行例①> -- ユーザの作成 CREATE USER $user IDENTIFIED BY $passward DEFAULT TABLESPACE $tablespace QUOTA $size M ON $tablespace TEMPORARY TABLESPACE $temp_tablespace QUOTA $size2 M ON $tablespace2 PROFILE $userprofile PASSWORD EXPIRE; ;