آشنایی با Wait Events در اوراکل – قسمت اول

در این بخش مستقل از آموزش اوراکل قصد داریم آشنایی با Wait Events در اوراکل را یاد بگیریم.

در دیتابیس اوراکل، کوئری ها و دستورات SQL از میان صدها و هزاران پردازش processes داخلی در سراسر دیتابیس عبور می کند که اصطلاحا به این پردازش های Oracle Wait Events می نامند.

دانستن اطلاعاتی در مورد Wait Events یه مدیران دیتابیس کمک میکند که دید کلی در تمامی عملیات و اتفاقاتی که در دیتابیس می افتد آگاه باشد.

لیست متداول ترین Wait Events به شرح ذیل می باشد :

  • Block Change Tracking Buffer

این event وابسته است به اندازه بافر background proccesses به نام CTWR (Change Tracking Write) که این پردازش از ساختارهای حافظه اوراکل به نام Large Pool می باشد.

  • Buffer Busy Wait

این event زمانی اتفاق می افتد که یک session تلاش کند یک بلاکی در Buffer cache دسترسی داشته باشد اما نمی تواند و خطای Buffer Busy می دهد و دلیل هم این می باشد که کاربر session دیگری در حال تغییر محتوی همان بلاک داده می باشد.

  • Direct Path Read Temp

این event زمانی اتفاق می افتد که یک session بلاکی که می خواهد در Buffer cache وجود نداشته باشد و اوراکل بایستی بلاک را مستقیما از دیسک disk بخواند و سپس بلاک را در حافظه SGA قرار دهد.

  • Control Read and Write

این event از سه event مختلف ایجاد می شود:

Control File Sequential Read

Control File Single Write

Control File Parallel Write

و هرسه این event در زمانی که اوراکل فایل Control File را می خواند و درحال بروز رسانی داده های آن می باشد رخ می دهد.

  • DB File Sequential Read

این event زمانی اتفاق می افتد اوراکل دنبال بلاک داده های می گردد که در حافظه SGA نباشد و بنابراین باید در انتظار خواندن بلاک داده در دیسک را انجام دهد و پس از آن بلاک داده در SGA انتقال دهد و درخواست کوئری انجام نشود و فرآیند خواندن اطلاعات از دیسک و انتقال آن به SGA زمان بر شود به موقع انجام نشود.

dbfile-sq
  • Enq: TX – row lock contention

این event زمانی اتفاق می افتد که یک تراکنش transaction تلاش می کند یک را رکوردی را update , delete کند اما این رکورد توسط یک تراکنش transaction دیگری lock شده است .

  • Enq: TX – index contention

این event زمانی اتفاق می افتد که یک کاربر session از طریق index در شرط where جدول دستور select زده و همزمان یک کاربر session دیگری از طریق همان index در شرط where در حجم بالا شروع به insert داده کرده است و در این حالت این event اتفاق می افتد.

  • File Open

این event زمانی اتفاق می افتد که اوراکل تلاش می کند یک فایل را open کند اما به دلایلی با شکست مواجه شود.

  • Index Block Split

این event زمانی اتفاق می افتد که یک کاربر session از طریق index جدول داده ها را به بهترین نحو استخراج fetch میکند و در همان لحظه کاربر session دیگری روی همان بلاک داده از طریق index که در شرط where قرار داده است در حال بروز رسانی update بلاک داده می باشد.

اطلاعات بیشتر در مورد Events در اوراکل

دیدگاه خود را بنویسید:

آدرس ایمیل شما نمایش داده نخواهد شد.

*

code

فوتر سایت