- 現在との差分 を表示
- ソース を表示
- Oracle/11g/express/07password_life_time_unlimited へ行く。
1: 2016-06-09 (木) 00:42:03 nobuaki | 2: 2016-06-09 (木) 00:55:05 nobuaki | ||
---|---|---|---|
Line 1: | Line 1: | ||
- | *Oracleユーザのパスワード有効期限を検証 [#a530490e] | + | *Oracleユーザのパスワード有効期限を検証 [#efb8df72] |
- | **はじめに [#pb684142] | + | **はじめに [#qc94108d] |
- | Oracle 10gあたりから,Oracle database上のユーザアカウントに有効期限がつく様になっている.その設定内容を確認した上で,変更したり無期限に設定する方法を説明する. | + | Oracle 10gあたりから,Oracle database上のユーザアカウントに有効期限がつく様になっている.その設定内容を確認した上で,変更したり無期限に設定したり,ORA-28002エラーに対処する方法を説明する. |
#code(sql){{ | #code(sql){{ | ||
- | select username,expiry_date from dba_users where username = 'SCOTT'; | + | select username,expiry_date from dba_users where username = 'SCOTT' |
- | select sysdate from dual; | + | select sysdate from dual |
- | select sysdate + 180 from dual; | + | select sysdate + 180 from dual |
- | select * from dba_profiles where resource_name = 'PASSWORD_LIFE_TIME'; | + | select * from dba_profiles where resource_name = 'PASSWORD_LIFE_TIME' |
- | alter profile default limit password_life_time 1; | + | alter profile default limit password_life_time 1 |
- | select * from dba_profiles where resource_name = 'PASSWORD_LIFE_TIME'; | + | select * from dba_profiles where resource_name = 'PASSWORD_LIFE_TIME' |
- | select username,expiry_date from dba_users where username = 'SCOTT'; | + | select username,expiry_date from dba_users where username = 'SCOTT' |
- | select sysdate from dual; | + | select sysdate from dual |
column username for a15 | column username for a15 | ||
- | select username,expiry_date from dba_users order by expiry_date; | + | select username,expiry_date from dba_users order by expiry_date |
- | alter profile default limit password_life_time 180; | + | alter profile default limit password_life_time 180 |
- | select username,expiry_date from dba_users order by expiry_date; | + | select username,expiry_date from dba_users order by expiry_date |
- | alter profile default limit password_life_time unlimited; | + | alter profile default limit password_life_time unlimited |
- | select * from dba_profiles where resource_name = 'PASSWORD_LIFE_TIME'; | + | select * from dba_profiles where resource_name = 'PASSWORD_LIFE_TIME' |
}} | }} | ||
- | **ユーザのパスワード有効期限を確認 [#oa8a26a1] | + | **ユーザのパスワード有効期限を確認 [#e3dd46a8] |
scottユーザの有効期限を確認する. | scottユーザの有効期限を確認する. | ||
Line 84: | Line 84: | ||
- | **デフォルトのパスワード有効期限を確認して変更する [#x3bc1468] | + | **デフォルトのパスワード有効期限を確認して変更する [#s453ba73] |
パスワードの有効期限は,dba_profilesに登録されているので確認する. | パスワードの有効期限は,dba_profilesに登録されているので確認する. | ||
Line 138: | Line 138: | ||
- | **プロフィールのexpiry_dateを変更したら即時反映されることを確認 [#t484eac5] | + | **プロフィールのexpiry_dateを変更したら即時反映されることを確認 [#ge1b8037] |
先ほどの手順で,scottユーザのパスワードを変更したので180日後の16-12-05が期限になっていたが,その後プロフィールを変更した事でscottユーザのパスワード有効期限がどうなっているか確認する. | 先ほどの手順で,scottユーザのパスワードを変更したので180日後の16-12-05が期限になっていたが,その後プロフィールを変更した事でscottユーザのパスワード有効期限がどうなっているか確認する. | ||
- | SQL> select username,expiry_date from dba_users where username = 'SCOTT'; | + | SQL> select username,expiry_date from dba_users where username = 'SCOTT'; |
- | USERNAME | + | USERNAME |
- | -------------------------------------------------------------------------------- | + | -------------------------------------------------------------------------------- |
- | EXPIRY_D | + | EXPIRY_D |
- | -------- | + | -------- |
- | SCOTT | + | SCOTT |
- | 16-06-09 | + | 16-06-09 |
- | SQL> | + | SQL> |
16-06-09に変更されている. | 16-06-09に変更されている. | ||
Line 167: | Line 167: | ||
180日後だったものが,自動的に反映されて1日後になっていることが確認できる. | 180日後だったものが,自動的に反映されて1日後になっていることが確認できる. | ||
- | **他のユーザへの影響 [#m2cfe11c] | + | **他のユーザへの影響を確認 [#rc7ccdcf] |
パスワードのexpiry_dateを1に変更したが,それがどこまで影響があるか確認する. まずは,現在のユーザ. | パスワードのexpiry_dateを1に変更したが,それがどこまで影響があるか確認する. まずは,現在のユーザ. | ||
Line 234: | Line 234: | ||
- | **パスワードの有効期限を無制限にする [#p6ff7bbc] | + | **パスワードの有効期限を無制限にする [#p540a0d5] |
Line 266: | Line 266: | ||
数値じゃなくてUNLIMITEDが設定されている. | 数値じゃなくてUNLIMITEDが設定されている. | ||
+ | |||
+ | **ORA-28002: the password will expire [#yd96fe52] | ||
+ | |||
+ | systemユーザでログインしたら,この様なエラーが. | ||
+ | |||
+ | SQL> conn system/manager@192.168.20.28 | ||
+ | ERROR: | ||
+ | ORA-28002: the password will expire within 7 days | ||
+ | |||
+ | |||
+ | 接続されました。 | ||
+ | SQL> | ||
+ | |||
+ | |||
+ | パスワード有効期間を調べて見る. | ||
+ | |||
+ | SQL> select expiry_date from dba_users where username = 'SYSTEM'; | ||
+ | |||
+ | EXPIRY_D | ||
+ | -------- | ||
+ | 16-06-15 | ||
+ | |||
+ | SQL> | ||
+ | |||
+ | 今日現在の日付に7を足してみる. | ||
+ | |||
+ | |||
+ | SQL> select sysdate + 7 from dual; | ||
+ | |||
+ | SYSDATE+ | ||
+ | -------- | ||
+ | 16-06-16 | ||
+ | |||
+ | SQL> | ||
+ | |||
+ | expiry_dateに設定されている日付であっていることが確認できた. |
- Oracle/11g/express/07password_life_time_unlimited のバックアップ一覧
- Oracle/11g/express/07password_life_time_unlimited のバックアップ差分(No. All)
- 1: 2016-06-09 (木) 00:42:03 nobuaki
- 2: 2016-06-09 (木) 00:55:05 nobuaki
- 現: 2016-06-09 (木) 00:55:05 shinnai(shinnai)
- Rewound to 2 ages ago. at 2017-12-04 (月) 23:28:13
Counter: 13263,
today: 5,
yesterday: 3