Oracle
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Oracle

Cách giải quyết ORA-28000 tài khoản bị khóa

Chúng tôi thường gặp lỗi ORA-28000 tài khoản bị khóa trong các hoạt động hàng ngày. Điều này có thể xảy ra với cả nhà phát triển và DBA.

Lý do

Điều này có thể xảy ra do nhiều lý do

một. Oracle DBA đã cố tình khóa tài khoản

alter user <username> account lock;
select status from dba_users where username='&1';

b. Đã thử nhập sai mật khẩu nhiều lần dẫn đến bị khóa. Số FAILED_LOGIN_ATTEMPTS có thể được tìm thấy bằng cách sử dụng truy vấn dưới đây

select username , profile from dba_users where username='&1';
-----  ------
SCOTT TECH_PW

select * from dba_profiles
where profile='&1' and resource_name='FAILED_LOGIN_ATTEMPTS';

SQL> select RESOURCE_NAME,resource_type,LIMIT from dba_profiles where PROFILE='TECH_PW' ;
RESOURCE_NAME RESOURCE LIMIT
-----------    -------  -----
COMPOSITE_LIMIT KERNEL DEFAULT
SESSIONS_PER_USER KERNEL DEFAULT
CPU_PER_SESSION KERNEL DEFAULT
CPU_PER_CALL KERNEL DEFAULT
LOGICAL_READS_PER_SESSION KERNEL DEFAULT
LOGICAL_READS_PER_CALL KERNEL DEFAULT
IDLE_TIME KERNEL DEFAULT
CONNECT_TIME KERNEL DEFAULT
PRIVATE_SGA KERNEL DEFAULT
FAILED_LOGIN_ATTEMPTS PASSWORD 5
PASSWORD_LIFE_TIME PASSWORD 90
PASSWORD_REUSE_TIME PASSWORD UNLIMITED
PASSWORD_REUSE_MAX PASSWORD 10
PASSWORD_VERIFY_FUNCTION PASSWORD DEFAULT
PASSWORD_LOCK_TIME PASSWORD DEFAULT
PASSWORD_GRACE_TIME PASSWORD DEFAULT

Default values can be found by querying the default profile
SQL> select RESOURCE_NAME,resource_type,LIMIT from dba_profiles where PROFILE='DEFAULT';
RESOURCE_NAME RESOURCE LIMIT
-------------  -------   ------
COMPOSITE_LIMIT KERNEL UNLIMITED
SESSIONS_PER_USER KERNEL UNLIMITED
CPU_PER_SESSION KERNEL UNLIMITED
CPU_PER_CALL KERNEL UNLIMITED
LOGICAL_READS_PER_SESSION KERNEL UNLIMITED
LOGICAL_READS_PER_CALL KERNEL UNLIMITED
IDLE_TIME KERNEL UNLIMITED
CONNECT_TIME KERNEL UNLIMITED
PRIVATE_SGA KERNEL UNLIMITED
FAILED_LOGIN_ATTEMPTS PASSWORD UNLIMITED
PASSWORD_LIFE_TIME PASSWORD UNLIMITED
PASSWORD_REUSE_TIME PASSWORD UNLIMITED
PASSWORD_REUSE_MAX PASSWORD UNLIMITED
PASSWORD_VERIFY_FUNCTION PASSWORD NULL
PASSWORD_LOCK_TIME PASSWORD UNLIMITED
PASSWORD_GRACE_TIME PASSWORD UNLIMITED

Chúng tôi cũng có thể tìm thấy nơi tất cả các lần đăng nhập không thành công đã xảy ra bằng cách bật kiểm tra

audit session whenever not successful;

select OS_USERNAME,USERNAME,USERHOST,to_char(timestamp,'MM-DD-YYYY HH24:MI:SS'), returncode
from dba_audit_trail
where returncode > 0

Giải pháp

Trong trường hợp điều này không cố ý xảy ra, chúng tôi có thể giải quyết vấn đề bằng cách sử dụng phương pháp dưới đây cho phù hợp

(1) Mở khóa tài khoản bằng lệnh dưới đây

alter user <username> account unlock;

Trước khi thực hiện truy vấn trên, hãy đảm bảo rằng lý do gây ra lỗi đã được sắp xếp. Nếu không, lỗi sẽ xảy ra một lần nữa.

(2) Nếu không xác định được lý do gây ra lỗi và Cho đến khi vấn đề được giải quyết, chúng tôi có thể tạo một cấu hình khác với FAILED_LOGIN_ATTEMPTS không giới hạn

SQL> CREATE PROFILE TECH_TMP LIMIT
FAILED_LOGIN_ATTEMPTS UNLIMITED
;

Và chỉ định nó cho người dùng đang gặp sự cố

alter user scott profile TECH_TMP;
alter user scott account unlock;

Sau khi nguyên nhân được xác lập và chúng tôi biết nguồn từ nơi mật khẩu không hợp lệ đến, chúng tôi có thể thay đổi hồ sơ người dùng thành hồ sơ trước đó và xóa hồ sơ mới tạo

alter user scott profile TECH_PW;
drop profile TECH_TMP;

Hy vọng bạn thích bài đăng này trên ORA-28000, tài khoản bị khóa và nó sẽ giúp ích cho các hoạt động hàng ngày của bạn. Vui lòng cung cấp phản hồi về nó

Các bài viết có liên quan

ORA-01017:tên người dùng / mật khẩu không hợp lệ; đăng nhập bị từ chối
Cách đăng nhập với tư cách người dùng mà không cần thay đổi mật khẩu trong cơ sở dữ liệu Oracle
Tạo Người dùng trong Oracle
Cách tạo Người dùng và Vai trò trong cơ sở dữ liệu Oracle 12c
ORA-00904
ORA-28002
https://docs.oracle.com/cd/B19306_01/server.102/b14200/statements_4003.htm


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. 4 cách để định dạng một số không có số thập phân trong Oracle

  2. Bắt đầu với Oracle SQL Developer trên MacOSX

  3. oracle SQL cộng với cách kết thúc lệnh trong tệp SQL?

  4. Cách xóa một hàng trong oracle

  5. Nội dung trình tự RAC