س: لیست تغیراتی که کاربران بر روی جدول T1 دادهاند را نمایش دهید:
ج: با استفاده از کوئری زیر میتوانید به این هدف برسید.
SQL> select commit_timestamp , logon_user, XID from flashback_transaction_query
where table_NAME='T1';
COMMIT_TI LOGON_USER XID
--------- ------------------------------ ----------------
12-MAY-15 MAHDI 02000000B8090000
12-MAY-15 MAHDI 02000000B8090000
12-MAY-15 MAHDI 02000000B8090000
12-MAY-15 MAHDI 08001C00C6090000
گزارش بالا لیست commitهایی که کاربران رو سطح دیتابیس رو جدول t1 انجام دادهاند.
نکته: این گزارش نمونهای از اطلاعات دیتادیکشنری است. همچنین همانطور که مشاهده میکنید این گزارش از flashback_transaction_query گرفته شده است.
XID = شماره پیگیری transaction است.
نمایش لیست فیلدهای جدول flashback_transaction_query
SQL> describ flashback_transaction_query;
Name Null? Type
----------------------------------------- -------- -----------------
XID RAW(8)
START_SCN NUMBER
START_TIMESTAMP DATE
COMMIT_SCN NUMBER
COMMIT_TIMESTAMP DATE
LOGON_USER VARCHAR2(30)
UNDO_CHANGE# NUMBER
OPERATION VARCHAR2(32)
TABLE_NAME VARCHAR2(256)
TABLE_OWNER VARCHAR2(32)
ROW_ID VARCHAR2(19)
UNDO_SQL VARCHAR2(4000)
نکته: اگر در حالت audit نباشید فیلد undo_sql, row_id اطلاعاتی در خود ندارد.
در حقیقت برای پیداکردن شماره تراکنش از این جدول استفاده میکنیم. بعداً توسط یک دیتادیکشنری دیگه میتوانید شماره تراکنش را بدهید و دقیقاً بفهمید اون تراکنش ثبت شده در حقیقت چه کارهایی بر روی سطح دیتابیس انجام داده است.