エラーが発生しています:
ORA-28000: the account is locked
これはDBの問題ですか?コマンドALTER USER username ACCOUNT UNLOCK
を使用してユーザーアカウントをロック解除すると、一時的に問題ありません。その後、しばらくしてから同じアカウントロックが再び発生します。
使用するデータベースはOracle XE
です
他の誰かが同じ問題を抱えていますか?
問題の原因の1つとして、使用しているパスワードポリシーが考えられます。
そのようなポリシーがない場合は、次のクエリを使用して、DEFAULT
プロファイルのパスワードプロパティの設定を確認します。
SELECT resource_name, limit
FROM dba_profiles
WHERE profile = 'DEFAULT'
AND resource_type = 'PASSWORD';
必要に応じて、次のクエリでPASSWORD_LIFE_TIME
をunlimited
に変更するだけです。
ALTER PROFILE DEFAULT LIMIT PASSWORD_LIFE_TIME UNLIMITED;
そして、これは リンク が問題に役立つかもしれません。
ユーザーのロックを解除する方法:
$ sqlplus /nolog
SQL > conn sys as sysdba
SQL > ALTER USER USER_NAME ACCOUNT UNLOCK;
新しいターミナルを開きます
SQL > sqlplus / as sysdba
connected
SQL > conn username/password //which username u gave before unlock
password:password
を要求しますpassword:password
を要求しますここでは、ブロックされているユーザーのロックを解除するのみに対する他の解決策があります。コマンドプロンプトログからSYSDBAとして:
sqlplus "/ as sysdba"
次に、次のコマンドを入力します。
alter user <your_username> account unlock;
このような問題に直面し、次の手順を使用して解決しました。
sqlplus "/ as sysdba"
を使用してログインしますalter user HR identified by password account unlock
を実行しましたpassword
は私が使用したパスワードです。PASSWORD_LOCK_TIME
パラメーターを確認してください。 1に設定されている場合、alter user unlock
コマンドを発行した後でも、1日間パスワードをロック解除できません。
Oracleデータベースサーバーマシン上のSQL Plusクライアントにログインします。
ユーザー名を入力:system
パスワードの入力:password [DBインストール中にデフォルトのパスワードを変更していない場合のみ]
enterキーを押します。その後、接続ステータスが表示されます。
さて、
SQL> ALTER USER [USER_NAME] ACCOUNT UNLOCK;
enterキーを押します。
メッセージが表示されます:user altered.
次に、db client [sqldeveloper]でユーザー名を使用してログインしてみます。
以下のクエリを使用してアカウントのロックを解除します。
SQL> select USERNAME,ACCOUNT_STATUS from dba_users where username='ABCD_DEV';
USERNAME ACCOUNT_STATUS
-------------------- --------------------------------
ABCD_DEV LOCKED
SQL> alter user ABCD_DEV account unlock;
User altered.
SQL> select USERNAME,ACCOUNT_STATUS from dba_users where username='ABCD_DEV';
USERNAME ACCOUNT_STATUS
-------------------- --------------------------------
ABCD_DEV OPEN
以下のクエリを使用して、PASSWORD_LIFE_TIME
パラメーターを確認します。
SELECT resource_name, limit FROM dba_profiles WHERE profile = 'DEFAULT' AND resource_type = 'PASSWORD';
RESOURCE_NAME LIMIT
-------------------------------- ------------------------------
FAILED_LOGIN_ATTEMPTS 10
PASSWORD_LIFE_TIME 10
PASSWORD_REUSE_TIME 10
PASSWORD_REUSE_MAX UNLIMITED
PASSWORD_VERIFY_FUNCTION NULL
PASSWORD_LOCK_TIME 1
PASSWORD_GRACE_TIME 7
INACTIVE_ACCOUNT_TIME UNLIMITED
以下のクエリを使用してパラメータを変更します
ALTER PROFILE DEFAULT LIMIT PASSWORD_LIFE_TIME UNLIMITED;