Oracle Database 19cはRelease Update (RU)の単位で新機能を追加する傾向があります。
すこし前(7月20日)に登場したRE 19.12に含まれる新機能の一つについて解説します。
マニュアル New Features Guide で説明されています。
PASSWORD_ROLLOVER_TIME
Oracle Database ユーザーに対してパスワードの複雑性や有効期限等を制御する機能に PROFILE があります。PROFILE は古い Oracle Database から存在する機能で、長い間新しい機能が追加されませんでした。RU 19.12 では PROFILE リソースとして PASSWORD_ROLLOVER_TIME が追加されました。この設定はパスワードを変更した際に古いパスワードも一定時間(日)有効にする機能です。この機能により、あらかじめデータベース・ユーザーのパスワードを変更しておくことができ、クライアントから接続できない時間をなくすことができます。
設定方法
PASSWORD_ROLLOVER_TIME リソースを変更します。
プロファイルの作成
SQL> CREATE PROFILE PROFILE1912 LIMIT PASSWORD_ROLLOVER_TIME 1;
プロファイルが作成されました。
ユーザーを作成し、プロファイルを指定します。ユーザーは CREATE USER 文で指定したパスワードを使って接続できます。
ユーザーの作成と接続
SQL> CREATE USER apuser1 IDENTIFIED BY password1 PROFILE PROFILE1912;
ユーザーが作成されました。
SQL> GRANT CREATE SESSION TO apuser1;
権限付与が成功しました。
SQL> CONNECT apuser1/password1
接続されました。
パスワードを変更しますが、クライアントは旧パスワードでも/新パスワードでも接続できます。
パスワードの変更と旧パスワードによる接続
SQL> ALTER USER apuser1 IDENTIFIED BY password2;
ユーザーが変更されました。
SQL> CONNECT apuser1/password1
接続されました。
SQL>
SQL> DISCONNECT
Oracle Database 19c Enterprise Edition Release 19.0.0.0.0 - Production
Version 19.12.0.0.0との接続が切断されました。
SQL>
SQL> CONNECT apuser1/password2
接続されました。
SQL>