ORA-28002 메시지를 제거하는 방법 비밀번호는 6 일 이내에 만료됩니까?


18

비밀번호가 6 일 이내에 만료됨을 나타내는 ORA-28002를받는 사용자가 있습니다. 나는 다음을 실행했다.

ALTER PROFILE DEFAULT LIMIT PASSWORD_LIFE_TIME UNLIMITED; 

그러나 사용자로 로그인하려고 할 때 메시지가 여전히 있습니다. 이것을 실행 :

select * from dba_profiles where RESOURCE_NAME LIKE 'PASSWORD_LIFE_TIME';

값이 실제로 무제한으로 변경되었음을 나타냅니다.

답변:


17

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

15

아래 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";

1
매우 쉽고 잘 설명되어 있습니다.
S. Mayol

5

Toad를 사용하는 동료는 Schema Browsers의 Users 아래에 표시된 계정을 보았습니다.

우리는 사용자 잠금 해제 를 마우스 오른쪽 버튼으로 클릭하여 성공했습니다 . 사용자 변경 대화 상자에서 이전 비밀번호를 다시 입력하고 비밀번호가 잠겨 있음 확인란의 선택을 취소했습니다.


3

새 제한을 적용하려면 암호를 다시 변경해야합니다.


같은 비밀번호를 유지하고 싶습니다
bernd_k

1
비밀번호 재사용을 방지하는 프로파일이 없다고 가정하면 REW의 답변은이 추가 요구 사항을 충족합니다. 11g 이상인 경우 비밀번호 해시는 dba_users에 없으므로 sys.user $에서 가져와야합니다. laurentschneider.com/wordpress/2007/08/…를
Leigh Riffel

1

사용자 계정을 변경해야합니다. 먼저 sys계정에 연결하면 아래에서 언급 한 단계를 수행 할 수 있습니다.

alter user practice identified by password;

이렇게하면 문제가 해결됩니다 ...


1

나는 이것이 오래되었다는 것을 알고 있지만 Oracle SQL Developer를 사용하는 사람들은 다음 단계를 따르십시오.

  • 다른 사용자를 사용하여 모든 데이터베이스 연결에 로그인하십시오. 기본 "시스템"또는 "sys"사용자 이름을 비밀번호와 함께 사용할 수 있습니다.

  • 연결 트리를 열고 "기타 사용자"노드를 찾아서 다음과 같이 엽니 다.

여기에 이미지 설명을 입력하십시오

  • "기타 사용자"아래의 하위 노트에서 사용자 이름을 찾아 마우스 오른쪽 단추를 클릭하여 다음과 같이 사용자를 편집하십시오.

여기에 이미지 설명을 입력하십시오

  • 새 비밀번호를 입력하고 비밀번호 확인 안함이 만료 된 후 적용하십시오. 원하는 경우 사용자 편집을 다시 마우스 오른쪽 단추로 클릭하여 설정이 변경되었는지 확인하십시오.
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.