در این سلسلهمقالات قصد داریم قدمبهقدم یک محیط کامل 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 که می توانید از کانال تلگرام به آدرس
بیایید از قدم اول شروع کنیم: آمادهسازی ماشینهای مجازی.
دو ماشین با مشخصات زیر می سازیم.
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 احتیاجی ندارید که می توانید این مراحله را انجام ندهید و دیسکها تنها به خود ماشین اختصاص یابد:
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
حالا هر دو ماشین را ریستارت می کنیم.