Flashback Transaction in Oracle Database
نشر بواسطة : 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.
Comments
لايوجد تعليق حتى الان