صفحه 1 از 2 12 آخرینآخرین
نمایش نتایج: از شماره 1 تا 10 , از مجموع 19

موضوع: معماری اراکل

  1. #1
    مدیر بازنشسته
    تاریخ عضویت
    2008/10/14
    سن
    36
    نوشته ها
    3,180

    معماری اراکل

    معماری اراکل

    پایگاه داده اراکل متشکل از قسمتهای مختلفی می‌باشد. بعضی از آنها ساختارهای حافظه میباشند و بعضی دیگر پردازشهایی در پشت صحنه می‌باشند که دقیقا وظایف خاصی را انجام می‌دهند و منابع به کار گرفته شده توسط هارد دیسک برای ذخیره کردن داده های یک سازمان و همچنین ابزارهایی طراحی شده برای بازیافت اطلاعات برای جلوگیری از بین رفتن آنها در اثر اشتباهات و خراب شدن دیسک میباشد. به مجموعه ساختار های حافظه و پردازشهای مربوط به انجام وظایف Oracle Instance می‌گویند. و به مجموعه این Instance و بقیه اجزاء Oracle Database میگویند.

  2. #2
    مدیر بازنشسته
    تاریخ عضویت
    2008/10/14
    سن
    36
    نوشته ها
    3,180

    Icon16 Buffer Cache

    این ساختار حافظه تشکیل شده از بافرهایی به اندازه های یکسان که به آن Database Block گفته میشود میباشد. که کار آن ذخیره داده هایی که است که توسط Sql به سمت کاربر بر میگردد. به طور کلی شما می تواننید Buffer Cache را را مجموعه ای از بافرها با سایزهای یکسان تصور کنید. به خاطر همین است که وقتی شما پارامترهای یک Database را تنظیم می‌کنید تعداد بافرها را مشخص می‌کنید نه سایز آن را به بایت. Datablock واحدی مجزا از حافظه در اراکل است که میتواند چندین سطر از یک Table را در خود جای دهد.

    Buffer Cache دارای دو وظیفه اصلی می‌باشد. یکی برای افزایش کارایی اراکل برای جواب دادن به Select های تکراری از سمت کاربر و وظیفه دوم سرعت بخشیدن به تغییراتی است که کاربر در Database می‌دهد. این تغییرات ابتدا در حافظه ثبت شده و بعدا بر روی دیسک ذخیره میشود.

  3. #3
    مدیر بازنشسته
    تاریخ عضویت
    2008/10/14
    سن
    36
    نوشته ها
    3,180

    Icon16 Shared Pool

    این ساختار تشکیل شده از سه قسمت می‌باشد که وجود دو قسمت آن لازم می‌باشد . قسمت اول Library Cache می‌باشد که محل نگهداری دستورهای تجزیه شده Sql و نگهداشتن آنها در حافظه برای استفاده مجدد میباشد و قسمت دوم Dictionary Cache می‌باشد که گاهی به آن Row Cache نیز گفته میشود و وظیفه آن نگهداری اطلاعات اخیر خوانده شده از Data Dictionary می‌باشد که به عنوان مثال شامل Usernames, Password, Previlages میباشد.

  4. #4
    مدیر بازنشسته
    تاریخ عضویت
    2008/10/14
    سن
    36
    نوشته ها
    3,180

    Icon16 Redo Log Buffer

    این قسمت تغییرات ایجاد شده توسط DML و توسط کاربر ایجاد شده است را در خود نگهداری می‌کند. دستورهای DML شامل Update, Delete, Insert, Drop و... که توسط کاربر اجرا شده و باعث تغییرات در Database, Tables, Rows می‌شود. این تغییرات به صورت Redo Entry در حافظه نگهداری و سپس بر روی دیسک ذخیره میشوند که توسط آنها می‌توان اشتبا‌هاتی را که کاربران انجام می‌دهند و باعث از دست دادن اطلاعات می‌شود را توسط این Redo Entry ها بازیافت نمود.


  5. #5
    مدیر بازنشسته
    تاریخ عضویت
    2008/10/14
    سن
    36
    نوشته ها
    3,180

    Icon16 The PGA : The Oracle User's Memory Area

    ساختار دیگر حافظه در اراکل Program Global Area نام دارد. که کار آن نگهداشتن مقادیر متغییرهای تعریف شده توسط کاربران میباشد. اطلاعات هر کاربر نمی‌تواند Share باشد و باید فضای مخصوص به خودش را داشته باشد چون مقادیر واقعی متغییرهای درخواست شده توسط کاربر در این قسمت یافت میشود.


  6. #6
    مدیر بازنشسته
    تاریخ عضویت
    2008/10/14
    سن
    36
    نوشته ها
    3,180

    Icon16 پردازش سرور

    پردازش سرور

    همیشه در اراکل چندین پردازش بطور همزمان با یکدیگر در حال اجرا شدن می‌باشند که شامل Background, Server, And Network Process می‌باشند که مهمترین آنها از نظر تاثیر گذار بودن بر کار کاربر server process می‌باشد که که اطلاعات در خواستی یک کاربر را از روی دیسک خوانده و آن را به Buffer Cache منتقل می‌کند. به طور کلی دو راه برای مدیران اراکل برای پیاده سازی Server Process وجود دارد. Shared Server And Dedicated Server

  7. #7
    مدیر بازنشسته
    تاریخ عضویت
    2008/10/14
    سن
    36
    نوشته ها
    3,180

    Icon16 Dedicated Server

    در این روش برای هر کاربری که به اراکل متصل می‌شود.یک اداره کننده Handler برای پردازشهای کاربر در نظر گرفته می‌شود که اصطلاحا به آن Genie Handler می‌گویند و به ازای هر کاربر که به اراکل متصل می‌شود یک Handler نیز ایجاد می‌شود که مسئولیت خواندن داده‌های درخواست شده از طرف کاربر و منتقل کردن آنها بر روی Buffer Cache را دارند و هر کاربر Handler مخصوص خودش را خواهد داشت. همچنین در این روش نیاز بیشتری به حافظه و استفاده از پردازشگر می‌باشد. اگر منابع سخت افزاری به اندازه کافی موجود باشد این روش انتخاب بسیاری از مدیران شبکه می‌باشد.


  8. #8
    مدیر بازنشسته
    تاریخ عضویت
    2008/10/14
    سن
    36
    نوشته ها
    3,180

    Icon16 Shared Server

    در این روش بر خلاف روش قبل تعداد کمی Server Process در اراکل در حا اجرا شدن می‌باشند که به درخواستهای کاربران پاسخ می‌دهند. در این روش چندین کاربر با یک Server process اداره می‌شوند. و ارکل این عمل را با استفاده از یک Network Process به نام Dispatcher انجام می‌دهد. در خواست هر کاربر به یک Dispatcher اتصال می‌یابد و توسط آن به درخواستهای کاربران جواب داده می‌شود. Dispatcher تمام درخواستها را در یک صف قرار داده و به آنها جواب می‌دهد. این مساله به معنی صرفا یک Dispatcher در کل اراکل نمی‌باشد. در این روش نیز شما قادر خواهید بود که Server Process And Dispatcher های متعددی را ایجاد نمایید. در این روش مصرف سخت افزاری کمتری نسبت به روش قبل لازم ‌می‌باشد. در Dedicated Server برای هر کاربر که به پایگاه متصل می‌شود زمانی برای ایجاد یک ‌Server Process لازم می‌باشد در حالی که در Shared Server، کاربران با استفاده از سرویس گرفتن از طریق یک Dispatcher موجود و یک Server Process در زمان صرفه جویی می‌کنند. به همین دلیل در پایگاه‌هایی که تعداد متعددی از کاربران به آن متصل می‌شوند استفاده از این روش بهتر می‌باشد.


  9. #9
    مدیر بازنشسته
    تاریخ عضویت
    2008/10/14
    سن
    36
    نوشته ها
    3,180

    Icon16 Structures That Connect Users to Oracle Servers

    اولین مرحله ای که درخواست کاربر به آن می‌رسد Oracle Listener می‌باشد که بر روی پورت خاصی به درخواستهای کاربران گوش می‌کند. وقتی که درخواست کاربر به اراکل Listener رسید، امکان انجام شدن دو عمل وجود دارد. اگر اراکل از Dedicated server استفاده می‌کند، Listener به اراکل دستور ایجاد یک Dedicated Server را میدهد و سپس درخواست کاربر را به آن واگذار می‌کند. اگر Multi Thread Server مورد استفاده اراکل باشد، Listener درخواست کاربر را به به یک پردازشگر که همان Dispatcher Process می‌باشد واگذار می‌کند. بعد از انجام هر کدام از اعمالی که ذکر کردم، Listener دیگر نقشی نخواهد داشت و آماده قبول کردن درخواست بعدی از کاربر می‌باشد.

    وقتی که درخواست کاربر به اراکل میرسد اگر اراکل در حالت MTS باشد، وقتی که کاربر درخواستی را انجام میدهد، Dispatcher درخواست کاربر را در یک صف به نام Request Queue یا همان صف درخواست کاربران قرار می‌دهد. Request Queue در System Global Area قرار دارد که درخواستها را به ترتیب جواب می‌دهند و برای اینکار از الگوریتم معروف First-In-First-Out استفاده می‌کند.

    هر Dispatcher در SGA صف مربوط به خود رادارد و به درخواستهای صف مربوط به خودش پاسخ میگوید وجواب پاسخها نیز در بازگشت به کاربر مربوطه بر میگردد

  10. #10
    مدیر بازنشسته
    تاریخ عضویت
    2008/10/14
    سن
    36
    نوشته ها
    3,180

    Icon16 Stages in Processing Queries, Commits and Changes

    Stages in Processing Queries, Commits and Changes

    زمانی که شما درخواست یک سری داده‌های مشخص از اراکل را توسط یک Sql Select انجام می‌دهید، دستورات به گونه‌ای است که شما درخواست اطلاعات دلخواه خود را صاذر می‌کنید. خروجی این دستورات باید یرای اراکل قابل فهم باشد. این کار توسط Relational Database Management System که همان RDBMS می‌باشد انجام می‌شود. RDBMS دستورات SQL شما را به گونه‌ای برای اراکل که قابل فهم باشد ترجمه می‌کند. مراحل پردازش به صورت زیر می‌باشد:

    Search Shared Pool

    RDBMS ابتدا سعی می‌کند که یک کپی از SQL ترجمه شده را در Library Cache پیدا کند.

    Validate Statement

    RDBMS، درستی دستورات SQL را که توسط کاربر اجرا شده است را چک می‌کند.

    Validate Data Source

    RDBMS مطمئن می‌شود که تمام سطرها و ستون‌های که کاربر دز دستورش به آنها اشاره کرده است وجود داشته باشد.

    Acquire Locks

    RDBMS در این مرحله object های استفاده شده توسط دستور کاربر را تا پایان اجرای آن قفل می‌کند.

    Check Privileges

    RDBMS مجوز کاربر را برای اجرای دستورات SQL را کنترل میکند.

    Pars Statement

    RDBMS با تشکیل یک Parse Tree برای دستور SQL آن را در Library Cache قرار می‌دهد که شرکت اراکل بر این عقیده است که این روش بهینه برای اجرای دستورات اراکل می‌باشد. اینها مراحلی هستند که RDBMS آنها را انجام می‌دهد تا به داده‌های مورد نظر کار بر برسد. اگر دستورات در Library Cache وجود داشت این مراحل قابل حذف می‌باشد.

    Execute Statement

    RDBMS تمام پردازشهای لازم را برای اجرای Select Statement را انجام می‌دهد، در این لحظه Server Process داده‌های مورد نظر را از روی دیسک به Buffer Cache منتقل می‌کند.

    Fetch Values From Cursor

    زمانی که اجرای select statement پایان یافت داده‌ها در یک Cursor ذخیره شده و به Variable های مورد نظر الصاق میشوند و به User Process باز می‌گردند.

صفحه 1 از 2 12 آخرینآخرین

کلمات کلیدی این موضوع

مجوز های ارسال و ویرایش

  • شما نمیتوانید موضوع جدیدی ارسال کنید
  • شما امکان ارسال پاسخ را ندارید
  • شما نمیتوانید فایل پیوست کنید.
  • شما نمیتوانید پست های خود را ویرایش کنید
  •