التحقق من جاهزية المدين

مراجعة أفضل الممارسات للتأهب لاستعادة القدرة على العمل بعد الكوارث والتحقق من إعداد استعادة القدرة على العمل بعد الكوارث للأحداث المخططة وغير المخططة.

حول جاهزية المدين

استعراض أفضل الممارسات المتعلقة بالتأهب لاستعادة القدرة على العمل بعد الكوارث.

استخدم Active Data Guard لإلغاء تحميل حمل العمل للقراءة فقط إلى قاعدة البيانات البديلة لتوفير تحقق مستمر على مستوى التطبيق يكون البديل جاهزًا للإنتاج. يوفر هذا مستوى من الضمان بالإضافة إلى التدقيق المستمر على مستوى كتلة Oracle الذي تقوم به عمليات تطبيق Oracle Data Guard.

استخدم قاعدة بيانات بديلة للقطة لتكوين نسخة متماثلة دقيقة لقاعدة بيانات الإنتاج لأغراض التطوير والاختبار. ضع البديل دوريًا في وضع القراءة/الكتابة (باستخدام Data Guard Snapshot Autoby) للتحقق من استعداده لدعم أحمال عمل إنتاج القراءة والكتابة. كما يمكن استخدام بديل لقطة لمستوى نهائي لاختبار الأداء والتشغيلات والتحديثات لأن حجم نظام DR مشابه لنظام الإنتاج. تستمر اللقطة البديلة في تلقي redo من قاعدة البيانات الأساسية حيث يتم أرشفتها للاستخدام لاحقًا، مما يوفر حماية البيانات في جميع الأوقات. ومع ذلك، سيتم تمديد وقت الاستعادة (RTO) بمقدار الوقت المطلوب لتحويل اللقطة البديلة مرة أخرى إلى قاعدة البيانات البديلة إذا كان تجاوز الفشل مطلوبًا أثناء الاختبار قيد التنفيذ. يلزم تخزين إضافي لمنطقة الاستعادة السريعة عندما يكون البديل في وضع اللقطة (للاحتفاظ بالإعادة المحفوظة المستلمة من قاعدة بيانات الإنتاج الأساسية للاستخدام اللاحق وسجلات الإعادة والرجوع الحالية التي تم إنشاؤها بواسطة اللقطة البديلة).

فيما يلي بعض مزايا استخدام قاعدة بيانات بديلة للقطة:

  • وهو يوفر نسخة مطابقة دقيقة لقاعدة بيانات الإنتاج من أجل تطويرها واختبارها مع الحفاظ على حماية البيانات في جميع الأوقات. يمكنك استخدام خيار Oracle Real Application Testing لتسجيل حمل عمل قاعدة البيانات الأساسية ثم إعادة تشغيله لأغراض الاختبار في اللقطة البديلة.
  • يتم تجديده بسهولة لاحتواء بيانات الإنتاج الحالية عن طريق التحويل إلى بديل فعلي وإعادة التزامن.

تحويل قاعدة البيانات البديلة إلى اللقطات البديلة

عندما تريد نسخة متماثلة دقيقة من قاعدة بيانات الإنتاج، يمكنك استخدام Oracle Data Guard Broker لتحويل قاعدة البيانات البديلة الفعلية إلى قاعدة بيانات اللقطات البديلة والتحقق من انتقال الفشل.

قاعدة بيانات اللقطات البديلة هي قاعدة بيانات بديلة قابلة للتحديث بالكامل ويتم تكوينها من قاعدة بيانات بديلة فعلية. في قواعد بيانات اللقطات البديلة، يتم استلام بيانات redo، ولكن لا يتم تطبيقها حتى يتم تحويل قاعدة بيانات اللقطات البديلة مرة أخرى إلى قاعدة بيانات بديلة فعلية.

فيما يلي مزيتان لاستخدام قاعدة بيانات اللقطات البديلة:

  • توفر قاعدة بيانات اللقطات البديلة نسخة مطابقة دقيقة لقاعدة بيانات الإنتاج لأغراض التطوير والاختبار مع الحفاظ على حماية البيانات في جميع الأوقات. يمكنك استخدام خيار Oracle Real Application Testing لتسجيل حمل عمل قاعدة البيانات الأساسية ثم إعادة تشغيله لأغراض الاختبار في اللقطة البديلة.
  • يمكنك بسهولة تجديد قاعدة اللقطات البديلة لاحتواء بيانات الإنتاج الحالية عن طريق التحويل إلى قاعدة بيانات بديلة فعلية وإعادة التزامن.

تتيح واجهة سطر أوامر Oracle Data Guard (DGMGRL) إمكانية إدارة تكوين وسيط Oracle Data Guard وأعضائه المتعددين مباشرةً من واجهة سطر الأوامر.

  1. قم بالدخول إلى جلسة عمل DGMGRL في طبعة قاعدة البيانات البديلة باستخدام اسم المستخدم وكلمة السر sys.
    [oracle@exa11db01 ~]$ dgmgrl
    DGMRGL> connect
    Username: sys
    Password:
  2. عرض التكوين لتأكيد قواعد البيانات الأساسية والبديلة.
    DGMGRL> show configuration;
    ستبدو المخرجات مشابهة لما يلي:
    Configuration - onpremexadr
      Protection Mode: MaxPerformance
      Members:
      db1_phx3g7 - Primary database
        db1        - Physical standby database 
          Error: ORA-16664: unable to receive the result from a member
    Fast-Start Failover:  Disabled
    Configuration Status:
    ERROR   (status updated 108 seconds ago)
  3. تحويل قاعدة البيانات البديلة الفعلية إلى قاعدة بيانات بديلة للقطة.
    في هذا المثال، standby_database_unique_name هو db1.
    DGMGRL> convert database standby_database_unique_name to snapshot standby;
    عند إتمام التحويل، سيكون للمخرجات سطر مماثل للسطر التالي:
    Converting database "db1" to a Snapshot Standby database, please wait...
    Database "db1" converted successfully
  4. عرض التكوين للتحقق من التحويل.
    DGMGRL> show configuration;
    ستبدو المخرجات مشابهة لما يلي:
    Configuration - onpremexadr
      Protection Mode: MaxPerformance
      Members:
      db1_phx3g7 - Primary database
        db1        - Snapshot standby database 
          Error: ORA-16664: unable to receive the result from a member
    Fast-Start Failover:  Disabled
    Configuration Status:
    ERROR   (status updated 59 seconds ago)
  5. تحويل اللقطة البديلة مرة أخرى إلى قاعدة بيانات بديلة فعلية.
    DGMGRL> convert database standby_database_unique_name to physical standby;
    ستبدو المخرجات مشابهة لما يلي:
    Converting database "db1" to a Physical Standby database, please wait...
    Operation requires a connection to database "db1_phx3g7"
    Connecting ...
    Connected to "DB1_phx3g7"
    Connected as SYSDBA.
    Oracle Clusterware is restarting database "db1" ...
    Connected to "db1"
    Connected to "db1"
    Continuing to convert database "db1" ...
    Database "db1" converted successfully
  6. عرض التكوين للتحقق من التحويل.
    DGMGRL> show configuration;
    ستبدو المخرجات مشابهة لما يلي:
    Configuration - onpremexadr
      Protection Mode: MaxPerformance
      Members:
      db1_phx3g7 - Primary database
        db1        - Physical standby database 
          Error: ORA-16664: unable to receive the result from a member
    
    Fast-Start Failover:  Disabled
    
    Configuration Status:
    ERROR   (status updated 20 seconds ago)
    DGMGRL>

تعيين معلمات Oracle Data Guard

قبل تنفيذ التبديل، قم بتعيين معلمات Oracle Data Guard على طبعات قاعدة البيانات الأساسية والبديلة.

  1. في قاعدة البيانات الأساسية المحلية، تحقق من رقم تغيير النظام (SCN).
    select standby_became_primary_scn from v$database;
    ستبدو المخرجات مشابهة لما يلي:
    STANDBY_BECAME_PRIMARY_SCN
    --------------------------
    0
  2. تحقق من عدم تمكين الارتداد في قاعدة البيانات الأساسية.
    select flashback_on from v$database;
    ستبدو المخرجات مشابهة لما يلي:
    FLASHBACK_ON
    ------------------
    NO
  3. عرض استعادة المعلمة.
    SQL> show parameter recovery;
    ستبدو المخرجات مشابهة لما يلي:
    NAME				     TYPE	 VALUE
    ------------------------------------ ----------- ------------------------------
    db_recovery_file_dest	     string	      +RECOC1
    db_recovery_file_dest_size	big integer	  8256M
    recovery_parallelism             integer             0
    remote_recovery_file_dest        string
  4. قم بتعيين حجم المعلمة DB_RECOVERY_FILE_DEST_SIZE لاستيفاء حجم قاعدة البيانات.
    يستخدم المثال التالي 20 G كمثال لحجم البيانات. قم بتعيين حجم البيانات استنادًا إلى قاعدة البيانات.
    SQL> alter system set DB_RECOVERY_FILE_DEST_SIZE=20G;
  5. تمكين الارتداد في قاعدة البيانات الأساسية.
    SQL> alter database flashback on;
  6. تأكد من تمكين الارتداد لقاعدة البيانات (تشغيل).
    SQL> select flashback_on from v$database;
    ستبدو المخرجات مشابهة لما يلي:
    FLASHBACK_ON
    ------------------
    YES
  7. في Oracle Database Exadata Cloud Service البديل، حدد ما إذا كان تم تمكين الارتداد أم لا.
    SQL> select flashback_on from v$database;
    ستبدو المخرجات مشابهة لما يلي:
    FLASHBACK_ON
    ------------------
    NO
  8. استعلم عن حالة الوضع المفتوح لقاعدة البيانات البديلة في السحابة.
    SQL> select open_mode from v$database;
    ستبدو المخرجات مشابهة لما يلي:
    OPEN_MODE
    -------------------- 
    MOUNTED
  9. إلغاء استعادة قاعدة البيانات لقاعدة البيانات البديلة.
    SQL> alter database recover managed standby database cancel;
  10. تعيين الارتداد على طبعة قاعدة البيانات في السحابة.
    SQL> alter database flashback on;
  11. قطع اتصال البديل بجلسة العمل.
    SQL> ALTER DATABASE RECOVER MANAGED STANDBY DATABASE DISCONNECT FROM SESSION;
    Database altered
  12. تأكد من تمكين الارتداد لقاعدة البيانات (تشغيل).
    SQL> select flashback_on from v$database;
    FLASHBACK_ON
    ------------------
    YES
  13. عرض معلمات الاحتجاز.
    SQL> show parameter_retention;
    ستبدو المخرجات مشابهة لما يلي:
    NAME				     TYPE	 VALUE
    ------------------------------------ ----------- ------------------------------
    db_flashback_retention_target	     integer	 1440
    undo_retention			      integer	 900