نشر بواسطة : Obay Salah , November 19, 2024

 في كل من الFlashback Table and Flashback versions، يتم استخدام الUndo Data  لاسترجاع الكائنات (Objects). .

اما بالنسبة للFlashback Transaction فانه يقوم باسترداد العمليات الUndo Data For Transactions ، أي على مستوى المعاملة، بغض النظر عن عدد المعاملات المرتبطة بالأشياء.

لاستعلام ﺍلFlashback Transaction  نستخدم ﺍلView التالي:

FLASHBACK_TRANSACTION_QUERY

DESC FLASHBACK_TRANSACTION_QUERY;


نظرًا لأن البيانات الموجودة في هذا ﺍلView حساسة للغاية، فإن هذا ﺍلView محمي بامتياز SELECT ANY TRANSACTION PRIVILEGE. نظرًا لأن الاستعلام عن جميع العمليات في قاعدة البيانات يأتي مع عدد كبير جدًا من المعلومات، فمن الأفضل التركيز على الاستعلام باستخدام الشروط.

على سبيل المثال، إذا كنت تريد مراجعة العمليات التي تم إجراؤها على جدول معين، فمن الأفضل تحديد الشرط 'WHERE TABLE_NAME=’TABLE_NAME


لنفترض الآن أنني أريد إجراء استعلام حول العمليات التي حدثت على جدول SALARY.

SELECT START_TIMESTAMP,UNDO_SQL,TABLE_NAME FROM FLASHBACK_TRANSACTION_QUERY WHERE TABLE_NAME='DEPT';


يمكن استخدام VERSIONS FLASHBACK أولاً لتحديد معرف المعاملة (XID).

SELECT SALARY,VERSIONS_XID AS XID,VERSIONS_STARTSCN,VERSIONS_ENDSCN,VERSIONS_O PERATION FROM SALARY VERSIONS BETWEEN SCN MINVALUE AND MAXVALUE WHERE EMP_NO=1;


نحصل على XID ثم نستخدمه في الFlashback Transaction Query.

SELECT START_TIMESTAMP,UNDO_SQL,TABLE_NAME FROM FLASHBACK_TRANSACTION_QUERY WHERE

XID=HEXTORAW('10050D0000307500');


لذا استخدمنا FLASHBACK_VERSIONS وFLASHBACK_TRANSACTION.

بشكل عام، يتم استخدام FLASHBACK_TRANSACTION لعرض العمليات التي حدثت في قاعدة البيانات، كما يتم استخدام هذا النوع أيضًا ﺍلInformation Undo،


ويُطلق عليه أيضًا FLASHBACK_TRANSACTION_QUERY.


علامات : Database

يمكن ان يعجبك ايضا


Comments

لايوجد تعليق حتى الان