Oracle XEのユーザの作成

Pocket

凡例
・[]
 →任意
・{ 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;
;

CREATE USER

タイトルとURLをコピーしました