パスワードが6日以内に期限切れになることを示すORA-28002を取得しているユーザーがいます。私は以下を実行しました:
ALTER PROFILE DEFAULT LIMIT PASSWORD_LIFE_TIME UNLIMITED;
しかし、ユーザーとしてログインしようとすると、メッセージはまだそこにあります。これを実行する:
select * from dba_profiles where RESOURCE_NAME LIKE 'PASSWORD_LIFE_TIME';
値が本当に無制限に変更されたことを示しています。
パスワードは、dba_usersで「EXPIRED」または「EXPIRY_DATE」のマークが付けられています。変更する必要があります。同じパスワードに戻すことができます。簡単な方法は、「値によって」パスワードを設定することです。これは通常、履歴チェックをバイパスします。
12:28:33 SQL> select * from dba_users where username = 'MYUSER1';
USERNAME USER_ID PASSWORD
------------------------------ ---------- ------------------------------
ACCOUNT_STATUS LOCK_DATE EXPIRY_DATE
-------------------------------- ------------------ ------------------
DEFAULT_TABLESPACE TEMPORARY_TABLESPACE CREATED
------------------------------ ------------------------------ ------------------
PROFILE INITIAL_RSRC_CONSUMER_GROUP
------------------------------ ------------------------------
EXTERNAL_NAME
--------------------------------------------------------------------------------
MYUSER1 338 66856982BE5CD23F
OPEN
USERS TEMP 17-JAN-11
DEFAULT DEFAULT_CONSUMER_GROUP
Elapsed: 00:00:00.03
12:28:43 SQL> alter user myuser1 password expire;
User altered.
Elapsed: 00:00:00.00
12:29:11 SQL> select * from dba_users where username = 'MYUSER1';
USERNAME USER_ID PASSWORD
------------------------------ ---------- ------------------------------
ACCOUNT_STATUS LOCK_DATE EXPIRY_DATE
-------------------------------- ------------------ ------------------
DEFAULT_TABLESPACE TEMPORARY_TABLESPACE CREATED
------------------------------ ------------------------------ ------------------
PROFILE INITIAL_RSRC_CONSUMER_GROUP
------------------------------ ------------------------------
EXTERNAL_NAME
--------------------------------------------------------------------------------
MYUSER1 338 66856982BE5CD23F
EXPIRED 17-JAN-11
USERS TEMP 17-JAN-11
DEFAULT DEFAULT_CONSUMER_GROUP
Elapsed: 00:00:00.03
12:29:14 SQL>
これのフォーマットは、「値 'hash from dba_users.password'で識別される代替ユーザーUSER」です。
[TEST] C:\>sqlplus system
SQL*Plus: Release 10.2.0.4.0 - Production on Mon Jan 17 12:18:16 2011
Copyright (c) 1982, 2007, Oracle. All Rights Reserved.
Enter password:
Connected to:
Oracle Database 10g Enterprise Edition Release 10.2.0.4.0 - Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options
new: showmode BOTH
12:18:17 SQL> Prompt end of LOGIN.SQL
end of LOGIN.SQL
12:18:17 SQL> create user myuser1 identified by mypassword1;
User created.
Elapsed: 00:00:00.01
12:18:21 SQL> grant connect, resource to myuser1;
Grant succeeded.
Elapsed: 00:00:00.01
12:18:30 SQL> connect myuser1/mypassword1
Connected.
12:18:39 SQL> connect system
Enter password:
Connected.
12:18:51 SQL> alter user myuser1 password expire;
User altered.
Elapsed: 00:00:00.00
12:19:05 SQL> connect myuser1/mypassword1
ERROR:
ORA-28001: the password has expired
Changing password for myuser1
New password:
Retype new password:
Password changed
Connected.
12:19:16 SQL> connect myuser1/mypassword1
ERROR:
ORA-01017: invalid username/password; logon denied
Warning: You are no longer connected to Oracle.
12:19:21 SQL> connect system
Enter password:
Connected.
12:19:34 SQL> alter user myuser1 identified by mypassword1;
User altered.
Elapsed: 00:00:00.01
12:19:49 SQL> alter user myuser1 identified by mypassword1 password expire;
User altered.
Elapsed: 00:00:00.01
12:20:26 SQL> select username, password from dba_users where username = 'MYUSER1';
USERNAME PASSWORD
------------------------------ ------------------------------
MYUSER1 66856982BE5CD23F
Elapsed: 00:00:00.01
12:20:36 SQL> alter user myuser1 identified by values '66856982BE5CD23F' ;
User altered.
Elapsed: 00:00:00.01
12:21:01 SQL> connect myuser1/mypassword1
Connected.
12:21:13 SQL> exit
Disconnected from Oracle Database 10g Enterprise Edition Release 10.2.0.4.0 - Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options
以下の4つのクエリを見つけて、システムデータベースからこれらのクエリを実行してください。
//For seeing Full user details
SELECT profile FROM dba_users WHERE username = 'SYSTEM';
//This query is used to change the password life time to unlimited
ALTER PROFILE DEFAULT LIMIT PASSWORD_LIFE_TIME UNLIMITED;
//This query is used to chagne the default password.
alter user SYSTEM identified by "system";
Toadを使用している同僚は、[ユーザー]の[スキーマブラウザー]に表示されているアカウントを確認しました。
右クリックで成功しましたユーザーのロックを解除。 [ユーザーの変更]ダイアログで、古いパスワードを再入力し、[パスワードはロックされています]チェックボックスをオフにしました。
新しい制限を有効にするには、パスワードを再度変更する必要があります。
ユーザーアカウントを変更する必要があります。最初にsys
アカウントに接続し、そこから以下の手順を実行できます。
alter user practice identified by password;
これで問題が解決します...
これは古いことはわかっていますが、Oracle SQL Developerを使用している場合は、次の手順に従ってください。
別のユーザーを使用して、データベース接続にログインします。デフォルトの「system」または「sys」ユーザー名を、取得したパスワードと一緒に使用できます。
接続ツリーを開き、「その他のユーザー」ノードを見つけて、次のように開きます。