קבצי הפרמטרים של אורקל מכילים את הקונפיגורציות לפיהם ה Database פועל, קבצי הפרמטרים יכילו פרמטרים כגון : גדלי זכרון שונים (כגון ה Buffer Cache, Shared Pool וכד') שם ה Database, מיקום קבצי ה Control ועוד.
בעלייה הראשונה של ה Database קובץ הפרמטרים נקרא וערכיו השונים נטענים לזכרון.
כאשר אנו רוצים לצפות או לערוך פרמטרים מסויימים, אנו עושים זאת באמצעות הגישה לאותם קבצים.
אורקל יודע לעבוד מול שני סוגי קבצי פרמטרים – Pfile ו Spfile
Server parameter file – SPFILE (מגרסה 9i)
ראשית נכיר את קובץ ה Spfile אשר נחשב הנפוץ ביותר כיום.
קובץ זה הינו בינארי, הניהול שלו (הקריאה ממנו והכתיבה אליו) נעשה באמצעות פקודות אשר אנו מריצים מול ה Database, קובץ זה אינו מיועד לעריכה ידנית.
צפייה בערכי הפרמטרים אשר נמצאים ב SPFILE
על-מנת לצפות בפרמטרים השונים וערכיהם ניתן :
• לתשאל את טבלת המערכת v$parameter , לדוגמא
SELECT name, value FROM v$parameter WHERE name LIKE '%mttr%';
• להשתמש בפקודת SHOW PARAMETER, לדוגמא
show parameter undo show parameter retention show parameter mttr
• להשתמש בממשק הגרפי – Oracle Enterprise Manager
שינוי ערכי הפרמטרים אשר נמצאים ב Spfile
כדי להבין כיצד ניתן לשנות את ערכי הפרמטרים השונים, ראשית נכיר שני סוגי פרמטרים – דינמיים וסטטיים.
פרמטרים דינמיים הם פרמטרים אשר ערכם ניתן לשינוי באופן מיידי, פרמטרים אלו לא דורשים Restart ל Database בכדי שערכם החדש יתפוס.
פרמטרים סטטיים הם בדיוק ההפך – אלו פרמטרים אשר לא ניתן לשנות את ערכם באופן מיידי, פרמטרים אלו דורשים Restart ל Database על מנת שערכם החדש יתפוס.
זיהוי פרמטר סטטי דינמי
כדי לזהות האם הפרמטר דינמי או סטטי נוכל להשתמש בשאילתה הבאה :
SELECT name, value, issys_modifiable FROM v$parameter WHERE name LIKE '%mttr%';
כאשר הערך בעמודת issys_modifiable יציין האם הפרמטר סטטי (False) או דינמי (Immediate).
שינוי פרמטר דינמי
שינוי ערכו של פרמטר דינמי הוא די פשוט, כל שעלינו לכתוב על מנת לשנות אותו הוא :
ALTER SYSTEM SET parameter_name = value ;
לדוגמא :
ALTER SYSTEM SET fast_start_mttr_target=300;
שינוי פרמטר סטטי
על מנת לשנות פרמטר סטטי נכתוב את הפקודה
ALTER SYSTEM SET parameter_name = value scope = spfile ;
לדוגמא :
ALTER SYSTEM SET SEC_MAX_FAILED_LOGIN_ATTEMPTS = 10 SCOPE = SPFILE;
פקודת ה SCOPE מציינת לאורקל כי מכיוון שפרמטר זה לא ניתן לשינוי במהלך הריצה הנוכחית בזכרון, אנו רוצים שהוא ישמור את ערכו החדש ב Spfile בלבד, ובפעם הבאה שנעשה Restart, ה Spfile יקרא שוב ואז הערך החדש יתפוס.
נקודות נוספות לגבי פקודת ה SCOPE
· ניתן לכתוב SCOPE = MEMORY ואז הכתיבה תעשה רק לזכרון (בעליה הבאה הערך יחזור למה שמופיע ב SPFILE)
· ניתן לכתוב SCOPE = BOTH ואז הכתיבה תעשה גם לזכרון וגם ל Spfile (זהו למעשה הדיפולט, ואפשרי רק במידה והפרמטר דינמי)
טבלת המערכת – v$spparameter
נחדד ונאמר כי כאשר אנו מריצים את פקודת ה SHOW PARAMETER או מתשאלים את טבלת v$parameter, אנו מקבלים את ערכי הפרמטרים כפי שהם רגע מופיעים בזכרון, לא כפי שהם מופיעים ב Spfile. אם נשנה את ערך הפרמטר ב Spfile בלבד (SCOPE = SPFILE) לא נוכל לראות את ערכו החדש באמצעותם.
במצבים כאלה ניתן לתשאל את טבלת המערכת v$spparameter כדי לראות את ערכו של הפרמטר כפי שהוא מופיע ב Spfile
RAM > SET LINES 9999 RAM > COL name FOR a30 RAM > COL value FOR a50 RAM > SELECT name, value FROM v$spparameter 2 WHERE name LIKE '%mttr%'; NAME VALUE ------------------------------ ------------------ fast_start_mttr_target 200 RAM > SELECT name, value FROM v$parameter 2 WHERE name LIKE '%mttr%'; NAME VALUE ------------------------------ ------------------ fast_start_mttr_target 200 RAM > alter system set fast_start_mttr_target = 100 scope = spfile ; System altered. RAM > RAM > SELECT name, value FROM v$spparameter 2 WHERE name LIKE '%mttr%'; NAME VALUE ------------------------------ ------------------ fast_start_mttr_target 100 RAM > RAM > SELECT name, value FROM v$parameter 2 WHERE name LIKE '%mttr%'; NAME VALUE ------------------------------ ------------------ fast_start_mttr_target 200
parameter file – PFILE
כאמור סוג קובץ הקונפיגורציות השני נקרא Pfile וכיום נחשב נפוץ פחות.
זהו קובץ טקסט, אשר ניתן לקריאה ולעריכה באמצעות Text Editors שונים בלבד, קובץ זה לא ניתן לעריכה באמצעות פקודות ה ALTER SYSTEM.
צפייה בערכי הפרמטרים אשר נמצאים ב PFILE
כמו ב Spfile – ניתן להשתמש בפקודת ה SHOW PARAMETER וכן ניתן לתשאל את טבלת המערכת v$parameter כדי לראות את ערכי הפרמטרים השונים כפי שהם נמצאים כרגע בזכרון.
כדי לראות את ערכי הפרמטרים כפי שהם כרגע מוגדרים בקובץ (PFILE) לא ניתן להשתמש בטבלת ה v$spparameter או מקבילה כלשהי. הדרך היחידה היא באמצעות באמצעות כלי Text Editor שונים.
שינוי ערכי הפרמטרים אשר נמצאים ב PFILE
כמו ב SPFILE – ניתן להשתמש בפקודת ה ALTER SYSTEM כדי לשנות את ערכי הפרמטרים השונים בזכרון בלבד (כל עוד הם לא סטטיים).
על מנת לשנות את הערך בקובץ עצמו, יש להשתמש בכלי Text Editor שונים ולערוך את הקובץ כמו כל קובץ טקסט אחר – השינוי יתפוס רק בעליה הבאה של ה Database