Muk@i log

非日常のことをメインにガジェット・旅行、時々システムについて書いています。

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;

 

★セキュリティレベルは下がるので、使用にはくれぐれも注意!