読者です 読者をやめる 読者になる 読者になる

小さい頃はエラ呼吸

いつのまにやら肺で呼吸をしています。


【Oracle】特定のテーブルの作成日時を調べる方法

f:id:replication:20150630004740j:plain

はじめに

Oracleで、あるテーブルがいつ作成されたものかを調べるには、USER_OBJECTSテーブルを見ると良いです。

USER_OBJECTSテーブル

USER_OBJECTSをdescすると、以下の結果が得られます。

OBJECT_NAMEはオブジェクトの名前でテーブル以外のファンクションやインデックスなども含まれます。
OBJECT_TYPE='TABLE'のレコードで絞れば、テーブルオブジェクトだけを抽出できます。
CREATEDカラムが作成された日付、詳細な時刻を知りたい場合は、TIMESTAMPカラムを参照します。

名前             Null タイプ           
-------------- ---- ------------- 
OBJECT_NAME         VARCHAR2(128) 
SUBOBJECT_NAME      VARCHAR2(30)  
OBJECT_ID           NUMBER        
DATA_OBJECT_ID      NUMBER        
OBJECT_TYPE         VARCHAR2(19)  
CREATED             DATE          
LAST_DDL_TIME       DATE          
TIMESTAMP           VARCHAR2(19)  
STATUS              VARCHAR2(7)   
TEMPORARY           VARCHAR2(1)   
GENERATED           VARCHAR2(1)   
SECONDARY           VARCHAR2(1)   
NAMESPACE           NUMBER        
EDITION_NAME        VARCHAR2(30) 
特定のテーブルの作成日時を調べる

たとえば、以下のようなクエリでテーブルの作成日時を知ることができます。

SELECT OBJECT_NAME, CREATED, TIMESTAMP FROM USER_OBJECTS WHERE OBJECT_TYPE='TABLE';