تغییرات 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.

به طور نمونه، با استفاده از جدول CHMOS_SYSTEM_SAMPLE_INT_TBL می توان اطلاعاتی را در مورد DISK IO بدست آورد:

select to_char(begintime, 'YYYY/MM/DD HH24:mi:ss', 'NLS_CALENDAR=persian') begintime,
       round(DISK_BYTESREADPERSEC / 1024 / 1024) as MB_READ_SEC,
       round(DISK_BYTESWRITTENPERSEC / 1024 / 1024) as MB_WRITE_SEC,
       round(DISK_NUMIOSPERSEC) as IO_PER_SEC
  from CHM.CHMOS_SYSTEM_SAMPLE_INT_TBL
order by IO_PER_SEC ;
BEGINTIME           MB_READ_SEC MB_WRITE_SEC IO_PER_SEC
------------------- ----------- ------------ ----------
1400/11/03 09:53:20          14          147        856
1400/11/01 06:58:45         815            0        858
1400/11/01 06:39:55         314            2        858
1400/11/04 09:33:00          23            3        858

تا قبل از اوراکل 12c، این وقایع در فایلهایی با پسوند bdb. ذخیره می شدند:

[grid@HostName ~]$ cd $ORACLE_HOME/crf/db/HostName
[grid@HostName HostName]$ ll *.bdb
-rw-r----- 1 root root   8192 Mar  2 10:29 crfalert.bdb
-rw-r----- 1 root root 131072 Mar  2 10:29 crfclust.bdb
-rw-r----- 1 root root   8192 Mar  2 10:29 crfconn.bdb
-rw-r----- 1 root root   8192 Mar  2 10:29 crfcpu.bdb
-rw-r----- 1 root root   8192 Mar  2 10:29 crfhosts.bdb
-rw-r----- 1 root root   8192 Mar  2 10:29 crfloclts.bdb
-rw-r----- 1 root root   8192 Mar  2 10:29 crfts.bdb

در نسخه 12.1.0.1 این امکان به وجود آمد تا در زمان نصب کلاستر، GIMR Database را انتخاب کرد(انتخاب این گزینه اختیاری بود.) اما در نسخه 12.1.0.2، استفاده از این قابلیت، اجباری شد و در زمان نصب GI باید دیسک گروهی که قرار است فایلهای دیتابیس GIMR در ان ایجاد شوند را مشخص نمود و این اجبار در اوراکل نسخه 18cR3 هم باقی ماند.

توجه: در همه نسخه های ذکر شده، بعد از نصب کلاستر می توان GIMR را حذف نمود و یا نصب مجدد کرد.

18cR5 نسخه ای بود که اوراکل مجددا تصمیم گرفت همانند نسخه 12.1.0.1، نصب یا عدم نصب این قابلیت را به عهده DBA بگذارد البته این امکان با نصب GI 18cR5 به صورت Gold Image فراهم خواهد شد:

در ورژن 19c هم تغییر خاصی در این زمینه ایجاد نشد و امکان صرف نظر کردن از این قابلیت وجود دارد.

در نسخه 21c هم الزامی برای ایجاد GIMR Database وجود ندارد و حتی روال پیش فرض مانع از نصب دیتابیس GIMR خواهد شد چرا که گزینه پیش فرض در این زمینه، Do not use a GIMR database است.

اما اگر اصرار به استفاده از دیتابیس GIMR در این نسخه از اوراکل را دارید، باید برای ایجاد این دیتابیس از نرم افزار اوراکل(RAC Database Home) استفاده کنید و امکان ایجاد GIMR database از طریق Grid Infrastructure Home در نسخه 21c وجود ندارد. روال ایجاد دیتابیس GIMR را در ادامه مشاهده می کنید.

برای ایجاد GIMR database باید در مرحله GIMR Option گزینه Use a Local GIMR database انتخاب شود:

در قدم بعدی می توان دیسک گروه مجزایی را برای دیتابیس GIMR در نظر گرفت البته اجباری در این زمینه وجود ندارد ولی توصیه اوراکل در مجزا کردن دیسک گروه دیتابیس GIMR است:

همانطور که قبلا هم توضیح داده شد، برخلاف نسخه های ماقبل 21c، با پایان یافتن نصب GI، دیتابیس GIMR ایجاد نمی شود و مطابق با توضیحات در کادر، برای ایجاد دیتابیس اوراکل باید به سراغ RAC Database Home رفت.

بنابرین در صورت استفاده از Grid Infrastructure Home برای ایجاد GIMR database، با خطای زیر مواجه خواهیم شد:

[grid@RAC2 ~]$ /grid21c/home/bin/mgmtca createGIMRContainer -storageDiskLocation +MGMT
MGTCA-1236 : Command failed, this is not a configured Database Home.

پس به ناچار باید Oracle Database Home را نصب کنیم که در ادامه نکاتی را در این زمینه می بینید.

 

نصب Oracle Database Home توسط کاربر grid

در اتفاقی نادر، باید Oracle Database Home را توسط کاربر grid نصب کنیم(برای ایجاد دیتابیسGIMR)! برای این کار، دایرکتوری زیر را در تمامی نودها ایجاد می کنیم:

[root@RAC2 ~]# mkdir /grid21c/GIMR
[root@RAC2 ~]# chown -R grid.oinstall /grid21c/GIMR/

بعد از ایجاد دایرکتوری، فایل zip مربوط به اوراکل 21c را صرفا در یکی از نودها unzip می کنیم:

[grid@RAC2 ~]$ unzip /source/LINUX.X64_213000_db_home.zip -d /grid21c/GIMR

و در نهایت برای نصب نرم افزار اوراکل، runInstaller  را اجرا می کنیم:

[grid@RAC2 ~]$ cd /grid21c/GIMR/
[grid@RAC2 GIMR]$ ./runInstaller

بعد از نصب نرم افزار اوراکل از طریق یوزر grid باید دستور زیر را از طریق Oracle Database Home اجرا کنیم:

[grid@RAC2 ~]$ /grid21c/GIMR/bin/mgmtca createGIMRContainer -storageDiskLocation +MGMT

از مسیر زیر می توان لاگ مربوط به این دستور را مشاهده کرد:

[root@RAC2 ~]# tail -f -n 1000 /grid21c/base/cfgtoollogs/dbca/_mgmtdb/_mgmtdb0.log
[ 2022-01-26 10:48:39.602 IRST ] Prepare for db operation
DBCA_PROGRESS : 10%
[ 2022-01-26 10:48:48.036 IRST ] Registering database with Oracle Grid Infrastructure
DBCA_PROGRESS : 14%
[ 2022-01-26 10:48:49.123 IRST ] Copying database files
DBCA_PROGRESS : 43%
[ 2022-01-26 10:49:56.794 IRST ] Creating and starting Oracle instance
DBCA_PROGRESS : 62%
[ 2022-01-26 10:55:36.452 IRST ] Completing Database Creation
DBCA_PROGRESS : 71%
[ 2022-01-26 10:58:40.486 IRST ] Executing Post Configuration Actions
DBCA_PROGRESS : 100%
[ 2022-01-26 10:58:40.489 IRST ] Database creation complete. For details check the logfiles at:
 /grid21c/base/cfgtoollogs/dbca/_mgmtdb.
Database Information:
Global Database Name:_mgmtdb
System Identifier(SID):-MGMTDB

با اجرای دستور فوق، دیتابیس GIMR ایجاد خواهد شد:

[grid@RAC2 ~]$ srvctl config mgmtdb
Database unique name: _mgmtdb
Database name:
Oracle home: /grid21c/GIMR
Oracle user: grid
Spfile: +MGMT/_MGMTDB/PARAMETERFILE/spfile.284.1094986549
Password file: +MGMT/_MGMTDB/PASSWORD/pwd_mgmtdb.271.1094986131
Start options: open
Stop options: immediate
Database role: PRIMARY
Management policy: AUTOMATIC
Type: Management
PDB name: GIMR_DSCREP_10
PDB service: GIMR_DSCREP_10
Cluster name: RAC-cluster
Database instance: -MGMTDB

توجه!! از طریق ORACLE HOME مربوط به GIMR Database نمی توان  دیتابیس دیگری را ایجاد کرد.

[grid@RAC2 ~]$ /grid21c/GIMR/bin/dbca
[DBT-10010] Database cannot be created in the current oracle home (/grid21c/GIMR).

پ.ن: دیتابیس GIMR، یک single instance database استو صرفا بر روی یکی از نودهای کلاستر اجرا خواهد شد و اگر نودی که MGMTDB در آن در حال اجرا است، down شود، به صورت خودکار MGMTDB هم به نود دیگر حاضر در کلاستر failover خواهد شد.

[grid@RAC1 ~]$ srvctl status mgmtdb
Database is enabled
Instance -MGMTDB is running on node rac2

ارائه خدمات مشاوره ، پشتیبانی و نصب و راه اندازی پایگاه داده اوراکل در سراسر کشور...................... تلفن: 09128110897 ایمیل:vahidusefzadeh@gmail.com

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد.