はじめに
Oracleデータベースでは、デフォルトでユーザーパスワードの有効期限が60日に設定されています。つまり、60日後にユーザーはパスワードの更新が必要になります。頻繁なパスワード変更を避けたい場合は、パスワードの有効期限を「無制限(Unlimited)」に設定することができます。
本記事では、Oracleデータベースユーザーパスワードの有効期限を無制限に設定する方法を詳しく解説します。
前提条件
- Oracle データベースへの管理者権限でのアクセス
-
oracle
ユーザーでのLinuxシステムへのログイン権限 -
sys
ユーザーとしてのデータベース接続権限
手順
1. Oracleデータベースへのログイン
まず、oracle
ユーザーとしてLinuxシステムにログインし、sys
ユーザーとしてOracleデータベースに接続します。以下のコマンドを使用してログインします:
sqlplus / as sysdba
2. 現在のパスワード有効期限設定の確認
現在のパスワード有効期限設定を確認するため、デフォルトプロファイル内のパスワード有効期限(PASSWORD_LIFE_TIME
)を確認します:
COLUMN PROFILE FORMAT A10
COLUMN RESOURCE_NAME FORMAT A20
COLUMN LIMIT FORMAT A10
SELECT * FROM dba_profiles s
WHERE s.profile='DEFAULT'
AND resource_name='PASSWORD_LIFE_TIME';
このコマンドを実行すると、通常以下のような出力が表示されます:
PROFILE RESOURCE_NAME RESOURCE LIMIT COM INH IMP ORA MAN
---------- -------------------- -------- ---------- --- --- --- --- ---
DEFAULT PASSWORD_LIFE_TIME PASSWORD 60 NO NO NO YES NO
出力から、デフォルトではパスワードの有効期限が60日に設定されていることが確認できます。
3. パスワード有効期限を無制限に設定
パスワード有効期限を無制限に設定するには、以下のSQLコマンドを実行します:
ALTER PROFILE DEFAULT LIMIT PASSWORD_LIFE_TIME UNLIMITED;
この変更は即座に有効になり、データベースの再起動は不要です。設定後、ユーザーパスワードは期限切れになることがありません。
4. 既存ユーザーの設定更新
既存のユーザーについては、以下のコマンドでパスワードを再設定する必要があります:
ALTER USER YOUR_USERNAME IDENTIFIED BY 'your_password';
5. 追加のパスワードポリシー設定(オプション)
パスワードの再利用制限も無制限にしたい場合は、以下のコマンドを実行します:
ALTER PROFILE PROFILE_NAME LIMIT PASSWORD_REUSE_TIME UNLIMITED;
ALTER PROFILE PROFILE_NAME LIMIT PASSWORD_REUSE_MAX UNLIMITED;
6. 設定変更の確認
変更が正常に適用されたことを確認するため、手順2のクエリを再度実行し、PASSWORD_LIFE_TIME
がUNLIMITED
に設定されていることを確認します。
まとめ
以上の手順により、Oracleデータベースユーザーパスワードの有効期限を無制限に設定できました。この設定により、パスワード期限切れによる運用上の問題を回避することができます。
ただし、セキュリティの観点から、本番環境では定期的なパスワード変更を推奨する場合もありますので、組織のセキュリティポリシーに従って適切に設定することが重要です。
注意事項
- この設定変更は即座に有効になります
- データベースの再起動は不要です
- セキュリティポリシーとの整合性を確認してください
- 本番環境では慎重に実施することを推奨します
この記事が、Oracleデータベースのパスワード管理でお困りの方の参考になれば幸いです。