• Link to X
  • Link to LinkedIn
  • Link to Facebook
  • עברית עברית עברית he
  • English English אנגלית en
Real Time DBA Magic
  • בית
  • Oracle
    • Data Guard
    • Performance
  • Big Data
    • Hadoop
  • אודות
    • מי אני
    • צור קשר
    • בלוג
    • Oracle ACE Program
  • Click to open the search input field Click to open the search input field חיפוש באתר
  • Menu Menu

ארכיון עבור קטגוריה: Performance

הנך כאן: עמוד הבית1 / Oracle2 / Performance

שימוש ב-Append ו-redo logs

5 באפריל 2011/13 תגובות/ב- Oracle, Performance/מאת זהר אלקיים/זמן קריאה משוער: 6 דקות

הייתי היום בכנס ilOUG שיוחד לנושאי Data Warehouse ומכוון שהנושא קרוב לליבי (עדיין, כמעט שלוש וחצי שנים ב-DWH של פרטנר) הלכתי לשמוע מה יש בנושא ונהנתי מאוד.

במהלך ההרצאה האחרונה הסבירו החבר'ה מאורקל על שיטות טעינה למחסני נתונים. במהלך ההרצאה התפתחה שיחה קצרה ביני ובין עמיאל דיוויס בנושא מתי יש להינט Append משמעות והאם זה עוזר רק בסביבה של Archive log mode או לא. הוא הפנה אותי לבלוג שלו אז אני מפרגן ולהלן לינק למה שהוא כתב בנושא כבר לפני שנתיים. אם הגעתם עד כאן ולא הבנתם כלום, אולי הגיע הזמן להסביר קצת במה מדובר.
המשך קריאה… →

https://www.realdbamagic.com/wp-content/uploads/2026/10/real-dba-magic-logo-1200w.png 0 0 זהר אלקיים https://www.realdbamagic.com/wp-content/uploads/2026/10/real-dba-magic-logo-1200w.png זהר אלקיים2011-04-05 23:06:572014-10-28 20:41:15שימוש ב-Append ו-redo logs

על מעבדים: socket-ים, core-ים ו-thread-ים

23 בנובמבר 2010/2 תגובות/ב- Performance, כללי/מאת זהר אלקיים/זמן קריאה משוער: 2 דקות

אופיר מנור מאורקל כתב פוסט יפה ומעניין בבלוג המומחים של אורקל על מעבדים וההבדלים בין sockets (מעבדים פיזים), cores (ליבות בתוך מעבד פיזי) ו-threads (מספר תהליכים שיכולים לרוץ בו זמנית בכל ליבה). מבחינתי זו הזדמנות טובה לרכז כמה פקודות שימושיות בנושא.

אני אשמח לקבל תיקונים הערות ותוספות בנושא.

בשליפה מ-Oracle:

ישנה טבלה ששייכת ל-AWR ואוספת ברמה זו או אחרת את מספר המעבדים, ליבות ו-thread-ים שיש למכונה. בגרסה 10 צריך לשלוף את זה ידנית אבל בגרסה 11 זה כבר יוצא בדוח של ה-AWR.

המשך קריאה… →

https://www.realdbamagic.com/wp-content/uploads/2026/10/real-dba-magic-logo-1200w.png 0 0 זהר אלקיים https://www.realdbamagic.com/wp-content/uploads/2026/10/real-dba-magic-logo-1200w.png זהר אלקיים2010-11-23 15:44:592017-03-16 23:21:19על מעבדים: socket-ים, core-ים ו-thread-ים

ביצועים גרועים באיסוף סטטיסטיקות על פרטישנים

9 בנובמבר 2010/0 תגובות/ב- Oracle, Performance/מאת זהר אלקיים/זמן קריאה משוער: 1 דקה

בהמשך לפוסט הקודם, קראתי שני פוסטים בבלוגים שמתארים מצבים שבהם איסוף סטטיסטיקות על פרטישנים לוקח הרבה זמן.

הפוסט הראשון שקראתי היה בבלוג של Doug Burns שבו הוא מתאר מצב שבו העדר סטטיסטיקות גלובליות על הטבלה הביא לזמן איסוף סטטיסטיקות גרוע על פרטישנים באותה טבלה בגרסה 11.2.0.1. הבעיה שהוא מתאר היא בעיה מוכרת למדי גם מגרסאות קודמות והפתרון שהוא מציע הוא איסוף סטטיסטיקות בסיסיות בצורה גלובלית על הטבלה ולאחר מכן איסוף סטטיסטיקות על הפרטישנים. בסוף התהליך יש לאסוף סטטסיטיקות גלובליות שוב כדי לעדכן את הסטטיסטיקות.

הפוסט השני שעסק פחות או יותר באותו עניין אך בגרסה אחרת היה בבלוג של Martin Widlake. במקרה הזה הוא מתאר מצב שאיסוף הסטטיסטיקות על הפרטישנים בטבלה היה איטי מכוון שלא היו סטטיסטיקות על אינדקס גלובלי שהוגדר על הטבלה. במקרה הזה הפתרון שלו היה איסוף סטטיסטיקות מינימליות (0.01%) על האינדקס ואז האיסוף השתחרר.

העניין מעלה שאלות מעניינות לגבי הדרך שבה אנחנו אוספים סטטיסטיקות ומצריך מחקר מעמיק יותר בנושא.

https://www.realdbamagic.com/wp-content/uploads/2026/10/real-dba-magic-logo-1200w.png 0 0 זהר אלקיים https://www.realdbamagic.com/wp-content/uploads/2026/10/real-dba-magic-logo-1200w.png זהר אלקיים2010-11-09 10:30:292010-11-09 10:30:29ביצועים גרועים באיסוף סטטיסטיקות על פרטישנים

סטטיסטיקות למחסני נתונים

9 בנובמבר 2010/3 תגובות/ב- Oracle, Performance/מאת זהר אלקיים/זמן קריאה משוער: 2 דקות

מתוך iSeminar בנוגע ל-best practices של סטטיסטיקות למחסני נתונים:

בטבלאות בעלות Partition ישנם שלושה סוגים של סטטיסטיקות שניתן לאסוף על הטבלה:

  1. סטטיסטיקות גלובליות (Global/table statistics).
  2. סטטיסטקות ברמת פרטישן (Partition statistics).
  3. סטטיסטיקות ברמת סאב-פרטישן (Sub-partition statistics).

לסטטיסטיקות ברמות השונות ישנם שימושים שונים – במידה וניגשים לפרטישן בודד אז הסטטיסטיקות שיהיו בשימוש הן רק הסטטיסיטקות ברמת הפרטישן. לעומת זאת, אם ניגשים ליותר מפרטישן אחד, אורקל משתמש בסטטיסטיקות ברמה הגלובלית. מסיבה זו אורקל ממליצים לאסוף סטטיסטיקות בכל הרמות.
המשך קריאה… →

https://www.realdbamagic.com/wp-content/uploads/2026/10/real-dba-magic-logo-1200w.png 0 0 זהר אלקיים https://www.realdbamagic.com/wp-content/uploads/2026/10/real-dba-magic-logo-1200w.png זהר אלקיים2010-11-09 08:15:372015-03-02 14:20:36סטטיסטיקות למחסני נתונים

רשימת ה-session-ים שה-QC הוא ב-INACTIVE אבל יש לו ילדים שעדיין תופסים Parallel

28 באוקטובר 2010/1 תגובה/ב- Performance, שליפות/מאת זהר אלקיים/זמן קריאה משוער: 1 דקה

תופעה מעניינת עם כלים שמחזירים row set בגודל מסויים ושמאפשרים לעשות fetching היא שאם השליפה המקורית הייתה מקבילית (parallel) הכלים נוטים שלא לשחרר את הפרוססים שהם השתמשו בהם בשביל השליפה ולתפוס אותם כל עוד לא נעשתה שליפה אחרת באותו חלון.

אז מה בעצם הבעיה? הבעיה היא שכאשר יש load גבוה על המערכת ויש צורך ב-Parallel servers, התוכנות האלה מחזיקות את המשאבים ושליפות אחרות מקבלות downgrade.

שני כלים שעושים את זה הם TOAD ו-PL/SQL Developer וניתן להשתמש בשליפה הבאה כדי לאתר מי הם הסשנים שנראים Inactive אבל בפועל הם תופסים משאבים (השליפה הזו נעטפה על ידי סקריפט CSH שגם מעיף את המשתמשים האלה כאשר הם מחזיקים את המשאבים יותר מדי זמן):

with curr_sessions as (
SELECT ROUND(BITAND(s.ownerid, 65535)) parent_session_sid,
       s.sid,
       s.status,
       s.sql_id,
       UPPER(s.program) program
  FROM v$session s, v$process p
 WHERE ((s.username IS NOT NULL) AND (NVL(s.osuser, 'x') <> 'SYSTEM') AND (s.TYPE <> 'BACKGROUND'))
   AND (p.addr(+) = s.paddr))
select distinct a.sid parent, b.sid child, a.status status_p, b.status status_c, a.program, a.sql_id
  from curr_sessions a
  join curr_sessions b on a.sid = b.parent_Session_sid
                      and a.status = 'INACTIVE'
                      and a.program in ('TOAD.EXE')
order by 1
https://www.realdbamagic.com/wp-content/uploads/2026/10/real-dba-magic-logo-1200w.png 0 0 זהר אלקיים https://www.realdbamagic.com/wp-content/uploads/2026/10/real-dba-magic-logo-1200w.png זהר אלקיים2010-10-28 10:57:182010-10-28 10:57:18רשימת ה-session-ים שה-QC הוא ב-INACTIVE אבל יש לו ילדים שעדיין תופסים Parallel

שליפות שעושות Downgrade

28 באוקטובר 2010/0 תגובות/ב- Performance, שליפות/מאת זהר אלקיים/זמן קריאה משוער: 1 דקה

לפעמים יש צורך למצוא מהן השליפות שעשו downgrade במערכת ולא קיבלו מספיק parallel processes. צריך להבחין בין שני מקרים: מקרה שהשליפות קיבלו חלק מהמשאבים ומקרה שבהם הן לא קיבלו בכלל משאבים ועכשיו הן עובדות ב-serial.

כדי למצוא מהן השליפות שקיבלו downgrade (אבל עדיין עובדות ב-Parallel) ניתן להשתמש בשליפה הבאה. השליפה מחזירה רק את ה-PX coordinator (כלומר ה-SID של ההורה) ולא את כל הפרוססים עצמם:

SELECT a.sid parent_sid,
       a.logon_time,
       a.program,
       a.osuser,
       a.username,
       a.sql_id,
       ps.req_degree,
       ps.got_degree
  FROM (SELECT s.sid,
               s.osuser,
               s.USERNAME,
               s.status,
               s.sql_id,
               s.logon_time,
               s.last_call_et,
               UPPER(s.program) program
          FROM v$session s
         WHERE ((s.username IS NOT NULL) AND (NVL(s.osuser, 'x') <> 'SYSTEM') AND
               (s.TYPE <> 'BACKGROUND'))) a
  JOIN (SELECT DISTINCT qcsid,
                        CASE
                            WHEN req_degree > degree THEN
                             1
                            ELSE
                             0
                        END is_downgrade,
                        MAX(req_degree) req_degree,
                        MAX(degree) got_degree
          FROM v$px_session
         GROUP BY qcsid,
                  CASE
                      WHEN req_degree > degree THEN
                       1
                      ELSE
                       0
                  END) ps ON a.sid = ps.qcsid
 WHERE ps.is_downgrade = 1

כדי לאתר את השליפות שלא קיבלו פרוססים בכלל (ובעצם עשו downgrade to serial) ניתן להשתמש בשליפה הבאה:

SELECT sess.sid parent_sid,
		 logon_time,
		 sess.program,
		 sess.osuser,
		 sess.username,
		 sql_id,
		 TRUNC (last_call_et / 60) dur_minutes
  FROM v$sesstat sesstat, v$sysstat sysstat, v$session sess
 WHERE	  sesstat.statistic# = sysstat.statistic#
		 AND sesstat.sid = sess.sid
		 AND name = 'Parallel operations downgraded to serial'
		 AND sesstat.VALUE > 0
		 AND sess.status = 'ACTIVE'
https://www.realdbamagic.com/wp-content/uploads/2026/10/real-dba-magic-logo-1200w.png 0 0 זהר אלקיים https://www.realdbamagic.com/wp-content/uploads/2026/10/real-dba-magic-logo-1200w.png זהר אלקיים2010-10-28 10:25:312010-10-28 10:25:31שליפות שעושות Downgrade
עמוד 2 מתוך 3123
  • עברית
    • English (אנגלית)
דירוג
  • שימוש ב-Append ו-redo logs5 באפריל 2011 - 23:06
  • יצירת קובץ CSV על ידי שימוש ב-SQLPLUS...18 בנובמבר 2010 - 17:45
  • כמה מילים על bind peeking ואיך למחוק Execution Plan מה-...21 במרץ 2012 - 18:25
  • עולם ה- Big Data ופתרון ה- Hadoop – מאמר מתוך Oracle New...6 ביוני 2012 - 9:00
פוסטים אחרונים
  • לאלה שתוהים למה הבלוג לא מתעדכן בעברית...23 במאי 2016 - 22:38
  • ההשפעה של no logging על data guard3 בספטמבר 2015 - 10:45
  • תהליך ה-startup של אורקל (מדריך למתחילים)...18 במאי 2015 - 9:57
  • PRVF-0002 : Could not retrieve local nodename10 במאי 2015 - 15:39
תגובות
  • rotemadפוסט מעולה! אני יודע שזה פוסט ישן, אבל בכל זאת אני רק אוסיף ...24 במאי 2016 - 12:23 מאת rotemad
  • […] דוגמה אחרת היא הדוגמה הזו. […]...15 במרץ 2016 - 22:36 מאת Oracle Database Firewall - Real DBA Magic
  • […] not as a participant) was in 2011. I gave to session...16 בנובמבר 2015 - 10:27 מאת Oracle Database Advanced Querying Presentation
  • […] first time I took place (as a trainer, not as...16 בנובמבר 2015 - 10:22 מאת Oracle Database Advanced Querying Presentation
תגיות
#oow13 12c 12cR1 awr Big data BigData csv Database data guard data guard broker Data warehouse DB12c DBIM expdp guide Hadoop howto iloug Linux Microsoft SQL Server New Features NoSQL opatch oracle Oracle 11g Oracle 12c oracle 12c new features Oracle Database Oracle Data Guard ORACLE DATAGUARD performance PL/SQL RAC redo log rman script SQL sqluldr startup vldb webinar with אורקל האדופ שבוע אורקל
© Copyright - Zohar Elkayam, Real DBA Magic, 2010-2017
  • Link to X
  • Link to LinkedIn
  • Link to Facebook
  • בית
  • Oracle
  • Big Data
  • אודות
Scroll to top Scroll to top Scroll to top
Manage Consent
To provide the best experiences, we use technologies like cookies to store and/or access device information. Consenting to these technologies will allow us to process data such as browsing behavior or unique IDs on this site. Not consenting or withdrawing consent, may adversely affect certain features and functions.
Functional Always active
The technical storage or access is strictly necessary for the legitimate purpose of enabling the use of a specific service explicitly requested by the subscriber or user, or for the sole purpose of carrying out the transmission of a communication over an electronic communications network.
Preferences
The technical storage or access is necessary for the legitimate purpose of storing preferences that are not requested by the subscriber or user.
Statistics
The technical storage or access that is used exclusively for statistical purposes. The technical storage or access that is used exclusively for anonymous statistical purposes. Without a subpoena, voluntary compliance on the part of your Internet Service Provider, or additional records from a third party, information stored or retrieved for this purpose alone cannot usually be used to identify you.
Marketing
The technical storage or access is required to create user profiles to send advertising, or to track the user on a website or across several websites for similar marketing purposes.
  • Manage options
  • Manage services
  • Manage {vendor_count} vendors
  • Read more about these purposes
View preferences
  • {title}
  • {title}
  • {title}