是否可以找到我创建的Oracle中的所有用户帐户?
SELECT * FROM ALL_USERS;
返回Oracle中的所有用户,但是似乎无法定义帐户的“所有者”(ORC_SYS会很好),因此我可以添加一个子句,例如
'WHERE OWNER !+ 'ORC_SYS'
之类的。
预先感谢
KS
答案 0 :(得分:1)
如果仅在安装时由oracle创建的用户要排除,则可以在user_id上正确进行过滤。通常,这些用户的人数最少:
将35调整为您的安装。
GameObject block = Instantiate (blockPrefab, pos, Quaternion.identity, transform);
如果您运行的是12c或更高版本,则将显示一列“ Oracle_maintained”,它是否是由oracle创建的用户。
Select * from dba_users where user_id > 35;
答案 1 :(得分:0)
如果您有权访问dba_users
并且Oracle的版本是12.1及更高版本,则可以按oracle_maintained
列进行过滤。
否则,没有“正式”的方式来区分oracle内部用户和您自己的用户。
不过有一些间接方法:
按all_users.created
列过滤。通常,内部用户是在创建数据库时创建的,因此您的用户将在此日期之后。您可以在v$database.created
中找到数据库创建时间。
按all_users.user_id
进行过滤。如上所述,大多数情况下,内部用户是在创建数据库时创建的,因此它们的user_id较低。某些用户(例如SYSBACKUP,SYSDG)有一些例外。
当内部用户的创建时间比数据库创建的时间晚得多时(例如,重新安装Oracle Option时),两种方式都可能产生错误的结果。
答案 2 :(得分:-1)
您应该尝试:
SELECT * FROM dba_users;