منتديات تندلتي
عزيزنا الزائر انت لم تقم بالتسجيل بعد

الادارة
منتديات تندلتي
عزيزنا الزائر انت لم تقم بالتسجيل بعد

الادارة
منتديات تندلتي
هل تريد التفاعل مع هذه المساهمة؟ كل ما عليك هو إنشاء حساب جديد ببضع خطوات أو تسجيل الدخول للمتابعة.
منتديات تندلتي

مرحباً بك يا زائر في منتديات تندلتي
 
الرئيسيةالرئيسية  أحدث الصورأحدث الصور  التسجيلالتسجيل  دخول  
وللاوطان في دم كل حر يد سلفت ودين مستحق تندلتي تنادي ابناءها
https://www.facebook.com/group.php?gid=108851935806442&ref=ts مجموعة تندلتي علي الفيس بوك

 

 دروس في الاوراكل9

اذهب الى الأسفل 
كاتب الموضوعرسالة
مزاهر هنوه
عضو جديد
عضو جديد



عدد المساهمات : 8
نقاط : 20
تاريخ التسجيل : 31/12/2009

دروس في الاوراكل9 Empty
مُساهمةموضوع: دروس في الاوراكل9   دروس في الاوراكل9 Emptyالأربعاء فبراير 10, 2010 6:37 pm

• سنتناول في هذا الدرس مكونات الاوراكل بالتفصيل وهي

1-ORACLE SERVER
هو نظام لادارة قواعد البيانات ويتكون من كونيين اساسيين هما :

ORACLE INSTANCE, ORACLE DATABASE

: ORACLE INSTANCE
من اهم مكونات الاوراكل يحتوي على Memory Structure و Process structure لتتمكن من الوصول الى البيانات "Data" يجب ان يكون ال Instance في وضعية العمل ، اي انه يتم من خلاله الحصول على البيانات المطلوبة،ولايستطيع ال Instance فتح وتشغيل اكثر من DataBase واحده فقط في نفس الوقت ولكن من الممكن لأكثر من Instance العمل على ذات ال Database.


: ORACLE DATABASE
عبارة عن مجموعة من الملفات لحفظ البيانات واستعادتها عند الطلب وينقسم الى قسمين هما
Logical structure و Physical structure

اما Logical يتكون من اقسام لتخزين وادارة ال Database
اما Physical يتكون من الملفات الحقيقية الموجودة على الكمبيوتر او السيرفر .


مثال
عندما تشاهد صورة على موقع الانترنت فانك تشاهد الجزء ال Logical اما الملف الحقيقي للصورة الذي مخزن في السيرفر يكون جزء ال Physical يكون هنالك ارتباط بين الجزئين بحيث اذا حذف اداهما يجب حذف الجزء الآخر ، اذا لافائدة من ابقاء ملف الصورة ال Physical في السيرفر اذا كنت لاتريد الصورة على الانترنت .

ويتكون Database physical structure من ثلاث ملفات هي

Control files: ملفات تحكم تحتوي على المعلومات اللازمة للمحافظة على ال DataBase ويجب ان يتوفر على الاقل ملف واحد ليعمل Oracle Database


Data Files : الملفات التي يتم تخزين المعلومات والبيانات داخلها .

Redo Log Files:تقوم بتسجيل جميع المتغيرات التي طرأت على ال Database مثل اضافة او حذف بعض البيانات "Data " لنتمكن من استعادة حدوث البيانات في حدوث ضياع بيانات بشكل مفاجئ (مثلا انقطاع التيار الكهربائي قبل حفظ البيانات المتغيرة)

ويوجد ملفات اخرى ل Physical ولكنها ليست ضمن ال Database انما ضمن ال Oracle Server ويجب ان تتواجد لتشغيل واستخدام واغلاق ال Database مثل :

Password File : الذي يحتوي على المعلومات اللازمة للدخول الى ال Instance مثل ال Privileges


Archived Redo Log files : عبارة عن نسخة ل Redo Log Files للمزيد من الامان في حالة حدوث اي ضياع للبيانات .

Parameter File : تخزن المواصفات الخاصة لل Instance مثل حجم الذاكرة الممنوحة لل Memory Structure ومواصفات اخرى نتطرق لها لاحقا .

اما Logical Structure فيتكون من

Tablespaces: تنقسم ال Database الى وحدات اصغر تسمى ال Tablespace . كل Database يجب ان يتكون من واحد او اكثر Tablespace ، يوفر الاولاكل System Tablespace في بداية تكوين ال Database كحد ادنى ضروري لعمل ال Database .

Segments: ينقسم ال TableSpace الى وحدات اصغر تسمى ال Segments>

Extent: ينقسم ال Segments الى وحدات اصغر تسمى ال Extents .

Blocks : تنقسم ال Extents الى وحدات اصغر تسمى ال Blocks وهي اصغر وحدات تخزين وقراءة البيانات .


انتهى الدرس....
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
سنتناول بهذا الدرس الجزء الثاني من مكونات قاعدة البيانات

2-ORACLE MEMORY STRUCTURE

يتكون من منطقتين تعرفان باسم :


System Global Area (SGA) : وهي ال Memory structure الخاص بال Instance الذي تم التحدث عنه مسبقا ارجع الى (الجزء الأول : شرح مكونات قاعدة البيانات) والتي هي احد اهم مكونات ال Instance وتحجز المساحة الخاصة لها من الذاكرة او تبدأ باتلعمل عند تشغيل ال Instance . وهي ذاكرة مشتركة بين الأوامر " Processes " التي تأتي لل Instance مثل SQL Query Process وايضا مشتركة بين مستخدمي Database المختلفتين ، وتعرف ايضا باسم : Shared Global Area

Program Global Area (PGA): وهي المساحة المخصصة من الذاكرة ل User Process وتحتوي على معلومات حول ال Server Process . وهي ذاكرة خاصة لأمر "Process "واحد فقط وتعرف ايضا باسم Private Global Area أو Process Global Area .

سوف يتم التطرق لاحقا ل User Process و Server Process .

شرح SYSTEM GLOBAL AREA (SGA)

جميع مستخدمي ال Database يتشاركون البيانات الموجودة في هذه المنطقة حيث يتم تخزين البيانات المشتركة من مختلف الاوامر " Database Processes " لكي تسهل عملية استخراج البيانات ، يقوم ال Oracle بحجز المساحة المخصصة له من الذاكرة عند بداية تشغيل الInstance ويقوم بتحرير المساحة عند انتهاء عمل ال Instance وتقسم الى عدة اقسام منها اقسام اساسية ضرورية ومنها اقسام اختيارية وستجد بالصورة المرفقة(2) الاقسام الاختيارية باللون الاحمر

تعتبر ال SGA ذاكرة مرنة ديناميكية اي ان باستطاعة اقسامها ان تكبر او تصغر في الحجم دون اغلاق ال Instance لأسباب مختلفة مثل كثرة العمل (كثرة الأوامر) على احد اقسامها اذ ان زيادة العمل على احد الاقسام يتطلب ذاكرة اضافية ولكن لايمكن للذاكرة العامة لل SGA ان تتخطى الحد الأعلى المحدد بالعامل " Parameter " SGA_MAX_SIZE

ملاحظة : SGA_MAX_SIZE هي احد مكونات ال Initialization Parameter File التي سوف نتطرق لها لاحقا

مثال

لمعرفة حجم ال SGA الحالي أكتب التالي في البرنامج SQLPLUS:


CODE
SHOW SGA;


ال Total System Global Area تمثل حجم ال SGA الحالي .



مثال آخر
اذا كانت الذاكرة المخصصة لل SGA حوالي 150 ميجا بايت والتي تعتبر " SGA_MAX_SIZE " وكان التوزيع المبدئي للذاكرة على الاقسام المختلفة على النحو التال
Shared Pool Area = 50 MB
Database Buffer Cache = 25 MB
Redo Log Buffer = 10 MB (منطقة ثابتة وغير متغيرة)
باقي الاقسام = 65 ميجابت (الاقسام المتغيرة)
الذاكرة الكاملة = 150 ميجا بت
وزاد ضغط العمل على Shared Pool Area بحيث ان 50 ميجابت لم تعد تكفي ، فبمقدور Shared Pool Area بأن تأخذ ذاكرة اضافية من باقي الاقسام ولكن لايمكن للذاكرة الكاملة بأن تزيد عن 150 ميجابت .

Shared Pool Area = 60MB
Database Buffer Cache = 20 MB
Redo Log Buffer = 10 MB (منطقة ثابتة وغير متغيرة)
باقي الاقسام = 60 ميجابت (الاقسام المتغيرة)
الذاكرة الكاملة = 150 ميجا بت

==================================================

الذاكرة في SGA عبارة عن وحدات متواصلة تسمى Granules وحجم ال Granules يعتمد على
SGA_MAX_SIZE .

SGA_MAX_SIZE . اصغر من 128 ميجابت واذا حجم كل ال Granule يساوي 4 ميجابت اما اذا كان حجم SGA_MAX_SIZE اكبر من 128 ميجابت اذا حجم Granule يساوي 16 ميجابت


الحد الأدنى من عدد ال Granules ﻞﻟ SGA هو ثلاث :

واحد Granule للمنطقة الثابته في SGA مثل Redo Log Buffer
واحد Granule ل Shared Pool Area
واحد Granule ل Database Buffer Cache

ملاحظة : يمكن الحصول عن بيانات عن ال Granules من V$BUFFER_POOL .
====================================================
:SHARED POOL AREA
تستخدم لحفظ أخر أو أحدث أوامر الPL/SQL و SQL وأخر البیانات(المعلومات) المستخرجة من ال
.Data Dictionary تتكون من قسمین ھما : .Data Dictionary Cache و Library Cache

انظر الصورة رقم 3

باعتبارھا منطقة مھمھ جداً فمن الممكن تغیر حجمھا داینامیكیاً (بدون اغلاق الInstance ) بحيث یتجاوزالزیادة في المساحة مساحة ال SGA المحدده بالعامل "Parameter" SGA_MAX_SIZE
یعتبر حجم ال SHARED POOL AREA محددة من قبل العامل "Parameter"
SHARED_POOL_SIZE

=================================================
مثال
لمعرفة الحجم الحالي ل Shared Pool Area اكتب التالي:

CODE
SHOW PARAMETER SHARED_POOL_SIZE


في الكمبیوتر الخاص بي الحجم ھو : 46 MB و یظھر كالتالي = 4613734


لتغییر مساحة ال Shared Pool Area داینامیكیاً اكتب التالي:


CODE
ALTER SYSTEM SET SHARED_POOL_SIZE= 64M


في حالة نجاح الأمر یظھر الجواب التالي من SQL PLUS System altered

أما في حالة عدم وجود ذاكرة أضافیة لان تضاف ل Shared Pool Area یظھر الجواب

التالي:Insufficient memory to grow:
=======================================================


:Library Cache
تحتوي على :
المنطقة رقم 1:SQL Shared Statements
المنطقة رقم 2: PL/SQL Procedures or Packages

مثال
------------------------------------------------------------------
عندما یقوم مستخدم للDatabase بطلب جملة الSQLفإن الجملة وطریقة انجاز مھامھا تخزن في المنطقة رقم1 وبذلك یسھل عملیة تكرار انجاز SQL ال "Execute"من الذاكرة بسرعة أكبر في حال تم طلب نفس الجملة من مستخدم أخر وبذلك تكون العملیة أسرع وتخفف العبئ على ما یعرف باسم Compilations وكذلك ینطبق الحال على .PL/SQL

خطوات عملیة:
الخطوة 1: یقوم المستخدم الأول بطلب جملة الSQL التالیة select * from employees;
الخطوة 2 : یقوم الServer Process بدراسة الجملة ومعرفة المراحل التي سوف یتم بعدھا
انجاز "Execute" الجملة على اعتبار أن ھذه الجملة لیست مخزنة في ال.Library Cache
الخطوة 3: یتم تخزین الجملة ومراحل انجازھا في Library Cache .
الخطوة 4: یتم اظھار البیانات الناتجة من جملةال SQL للمستخدم الأول،وبذلك تكون جملة الSQL تم انجازھا وتم تسجیل جمیع المراحل التي مرت بھا الجملة في الLibrary Cache
الخطوة 5: یقوم المستخدم الثاني بعد قلیل بكتابة نفس جملة ال SQL وهي
select * from employees ;
الخطوة 6: یقوم الServer Process بدراسة الجملة فیجد انھا موجوده في ال Library Cache
فینفذ مراحل انجاز الجملة دون دراسة الجملة باعتبار ان المراحل التي تمت لانجاز الجملة مخزنة في ذاكرة ال.Library Cache
الخطوة 7: یتم اظھار البیانات المطلوبة للمستخدم الثاني بسرعة أكبر.
=============================================



:Data Dictionary Cache
المكون الثاني لSHARED POOL AREAوالتي یحتوي على بیانات من الData Dictionary حول:.Tables, Indexes, Privileges, etc… وھي تعمل بنفس طریقة الLibrary Cache
وعندما Library Cache أوData Dictionary Cache تمتلئ منطقة یقوم الأوراكل باخراج أقدم
بیانات لم یتم تكرار طلبھا لتعوض ببیانات جدیدة وتعرف الطریقة
باسم:Least Recently Used (LRU)



:DATABASE BUFFER CACHE
یتم تخزین فیھا أحدث البیانات التى تم استخراجھا من الملفات الفیزیائیة "Data Files"،وفي حالة طلب ذات البیانات من ذات المستخدم أو من مستخدمین أخریین للDatabase یتم استخراج البیانات من الذاكرةولیس من Data Files.

ملاحظة: تتم ادارتھا ایضاً بنظام .Least Recently Used (LRU)

مثال:
---------------------------------------------------------------------------

عندما یقوم مستخدم Database بطلب بیانات محددة من الDatabase عن طریق مثلاً جملة الSQL
فإن البیانات المستخرجة من الData Files تخزن في الDatabase Buffer Cache وبذلك یسھل عملیة استخراج البیانات وبسرعة أكبر في حال تم طلب نفس الجملة من ذات المستخدم أو مستخدم أخر وبذلك یخف العبئ على ما یعرف باسم .Input/Output Load.

مرفق الرسمة التوضيحية
الخطوات المبینة على الرسم هي
الخطوة 1: یقوم المستخدم الأول بطلب بیانات من الDatabase.
الخطوة 2: یقوم الServer process بدراسة الطلب ویحضر الServer Process البیانات من
ال Data Files على اعتبار أن ھذه البیانات المطلوبة لیست مخزنة في الDatabase Buffer Cache .
الخطوة 3: یتم احضار البیانات من الData Files وتخزن البیانات في.Database Buffer Cache
الخطوة 4: یتم اظھار البیانات المطلوبة للمستخدم الأول.
الخطوة 5: یقوم مستخدم أخر بعد قلیل بطلب ذات البیانات من الDatabase .
الخطوة 6: یقوم ال Instance بدراسة الطلب فیجد ان البیانات المطلوبة تم استخراجھا قبل قلیل من الData Files ومازالت مخزنة في الDatabase Buffer Cache فیستخرج البیانات من ذاكرة الDatabase Buffer Cache دون الحاجة الى استخراج البیانات من القرص الطلب حیث توجد ملفات،Data Files ومن ثم یتم اظھار البیانات للمستخدم الثاي بسرعة أكبر وجھد أقل.

--------------------------------------------------------------

وتتكون الDatabase Buffer Cache من ثلاثة أجزاء مستقلة تسمى :Sub Cache

Default : یخزن في ھذا القسم البیانات التي لیست من ضمن الأقسام الأخرى.(Keep, Recycle) يتحكم بمساحتھا العامل "Parameter" و DB_CACHE_SIZE

Keep : تحافظ على البیانات المخزنة ولا تستبدل، ویتحكم بمساحتھا العامل "Parameter"
.DB_KEEP_CACHE_SIZE

Recycle : یتم ازالة البیانات من ھذه المنطقة عند عدم الحاجة الیھا مجدداً، ویتحكم بمساحتھا العامل
.DB_RECYCLE_CACHE_SIZE "Parameter"

ملاحظة: مساحة ال Default لا یمكن أن تكون ان تساوي صفر أبداً.

انتهى الجزء الثاني بحمد الله
@@@@@@@@@@@@@@@@@@@@
2-تنصيب وادارة الاوراكل (INSTALLING & MANAGING ORACLE )

3-تكوين الداتا بيس واستخدام الداتا ديكشنيري
(CREATING A DATABASE & USING THE DATA DICTIONARY )

4-ملفات الكنترول والريدو لوج (CONTROL & REDO LOG FILES)

5-ملفات الداتا بيس والتيبل سبيس (DATA FILES & TABLESPACES)

6-السيجمنت وخصائص التخزين (SEGMENTS & STORAGE STRUCTURES )

7-ادارة التيبل والانديكس والتيبل سبيس (Managing tables & indexes &constraints )

8-ادارة اليوزرز والباسورد سيكيورتي والريسورسيس
( Managing USERS & password SECURITY& RESOURCES)

9-ادارة الصلاحيات والبرفليج (Managing PRIVILEGES &AUDITING & ROLES)

10-الدعم الفني وكيفية موافقة اوراكل مع باقي اللغات

ملاحظة سيتم تفعيل كل رابط من الدروس حين الانتهاء منه ان شاء الله
-ORACLE SERVER
هو نظام لادارة قواعد البيانات ويتكون من كونيين اساسيين هما :

ORACLE INSTANCE, ORACLE DATABASE

: ORACLE INSTANCE
من اهم مكونات الاوراكل يحتوي على Memory Structure و Process structure لتتمكن من الوصول الى البيانات "Data" يجب ان يكون ال Instance في وضعية العمل ، اي انه يتم من خلاله الحصول على البيانات المطلوبة،ولايستطيع ال Instance فتح وتشغيل اكثر من DataBase واحده فقط في نفس الوقت ولكن من الممكن لأكثر من Instance العمل على ذات ال Database.


: ORACLE DATABASE
عبارة عن مجموعة من الملفات لحفظ البيانات واستعادتها عند الطلب وينقسم الى قسمين هما
Logical structure و Physical structure

اما Logical يتكون من اقسام لتخزين وادارة ال Database
اما Physical يتكون من الملفات الحقيقية الموجودة على الكمبيوتر او السيرفر .


مثال
عندما تشاهد صورة على موقع الانترنت فانك تشاهد الجزء ال Logical اما الملف الحقيقي للصورة الذي مخزن في السيرفر يكون جزء ال Physical يكون هنالك ارتباط بين الجزئين بحيث اذا حذف اداهما يجب حذف الجزء الآخر ، اذا لافائدة من ابقاء ملف الصورة ال Physical في السيرفر اذا كنت لاتريد الصورة على الانترنت .

ويتكون Database physical structure من ثلاث ملفات هي

Control files: ملفات تحكم تحتوي على المعلومات اللازمة للمحافظة على ال DataBase ويجب ان يتوفر على الاقل ملف واحد ليعمل Oracle Database


Data Files : الملفات التي يتم تخزين المعلومات والبيانات داخلها .

Redo Log Files:تقوم بتسجيل جميع المتغيرات التي طرأت على ال Database مثل اضافة او حذف بعض البيانات "Data " لنتمكن من استعادة حدوث البيانات في حدوث ضياع بيانات بشكل مفاجئ (مثلا انقطاع التيار الكهربائي قبل حفظ البيانات المتغيرة)

ويوجد ملفات اخرى ل Physical ولكنها ليست ضمن ال Database انما ضمن ال Oracle Server ويجب ان تتواجد لتشغيل واستخدام واغلاق ال Database مثل :

Password File : الذي يحتوي على المعلومات اللازمة للدخول الى ال Instance مثل ال Privileges


Archived Redo Log files : عبارة عن نسخة ل Redo Log Files للمزيد من الامان في حالة حدوث اي ضياع للبيانات .

Parameter File : تخزن المواصفات الخاصة لل Instance مثل حجم الذاكرة الممنوحة لل Memory Structure ومواصفات اخرى نتطرق لها لاحقا .

اما Logical Structure فيتكون من

Tablespaces: تنقسم ال Database الى وحدات اصغر تسمى ال Tablespace . كل Database يجب ان يتكون من واحد او اكثر Tablespace ، يوفر الاولاكل System Tablespace في بداية تكوين ال Database كحد ادنى ضروري لعمل ال Database .

Segments: ينقسم ال TableSpace الى وحدات اصغر تسمى ال Segments>

Extent: ينقسم ال Segments الى وحدات اصغر تسمى ال Extents .

Blocks : تنقسم ال Extents الى وحدات اصغر تسمى ال Blocks وهي اصغر وحدات تخزين وقراءة البيانات .


انتهى الدرس....


الجزء الثاني : مكونات اوراكــــــــــــــــــــــــــــــــــــــــــــــــــل .......
الرجوع الى أعلى الصفحة اذهب الى الأسفل
 
دروس في الاوراكل9
الرجوع الى أعلى الصفحة 
صفحة 1 من اصل 1

صلاحيات هذا المنتدى:لاتستطيع الرد على المواضيع في هذا المنتدى
منتديات تندلتي :: "القسم التكنلوجي" :: منتدى البرامج-
انتقل الى: