Làm thế nào để có được danh sách các tài khoản bị khóa / kiểm tra xem tài khoản đó có bị khóa không?


16

Tôi có thể sử dụng tuyên bố sau để mở khóa tài khoản:

ALTER USER username ACCOUNT UNLOCK

Nhưng tôi có thể sử dụng câu lệnh nào để xác minh rằng tài khoản hiện đang bị khóa?

Câu trả lời:


22

Như câu trả lời của Dba đã hiển thị, thông tin trạng thái tài khoản có thể truy cập được qua dba_userschế độ xem. Được kết nối với người dùng có các khoản trợ cấp phù hợp, điều này cũng có thể được sử dụng để xác định "người dùng không hoạt động":

SELECT username, account_status, created, lock_date, expiry_date
  FROM dba_users
 WHERE account_status != 'OPEN';

cho bạn biết từng tài khoản bị khóa / hết hạn khi nó được tạo, trạng thái của nó (bị khóa, hết hạn, hết hạn và bị khóa, hết hạn (ân hạn)) và thời gian bị khóa hoặc hết hạn. Hữu ích cho việc "dọn dẹp"; nhưng bạn nên xem xét rằng một số tài khoản có thể chỉ là "chủ sở hữu dữ liệu" không bao giờ được kết nối vì lý do bảo mật, nhưng được yêu cầu bởi chính Oracle hoặc (các) ứng dụng của bạn. Một ví dụ điển hình cho những người đó là tài khoản hệ thống OUTLN. Vì vậy, hãy cẩn thận chỉ những tài khoản "dọn dẹp" mà bạn biết không được sử dụng / cần thiết :)


5

Sử dụng DBA_USERSXem.

SELECT username, account_status
FROM dba_users;

1

Bạn có thể truy vấn điều này bằng cách chỉ định tên người dùng:

select username, account_status
from dba_users
where username = 'your_user_name';
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.