اجرای کلاستر اوراکل در داکر(Oracle RAC 21c)

برای نصب Oracle RAC به منظور استفاده در محیط آموزشی و یا اجرای بعضی از تستها، معمولا از Oracle Virtual Box و یا VMware workstation استفاده می کنیم.

برای این کار باید به تعداد نودهای کلاستر، ماشین مجازی ایجاد کرده و بر روی هر کدام از این ماشینها، سیستم عاملی را نصب کنیم و در نهایت اقداماتی را در هر کدام از این سیستم عاملها انجام دهیم تا شرایط برای نصب کلاستر فراهم شود. پیکربندی کلاستر در محیط VM نسبتا زمانبر است و شاید کمی پیچیده هم باشد.

 البته در این زمینه، VM تنها گزینه ما نیست و استفاده از Docker می تواند به عنوان انتخابی دیگر، ایرادات ذکر شده را از بین ببرد.

اوراکل از نسخه 12c امکان اجرای Oracle RAC در داکر را برای محیط تست و develop فراهم کرده و در نسخه 21c، از اجرای Oracle RAC در محیط docker آن هم به صورت عملیاتی پشتیبانی می کند.

اجرای Oracle RAC در داکر، می تواند با استفاده از یک یا چند هاست انجام شود که در این متن صرفا از یک هاست استفاده خواهیم کرد و راه اندازی آن در چند هاست را به زمانی دیگر موکول می کنیم.

سیستم عاملی که از آن استفاده کرده ایم، Oracle Linux نسخه 7 می باشد و قرار است Oracle RAC نسخه 21c را در این محیط اجرا کنیم. این کار با کمک سه container انجام خواهد شد که یکی از آنها برای DNS server و دو container دیگر هم هر کدام نودهای کلاستر را تشکیل خواهند داد.

در ابتدا مراحل پیکربندی را مرور می کنیم:

1.نصب و اجرای داکر

2.آماده سازی داکر هاست

3.تنظیم Docker Network

4.نصب git و کلون Oracle Repository

5.ایجاد container برای DNS

6.ایجاد container برای راه اندازی نود اول کلاستر

7.اضافه کردن نود دوم کلاستر

(بیشتر…)

اوراکل 21c – بهبودهای ابزار AutoUpgrade در زمینه RAC

در نسخه 21c، اوراکل قابلیتهای جدیدی را در زمینه ابزار Autoupgrade ارائه کرده است که قبلا در مورد بعضی از آنها مطالبی را نوشته ایم. یکی دیگر از بهبودهای(البته جزئی) ابزار AutoUpgrade در نسخه 21c، خودکارسازی بعضی از مراحل ارتقا دیتابیس RAC است.

در نسخه های قبل از اوراکل 21c، برای ارتقا دیتابیس RAC، می بایست مراحل زیر به صورت دستی انجام شود:

1.تنظیم پارامتر CLUSTER_DATABASE به مقدار FALSE

2.متوقف کردن instanceهای حاضر در کلاستر

3.استارت یکی از instanceها برای شروع عملیات ارتقا

4. تنظیم مجدد پارامتر CLUSTER_DATABASE به مقدار TRUE بعد از اتمام ارتقا

5.استارت همه instanceها

5.رجیستر کردن نسخه جدید در کلاستر

این عملیات در نسخه 21c به صورت خودکار توسط ابزار AutoUpgrade مدیریت می شود(البته این قابلیت بعدا در اوراکل نسخه 19.8 به بالا هم اضافه شد).

(بیشتر…)

تغییرات GIMR Database در اوراکل کلاستر 21c

GIMR یا همان Grid Infrastructure Management Repository در اوراکل 12c ارائه شد و هدف اوراکل از ارائه GIMR، ثبت وقایع و رخدادهای مربوط به کلاستر می باشد به طور دقیق تر، GIMR قرار است Cluster Health Monitor را در دیتابیسش ثبت کند. این دیتابیس حدودا 20 جدول دارد که لیست جداول آن را می توان به روش زیر مشاهده کرد:

[grid@RAC1 ~]$ export ORACLE_SID=-MGMTDB
[grid@RAC1 ~]$ sqlplus "/as sysdba"
SQL> alter session set container=GIMR_DSCREP_10;
Session altered.
SQL>  select table_name from dba_tables where owner='CHM' order by table_name;
TABLE_NAME
--------------------------------------------------------------------------------
CATCHMUTILPLS_PARTITION_TMP_TBL
CHMOS_ACTIVE_CONFIG_INT_TBL
CHMOS_ADVM_INT_TBL
…
16 rows selected.

(بیشتر…)

سوییچ بین دو GI Home با استفاده از پارامتر switchGridHome(ارتقا 21.3 به 21.4)

در نسخه 21c و در زمان اجرای gridSetup.sh می توان با استفاده از پارامتر switchGridHome، بین Grid Infrastructure Home در حال اجرا و Grid Infrastructure Homeای که بر روی آن patch اعمال شده، جابجا شد. برای مثال، با کمک این قابلیت جدید می توان از Grid Infrastructure(GI) نسخه 21.3 به GI نسخه 21.4 سوییچ کرد که در ادامه نحوه انجام ان را توضیح داده ایم.

*قبل از شروع سناریو، به خاطر داشته باشید که Grid Infrastructure نسخه 21.3 از قبل نصب شده و در حال سرویس دهی است.

**در قدم اول، در کنار نسخه در حال اجرا، مسیری را برای نصب Grid Infrastructure جدید ایجاد می کنیم و patch مربوط به 21.4 RU را در دایرکتوری ای که کاربر grid به آن دسترسی دارد، unzip می کنیم:

 [root@Olinux8 ~]# mkdir -p /grid21cR4/home

 [root@Olinux8 ~]# chown -R grid.oinstall /grid21cR4

[grid@Olinux8 ~]$ cd /grid21cR4/home

[grid@Olinux8 home]$ unzip /source/21cR3/LINUX.X64_213000_grid_home.zip

[grid@Olinux8 home]$ unzip /source/p6880880_210000_27_Linux-x86-64.zip

[grid@Olinux8 ~]$ unzip /source/21cR4/21cR4_p33250101_210000_Linux-x86-64.zip -d /home/grid

(بیشتر…)

اوراکل 21c – اضافه شدن resource برای pdb در Grid Infrastracture

اوراکل 21c در محیط Grid Infrastructure، نوع جدیدی از Resource را تحت عنوان ora.pdb.type اضافه کرده است که از طریق آن می توان pdbها را مدیریت کرد. این نوع از Resourceها، به فرمت زیر نام گذاری می شوند:

ora.<DB Unique Name>.<PDB Name>.pdb

همانند دیگر Resourceهای موجود در محیط کلاستر و GI، می توان Resourceهای مربوط به PDB را از طریق ابزار srvctl کنترل و مدیریت کرد. مثلا می توان از طریق این ابزار، PDB را stop و یا start کرد:

[grid@RAC3 ~]$ srvctl start pdb -db db21c -pdb pdb1

[grid@RAC3 ~]$ srvctl status pdb -db db21c -pdb pdb1

Pluggable database PDB1 is enabled.

Pluggable database PDB1 of database db21c is running on nodes: rac2,rac3

[grid@RAC3 ~]$ srvctl stop pdb -db db21c -pdb pdb1

[grid@RAC3 ~]$ srvctl status pdb -db db21c -pdb pdb1

Pluggable database PDB1 is enabled.

Pluggable database PDB1 of database db21c is not running.

 [oracle@RAC2 ~]$ srvctl stop pdb -db db21c -pdb pdb1 -n rac3 -stopoption IMMEDIATE

(بیشتر…)

Downgrade نسخه GRID از 19.11 به 18.5

اگر بعد از ارتقا نسخه Grid Infrastructure به 19c تصمیم گرفتید آن را دوباره به نسخه قبل برگردانید، پیشنهاد می کنیم متن پیش رو که در ان مراحل Downgrade نسخه Grid از 19.11 به 18.5 توضیح داده شده را مطالعه بفرمایید.

عملیات Downgrade در کلاستری با دو نود انجام شده که دستورات زیر اطلاعاتی را در مورد نسخه جاری Grid ارائه می کنند:

 [grid@RAC2 ~]$ crsctl query crs activeversion

Oracle Clusterware active version on the cluster is [19.0.0.0.0]

SQL> select BANNER_FULL  from v$version;

Oracle Database 19c Enterprise Edition Release 19.0.0.0.0 – Production

Version 19.11.0.0.0

عملیات Downgrade را در طی 7 مرحله انجام خواهیم داد.

(بیشتر…)

ارتقا Minor Version لینوکس در محیط کلاستر

قبل از ارتقا Grid Infrastructure به نسخه بالاتر، باید بررسی کرد که کرنل نسخه جاری سیستم عامل، Grid Infrastructure نسخه جدید را پشتیبانی می کند؟ و در صورت عدم پشتیبانی، نسخه سیستم عامل را در صورت امکان ارتقا داد.

در جدول زیر می بینید که ACFS و AFD اوراکل 19c، در کدام یک از نسخه های کرنلOracle Linux(X86_64) پشتیبانی می شوند:

در صورت عدم پشتیبانی grid نسخه جدید در سیستم عامل نسخه جاری، در زمان ارتقا، با چنین خطایی مواجه خواهیم شد:

Verifying ACFS Driver Checks …FAILED

PRVG-6096 : Oracle ACFS driver is not supported on the current operating system

(بیشتر…)

اوراکل 19c- ارتقا Grid Infrastructure در حالت Dry-Run

ارتقا نسخه Grid Infrastructure به نسخه بالاتر ممکن است به دلیل فراهم نبودن پیش نیازهای لازم، با خطا مواجه شود از این رو اوراکل در نسخه 19c قابلیت جدیدی را در این زمینه ارائه کرد که با کمک آن می توان قبل از ارتقای نسخه Grid Infrastructure، عملیات ارتقا را به صورت Dry-Run اجرا کرد تا قبل از انجام عملیات ارتقا، خطاهای احتمالی را شناسایی و برطرف شود.

در ادامه نحوه انجام این کار را مشاهده می کنید.

[grid@RAC1 ~]$ cd /grid19c/home/

[grid@RAC1 home]$ ./gridSetup.sh -dryRunForUpgrade

Launching Oracle Grid Infrastructure Setup Wizard…

(بیشتر…)

ارتقا نسخه Grid Infrastructure به 19.8 با اعمال Patch و بدون Downtime در سطح دیتابیس(در محیط کلاستر)

از اوراکل 19.6RU، می توان بدون Downtime در سطح دیتابیس، عملیات Patching را بر روی Grid Infrastructure انجام داد. از اینرو قصد داریم patch شماره 31305339 که مربوط به GI Release Update 19.8 می باشد را بر روی Grid Infrastructure نسخه 19.6 اعمال کنیم(در محیط کلاستر).

به صورت کلی می توان این عملیات را در دو مرحله زیر خلاصه کرد:

1.نصب گرید 19cR3 به صورت Software only و اعمال پچ 19.8RU بر روی  آن

2.سوییچ بین grid 19.6 و grid 19.8 با اجرای دستور gridSetup.sh به همراه پارامتر SwitchGridhome

در ادامه متن، نحوه انجام این عملیات را تشریح خواهیم کرد.

(بیشتر…)

مراحل Relink کردن Grid Infrastructure در محیط Cluster

انجام عملیات Relink برای نرم افزار oracle نیاز به پیش نیاز خاصی ندارد و صرفا توصیه می شود که قبل از انجام relink، دیتابیس و سرویس listener را استاپ کنیم اما relink کردن برای Grid Infrastructure کمی متفاوت است که در این متن مراحل آن را برای محیط Cluster مشاهده می کنید.

توجه: این متن برای اوراکل نسخه 12cR2 به بعد قابل استفاده می باشد.

 

(بیشتر…)