مزایای استفاده از Service در اوراکل

تعریف Service در اوراکل

در اوراکل، Service ها ابزاری هستند که به شما این امکان را می‌دهند تا بار کاری (Workload) مختلف را به صورت منطقی از یکدیگر جدا کنید. این مفهوم به شما اجازه می‌دهد تا پایگاه داده خود را بر اساس نیازهای مختلف مدیریت و پیکربندی کنید. این ویژگی به ویژه در محیط‌های چندلایه‌ای (Multi-Tenant) و در جایی که از Oracle RAC استفاده می‌شود، بسیار مهم است.

Service ها را می‌توان به سادگی با استفاده از دستورات srvctl ایجاد، مدیریت و پیکربندی کرد.

مزایای استفاده از Service در اوراکل

  1. مدیریت بار کاری (Workload Management): با استفاده از Service، می‌توانید بارهای کاری مختلف را بین Instanceهای مختلف توزیع کنید. برای مثال، بار کاری سنگین گزارش‌گیری را از بار کاری تراکنشی جدا کنید و هر کدام را به یک Service خاص اختصاص دهید.

  2. تعیین سیاست‌های در دسترس بودن: شما می‌توانید با استفاده از Service ها، سیاست‌های خاصی برای در دسترس بودن تعیین کنید. مثلاً می‌توانید تعیین کنید که یک Service خاص تنها روی Instanceهای خاصی اجرا شود.

  3. مدیریت منابع (Resource Management): Service ها می‌توانند به شما کمک کنند تا منابع سیستم را بهتر مدیریت کنید. با استفاده از Resource Manager اوراکل، می‌توانید منابع CPU و I/O را بین Serviceها تقسیم کنید.

  4. پشتیبانی از Failover: در محیط‌های RAC، اگر یکی از Instanceها از دسترس خارج شود، سرویس به طور خودکار به Instance دیگری منتقل می‌شود.

  5. محدود کردن دسترسی به PDB: در Oracle Multitenant، می‌توانید با استفاده از Service، دسترسی به Pluggable Database (PDB)های خاص را محدود کنید.

  6. مدیریت منابع برای کاربران: سرویس‌ها این امکان را می‌دهند که منابع سخت‌افزاری به صورت بهینه‌تری مدیریت شوند و هر سرویس برای کاربران و برنامه‌ها به طور مناسب تخصیص داده شود.

  7. بهبود عملکرد: با جداسازی ترافیک برنامه‌های مختلف از طریق سرویس‌ها، می‌توان عملکرد سیستم را بهبود داد و همچنین مانع از اثرگذاری ترافیک یک برنامه بر دیگری شد.

  8. بهبود مانیتورینگ و عیب‌یابی: از طریق Serviceها می‌توان به صورت دقیق‌تری عملکرد و بارکاری دیتابیس را مانیتور کرد و در صورت بروز مشکلات، به سرعت آنها را تشخیص داد.

مثال‌هایی برای تعریف Service در Oracle 12c به بعد

ایجاد Service

srvctl add service -db orcl -service myservice -pdb mypdb -role PRIMARY -policy AUTOMATIC -failoverretry 10 -failoverdelay 5

توضیحات پارامترها:

  • -db orcl: نام پایگاه داده اصلی (Container Database).
  • -service myservice: نام سرویسی که ایجاد می‌کنید.
  • -pdb mypdb: نام PDB که سرویس به آن متصل خواهد شد.
  • -role PRIMARY: این سرویس تنها در زمانی که پایگاه داده در نقش PRIMARY قرار دارد، فعال خواهد بود.
  • -policy AUTOMATIC: سیاستی که مشخص می‌کند سرویس به طور خودکار در زمان شروع پایگاه داده فعال شود.
  • -failoverretry 10: تعداد تلاش‌ها برای Failover (تلاش مجدد در صورت از دست رفتن سرویس).
  • -failoverdelay 5: تأخیر بین تلاش‌های Failover (به ثانیه).
فعال کردن Service

پس از ایجاد Service، باید آن را فعال کنید:

srvctl start service -db orcl -service myservice

غیر فعال کردن Service

srvctl stop service -db orcl -service myservice

تغییر Service

در صورت نیاز به تغییر پارامترهای سرویس ایجاد شده:

srvctl modify service -db orcl -service myservice -failoverretry 15 -failoverdelay 10

توضیحات پارامترها:

  • -failoverretry 15: افزایش تعداد تلاش‌های Failover به 15.
  • -failoverdelay 10: تغییر تأخیر بین تلاش‌های Failover به 10 ثانیه.

پیکربندی پیشرفته Service

تعیین سیاست‌های Resource Manager

با استفاده از Resource Manager اوراکل، می‌توانید برای هر Service، یک Resource Plan تعیین کنید:

srvctl modify service -db orcl -service myservice -serverpool mypool -cardinality 2 -clbgoal SHORT

توضیحات پارامترها:

  • -serverpool mypool: تعیین می‌کند که این سرویس تنها در این Pool از سرورها اجرا شود.
  • -cardinality 2: تعداد Instanceهایی که سرویس می‌تواند روی آن‌ها اجرا شود.
  • -clbgoal SHORT: تنظیم سیاست تعادل بار به منظور کاهش زمان پاسخ.
مدیریت Service در محیط Multitenant

در محیط‌های Multitenant، Service ها به شما کمک می‌کنند تا دسترسی به PDB ها را مدیریت کنید. به عنوان مثال، می‌توانید یک Service خاص را تنها به یک PDB خاص متصل کنید و آن را تنها در مواقع ضروری فعال کنید.

 

استفاده از Service در اوراکل به شما این امکان را می‌دهد که پایگاه داده خود را با انعطاف‌پذیری بیشتری مدیریت کنید. با استفاده از دستورات srvctl، می‌توانید سرویس‌های مختلفی را ایجاد و مدیریت کنید و به این ترتیب، عملکرد و دسترسی به پایگاه داده خود را بهینه کنید.

منابع:

https://docs.oracle.com/en/database/oracle/oracle-database/19/racad/workload-management-with-dynamic-database-services.html#GUID-523373FE-A5E0-4891-A1C6-76B7C35C4F6D