Oracle Data Guard دسترسپذیری بالا، حفاظت از داده و Disaster Recovery را برای دادههای سازمانی فراهم مینماید. این نرمافزار مجموعه خدمات جامعی را فراهم میآورد که یک یا چند دیتابیس Standby را ایجاد، حفظ، مدیریت و مانیتور میکنند تا دیتابیسهای اوراکلی بتوانند در برابر Disasterها و خرابیهای داده مقاوت کنند. Oracle Data Guard این دیتابیسهای Standby را بهعنوان نسخههایی از دیتابیس تولیدی حفظ مینماید، سپس اگر دیتابیس مربوطه به دلیل یک قطعی برنامهریزیشده یا برنامهریزینشده از دسترس خارج شود، Oracle Data Guard میتواند هر دیتابیس Standby را به Role حفاظتی تغییر داده و در نتیجه Downtime مربوط به قطعی را به حداقل برساند. میتوان از این نرمافزار با تکنیکهای قدیمی پشتیبانگیری، بازیابی و کلاستر استفاده نمود تا سطح بالایی از حفاظت از دادهها و دسترسپذیری به آنها فراهم گردد. همچنین دیگر ویژگیهای Oracle مانند Oracle Streams و Oracle GoldenGate نیز برای انتقال کاربردی و قابلاطمینان Redo از یک دیتابیس منبع به یک یا چند مقصد Remote، از خدمات انتقال این نرمافزار استفاده مینمایند.
با استفاده از این نرمافزار، مدیران شبکهها میتوانند با Offload کردن پشتیبانگیری Resource-Intensive و گزارشدهی عملیاتها به سیستمهای Standby، بنا بر نیاز خود، عملکرد دیتابیس تولیدی را بهبود ببخشند.
بررسی پیکربندی Oracle Data Guard
پیکربندی این نرمافزار میتواند حاوی یک دیتابیس اصلی و تا 30 عدد مقصد (Destination) باشد. اعضای یک پیکربندی Oracle Data Guard با Oracle Net به هم متصل هستند و ممکن است از نظر جغرافیایی پراکنده باشند. هیچ محدودیتی بر روی محل قرارگیری اعضای پیکربندی نرمافزار Oracle Data Guard وجود ندارد، البته به شرطی که اعضا بتوانند با یکدیگر ارتباط برقرار نمایند. برای مثال ممکن است یک دیتابیس Standby در دیتاسنتری واحد بهعنوان دیتابیس اصلی، به همراه دو Standby در دیتاسنتری دیگر وجود داشته باشند.
میتوان دیتابیسهای اصلی و Standby را با استفاده از خط دستور SQL یا رابطهای کاربری واسطهی (Broker) Oracle Data Guard مدیریت نمود. واسطه، یک رابط کاربری خط دستور (DGMGRL) و همچنین یک رابط کاربری گرافیکی که در Oracle Enterprise Manager Cloud Control مجتمع است، فراهم میآورد.
مفهوم دیتابیس اولیه در Oracle Data Guard
پیکربندی Oracle Data Guard حاوی یک دیتابیس عملیاتی است که دیتابیس اولیه یا اصلی نیز نامیده میشود و دارای عملکرد Role اصلی میباشد. این همان دیتابیسی است که اکثر برنامههای کاربردی به آن دسترسی دارند.
دیتابیس Primary میتواند یک دیتابیس اوراکل، دارای یک Instance و یا یک دیتابیس Oracle Real Application Clusters یا به اختصار Oracle RAC باشد.
دیتابیسهای Standby
یک دیتابیس Standby نسخهای از دیتابیس اصلی است که از نظر تراکنشی یکپارچه میباشد. با استفاده از نسخهی پشتیبانگیریشدهای از دیتابیس اصلی، میتوان تا سی عدد دیتابیس Standby ایجاد کرده و آنها را مشمول پیکربندی Oracle Data Guard قرار داد. نرمافزار Oracle Data Guard پس از ایجاد بهصورت خودکار با انتقال دادههای Redo از دیتابیس اصلی و سپس اِعمال Redo به دیتابیس Standby، تمام دیتابیسهای Standby را حفظ مینماید.
دیتابیس Standby میتواند مانند دیتابیس اصلی یا یک دیتابیس Oracle دارای یک Instance باشد و یا یک دیتابیس Oracle RAC.
انواع دیتابیسهای Standby به شرح زیر است:
- دیتابیس Standby فیزیکی
این دیتابیس با ساختارهای دیتابیس On Disk که بر مبنای یک روند Block-For-Block، درست همانند دیتابیس اصلی میباشند، نسخهای از دیتابیس اصلی را فراهم مینماید که از نظر فیزیکی با آن همتا است. Schemaهای دیتابیس، از جمله شاخصها، یکسان هستند. دیتابیس Standby فیزیکی از طریق Redo Apply که دادههای Redo دریافتشده از دیتابیس اصلی را بازیابی کرده و Redo را به دیتابیس Standby فیزیکی اعمال میکند، با دیتابیس اصلی هماهنگ (Synchronized) باقی میماند.
از نسخه Oracle Database 11g Release 1 به بعد، یک دیتابیس Standby فیزیکی میتواند درحالیکه برای دسترسی Read-Only باز است، Redo را دریافت و اعمال نماید؛ در نتیجه میتوان از یک دیتابیس Standby، همزمان هم برای حفاظت از داده و هم برای گزارشگیری استفاده نمود.
به علاوه، از نسخه (Oracle Database 11g Release 2 (11.2.0.1 به بعد، میتوان از دیتابیس Standby فیزیکی برای نصب Patchهای دارای امکان One-Off هستند، بروزرسانیهای مجموعه PSU) Patch ) و بروزرسانیهای Patch حیاتی (CPU)، به صورت پیوسته (Rolling) استفاده نمود.
- دیتابیس Standby منطقی (Logical)
هرچند که سازماندهی و ساختار فیزیکی داده این دیتابیس ممکن است با دیتابیس تولیدی متفاوت باشد، این دیتابیس حاوی اطلاعات منطقی یکسانی با دیتابیس تولیدی است. دیتابیس Standby منطقی از طریق SQL Apply با دیتابیس اصلی هماهنگ (Synchronized) باقی مانده، SQL Apply دادههای درون Redo را که از دیتابیس اصلی دریافت کرده به Statementهای SQL تبدیل نموده و سپس Statementهای SQL را روی دیتابیس Standby اجرا مینماید.
انعطافپذیری یک دیتابیس Standby منطقی به کاربر اجازه میدهد که نرمافزار Oracle Database را ارتقا داده (مجموعهی Patchها و نسخههای جدید Oracle Database) و عملیاتهای دیگری را برای نگهداری دیتابیس به صورت پیوسته (Rolling) و تقریباً بدون Downtime انجام دهد. همچنین از نسخه Oracle Database 11g به بعد، فرایند ارتقای پیوسته (Rolling) دیتابیس منطقی گذرا (Transient) را میتوان با دیتابیسهای Standby فیزیکی موجود نیز مورد استفاده قرار داد.
- دیتابیس Snapshot Standby
دیتابیس Snapshot Standby یک دیتابیس Standby است که کاملا میتوان آن را بروزرسانی نمود. این دیتابیس مانند دیتابیس Standby فیزیکی یا منطقی، دادههای Redo را از یک دیتابیس اصلی دریافت و آرشیو مینماید اما بر خلاف دیتابیس Standby فیزیکی یا منطقی، این دیتابیس دادههای Redo دریافتی را اعمال نمینماید و تنها پس از Discard نمودن تمام بروزرسانیهای Local که برروی آن انجام شدهاند و تبدیل دوباره به دیتابیس Standby فیزیکی، دادههای Redo دریافتی را اعمال مینماید.
دیتابیس Snapshot Standby در بهترین حالت در سناریوهایی مورد استفاده قرار میگیرد که نیازمند یک Snapshot موقت و قابل بروزرسانی از یک دیتابیس Standby فیزیکی باشند. برای مثال میتوان از قابلیت Oracle Real Application Testing برای Capture کردن بار کاری دیتابیس اصلی و سپس بازپخش آن در جهت اهداف آزمایشی بر روی Snapshot Standby، استفاده نمود. این نکته حائز اهمیت است که از آنجایی که دادههای Redo که توسط دیتابیس Snapshot Standby دریافت میگردند تا تبدیل دوبارهی دیتابیس به یک دیتابیس Standby اعمال نخواهند شد، زمان لازم برای بازیابی از یک خرابی در دیتابیس اصلی، مستقیماً به مقدار دادههای Redo که باید اعمال شوند مرتبط میباشد.
Instanceهای Far Sync
یک Oracle Data Guard Far Sync Instance، یک مقصد Oracle Data Guard به صورت Remote است که Redo را از دیتابیس اصلی پذیرفته و سپس آن Redo را به اعضای دیگر پیکربندی این نرمافزار میفرستد. Far Sync Instance یک فایل کنترل را مدیریت نموده، Redo را در Logهای Standby Redo یا به اختصار (SRL) دریافت کرده و آن SRLها را در Logهای Redo آرشیوی، آرشیو مینماید؛ اما شباهت آن با Standbyها در همین حد به اتمام میرسد. یک Far Sync Instance دارای فایل دادهی کاربر نیست، نمیتوان آن را برای دسترسی باز کرد، توانایی اِعمال Redo را ندارد، هرگز نمیتواند در Role اصلی عملکردی داشته باشد و یا به هر نوعی از دیتابیس Standby تبدیل گردد.
Instanceهای Far Sync بخشی از قابلیت Oracle Active Data Guard Far Sync هستند که نیازمند یک Oracle Active Data Guard License میباشد.
راهکار پشتیبانگیری Zero Data Loss Recovery Appliance
Zero Data Loss Recovery Appliance (به اختصار Recovery Appliance) یک راهکار پشتیبانگیری در سطح سازمانی است که منبع واحدی را برای پشتیبانگیریهای تمام دیتابیسهای Oracle کاربر، فراهم مینماید.
Recovery Appliance اکثر پردازشهای پشتیبانگیری و بازیابی Oracle را در یک سیستم پشتیبانگیری متمرکز Offload میکند و به کاربر این توانایی را میدهد که در بهرهبرداری از Storage، عملکرد و همچنین قابلیت مدیریت کردن پشتیبانگیریها، به کاراییهای قابل توجهای برسد.
از نسخهی (Oracle Database 12c release 1 (12.1.0.2 به بعد، انتقال دادههای Redo به یک Recovery Appliance، در پیکربندی Data Guard تحت پشتیبانی است.
مثالی از پیکربندی
شکل زیر یک پیکربندی معمول Oracle Data Guard را نشان میدهد که حاوی دیتابیس Primary است که دادههای Redo را به یک دیتابیس Standby منتقل میکند. بهمنظور انجام عملیاتهای بازیابی و پشتیبانگیری، مکان دیتابیس Standby بهصورت Remote نسبت به دیتابیس اصلی قرار دارد. میتوان دیتابیس Standby را در مکانی یکسان با دیتابیس اصلی پیکربندی نمود. با اینحال، Oracle به منظور Disaster Recovery به کاربر پیشنهاد میکند که دیتابیسهای Standby را در مکانهای Remote پیکربندی کند.
ـــــــــــــــــــــ
همه چیز درباره Oracle Data Guard – قسمت اول
همه چیز درباره Oracle Data Guard – قسمت دوم
همه چیز درباره Oracle Data Guard – قسمت سوم (پایانی)