4
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

【Solved】Oracleパスワード関連でORA-01017/ORA-28007エラー発生

Last updated at Posted at 2020-04-09

はじめに

ORA-28007対応時のポイント

oraora_password2.sql
-- プロファイル確認
SQL> SELECT PROFILE, RESOURCE_NAME, LIMIT FROM DBA_PROFILES WHERE PROFILE='DEFAULT' AND RESOURCE_TYPE='PASSWORD' ORDER BY 1;

SQL> select profile, resource_name, limit from dba_profiles where resource_type='PASSWORD' order by 1,2;

-- 対応案1(プロファイル毎)
SQL> alter user SCOTT profile default;

-- 対応案2(個別設定)
ALTER PROFILE SCOTT LIMIT FAILED_LOGIN_ATTEMPTS 5 PASSWORD_LOCK_TIME 1;

参考サイト

◆Oracle Database 11g の標準セキュリティ設定について#2
 https://koutashiobara.blogspot.com/2012/02/oracle-database-11g-2.html
◆Oracle Autonomous Databaseに慣れる(1)
 https://qiita.com/plusultra/items/213b754cc7732ae75c78
◆[oracle-memo] パスワード管理ポリシー
 http://orcl.usamimi.info/?orcl&ctgr=06&part=02
◆ORA-28007: the password cannot be reused
 https://www.thegeekdiary.com/ora-28007-the-password-cannot-be-reused/
◆ALTER PROFILE
 https://docs.oracle.com/cd/E16338_01/server.112/b56299/statements_2008.htm

ORA-01017対応時のポイント

どうも、systemユーザーのログイン誤りを何回も繰り返してロックかかっていたようで...
合っているはずなのに「as sysdba」を付与しないと下記エラーでログインできなかった。

ORA-01017: ユーザー名/パスワードが無効です。ログオンは拒否されました。
ORA-01017: invalid username/password; logon denied

oraora_password.sql

-- これはOK
> sqlplus system/manager@XE as sysdba

-- ORA-01017発生...なぜだ
> sqlplus system/manager@XE

-- 各アカウントのパスワード状況を簡潔に出力
-- (※この時点でsystemがLOCKED(TIMED)になってた...)
select username || '/' || profile || '/' || account_status || '/' || to_char(lock_date,'HH24:MI:SS') as account_password_status from dba_users;

-- デフォルトのプロファイルのパスワード有効期限を無期限に
--  ※これはなくてもOKだが、毎回定期的に設定するの大変なので
--    (セキュリティ的には微妙ですが)
ALTER PROFILE DEFAULT LIMIT PASSWORD_LIFE_TIME UNLIMITED;

-- エラーでログインできないユーザのパスワードを再設定
ALTER USER system IDENTIFIED BY manager;

-- ロックされているアカウントのロックを解除
ALTER USER system ACCOUNT UNLOCK;

-- これで以下がOKとなる
> sqlplus system/manager@XE

参考サイト

◆ORA-28001:パスワードが期限切れです
 https://www.dbsheetclient.jp/blog/?p=716
  ※対応することは、ここに書いてあることを実施

◆Oracle 19cのユーザーのパスワードの有効期限を無期限に変更する手順
 https://souiunogaii.hatenablog.com/entry/Oracle-PasswordLifeTime

◆アカウントステータスの遷移と対処方法のまとめ
 https://cosol.jp/knowledge/knowledge_post/ob0004_account_status/

◆ユーザーアカウント状態とロックされた日付を確認
 https://qiita.com/AtsushiTamashiro@github/items/c6b0aeab2aa89ff2f328
  ※今回は「LOCKED(TIMED):ログイン失敗再試行回数上限オーバーによるロック」だった

◆Oracle 11g でパスワードの大文字・小文字を区別しないようにする
 https://www.projectgroup.info/tips/Oracle/Oracle_000014.html
  ※「Oracle Database では 11g 以降、パスワードの大文字と小文字を区別するのが標準になりました。」とのこと。これにも気をつけないと...はまったので。

◆Oracle Database 12c 以降のパスワード管理で気をつけるべき事例
 http://www.intellilink.co.jp/article/column/ora-report20180925.html
  ※下記条件が一致するとORA-01017発生とのこと
   ・初期化パラメータ : SEC_CASE_SENSITIVE_LOGON = false
   ・sqlnet.ora に設定するパラメータ : SQLNET.ALLOWED_LOGON_VERSION_SERVER = 12

4
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
4
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?