web-dev-qa-db-ja.com

SYS.USER $の列は何を表していますか?

の中に SYS.USER$ビュー、CTIMEPTIME、およびLTIME列は何を表していますか?

これや他のシステムビューに関するOracleのドキュメントはどこにありますか?

4
Nick Chammas

以下のテストケースは次のとおりです。

  • CTIMEは、ユーザーが作成された日付です。
  • LTIMEは、ユーザーが最後にロックされた日付です。 (ユーザーのロックを解除してもNULLedを取得しないことに注意してください)。
  • PTIMEは、パスワードが最後に変更された日付です。
  • LCOUNTは、失敗したログインの数です。

これがテストコードです:

SQL> create user philtest identified by philtest;

User created.

SQL> alter session set nls_date_format='HH24:MI:SS DD/MM/YYYY';

Session altered.

SQL> select ctime,ltime,ptime from user$ where name = 'PHILTEST';

CTIME               LTIME               PTIME
------------------- ------------------- -------------------
14:21:51 26/04/2012                     14:21:51 26/04/2012

SQL> alter user philtest account lock;

User altered.

SQL> select ctime,ltime,ptime from user$ where name = 'PHILTEST';

CTIME               LTIME               PTIME
------------------- ------------------- -------------------
14:21:51 26/04/2012 14:23:15 26/04/2012 14:21:51 26/04/2012

SQL> alter user philtest identified by foofoo;

User altered.

SQL> select ctime,ltime,ptime from user$ where name = 'PHILTEST';

CTIME               LTIME               PTIME
------------------- ------------------- -------------------
14:21:51 26/04/2012 14:23:15 26/04/2012 14:27:47 26/04/2012

SQL> 

これは内部データディクショナリビューであるため、Oracleのドキュメントには記載されていません。ただし、DBA_%ビューの上にあるALL_%/USER_%/SYS.%ビューはドキュメント化されています here

DBA_%ビューの1つでDESCribeを実行すると、基になる列が何を表しているかを適切に示すことがよくあります。 DBA_%ビューもコメントされることがよくあります。

7
Philᵀᴹ

User $などの内部テーブルを直接使用することは意図されていません。代わりに、sys.dba_%静的静的ビューをクエリする必要があります。これらは リファレンスマニュアルに詳細に記載されています

ハードコアOracleフリークは、ファイル「$ Oracle_HOME/rdbms/admin/sql.bsq」のコメントを読むか、 このようなサイトを閲覧できます

2
miracle173