查询Oracle库中的所有用户(查询oracle所有用户)
在Oracle数据库系统中,所有用户均保存在字典表DBA_USERS中,我们可以通过该表来查询Oracle库中的所有用户。
下面是实现查询Oracle数据库中所有用户的实例:
使用SQL*Plus、SQL Developer或其他SQL工具进入Oracle数据库:
SQL> conn sys as sysdba
使用下面的查询语句查询所有的用户:
SQL> select username from dba_users;
查询结果如下:
USERNAME
———————
SYS
SYSTEM
OUTLN
DEMO
SCOTT
…
上面的查询只是查询Oracle数据库中普通的用户,我们也可以查询其它特殊的用户,比如Oracle的内部用户。使用如下语句进行查询即可:
SQL> select username from dba_users where oracle_maintained = 'Y';
查询结果如下:
USERNAME
———————
MDSYS
EXFSYS
CTXSYS
ORDSYS
WMSYS
XDB
DBSNMP
ORDPLUGINS
MDDATA
MGMT_VIEW
OLAPSYS
SYSMAN
OWBSYS
SI_INFORMTN_SCHEMA
FLOWS_FILES
DBSFWUSER
GSMADMIN_INTERNAL
APPQOSSYS
ORDDATA
==
我们就实现了查询Oracle数据库中所有用户的功能。但要注意的是,查询语句必须由数据库的以sys身份登录才能执行。另外,由于Oracle内部用户的特殊性,需要留意系统升级时自动创建的新用户,比如Oracle 19c新增的三个内部用户ADG、GGSYS和GSMUSER。