-
مدیر بازنشسته
Stages In Processing DML Statement
یکی دیگر از پردازشهای اراکل Undo Segment میباشد که کار آن ذخیره کردن ورژنهای قدیمی دادههایی میباشد که توسط دستورات DML که توسط کاربر اجرا شده است را انجام میدهد. این دستورات دستوراتی از قبیل Update, Insert، Delete میباشد.
پردازش دستورات DML به شرح زیر میباشد:
Parse Statements
RDBMS با تشکیل یک Parse Tree برای دستورات و قرار دادن آنها در Library Cache مراحل اجرای آنها را فراهم میکند. اگر Parse Tree در Library Cache وجود داشته باشد. این مرحله اجرا نمیشود.
-
کاربر روبرو از پست مفید B@RBOD سپاس کرده است .
-
مدیر بازنشسته
Execute Statement
Execute Statement
RDBMS تمام پردازشها را برای اجرای دستورات DML انجام میدهد. برای آنجام Update و یا Delete پردازشگر سرور یا همان Server Process دادهها را از روی دیسک به Buffer Cache منتقل میکند و دادههای منتقل شده را تا پس از پایان تغییرات Lock میکند. که این عمل باعث میشود تا دیگر کاربران نتوانند روی این دادهها تغییرات ایجاد کنند. برای انجام Insert این بار Server Process یک Block خالی را از روی دیسک انتخاب کرده و اطلاعات جدید را بر روی آن قرار میدهد. در کنار انجام شدن این پردازش، پردازش Undo Segment نیز انجام میشود که اطلاعات قدیمی و جدید را ذخیره میکند.
-
کاربر روبرو از پست مفید B@RBOD سپاس کرده است .
-
مدیر بازنشسته
Generate Redo Information
Generate Redo Information
با توجه به مطالبی که قبلا با هم مرور کردیم، Redo Log Buffer تغییراتی را که روی دادهها انجام میشود را ذخیره میکند. بعد از انجام و تغییرات روی دادهها که توسط DML انجام گرفته است حالا نوبت User Process میباشد که یک Redo Entry را در داخل Redo Log Buffer بنویسد. بدین ترتیب اراکل میتواند در مواقعی که دادهها از بین میروند و یا اینکه خراب میشوند، آنها را بازیابی کند. این Redo Entry ها بعدا بر روی دیسک ذخیره میشوند.
-
کاربر روبرو از پست مفید B@RBOD سپاس کرده است .
-
مدیر بازنشسته
Moving Data Changes From Memory To Disk
Moving Data Changes From Memory To Disk
بعد از تغییرات دادهها و پایان اجرای دستورات، دادههای تغییر داده شده در Buffer Cache باید به روی دیسک انتقال داده شوند. به بافرهای تغییر کرده درون بافر اصطلاحا Dirty میگویند. همچنین اطلاعات در مورد تغییراتی که بر روی دادهها انجام شده است نیز در Redo Log Buffer وجود دارد. با ساختن تمام این تغییرات در حافظه اراکل قادر خواهد بود تا با سرعت بیشتری به DML Statement ها جواب دهد. به دلیل اینکه پیاده سازی و تغییرات بر روی حافظه سریع تر از ایجاد تغییرات بر روی دیسک میباشد. و دلیل دیگر این است که کاربر دیگر نیازی ندارد تا منتظر انتقال دادههای ذخیره شده بر روی دیسک باشد. اراکل با اجرای دو پردازش در پشت صحنه تمام وظائف بالا را انجام میدهد.این دو پردازش DBW0, LGWR نام دارند که کار انتقال دادهها از روی Buffer Cache و Redo Log Buffer را بر روی دیسک انجام میدهد. این پردازشها Asynchronous هستند بدین معنی که این پردازشها گاهی بعد از این که کاربران تغییرات را انجام میدهند بر روی دیسک نوشته میشود.
-
کاربر روبرو از پست مفید B@RBOD سپاس کرده است .
-
مدیر بازنشسته
Role of DBW0
Role of DBW0
Data Base Writer Process نامیده میشود که وظیفه آن انتقال Dirty Data Block ها از روی بافر به روی دیسک میباشد. این پردازش در ورژنهای قبلی اراکل DBWR نامیده میشد که در ورژنهای جدید به علت وجود چندین Database Writer Process دیگر به کار برده نمیشود.
این پردازش به یکی از دلائل زیر انجام میشود:
وقتی که Server Process به فضای بیشتری در Buffer Cache برای خواندن اطلاعات بیشتری احتیاج دارد.
وقتی که LGWR به DBW0 دستور نوشتن بدهد.
هر سه ثانیه و زمانی که تعداد Dirty Buffer ها به مقدار بحرانی برسد.
نکته: مسالهای که LGWR به DBW0 دستور نوشتن میدهد، Check Point میباشد. عدد صفر در DBW0 میتواند بین 0 تا 9 تغییر کند. پس اراکل میتواند تا 10 پردازش از DBW0 را داشته باشد.
-
کاربر روبرو از پست مفید B@RBOD سپاس کرده است .
-
مدیر بازنشسته
Role of LGWR
Role of LGWR
Log Writer Process نامیده میشود که Redo Entry ها را از Redo Log Buffer در حافظه بر روی دیسک منتقل کند.
این پردازش به یکی از دلائل زیر انجام میشود:
وقتی که یک تراکنش به طور کامل انجام شود.
وقتی که یک سوم از Redo Log Buffer پر شده باشد.
قبل از اینک DBW0 دادهها را از روی حافظه بر روی دیسک بنویسد.
-
کاربر روبرو از پست مفید B@RBOD سپاس کرده است .
-
مدیر بازنشسته
Stages In Commit Process
Stages In Commit Process
با استفاده از دستور Commit تمام تغییراتی که توسط کاربر بر روی دادهها در سطح User Process انجام شده است حالت پایدار پیدا میکنند. با استفاده از rollback تغییرات روی دادهها منسوخ میشوند وUndo Segment روشی است که اراکل با نگهداری یک کپی از دادههای قدیمی و نگهداری آنها در Undo Segment، اراکل میتواند تغییرات را فسخ کند. این کار تا زمانی قابل انجام میباشد که Commit انجام نشده باشد.
نکته: استفاده از Commit دلالت بر نوشته شدن تغییرات ایجاد شده توسط کاربر بر روی دیسک ندارد. فقط در زمانهایی که در بالا گفته شد DBW0 دادهها را بر روی دیسک مینویسد.در زمان Commit کارهای زیر انجام میپذیرد:
آزاد کردن تمام سطرهایی که قفل شدهاند. بعد از آزاد شدن آنها کاربران دیگر میتوانند در آن تغییرات ایجاد کنند.
آزاد کردن Undo Segment که توسط User Transaction قفل شده است.
ایجاد یک Redo Entry توسط User Process در زمانی که Commit انجام میشود.
-
کاربر روبرو از پست مفید B@RBOD سپاس کرده است .
-
مدیر بازنشسته
Sys,System And Data Dictionary
Sys,System And Data Dictionary
sys, system دو کاربری هستند که اراکل در زمان ایجاد پایگاه داده آنها را ایجاد میکند. این دو کاربر قابلیت مدیریت پایگاه داده اراکل را دارند. کاربر SYS مهمتر میباشد زیرا مالکیت system table های اراکل را که دیکشنری دادهها نیز از آنجا مشتق میشود را نیز داراست. Oracle Data Dictionary نیز یکی از منابع سیستم میباشد که به منظور کسب اطلاع از هر چیزی در پایگاه شما به کار میرود. در بحث View از اراکل دو عنوان پایهای وجود دارد.یک دسته انهایی هستند که اطلاعاتی راجع به Object های پایگاه داده به شما میدهند که به آنها Data Dictionary Views گفته میشود و یک سری از آنها اطلاعاتی را راجع به کارایی کل سیستم به شما بر مگردانند که به آنها Dynamic Performance Views گفته میشود .
-
کاربر روبرو از پست مفید B@RBOD سپاس کرده است .
-
مدیر بازنشسته
Sys,System And Data Dictionary
Sys,System And Data Dictionary
sys, system دو کاربری هستند که اراکل در زمان ایجاد پایگاه داده آنها را ایجاد میکند. این دو کاربر قابلیت مدیریت پایگاه داده اراکل را دارند. کاربر SYS مهمتر میباشد زیرا مالکیت system table های اراکل را که دیکشنری دادهها نیز از آنجا مشتق میشود را نیز داراست. Oracle Data Dictionary نیز یکی از منابع سیستم میباشد که به منظور کسب اطلاع از هر چیزی در پایگاه شما به کار میرود. در بحث View از اراکل دو عنوان پایهای وجود دارد.یک دسته انهایی هستند که اطلاعاتی راجع به Object های پایگاه داده به شما میدهند که به آنها Data Dictionary Views گفته میشود و یک سری از آنها اطلاعاتی را راجع به کارایی کل سیستم به شما بر مگردانند که به آنها Dynamic Performance Views گفته میشود .
-
کاربر روبرو از پست مفید B@RBOD سپاس کرده است .
کلمات کلیدی این موضوع
مجوز های ارسال و ویرایش
- شما نمیتوانید موضوع جدیدی ارسال کنید
- شما امکان ارسال پاسخ را ندارید
- شما نمیتوانید فایل پیوست کنید.
- شما نمیتوانید پست های خود را ویرایش کنید
-
مشاهده قوانین
انجمن