1

Oracle は、インスタンス SYS および SYSTEM のデータベースを作成するときに、一部のユーザーのデフォルトを作成します。ユーザーがクエリで既定のユーザーかどうかを判断する方法はありますか?

デフォルトのユーザー リストについては、こちらを参照してください。

4

1 に答える 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 に答える