تو این اسلاید راجع به روش‌هایی که میشه با اونها دیتاگارد رو مدیریت کرد صحبت کرده

  • زمانی که broker پیکربندی شده باشد
  • ابزار خط فرمان DGMGRL
  • ابزار EM Grid Control
  • با استفاده از دستورات SQL و کوئری گرفتن از viewهای دیتادیکشنری

زمانی که broker پیکربندی نشده باشد

  • فقط با استفاده از دستورات SQL و کوئری گرفتن از viewهای دیتادیکشنری

اما اگه Gap ای بین دیتابیس primary و standby ایجاد بشه یعنی حتی یک redo سمت primary نوشته شده باشه ولی در سمت standby به هر دلیلی نوشته نشده باشه حالت Gap‌ به وجود میاد

کی ممکنه Gap اتفاق بیوفته:

  • مشکل شبکه
  • مشکل پروسس LNS (ارسال کننده)
  • مشکل پروسس RFS (دریافت کننده)

تو این حالت دیتابیس standby با دیتابیس primary به طور کامل sync نیستند

راه‌حل اوراکل برای این مشکل به ۲ صورت است:

  • Automatic
  • Manual

خب فرض کنید Gap ای بین دیتابیس‌هامون داریم و redo log fileهامون جلو رفتن چون ممکنه زمان زیادی Gap‌ ایجاد شده باشه و ادمی هم متوجه Gap نشده باشه تو این حالت ممکنه بارها redo log buffer ما خالی و پر شده باشه و عملاً sync کردن دیتا رو با مشکل مواجه کنه

همچنین online redo log fileها هم بارها log switch براشون رخ داده و overwrite شدن پس دیگه امکان خوندن از online redo log fileها هم نیس

اینجاست که Archiveهای ما به کمکمون میان

حالت Automatic

تو این حالت RFS به جای اینکه redoها رو بگیره به طور خودکار archiveها رو می‌گیره و شروع به apply کردن archiveها میکنه

حالت Manual

فرضاً redoها تا ۱۰ تا seq انتقال پیدا می‌کنند(apply می‌شوند) ولی آرشیو‌های redo شماره ‍۱۱ وجود نداره ولی ۱۲ به بعد آرشیوهاش موجوده و هرچی هم سرور رو جستجو می‌کنید seq شماره ۱۱ رو پیدا نمی‌کنید این Gap فقط با روش manual حل میشه

مثلاً ۱۰ تا seq به سمت دیتابیس گارد نرفته‌اند تو این حالت تمام redoهای archive شده در سمت دیتابیس primary به محض برقراری ارتباط شبکه بین دیتابیسها شروع به apply شدن می‌کنند

اینجا کانفیگ از اول روشی غلط است چون فقط یک یا چند seq انتقال پیدا نکرده‌اند

انشالله تو پستی جداگونه این مطلب رو شرح خواهم داد

Manually Resolving Gaps - Oracle Data Guard 11gR2