Oracle は、インスタンス SYS および SYSTEM のデータベースを作成するときに、一部のユーザーのデフォルトを作成します。ユーザーがクエリで既定のユーザーかどうかを判断する方法はありますか?
質問する
194 次
1 に答える
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')
于 2012-10-01T07:56:33.047 に答える