1. 程式人生 > >oracle查詢數據庫所有用戶信息

oracle查詢數據庫所有用戶信息

num .data 通用 select lec lac 無法 users temp

  1. 看到網上說的查詢用戶的語句:
    SELECT * FROM dba_users;這句好像只能系統管理員才能成功執行,普通用戶無法執行
    SELECT count(*) FROM all_users; , SELECT * FROM USER_USERS;普通用戶和系統管理員均可執行
  2. 原打算刪除創建的一個測試用戶,發現這三個dba_users,all_users, user_users都是視圖,不能刪除,打開all_users視圖,查看sql語句,發現他是基於兩個表創建的,代碼如下:
CREATE OR REPLACE FORCE VIEW "SYS"."ALL_USERS" ("USERNAME", "USER_ID", "CREATED") AS 
  select u.name, u.user#, u.ctime
from sys.user$ u, sys.ts$ dts, sys.ts$ tts
where u.datats# = dts.ts#
  and u.tempts# = tts.ts#
  and u.type# = 1;
COMMENT ON COLUMN "SYS"."ALL_USERS"."USERNAME" IS ‘Name of the user‘; 
COMMENT ON COLUMN "SYS"."ALL_USERS"."USER_ID" IS ‘ID number of the user‘;
COMMENT ON COLUMN "SYS"."ALL_USERS"."CREATED" IS ‘User creation date‘; 
COMMENT ON TABLE "SYS"."ALL_USERS"  IS ‘Information about all users of the database‘

用戶表真正存在表user$ ,找到表,就使用管理員登錄,刪除想要刪除的用戶即可。

oracle查詢數據庫所有用戶信息