วิธีกำจัด ORA-28002 ข้อความรหัสผ่านจะหมดอายุภายใน 6 วัน?


18

ฉันมีผู้ใช้รับ ORA-28002 โดยระบุว่ารหัสผ่านจะหมดอายุภายในหกวัน ฉันวิ่งต่อไปนี้:

ALTER PROFILE DEFAULT LIMIT PASSWORD_LIFE_TIME UNLIMITED; 

แต่เมื่อฉันพยายามเข้าสู่ระบบในฐานะผู้ใช้ข้อความยังคงมีอยู่ ดำเนินการนี้:

select * from dba_profiles where RESOURCE_NAME LIKE 'PASSWORD_LIFE_TIME';

แสดงให้เห็นว่าค่านั้นถูกเปลี่ยนเป็น UNLIMITED จริงๆ

คำตอบ:


17

รหัสผ่านถูกทำเครื่องหมายเป็น 'EXPIRED' หรือทำเครื่องหมายด้วย 'EXPIRY_DATE' ใน dba_users คุณจะต้องเปลี่ยนมัน คุณสามารถตั้งรหัสผ่านกลับเป็นรหัสเดิมได้ วิธีที่ง่ายคือการตั้งรหัสผ่าน "ตามค่า" ซึ่งมักจะข้ามการตรวจสอบประวัติ

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>

รูปแบบของสิ่งนี้คือ "แก้ไขผู้ใช้ USER ที่ระบุโดยค่า 'แฮชจาก dba_users.password';"

[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

ผู้ร่วมงานที่ใช้คางคกเห็นบัญชีที่ระบุว่าดูใน Schema Browsers ภายใต้ผู้ใช้

เราประสบความสำเร็จได้โดยคลิกขวาผู้ใช้ปลดล็อค ในกล่องโต้ตอบผู้ใช้ Alter เราป้อนรหัสผ่านเก่าอีกครั้งและไม่เลือกช่องทำเครื่องหมายรหัสผ่านถูกล็อค


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.