Full Database Caching Mode در پایگاه داده اوراکل ۱۲cR1

Full Database Caching Mode در پایگاه داده اوراکل ۱۲cR1

در شرایط نرمال اجرای پایگاه داده اوراکل تصمیم گرفته می شود که کدام یک از داده ها در بافر کش نگهداری شوند. طبیعی می باشد که در حالتی که فضای کافی وجود نداشته باشد داداه هایی که کارایی کمتری دارند خارج از بافر کش قرار گیرند و یا به خارج از آن منتقل گردند. در حالت کلی پایگاه داده اوراکل داده های ارزشمند که همواره در حال خوانده شدن می باشند را سعی می کند در بافر نگهداری کند که با این کار خود، کارایی پایگاه داده بهبود می یابد.
در اوراکل ۱۲cR1 یک مفهوم جدید معرفی شده به نام کش کردن کل پایگاه داده. در این حالت اگر پایگاه داده اوراکل تشخیص دهد که فضا به انداره کای وجود دارد، کل بلاک های پایگاه داده را کش نگهداری می کند. باید اضافه کرد که این حالت می تواند اجباری نیز گردد.

فعال سازی حالت کش کردن اجباری کل پایگاه داده:
به جای اینکه به پایگاه داده اوراکل اجازه دهیم که در خصوص نگهداری کل پایگاه داده در کش تصمیم گیری کند، ما می توانیم با دستور ALTER آن را مجبور به این کار نماییم.
برای این کار پایگاه داده باید در حالت MOUNT باشد.

SQL> ALTER DATABASE FORCE FULL DATABASE CACHING;

ALTER DATABASE FORCE FULL DATABASE CACHING

*

ERROR at line 1:

ORA-01126: database must be mounted in this instance and not open in any

instance

SQL>

برای اجرای این دستور لازم است مراحل زیر را طی نمایید:

CONN / AS SYSDBA

SHUTDOWN IMMEDIATE;

STARTUP MOUNT;

ALTER DATABASE FORCE FULL DATABASE CACHING;

ALTER DATABASE OPEN;

بعد از انجام این دستورات، تغییرات انجام شده را view V$database می توانید مشاهد نماید

SELECT force_full_db_caching FROM v$database;

FOR

YES

غیر فعال کردن حالت کش کردن اجباری کل پایگاه داده:

برای غیر فعال کردن این امکان باید مراحل مشابه مراحل فعال سازی را طی نمایید.

CONN / AS SYSDBA

SHUTDOWN IMMEDIATE;

STARTUP MOUNT;

ALTER DATABASE NO FORCE FULL DATABASE CACHING;

ALTER DATABASE OPEN;

بعد از انجام این دستورات، تغییرات انجام شده را view V$database می توانید مشاهد نماید

SELECT force_full_db_caching FROM v$database;

FOR

NO

نکات مهم :
• مقدار پارامتر COMPATIBLE باید به ۱۲،۰،۰ و یا بالاتر تنظیم شده باشد.
• اگر شما از AMM و یا ASMM استفاده می کنید ممکنست تنظیمات مربوط به full database cache به علت کمبود فضا تغییر کند که با تنظیم مناسب پارامتر DB_CACH_SIZE می توان آن را مدیریت کرد
• هیچگونه بارگذاری پیشگیرانه ای از اشیا وجود ندارد، اگرچه اشیایی که کش شده اند در دسترس می باشند.
• LOBs هایی که از نوع NOCACH تعریف شده اند می تواند در حالت FORCE FULL DATABASE CACH کش گردند اما در حالت عادی این امکان وجود ندارد.
• در نسخه ۱۲C در هنگامی که از امکان multitenant استفاده می شود، اگر force full database cache فعال گردد، همه تغییرات بر روی CDB و PDB ها اعمال می گردند.

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