コンソールで sql*plus を使用して、Oracle 10g でデータベースの特定のユーザー名を表示するにはどうすればよいですか? 次の表のリンク列を探していますv$database
, all_users
, .dba_users
v$session
3 に答える
データベースで定義されているユーザーを照会するには、all_users
ビューを使用できます。たとえば、a
またはで始まるすべてのユーザーを選択するA
には、
SELECT *
FROM all_users
WHERE NLS_UPPER(username) LIKE 'A%';
特定のユーザーの現在のセッションを照会するには、v$session
ビューを使用できます。たとえば、a
またはで始まるユーザーに対して確立されている現在のすべてのセッションを選択するにはA
、
SELECT *
FROM v$session
WHERE NLS_UPPER(username) LIKE 'A%';
V$SESSION と DBA_USERS をリンクするには、両方のビューの「Usernanme」列を使用します。ユーザーセッションの詳細を返します。
V.USERNAME=D.USERNAME; v$session v、dba_users d から D.USERNAME、D.USER_ID、V.SID、V.STATUS を選択します。
バックグラウンド プロセス用に作成されたセッションの詳細も必要な場合は、V$SESSION の「User#」と DBA_USERS の「User_ID」で結合します。
V.USER#=D.USER_ID; v$session v、dba_users d から D.USERNAME、D.USER_ID、V.SID、V.STATUS を選択します。
select username from all_users;
or
select username from all_users where ...;
ビューには、ALL_、DBA_、および USER_ の 3 つの異なるセットがあります。
ALL_ビューは、現在のユーザーがアクセスできるすべての情報を表示します。つまり、ユーザーが権限を持つすべてのshcemaを表示できます。DBA_ビューは、データベース全体の情報を表示し、管理者のみを対象としています。次に、USER_ビューは現在のユーザーのスキーマから情報を表示します。
ALL_USERS が必要なようですね