2017-07-11 1 views
0

本番システムでは、Oracle 11g Enterprise Editionを使用しています。私は現在、特定のテーブルの一部のレコードを変更したトランザクションのトランザクションIDを持っている状況に直面しています。私はこれらの変更されたレコードを見つける必要があります。Oracle:特定のトランザクションによって変更されたレコードのrowIdsを見つける

多くのグーグルの後、唯一のリードはフラッシュバックデータに関連しています。つまり、FLASHBACK_TRANSACTION_QUERYテーブル、または修正されたテーブルのフラッシュバックバージョンのVERSIONS_XIDです。問題は、これらのトランザクションIDが一致しないことです。例えば、私が取得トランザクションIDは、任意の私はROWIDを見つけることができる方法(または他のがありますフォームの29001E00697F0000 "

のあるフォームの11.18.823626 'とVERSIONS_XID内のものです列データ)は、与えられたトランザクションによって変更された行のトランザクションIDです。

答えて

0

hextoraw()関数を使用して、VERSIONS_XID識別子をFLASHBACK_TRANSACTION_QUERY.XIDにキャストします。

+0

チップをありがとう。しかし、それは私のために働いていないようです。例えば、 '_05001B0027510300_ 'に' hextoraw() 'を呼び出すと、出力と同じ文字列が返されます。取得するトランザクションIDは「_5.27.217383_」、VERSIONS_XIDのトランザクションIDは「_05001B0027510300_」です。私はもう一方を手に入れることはできません。 – DaSarfyCode

関連する問題