منبع اصلی نوشتار زیر در این لینک قرار دارد

Oracle ASM Instance چیست

مفهوم Instance در اوراکل ترکیبی از Memory + Background Processes است که به دو نوع Database Instance و ASM Instance تقسیم می شود و این دو نوع توسط پارامتر INSTANCE_TYPE مربوط به Parameter File از یکدیگر مجزا می شوند. مقدار INSTANCE_TYPE برای پایگاه داده برابر RDBMS و برای ASM برابر ASM است. در مطلب “تفاوت Instance و Database در اوراکل” Instance پایگاه توضیح داده شده است.در این مطلب ASM Instance توضیح داده خواهد شد، همچنین در مطلب “Oracle ASM چیست” توضیح ابتدایی از ASM گفته شد. نام پیشفرض و پیشنهادی ASM Instance از سوی اوراکل ASM+ است که اجباری در استفاده کردن این نام نیست. ASM Instance همانند Database Instance از حافظه SGA بعلاوه تعدادی فرایند پس زمینه تشکیل شده است. همچنین دارای یک SPFILE است که پارامترهای Instance درون آن تعریف می شوند که تعداد پارامترها نسبت به SPFILE مربوط به Database Instance بسیار کمتر است.

مطابق با شکل زیر ASM Instance وظیفه برقراری و در اختیار گذاشتن گروه های دیسک (Disk Groups) را برای یک یا چند پایگاه داده اوراکل دارد تا پایگاه داده ها بتوانند به فایل های خود از قبیل Datafile ها و غیره دسترسی داشته باشند. یک یا چند پایگاه داده می توانند فایل های خود را درون دیسک های مربوط به گروه های دیسک ASM ذخیره و بخوانند.

asm_instance

کاربر SYS و نقش SYSASM

همانند Database Instance در ASM Instance کاربر SYS که دارای نقش SYSASM است وجود دارد در صورتی که SYS در Database Instance دارای نقش SYSDBA است. در صورتی که بخواهید به ASM Instance متصل شوید باید از پیش دو متغیر را در خط فرمان سیستم عامل تعریف کنید. ORACLE_HOME که این بار به دایرکتوری خانگی ASM که در کنار دایرکتوری خانگی پایگاه داده قرار دارد و همچنین ORACLE_SID که این بار به نام ASM Instance یعنی ASM+ اشاره می کند. می توایند مطلب “تنظیمات محیطی اوراکل” را برای آشنایی با متغیر های گفته شده بخوانید. برای مثال در صورتی که مسیر دایرکتوری خانگی در سیستم عامل ویندوز c:appamirnamiproduct11.2.0grid باشد باید دو متغیر زیر را تعریف کنیم.

set oracle_home=c:appamirnamiproduct11.2.0grid

set oracle_sid=+ASM

و برای ورود به ASM Instance از دستور زیر استفاده خواهیم کرد.

sqlplus / as sysasm

حساب کاربری SYS در ASM Instance همانند معادل آن در Database Instance درون یک Password File ذخیره شده است و همچنین ASM Instance هیچگونه Data Dictionary ندارد زیرا اصلا پایگاه داده ای برای انجام امور عادی هر پایگاه داده ای ندارد، بلکه دیگر پایگاه داده ها اطلاعات و فایل های خود را درون دیسک های مربوط به گروه های دیسک ذخیره می کنند.

پارامترهای ASM Instance

پارامترهای ASM Instance نسبت به پایگاه داده کمتر است و در ادامه آنها گفته خواهند شد. برای مشاهده تمامی پارامترهای مختص به ASM از طریق بالا به ASM Instance متصل شده و سپس دستور زیر را اجرا کنید.

;SHOW PARAMETER

asm_instance2

  • ASM_DISKGROUPS : فهرستی از نام گروه های دیسک را که در زمان startup شدن ASM Instance به طور خودکار باید mount شوند. نام گروه های دیسک جلوی این پارامتر در زمان startup شدن ASM Instance به طور خودکار mount خواهند شد ولی در صورت استفاده از دستور ALTER DISKGROUP ALL MOUNT یا استفاده از گزینه NOMOUNT در زمان startup شدن ASM Instance از نام های جلوی این پارامتر صرف نظر خواهد شد. مقدار پیشفرض پارامتر رشته NULL است و این یعنی در زمان startup شدن هیچ گروه دیسکی mount نخواهد شد. دستور زیر مقدار پارامتر را نشان خواهد داد که به BACKUP که نام یک گروه دیسک است.

;SHOW PARAMETER asm_diskgroups

OUTPUT

NAME                                 TYPE        VALUE
———————————— ———– ——-
asm_diskgroups                       string      BACKUP

همچنین با دستور زیر در صورتی که گروه های دیسک دیگری داشته اید و یا تازه ایجاد کرده باشید، می توایند آنرا به پارامتر معرفی کنید.

‘ALTER SYSTEM SET ASM_DISKGROUPS = ‘CONTROLFILE, DATAFILE, LOGFILE, STANDBY

و با دستور زیر گروه دیسک STANDBY را از آن حذف کنید.

‘ALTER SYSTEM SET ASM_DISKGROUPS = ‘CONTROLFILE, DATAFILE, LOGFILE

  • INSTANCE_TYPE : همانطور که گفته شد مقدار پارامتر برای Database Instance برابر با RDBMS و برای ASM Instance برابر با ASM است و این پارامتر بر اساس مقدارش نوع Instance را تعیین می کند.
  • DB_UNIQUE_NAME : یک نام منحصر سراری برای Database Instance و ASM Instance است که برای پایگاه داده بربر نام پایگاه داده (DB_NAME) و برای ASM برابر ASM+ است. البته برای ASM می توان نام دیگری را انتخاب کرد اما پیشفرض و پیشنهاد اوراکل استفاده از ASM است. در محیط RAC  که محیطی چند Instance ای است، این نام به صورت ASMx+ خواهد بود.
  • ASM_POWER_LIMIT : این پارامتر  (حداکثر) توان یا power مربوط به ASM Instance برای disk rebalancing را تعیین می کند. مقدار پیشفرض 1 و حداکثر مقدار 11 است و عدد بالاتر عملیات disk rebalancing را سریعتر انجام می دهد ولی نیاز به I/O و صرف پردازنده بیشتر دارد و عدد پایینتر عملیات disk rebalancing را در زمان کندتری انجام می دهد. در صورتی که دیسکی به گروه دیسک افزوده شود، عملیات disk rebalancing توسط فرایند هایی که تعداد آنها از 1 تا 11 است انجام خواهد گرفت. در صورتی که مقدار را 0 قرار دهیم، عملیات disk rebalancing دیگر انجام نخواهد شد.
  • ASM_DISKSTRING : مشخص ککنده یک نام مستقل از سیستم عامل برای محدود کردن مجموعه دیسک هایی که توسط ASM کشف و پیدا خواهند شد. هرگاه که دیسک جدیدی به یک گروه دیسک اضافه شود، هر ASM Instance ای که گروه دیسک mount شده داشته باشد، می تواند قادر به کشف و پیدا کردن دیسک ها با استفاده از مقدار پارامتر ASM_DISKSTRING خواهد بود. البته فرمت رشته که به عنوان مقدار به این پارامتر اختصاص داده می شود بسته به انواع سیستم عامل متفاوت خواهد بود که با مراجعه به مستندات نصب مختص هر سیستم عامل می توان الگوی آن سیستم عامل را پیدا کرد.

موارد بالا چند مورد از پارامترهای مختص به ASM Instance بودند. برای اطلاع بیشتر می توانید اینجا را بخوانید.



برچسب ها : , ,