【ORACLE】プロファイルを作成・変更・削除するSQL


ここではORACLEデータベースで、プロファイルを作成・変更・削除するSQLを紹介しています。

プロファイルの一覧を確認する方法は↓で紹介しています。
>>【ORACLE】プロファイルの一覧を確認するSQL

プロファイルとは

プロファイルとは、ユーザーのリソース制限やパスワードの制限をかけることが出来るオブジェクトです。

リソース制限とは、1ユーザあたりの同時セッション数やセッションの接続時間などのことです。

パスワードの制限とは、パスワードの有効期限やパスワードに何回ミスしたらロックする、といった設定のことです。

プロファイルを作成するSQL

プロファイルの作成はCREATE PROFILE文を使います。

プロファイルの作成や変更、削除にはシステム権限が必要です。
 作成:CREATE PROFILE
 変更:ALTER PROFILE
 削除:DROP PROFILE

システム権限の付与の方法については↓で紹介していますので参考にしてください。
>>【ORACLE】システム権限を付与・取消するSQL

CREATE PROFILE文の基本構文

パスワード制限するときのCREATE PROFILEの基本構文は次の通りです。

CREATE PROFILE プロファイル名
[ SESSIONS_PER_USER [数 | UNLIMITED | DEFAULT] ]
[ CPU_PER_SESSION [数 | UNLIMITED | DEFAULT] ]
[ CPU_PER_CALL [数 | UNLIMITED | DEFAULT] ]
[ CONNECT_TIME [数 | UNLIMITED | DEFAULT] ]
[ IDLE_TIME [数 | UNLIMITED | DEFAULT] ]
[ LOGICAL_READS_PER_SESSION [数 | UNLIMITED | DEFAULT] ]
[ LOGICAL_READS_PER_CALL [数 | UNLIMITED | DEFAULT] ]
[ PRIVATE_SGA [数 | UNLIMITED | DEFAULT] ]
[ COMPOSITE_LIMIT [数 | UNLIMITED | DEFAULT] ]
[ FAILED_LOGIN_ATTEMPTS [数 | UNLIMITED | DEFAULT] ]
[ PASSWORD_LIFE_TIME [数 | UNLIMITED | DEFAULT] ]
[ PASSWORD_REUSE_TIME [数 | UNLIMITED | DEFAULT] ]
[ PASSWORD_REUSE_MAX [数 | UNLIMITED | DEFAULT] ]
[ PASSWORD_LOCK_TIME [数 | UNLIMITED | DEFAULT] ]
[ PASSWORD_GRACE_TIME [数 | UNLIMITED | DEFAULT] ]
[ PASSWORD_VERIFY_FUNCTION [ファンクション | NULL | DEFAULT] ]
;
パラメータ名 意味
SESSIONS_PER_USER 1ユーザー当たりの同時セッション数
CPU_PER_SESSION 1セッション当たりのCPU時間
CPU_PER_CALL 1コール当たりのCPU時間
CONNECT_TIME 1セッション当たりの接続時間
IDLE_TIME セッションの非活動時間
LOGICAL_READS_PER_SESSION 1セッション当たりの読込可能なブロック数
LOGICAL_READS_PER_CALL 1コール当たりの読込可能なブロック数
PRIVATE_SGA 1セッション当たりのSGAに割当可能なプライベート領域
COMPOSITE_LIMIT 1セッション当たりのリソースの総コスト
FAILED_LOGIN_ATTEMPTS パスワードロックされるまでのログイン失敗回数
PASSWORD_LIFE_TIME パスワードの使用可能期間(日)
PASSWORD_REUSE_TIME パスワードを再利用できるようになる期間(日)
PASSWORD_REUSE_MAX パスワードを再利用するまでに必要な変更回数
PASSWORD_LOCK_TIME パスワードがロックされる期間(日)
PASSWORD_GRACE_TIME 期限切れのパスワードを変更するまでの猶予期間(日)
PASSWORD_VERIFY_FUNCTION パスワード検証用のファンクション

CREATE PROFILE文のSQLサンプル

次のCREATEPROFILE文
 ・ロックされるまでのログイン失敗回数:5回
 ・パスワードの使用できる期間:30日間
 ・パスワードが再利用できるまでの期間:90日間
 ・パスワードがロックされる期間:1日
 ・パスワード変更までの猶予期間:15日間

CREATE PROFILE prf1
FAILED_LOGIN_ATTEMPTS 5
PASSWORD_LIFE_TIME 30
PASSWORD_REUSE_TIME 90
PASSWORD_LOCK_TIME 1
PASSWORD_GRACE_TIME 15
;

プロファイルを変更するSQL

プロファイルの変更はALTER文を使います。

ALTER PROFILE プロファイル
変更するパラメータやオプション;

変更するパラメータやオプションは、作成時と同じ書き方です。

プロファイルを削除するSQL

プロファイルの削除はDROP文を使います。

DROP プロファイル名 [CASCADE];

プロファイルがユーザに割り当てられている場合、CASCADEオプションを指定することで、ユーザの割り当てからも同時に削除することが出来ます。

まとめ

プロファイルの作成はCREATE PROFILE、変更はALTER文、削除はDROP文を使います。

プロファイルの作成や変更、削除にはシステム権限が必要です。
 作成:CREATE PROFILE
 変更:ALTER PROFILE
 削除:DROP PROFILE

システム権限の付与の方法については↓で紹介していますので参考にしてください。
>>【ORACLE】システム権限を付与・取消するSQL