sql >> データベース >  >> RDS >> Oracle

Oracleで特定のテーブルがいつ作成されたかを確認するにはどうすればよいですか?

    SELECT created
      FROM dba_objects
     WHERE object_name = <<your table name>>
       AND owner = <<owner of the table>>
       AND object_type = 'TABLE'
    

    テーブルがいつ作成されたかを通知します(DBA_OBJECTSにアクセスできない場合は、テーブルに対するSELECT権限があると仮定して、代わりにALL_OBJECTSを使用できます)。

    ただし、行からタイムスタンプを取得するための一般的な答えは、その情報を追跡する列を追加した場合にのみそのデータを取得できるということです(もちろん、アプリケーションが列にもデータを入力すると仮定します)。ただし、さまざまな特殊なケースがあります。 DMLが比較的最近(おそらく過去数時間に)発生した場合は、フラッシュバッククエリからタイムスタンプを取得できるはずです。過去数日間にDMLが発生した場合(またはアーカイブログを保持している期間)、LogMinerを使用してタイムスタンプを抽出できますが、特に多くの行のタイムスタンプを取得している場合は、非常にコストのかかる操作になります。 ROWDEPENDENCIESを有効にして(デフォルトではなく)テーブルを作成する場合は、

    を使用できます。
    SELECT scn_to_timestamp( ora_rowscn ) last_modified_date,
           ora_rowscn last_modified_scn,
           <<other columns>>
      FROM <<your table>>
    

    行の最終変更日とSCN(システム変更番号)を取得します。ただし、デフォルトでは、ROWDEPENDENCIESがない場合、SCNはブロックレベルでのみ実行されます。 SCN_TO_TIMESTAMP また、関数はSCNをタイムスタンプに永久にマップすることはできません。



    1. MySQL –エラーの修正–WordPressデータベースエラークエリのキーPRIMARYの重複エントリINSERTINTO wp_options

    2. AmazonRDSでのフェイルオーバーとフェイルバック

    3. MySQLサーバーに接続できませんエラー111

    4. PostgreSQL列'foo'は存在しません