سلسله آموزش راه‌اندازی Oracle Data Guard 19c از صفر تا Fast Failover قسمت اول آماده سازی ماشین مجازی

در این سلسله‌مقالات قصد داریم قدم‌به‌قدم یک محیط کامل Oracle Data Guard 19c را از صفر بسازیم؛ محیطی که نه‌تنها شامل یک Primary Database و یک Physical Standby است، بلکه قابلیت‌های پیشرفته‌ای مانند Fast-Start Failover (FSFO)، Observer، و Reinstantiation خودکار را نیز پوشش می‌دهد. این دقیقاً همان چیزی است که در بسیاری از سازمان‌ها نیاز دارند اما معمولاً به‌صورت منسجم، عملی و مرحله‌به‌مرحله در هیچ منبع فارسی ارائه نشده است.

در این آموزش، تمام مراحل از نصب سیستم‌عامل تا انجام تست واقعی Failover و مشاهده عملکرد Application Continuity را به‌صورت عملی، بر اساس تجربه‌های واقعی در دیتاسنترها و پروژه‌های سازمانی انجام خواهیم داد.
هدف این مجموعه، ایجاد یک مسیر یادگیری کاملاً عملی، قابل تکرار و قابل استقرار است؛ به‌صورتی که هر DBA روی لپ‌تاپ شخصی خودش—بتواند یک محیط Data Guard استاندارد و حرفه‌ای را شبیه‌سازی کند.

در این قسمت اول، تمرکز ما روی آماده‌سازی زیرساخت است:

  • ساخت ماشین‌های مجازی با VirtualBox

  • تنظیم شبکه برای ارتباط پایدار بین Primary و Standby

  • نصب Oracle Linux 9.6

  • انجام تنظیمات مقدماتی، شامل پکیج‌ها، kernel parameters و disable کردن سرویس‌هایی که در محیط تست لازم نیستند

تمام این مراحل پایه‌ای، موقعیت ما را برای نصب Oracle Grid، دیتابیس Primary، ساخت Standby، پیکربندی Broker و در نهایت فعال‌سازی Fast Failover فراهم می‌کند.

اگر شما هم قصد دارید یک محیط واقعی و استاندارد Data Guard بسازید—چه برای تست سازمانی، چه برای آموزش، چه برای اضافه‌کردن به رزومه و چه برای پروژه‌های عملی—این مجموعه به‌صورت کامل شما را همراهی خواهد کرد.

چیزهایی که لازم دارید:

ISO oracle linux 9.6 (بصورت FULL PACKAGE)

نسخه 19.3 برای GRID و ORACLE

PATCH 19.29 

OPATCH متناسب با نسخه 19.29

دو مورد آخر با دسترسی به متالینک یا دریافت از کسانی که آن را دارند، در دسترس است

RPM مربوط به PREINSTALLATION که می توانید از کانال تلگرام به آدرس 

t.me/vahiddb_dba

بیایید از قدم اول شروع کنیم: آماده‌سازی ماشین‌های مجازی.

دو ماشین با مشخصات زیر می سازیم.
cpu 4 core

ram 8g

hdd 150 g (این برای نصب سیستم عامل و نصب نرم افزارها استفاده می شود)

hdd 10g (برای data استفاده می شود)

nic از نوع host only adapter

اسم یکی رو می گذاریم dc1 و آن یکی را می گذاریم dc2 که مخفف datacenter هستند.

آدرس ها را نیز به اینصورت می دهیم

192.168.56.21 dc1

192.168.56.22 dc2

برای نصب ،مراحل مشابه بصورت قدم به قدم و تصویری، در لینک زیر هست. البته برای نصب بصورت single instance به ساخت shared disk احتیاجی ندارید که می توانید این مراحله را انجام ندهید و دیسکها تنها به خود ماشین اختصاص یابد:

https://vahiddb.com/fa/oracle/database-administration/deploying-oracle-rac-19c-on-virtualbox-and-oracle-linux-9-part-1-creating-vms-shared-storage-fa

virtual box را اجرا کنید

بر روی new که در بالای صفحه بصورت icon بزرگ قرار داده شده است کلیک کنید

نام ماشین را همانطور که گفتم dc1 قرار دهید و محل مناسب سیستم خودتان را برایش انتخاب کنید

بر روی iso image کلیک کنید و oracle linux 9.6 را انتخاب کنید.

تیک skip Unattended Installation را بزنید

وارد قسمت Hardware شوید

میزان رم را 8g و cpu را برابر 4 قرار دهید. (این عدد بنا به ظرفیت سیستم شما قابل کاهش است.)

وارد قسمت hard disk شوید

حجم را برابر 150g قرار دهید. قرار نیست که این حجم بصورت یکجا از سیستم شما گرفته شود. بلکه با رشد سیستم رشد می کند.

بر روی finish کلیک کنید

بر روی ماشین راست کلیک کنید و setting را انتخاب کنید

از قسمت سمت چپ به storage بروید

روبروی controller sata یک علامت مثبت بر روی تصویری شبیه به هارد وجود دارد، بر روی آن کلیک کنید.

در پنجره باز شده بر روی create کلیک کنید.

حجم را برابر 10 تا 20 گیگ قرار دهید و تیک preallocate full size را بزنید

پس از اینکه این میزان سایز ساخته شد، آن را از قسمتی که تازه در not attachecd ظاهر شده انتخاب کنید.

حالا به قسمت network بروید

گزینه  attached to را برابر host-only adapter قرار دهید.

بر روی ok کلیک کنید

دوباره روی ماشین کلیک کنید تا به حالت انتخاب مشخص باشد و بر روی دکمه start کلیک کنید.

داخل پنجره ای که باز می شود کلیک کنید. ماوس شما داخل آن خواهد ماند و برای بیرون آوردن آن باید دکمه ctrl سمت راست کیبرد را بزنید

با دکمه بالا بر روی install بروید و کلیک کنید.

صبر کنید تا صفحه  اول لود شود.

 زبان پیش فرض که english united state هست را می پذیریم و بر روی continue کلیک می کنیم.

وارد صفحه زیر می شویم:

وارد قسمت installation destination می شویم

بر روی دیسک 150 گیگی کلیک می کنیم و در پایین گزینه custom را انتخاب می کنیم و در قسمت بالا سمت چپ بر روی done کلیک می کنیم

همانطور که نوع انتخاب از نوع lvm است، بر روی + در پایین بخش چپ صفحه کلیک می کنیم

در صفحه ای که ظاهر می شود، mount point را / که به معنای پوشه root هست انتخاب می کنیم و حجم آنرا برابر gib 40 قرار  می دهیم و add mount point را می زنیم.

سپس boot/ را برابر حجم 1 گیگ می گذاریم و بعد از آن همینکار را برای swap به اندازه 9 گیگ انتخاب می کنیم.

در انتها هم در قسمت mount point می نویسیم u01/ و قسمت حجم را خالی می گذاریم تا تمام فضای باقی مانده را به خود اختصاص دهد.

حالا بر روی done کلیک می کنیم تا پس از تایید تغییراتی که دادیم به صفحه اصلی بازگردانده شویم.

به قسمت Software Selection وارد می شویم

از منوی سمت چپ گزینه minimal install را انتخاب می کنیم تا هیچ پکیج اضافه ای نصب نشود و سپس با کلیک بر روی done به منوی اصلی بر می گردیم.

به قسمت Root  Password برای root پسورد می رویم و برای root پسورد انتخاب می کنیم و با زدن done به صفحه اصلی بر می گردیم.

به قسمت NETWORK & HOSTNAME می رویم.

بر روی configure که در پایین سمت چپ صفحه قرار دارد کلیک می کنیم.

وارد tab ی با نام IPV4 SETTINGS می رویم.

بر روی METHOD کلیک می کنیم و از AUTOMATIC به MANUAL تغییر می دهیم.

بر روی ADD کلیک می کنیم و در خطی که اضافه می شود، این اطلاعات را برای ماشین اول وارد می کنیم. دقت کنید که برای ماشین گارد آدرس منحصر به فرد خودش را بدهید.

192.168.56.21

خودش در قسمت netmask عدد 24 را وارد می کند که مطلوب است و gateway را برابر 192.168.56.1 قرار دهید و بر روی save و سپس done کلیک کنید.

پس از اینکه وارد صفحه اصلی شدید بر روی begin install کلیک کنید تا نصب شروع شود.

بعد از اتمام نصب reboot system ظاهر می شود که بر روی آن کلیک می کنیم.

در oracle linux 9 بصورت پیش فرض امکان ssh به root وجود ندارد. 

بنابراین در ابتدا باید فایل etc/ssh/sshd_config/ را با دستور vi ویرایش کنیم.

در همان کنسولی که virtual box به ما می دهد با ورود نام کاربری root و پسوردی که در هنگام نصب داده ایم وارد می شویم.

vi /etc/ssh/sshd_config

با زدن دکمه i وارد مد edit می شویم

در نسخه من خط 40 که نوشته است PerimitRootLogin هست . ابتدا # قبلش را پاک می کنیم و سپس بجای prohibit-pssword را پاک کرده و جای آن می گذاریم yes.

حالا ابتدا exc را می زنیم تا از مد insert خارج شویم و با زدن wq: خارج می شویم.

سرویس ssh را با دستور زیر ریست می کنیم:

systemctl restart sshd

تمام این مراحل را برای ساختن dc2 نیز انجام می دهیم.

حالا با نرم افزار mobaxterm به هر دو سرور متصل شوید.

چون محیط تست هست میخواهیم فایروال و selinux این دو ماشین را خاموش کنیم.

با دستور زیر فایروال در بالا امدن بعدی سیستم عامل غیر فعال خواهد بود:

 systemctl disable firewalld

با زدن دستور زیر selinux از حالت enforcing به permissive تغییر می یابد.

sed -i 's/SELINUX=enforcing/SELINUX=permissive/g' /etc/selinux/config

همچنین با زدن دستور زیر برای هر کدام از سرورهای مجازی نام مشخص می کنیم.

hostnamectl set-hostname dc1.vahiddb.com

hostnamectl set-hostname dc2.vahiddb.com

و در فایل /etc/hosts این داده ها را اضافه می کنیم

127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
::1         localhost localhost.localdomain localhost6 localhost6.localdomain6
192.168.56.21   dc1     dc1.vahiddb.com
192.168.56.22   dc2     dc2.vahiddb.com

حالا هر دو ماشین را ریستارت می کنیم.