Oracle在为SYS和SYSTEM实例创建数据库时会创建一些用户默认值。有没有办法确定用户是否是查询中的默认用户?
答案 0 :(得分:2)
不明确(我知道)。要查找有关用户的信息,您必须查看系统视图DBA_USERS。
您可以在表空间上查找默认表空间是您创建的所有用户;或者您只需在IN语句中列出默认用户:
select *
from dba_users
where username not in ('SYS','SYSTEM',...)
我首选的方法是使用创建用户的日期。根据定义,使用数据库创建默认用户,以便在特定日期之后创建的每个用户都不是默认用户。
在我目前连接到以下数据库的数据库上工作;你显然必须改变它的日期部分以适应你自己的环境
select *
from dba_users
where trunc(created) > to_date('2009/08/15','yyyy/mm/dd')