1

SCN 自体がタイムスタンプをエンコードしますか、それともテーブルからのルックアップですか。

AskTom の投稿から、+/-3 秒までのタイムスタンプが smon_scn_time の raw フィールドに格納されていると説明しています。関数が値を取得する場所ですか?

もしそうなら、そのテーブルはいつパージされますか? もしそうなら、何がそのパージを引き起こしますか?

もしそうなら、それは古い SCN をタイムスタンプに変換することを不可能にしますか?

それが不可能な場合は、長期的なものであるそのフィールドの使用を排除します (読み取り: 監査)。

その関数をクエリに入れた場合、そのテーブルへの参加はより高速になりますか?

もしそうなら、誰もその生の列を変換する方法を知っていますか?

4

1 に答える 1

3

SCN は時間値をエンコードしません。自動インクリメント番号だと思います。

SMON は、現在のタイムスタンプを含め、SCN をインクリメントするたびに SMON_SCN_TIME (またはその下にあるテーブル) に行を挿入していると思います。

いくつかのデータベースで記録された最小のタイムスタンプを照会しましたが、それらはすべて約 5 日間さかのぼり、テーブルに 1500 行弱あります。したがって、インスタンスの有効期間よりも短くなります。

データが保持される期間の下限は、DB_FLASHBACK_RETENTION_TARGET パラメータによって決定される可能性があると思います。デフォルトは 1 日です。

関数を使用することをお勧めします。おそらく、内部を自由に変更できるように提供されているでしょう。

RAW 列 TIM_SCN_MAP に何が含まれているかはわかりませんが、TIME_DP および SCN 列はマッピングを提供するように見えます。

于 2008-11-10T19:26:47.653 に答える