Oracle 11gではデフォルトのパスワード有効期限が180日に設定されています。
ちなみにOracle 11gからはパスワードの大文字・小文字も区別されますので注意が必要です。
SAP BASIS管理者でもこのことを意外と知らない人が多いようで、
システムを実装して半年ほどして
「突然データベース(Oracle)につながらなくなった!」
といったトラブルが起きることが稀にあるようです。
解決策としては以下の2つでしょうか。
- 10gまでと同様のパスワードの有効期限を無期限にする
- 運用のセキュリティポリシーを設定し、定期的なパスワード変更を実施
1の具体的な実装方法としては以下の1~3の手順となります。
- SQLPlusを起動:
$ sqlplus /nolog - SYSDBAでログイン:
SQL> conn /as sysdba - デフォルトプロファイルの設定でパスワードを無期限有効に変更:
SQL> alter profile default limit password_life_time unlimited;
2のパスワード変更ですがSAP環境の場合はBR*toolsからも実行ができます。
- SQLの場合:
SQL> alter user <username> identified by <password>; - BR*toolsの場合:
$ brconnect -u system/<password> -f chpass -o <sapowner> -p <password>
* sapownerが不明の場合は以下のSQLを実行して確認します。
SQL> SELECT owner FROM dba_tables WHERE table_name = 'T000'; (ABAP Stackの場合)
SQL> SELECT owner FROM dba_tables WHERE table_name='J2EE_CONFIG'; (Java Stackの場合)
有効期限が切れてロックされてしまった場合は以下のSQLを実行して解除します。
- ロックされたアカウントのロック解除
SQL> alter user <username> account unlock;