Oracle Database 10gと11gの違い
10gから11gにマイグレーションする際、
時限爆弾を入れるDB構築者がいるので、簡単な環境確認方法
◆パスワードプロファイルの確認
■コマンド
SELECT RESOURCE_NAME, LIMIT
FROM DBA_PROFILES
WHERE PROFILE='DEFAULT'
AND RESOURCE_TYPE='PASSWORD';
【変更前】
RESOURCE_NAME LIMIT
-------------------------------- ---------
FAILED_LOGIN_ATTEMPTS 10
PASSWORD_LIFE_TIME 180
PASSWORD_REUSE_TIME UNLIMITED
PASSWORD_REUSE_MAX UNLIMITED
PASSWORD_VERIFY_FUNCTION NULL
PASSWORD_LOCK_TIME 1
PASSWORD_GRACE_TIME 7
上記設定の場合、以下のメッセージが表示されるようになり
最悪アプリケーションが一斉に使えなくなる場合がある
【エラーメッセージ】
ORA-28002: パスワードは、n日以内に期限切れになります。
ORA-28001: ユーザーのアカウントが期限切れです。パスワードを変更する必要があります。
◆DEFAULTプロファイルのパスワードポリシーを
OracleDatabase10g以前と同じ設定に変更
※DBA権限を持ってるユーザーで実行
■コマンド
ALTER PROFILE DEFAULT LIMIT
FAILED_LOGIN_ATTEMPTS UNLIMITED
PASSWORD_LIFE_TIME UNLIMITED
PASSWORD_LOCK_TIME UNLIMITED
PASSWORD_GRACE_TIME UNLIMITED ;
【変更後】
RESOURCE_NAME LIMIT
-------------------------------- ---------
FAILED_LOGIN_ATTEMPTS UNLIMITED
PASSWORD_LIFE_TIME UNLIMITED
PASSWORD_REUSE_TIME UNLIMITED
PASSWORD_REUSE_MAX UNLIMITED
PASSWORD_VERIFY_FUNCTION NULL
PASSWORD_LOCK_TIME UNLIMITED
PASSWORD_GRACE_TIME UNLIMITED
以下、ついでメモ(コマンド)
※DBA権限を持ってるユーザーで実行
▼既存アカウントのパスワードを再設定
ALTER USER ユーザ名 IDENTIFIED BY パスワード;
▼アカウントのロックを解除
ALTER USER ユーザ名 ACCOUNT UNLOCK;
▼ユーザパスワードの大文字/小文字を識別を無効化
ALTER SYSTEM SET SEC_CASE_SENSITIVE_LOGON = FALSE;
★セキュリティレベルは下がるので、使用にはくれぐれも注意!