zoukankan      html  css  js  c++  java
  • oracle查询数据库所有用户信息

    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$ ,找到表,就使用管理员登录,删除想要删除的用户即可。

  • 相关阅读:
    错位排序
    不容易系列之(4)——考新郎
    大数乘法
    神、上帝以及老天爷(错位排序)
    学生成绩……
    蛇形矩阵
    topcoder
    进制转换
    问题 1011
    topcoder 针对C程序员的TopCoder C++ (快速掌握)_ixigua—仅有杀毒软件是不够的…… .
  • 原文地址:https://www.cnblogs.com/donfaquir/p/9768799.html
Copyright © 2011-2022 走看看