فایل SPFILEORCL.ORA مخزن خود را از مسیر زیر باز کنید:
$Oracle_home/DataBase/product/11.2.0/dbhome_1/database/SPFILEORCL.ORA
با مقداردهی دوباره متغیرهای این فایل میتوان فضای SGA و PGA را تغییر داد. از اونجایی که این فایل یک فایل باینری است تغییر آن ابزار مناسب آن را میخواد که آن را در اختیار نداریم.
نکته: از اونجایی که اسم دیتابیس ما ORCL است این فایل به اسم SPFILEORCL نشان داده شده است.
برای تغییر این فایل از اوراکل خواهش میکنیم بیخیال SPFILE بشه و از روی SPFILE برای ما یک PFILE ایجاد کند:
CREATE PFILE FROM SPFILE;
زمانی که این دستور را اجرا میکنیم یک فایل جدید در همان مسیر SPFILE برای ما ساخته میشود به نام INITorcl.ORA با بازکردن این فیال با یک ادیتور متن خواهید دید که این فایل دیگر یک فایل باینری نیست. برای تغییر فضای SGA و PGA دنبال ۲ متغیر sga_target, pga_aggregate_target بگردید و آنها را مجدد مقداردهی کنید.
- sga_target
- pga_aggregate_target
در داخل فضای SGA سه فضای مهم قرار دارد:
- db_cache_size = میزان کشی که اوراکل در SGA میخواد مصرف کنه (query که زده میشه در SGA قسمت داده کش میشه)
- java_pool_size = میزان pool ای که واسه جاوا (SQLJ) در نظر میگیره (تقریباً میتوان معادل heap size در جاوا در نظر گرفت (آبجکتهای جاوایی چقدر از رم رو اشغال کنند))
- shared_pool_size = توایع SQL و PL-SQL در این فضا ذخیره و اجرا میشوند.
نکته: برای فضای java_pool_size حداقل 32M را در نظر بگیرید چون خیلی از توابع خود اوراکل با SQLJ نوشته شدهاند و به فضای heap نیاز دارند. همچنین نمیتوان مقدار این فضا را 0 در نظر گرفت.
- larg_pool_size = زمانی که دادهای که میخوایم کش کنیم خیلی حجیم باشه
- shared_io_pool = یک فضای جدید برای خواندن فایلهای سنگین در db_cache_size
-
streams_pool_size = قسمتی از رم برای بافر کردن استریمهای replication
بعد از تغییر بر روی فایل PFILE برای ساختن فایل SPFILE در اوراکل و استفاده از آن توسط سیستم مراحل زیر را انجام دهید:
SHUTDOWN IMMEDIATE;
STARTUP OPEN;
startup pfile='$Oracle_home/Database/product/11.2.0/dbhome_1/database/INITorcl.ORA';
بعد از start با pfile تغییرات در spfile نوشته میشوند و بعد از خاموش و روشن کردن نیز به صورت پیشفرض از spfile تغییر داده شده فایل خوانده میشود.