代码之家  ›  专栏  ›  技术社区  ›  Ashish Yadav

如何知道Oracle10g中其他用户的姓名?

  •  3
  • Ashish Yadav  · 技术社区  · 14 年前

    我想知道我们如何知道Oracle10g在同一个系统上的其他用户? 有什么问题吗?

    谢谢您!!!!

    3 回复  |  直到 14 年前
        1
  •  4
  •   APC    14 年前
    select username
    from all_users
    /
    

    这个视图没有 much information .如果您需要更多,您将需要其权限 DBA_USERS equivalent . 顾名思义,该视图需要DBA级别的访问。

        2
  •  0
  •   Will Marcouiller    14 年前

    APC的回答是对的。如果您在Oracle中需要其他与用户相关的需求:

    Oracle User Schema Owner

        3
  •  0
  •   RC.    14 年前

    除了apc提供的all_users表,您还可以查询包含更多数据的dba_用户。

    SQL> select username, account_status, default_tablespace from dba_users;
    
    SQL> desc dba_users;
         Name                      Null?    Type
         ----------------------------------------- -------- ----------------------------
         USERNAME                                  NOT NULL VARCHAR2(30)
         USER_ID                                   NOT NULL NUMBER
         PASSWORD                                           VARCHAR2(30)
         ACCOUNT_STATUS                            NOT NULL VARCHAR2(32)
         LOCK_DATE                                          DATE
         EXPIRY_DATE                                        DATE
         DEFAULT_TABLESPACE                        NOT NULL VARCHAR2(30)
         TEMPORARY_TABLESPACE                      NOT NULL VARCHAR2(30)
         CREATED                                   NOT NULL DATE
         PROFILE                                   NOT NULL VARCHAR2(30)
         INITIAL_RSRC_CONSUMER_GROUP                        VARCHAR2(30)
         EXTERNAL_NAME                                      VARCHAR2(4000)
         PASSWORD_VERSIONS                                  VARCHAR2(8)
         EDITIONS_ENABLED                                   VARCHAR2(1)
    

    要仅查找当前连接的用户的信息,可以使用DBA表和V$会话的联接。

    SQL> SELECT a.username, s.sid, s.program 
         FROM dba_users a JOIN v$session s ON (a.username = s.username) 
         ORDER BY a.username;