Làm thế nào để thoát khỏi tin nhắn ORA-28002, mật khẩu sẽ hết hạn trong vòng 6 ngày?


18

Tôi có một người dùng nhận được ORA-28002 cho biết mật khẩu sẽ hết hạn trong vòng sáu ngày. Tôi đã chạy như sau:

ALTER PROFILE DEFAULT LIMIT PASSWORD_LIFE_TIME UNLIMITED; 

Nhưng khi tôi cố gắng đăng nhập với tư cách người dùng, tin nhắn vẫn còn đó. Thực hiện điều này:

select * from dba_profiles where RESOURCE_NAME LIKE 'PASSWORD_LIFE_TIME';

cho thấy các giá trị đã thực sự được thay đổi thành UNLIMITED.

Câu trả lời:


17

Mật khẩu đã được đánh dấu là 'HẾT HẠN' hoặc được đánh dấu bằng 'EXPIRY_DATE' trong dba_users. Bạn sẽ phải thay đổi nó. Bạn có thể đặt nó trở lại cùng một mật khẩu. Cách dễ dàng sẽ là đặt mật khẩu "theo giá trị". Điều này thường bỏ qua kiểm tra lịch sử.

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>

Định dạng của điều này là "thay đổi người dùng USER được xác định bởi giá trị 'băm từ 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

Vui lòng tìm 4 truy vấn dưới đây và chạy các truy vấn này từ cơ sở dữ liệu hệ thống.

//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
Khá dễ dàng và giải thích tốt.
S. Mayol

5

Một đồng nghiệp sử dụng Toad đã thấy tài khoản được chỉ ra như đã xem trong Trình duyệt Schema bên dưới Người dùng.

Chúng tôi đã thành công bằng cách nhấp chuột phải mở khóa người dùng . Trong hộp thoại Người dùng thay đổi, chúng tôi đã nhập lại mật khẩu cũ và bỏ chọn hộp kiểm Mật khẩu bị khóa.


3

Bạn cần thay đổi lại mật khẩu để giới hạn mới có hiệu lực.


Tôi muốn giữ cùng một mật khẩu
bernd_k

1
Câu trả lời từ REW đáp ứng yêu cầu bổ sung này giả sử bạn không có hồ sơ ngăn chặn việc sử dụng lại mật khẩu. Nếu bạn ở trên 11g hoặc muộn hơn thì băm mật khẩu không có trong dba_users, vì vậy bạn sẽ cần lấy nó từ sys.user $. Xem laurentschneider.com/wordpress 2007/08 / từ
Leigh Riffel

1

Bạn nên thay đổi tài khoản người dùng. Đầu tiên kết nối với systài khoản của bạn và từ đó bạn có thể thực hiện bước được đề cập bên dưới:

alter user practice identified by password;

điều này sẽ giải quyết vấn đề của bạn ...


1

Tôi biết điều này đã cũ, nhưng đối với những người sử dụng Oracle SQL Developer thì hãy làm theo các bước sau:

  • Sử dụng một người dùng khác để đăng nhập vào bất kỳ kết nối cơ sở dữ liệu nào bạn có, bạn có thể sử dụng tên người dùng "hệ thống" hoặc "sys" mặc định với bất kỳ mật khẩu nào bạn nhận được ở đó.

  • Mở cây kết nối và tìm nút "Người dùng khác" và mở như vậy:

nhập mô tả hình ảnh ở đây

  • Tìm tên người dùng của bạn trong ghi chú con trong "Người dùng khác" và nhấp chuột phải để chỉnh sửa người dùng như vậy:

nhập mô tả hình ảnh ở đây

  • Nhập mật khẩu mới của bạn và Bỏ kiểm tra mật khẩu đã hết hạn, sau đó áp dụng. Nhấp chuột phải chỉnh sửa người dùng một lần nữa để xem các cài đặt đã được thay đổi nếu bạn muốn.
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.