Home

Lakhasly

Online English Summarizer tool, free and accurate!

بسم الله الرحمن الرحيم عند الحديث عن قواعد البيانات لابد من البدء عن مكونات قاعدة البيانات وطريقة عملها حتى يتسنى لنا بعد ذلك الحديث عن التفاصيل التى لا يمكن إستيعابها حتى نفهم تكوينها وطريقة عملها أولاً . قاعدة البيانات اوركل تتكون من جزئين رئيسيين وهما Oracle Instance و Oracle Database وسنتحدث عن كل منها بالتفصيل فيما بعد . Oracle Instance 1. 1: وهى تتكون من جزئين رئيسيين كما فى الشكل اعلاه :- • Background Processes Memory Structure 1. 1.1: وهى تتكون لحظة فتح الInstance وهى عبارة عن جزء من الذاكرة يتم تخصيصه لعمل قاعدة البيانات اوركل وهى تتكون من جزئيين :- 1-(SGA) System Global Area 2- Program Global Area (PGA) System Global Area (SGA) 1. 1.1. 1:

وتسمى ايضاً Shared Global Area وهى جزء من الذاكرة يخصص للمعلومات التى تكون مشتركة ومتاحة لجميع مستخدمى قواعد البيانات ،  وتحتوى على معلومات التحكم التى تستخدم من قبل الOracle Server وهى تتكون فى الVirtual Memory وتتكون لحظة فتح الInstance ،  وهى ذاكرة Dynamic أى يمكن تغيير مقاسها دون إغلاق قاعدة البيانات وهى تتكون من قسمين :-

1- Mandatory Memory 2- Optional Memory : Mandatory Memory 1- Shared Pool: ويتم التحكم فى مقاس هذه الذاكرة بواسطة المتغير SHARED_POOL_SIZE ، وهكذا باقى اجزاء الذاكرة يتم التعديل بنفس الطريقة السابقة . 3- Redo Log Buffer ويتم تحديد مقاس هذا الجزء من الذاكرة بواسطة المتغير LOG_BUFFER . 2- Java Pool 3- Streams Pool *Shared SQL Areas *Private SQL Areas *PL/SQL Procedures and Packages *Various Control Structure SHAREAD_POOL_SIZE Shared Pool Oracle 6 thru 10g Dictionary Cache

  • Row Cache

Holds changes made to data and allows for reconstruction of data in the case of failure * Redo entries LOG_BUFFER Redo Log Buffer Oracle 6 thru 10g Holds copies of data requested by SQL and reduces requests to disk by having data in memory
You may have many different buffer caches that help segregate on usage patterns * Write List

  • LRU List DB_2K_CACHE_SIZE DB_4K_CACHE_SIZE DB_8K_CACHE_SIZE DB_16K_CACHE_SIZE DB_32K_CACHE_SIZEDB_KEEP_CACHE_SIZE DB_RECYCLE_CACHE_SIZE Database Buffer Cache For large memory allocations * Shared server
  • Oracle XA I/O Server Processes Backup & Restore LARGE_POOL_SIZE Large Pool Form Oracle 8i Memory available for the java memory manager to use for all things Java *Run stats *Methods *Classes *Session code Data in JVM JAVA_POOL_SIZE Java Pool From Oracle 8i New to Oracle 10g Memory available for Stream Processing *Stream activity STREAMS_POOL_SIZE Streams Pool From Oracle 10g او عن طريق كتابة الامر التالى :- SQL> SHOW SGA
  • V$SGA Program Global Area (PGA) 1. 1.1. 2: وتسمى أيضاً Process Global Area وهو جزء من الذاكرة يتكون خارج الInstance وهو يحتوى على معلومات خاصة للServer Process الحالى ويتكون هذا الجزء من الذاكرة لحظة إنشاء الServer Process وتنتهى لحظة إنتهاء الServer Process . وهذا الجزء ليس متاحة لباقى المتصلين أى لكل Server Process فى قاعدة البيانات PGA خاصة به تحتوى على معلومات خاصة به . وهى تحتوى على ثلاثة أجزاء :- 1- Private SQL Area 2- Session Memory 1.1. 2 Background Processes وقبل الحديث عن ال Background Processes لا بد من الذكر بأن هناك ثلاثة انواع من الProcesses :- 1- User process :- وهو يبدأ العمل عندما يطلب المستخدم الإتصال بقواعد البيانات عن طريق احد ادوات قواعد البيانات . 2- Server Process :- ويتم انشاؤه لحظة الاتصال بالInstances بعد طلب ال User Process الاتصال بقواعد البيانات فيتم التحقق من المستخدم فلحظة الاتصال هى لحظة إنشاء الServer Process وهو يكون بين الUser Process والInstance ، فلكل User Process فى قاعدة البيانات Server Process خاص به هذا إذا كنا نعمل فى بيئة الDedicated Server أما إذا كنا نعمل فى بيئة الShared Server فالأمر يختلف قليلاً ، عموماً سنناقش هذا الامر لاحقاً . 3- Background Processes: - وهو موضوع نقاشنا فى هذه الفقرة وهى عبارة عن معالجات تعمل فى قاعدة البيانات بحيث تقوم بمهام مختلفة تبدأ العمل لحظة فتح الInstance ، وتنقسم الى قسمين:- 1- Mandatory: لا بد من عملها لحظة فتح الInstance . 2- Optional : وبدونها تستطيع الInstance العمل وهذا النوع يعمل فى بعض الاحوال التى يتم فيه تهيئة قاعدة البيانات للعمل على خيارات معينة . Mandatory Processes 1. 1.2. 1: ولا يمكن لقاعدة البيانات العمل دون هذه ال Processes ، وهى:- 1- System Monitor (SMON) : ويقوم بعمل الاسترجاع (Recovery) إذا حصل مشكلة فى الInstance ، واذا كنا نعمل على البيئة (RAC) Real Application Clusters وهى عمل اكثر من Instance فى قاعدة البيانات الواحدة فإن الSMON فى الInstance السليمة يستطيع عمل Recovery للInstance الاخرى التى حدث فيها مشكلة . كذلك يستطيع الSMON عمل تنظيف للSegments المؤقتة التى لم يتم استخدامها من فترة طويلة . 2- Process Monitor (PMON) : وأقصى عدد لهذا الProcess فى قاعدة البيانات هو 1 ، ويقوم بعمل Recovery للProcess إذا حصلت مشكلة فى الUser Process ، وكذلك يقوم بتسجيل المعلومات حول الInstance والDispatcher Processes ، وايضاً يقوم بعمل اختبار للDispatcher Processes والServer Processes ويقوم بعمل إعادة تشغيل فى حالة وجود مشكلة فيهم . 3- Log Writer (LGWR) : وأقصى عدد لهذا الProcess فى قاعدة البيانات هو 1 ، ويقوم بعمل كتابة للبيانات الموجودة فى الRed Log Buffer ويكتبها فى الRedo Log Files ، 1- لحظة عمل Commit . 2- كل ثلاث ثوانى . 3- عندما يمتلئ ثلث الRedo Log Buffer . 4- لحظة عمل DBWn ، كذلك االLGWR يقوم بكتابة التزامن للRedo Log Groups فإذا حدثت مشكلة فى Redo log File فإن الLGWR يقوم بإرسال خطأ لملف Alert Log . نستفيد من عملية الLGWR فى الاسترجاع إذا حصلت مشكلة فى الInstance . 4- Database Writer (DBWn): والمتغير الذي يتحكم فى عدد هذا الProcess هو DB_WRITER_PROCESSES . ويعمل هذا الProcess بكتابة البيانات الموجودة فى الDatabase Buffer Cache للDatafiles فى الحالات الاتية :- 1- لحظة حدوث الCheckpoint وسنتحدث عن ذلك لاحقاً . 2- كل ثلاث ثوانى . 3- لحظة حدوث الLog Switch وسنتحدث عنه لاحقاً . 4- لحظة إغلاق قاعدة البيانات . 5- لحظة وصول الBlock للقيمة المحددة . 6- لحظة إمتلاء الBuffer . 7- عند عمل الاتى :- * Tablespace Offline * Tablespace Read Only * Table Drop or Truncate * Tablespace Begin Backup 5- (CKPT) Checkpoint Process: وأقصى عدد لهذا الProcess فى قاعدة البيانات هو 1 ، ويقوم بالتأكد من أن كل التعديلات التى تتم على البيانات فى الBuffer تم كتابتها وتثبيتها فى الDatafiles ومن ثم يقوم بعمل تزامن كامل لكل الDatafiles ويقوم بعمل تعديل للDatafiles headers ؛ والControl files يتم تعديله عند اخر SCN ، بحيث يتم تزامن كامل لقاعدة البيانات ونضمن أنه يمكن استرجاع قاعدة البيانات فى حال حدوث مشكلة . ويتم عمل الCKPT فى الحالات التالية :- 1- لحظة حدوث Log Switch. 2- عند وصول الزمن المحدد فى المتغير LOG_CHECKPOINT_TIMEOUT 3- عند ما يصل عدد الBLOCKS المحدد فى المتغير LOG_CHECKPOINT_INTERVAL
    4- عند وصول عدد الBuffer المحدد فى المتغير FAST_START_IO_TARGET . 5- عند تنفيذ الاوامر التالية :- SQL> ALTER SYSTEM SWITCH LOGFILE; SQL> ALTER SYSTEM CHECKPOINT; 6- Recover (RECO) : وأقصى عدد لهذا الProcess فى قاعدة البيانات هو 1 ، وستخدم هذا الProcess لمعالجة مشكلة العمليات الموزعة المعلقة نتيجة مشكلة فى الشبكة او النظام ، فبعد فترة محددة يقوم الProcess بمحاولة الاتصال عن بعد ومحاولة اكمال العملية أو التراجع عنها . Optional Processes 1. 1.2. 2: ويمكن لقاعدة البيانات العمل دون هذه الProcesses ولكثرة هذه الProcesses سنتطرق لاهمها :- 1- Archiver (ARCn) : وأقصى عدد لهذا الProcess فى قاعدة البيانات هو 10 ، ويقوم بكتابة الOnline Red log Files فى ملف الارشيف (Archive Log Destination) بعد حدوث الLog Switch ، هذا الProcess يعمل إذا كانت قاعدة البيانات تعمل فى النمط Archive Log Mode , يتم التحكم فى عدد هذا الProcess عن طريق المتغير LOG_ARCHIVE_MAX_PROCESSES . 2- Recovery Writer(RVWR): هذا الProcess تم استحداثه فى الاصدارة Oracle 10g نستفيد من هذا الProcess عند عملية الFlashback Database ، سنناقش هذا الموضوع لاحقاً . 3- Lock Monitor (LMON). 4- Lock Manager DAEMON . 5- (LCKn) Lock Process . 6- Block Server Process (BSPn) . 7- َQueue Monitor (QMNn) . 8- Event Monitor (EMNn) . 9- ٍShared Server Processes (Snnn) . 10-Memory Manager (MMAN) . 11-Parallel Execution slaves (Pnnn). 12- Trace Writer (TRWR) . 13- DMON . 14- Dispatcher (Dnnn) . 15- MMON . 16- Wakeup Monitor Process (WMON) . 17- Memory Monitor Light (MMON) . 18- RBAL . 20- ASMB . 21- Change Tracking Writer (CTWR) . 22- Job Queue Monitoring (CJQn) . Oracle Database 1. 2: وهو الجزء الثانى من مكونات قاعدة البيانات اوركل كما ذكرنا سابقاً :- Oracle Database server = Oracle Instance + oracle Database ويحتوى هذا الجزء من مجموعة من الملفات :- 1- Control files :- وهو الملف المسؤل عن التزامن فى قاعدة البيانات بجانب انه يحتوى عن المعلومات الاساسية عن قاعدة البيانات كإسم قاعدة البيانات وبدونه لا تعمل قاعدة البيانات إذ أنه يحتوى على مسارات ملفات قاعدة البيانات وإذا تمت إضافة ملف فى قاعدة البيانات يتم تحديث الControl file اوتومتيكياً . 2- Redo log files :- ويستخدم هذا الملف حتى نستطيع عمل إسترجاع لقاعدة البيانات (Recover) فى حالة حدوث مشكلة فى قاعدة البيانات ، إذ أنه يحفظ التغيرات التى تحدث فى قاعدة البيانات . يتم تحديد هذا الملف عند فتح قاعدة البيانات عن طريق الParameter file ، ولحمايته من الفقدان يجب استخدام اكثر من نسخة من هذا الملف عن طريق تحديد هذه النسخ فى ملف الParameter file . 3- Database files :- وهو المخزن الحقيقى للبيانات فى قاعدة البيانات أى أنه يحتوى على الجداول والمناظير والمراجع (Table & Views & Indexes ) والكائنات الاخرى . 4- Archived redo log files :- وهو عبارة عن نسخة من ال Redo log files ونحتاجه أيضاً عند عمل إسترجاع لقاعدة البيانات (Recover) . 5- الملفات الأخرى:- * Parameter file ويستخدم لعمل تهيئة للOracle Instance لحظة تشغيلها * Password fileويسمح هذا الملف للمستخدمين الأتصال بقاعدة البيانات عن
    بعد كمدراء لقاعدة البيانات ، وليس لتخزين كلمات السر للمستخدمين فى قاعدة البيانات كما يتصور البعض . Tablespace and Data File:- وهنا لابد من الحديث إلى انه يمكن تقسيم قاعدة البيانات الى (Physical & Logical) : Physical: حيث يمكن التعامل مع هذا النوع سواء كانت قاعدة البيانات مفتوحة أو مغلقة بحيث يمكن التعامل مع هذا النوع عن طريق نظام التشغيل أو عن طريق قاعدة البيانات. Logical: ولا نستطيع التعامل مع هذا النوع إلى أذا كانت قاعدة البيانات مفتوحة. Tablespace and Data File:- قاعدة البيانات فيزيائياً تتقسم إلى ملفات تخزينية يمكن أن تشاهد عن طريق نظام التشغيل وهى ملفات الData files ، وكذلك قاعدة البيانات تنقسم إلى وحدات تخزين منطقية (Logical) وتسمى هذه الوحدات Tablespace . الTablespace وهو وحدة منطقية يحتوى على Data file واحد أو أكثر وكل Data file ينتمى فى الحقيقة إلى Tablespace واحد . يمكن إنشاء Bigfile Tablespaces بحيث يحتوى على ملف Data file واحد ولكن كبير جداً بحيث يكون اكبر من 4GB . الTablespace يتكون من مجموعة من الوحدات المنطقية الاصغر وهى تسمى Segments وهى وحدات منطقية يتكون منها الTablespace بحيث تنتمى الSegment لTablespace واحد فقط وهى تتكون من مجموعة من الوحدات المنطقية الأصغر التى تسمى Extents وهى ايضاً وحدات منطقية تنتمى كل Extent لSegment واحد وتتكون أيضا الExtents من مجموعة أخرى أصغر وهى أصغر وحدة منطقية تسمى الBlocks . وعند إنشاء قاعدة البيانات يتم تحديد حجم الBlock لقاعدة البيانات ، ويمكن أن يكون حجم الBlock 3BK او 5BK أو غيره وأكبر حجم للBlock يتوقف على نظام التشغيل ، وقبل الاصدار Oracle 9i Release كانت قاعدة البيانات تعمل على حجم واحد للBlock وابتداءً من الإصدار Oracle 9i Release أمكن لقاعدة البيانات العمل بأحجام مختلفة من اللBlock ولنفترض السناريو الاتى :- فانفترض أن هذا الشكل يمثل Tablepace يسمى Users . هذا الTablespace يحتوى على ملفين من الData file ( (D1&D2هذا الTablespace يحتوى على مجموعة من الSegments (T1&T2&T3) الSegment الاول T1 مقسم إلى مجموعة من الExtents وكل Extent بالطبع مكون من مجموعة من الBlocks ، نلاحظ هنا أن الSegment T1 يمتد على كل من الملفين (D1&D2) أى أن جزء من الSegment فى الملف D1 والجزء الاخر فى الملف D2 لكن فى الوقت نفسه هو ينتمى لTablespace واحد . قبل نهاية هذا الباب فلنتابع معاً هذا السناريو وهو يوضح خطوات عمل قاعدة البيانات : 1- الInstance تعمل على المخدم (Server). 2- فى هذه المرحلة المستخدم يحاول الاتصال بقاعدة البيانات عن طريق الApplication أو أحد أدوات قواعد البيانات. 3- فى هذه اللحظة تم التحقق من طلب المستخدم وتم إنشاء الاتصال وتكوين Server Process. 4- هنا المستخدم طلب تعديل صف . 5- الServer Process يستقبل هذا الطلب ويقوم بعمل اختبار للShared Pool هل هذا الطلب موجود فى الShared SQL Area إذا كان موجود يقوم بالتأكد من أن للمستخدم صلاحية الوصول لهذا البيانات ، اما إذا كان هذا الطلب غير موجود يقوم بإنشاء Shared SQL Area جديد . 6- فى هذه المرحلة يقوم الServer Process بجلب البيانات المطلوبة من الData file من الجدول أو من الData Block المخزنة فى الSGA . 7- بعد جلب البيانات هنا يقوم الServer بتعديل الجدول فى الSGA . 8- لحظة عمل Commit يقوم الLGWR بكتابة العملية فى الRedo Log File . 9- يقوم الDBWn بكتابة التعديلات فى الDisk اى فى الData File . 10- اخيراً يرسل الServer Process يرسل رسالة بنجاح أو فشل العملية . النقاط الرئيسية التى سنناقشها فى هذا الباب :- • فهم الشروط الضرورية لإنشاء قاعدة البيانات . • إنشاء قاعدة بيانات بالطريقة اليدوية . • إنشاء قاعدة البيانات بالأداة DBCA . من أهم مهام مدير قاعدة البيانات هو التخطيط لقاعدة البيانات ، إذ لا يتصور مديراً ناجحاً لقاعدة البيانات لا يخطط بصورةٍ ما لقاعدة بياناته ، وكيف سيتم عمل نسخ احتياطى لقاعدة البيانات ، بعد ذلك يجب أن نحدد ما نحتاجه من الذاكرة والديسك المناسب حسب متطلبات قاعدة البيانات وعموما يجب وضع هذه الاعتبارات عند إنشاء قاعدة البيانات . فى الحقيقة يمكن إنشاء قاعدة البيانات أثناء إنزال الاوركل عن طريق الOUI (Oracle Universal Installer) وذلك بواسطة الاداة DBCA ولكن قد نحتاج لإنشاء قاعدة بيانات أخرى ، عند إنشاء قاعدة بيانات اوركل يجب مراعاة النقاط الاتية:- 1- كم عدد الApplication التى تعمل على قاعدة البيانات . 3- مساحة الذاكرة SGA فهذه الذاكرة مطلوبة لعمل الInstance وهى لا تقبل المشاركة بين أكثر من Instance أى لكل Instance ذاكرة SGA خاصة بها . 4- كذلك الBlock_Size الذى يعتمد عليه الRow_Size .

Original text

بسم الله الرحمن الرحيم


 	عند الحديث عن قواعد البيانات لابد  من البدء عن مكونات قاعدة البيانات وطريقة عملها حتى يتسنى لنا  بعد ذلك الحديث عن التفاصيل  التى لا يمكن إستيعابها حتى نفهم تكوينها وطريقة عملها أولاً .

ً


قاعدة البيانات اوركل تتكون من جزئين رئيسيين وهما Oracle Instance و Oracle Database وسنتحدث عن كل منها بالتفصيل فيما بعد .


Oracle Instance 1.1:
وهى تتكون من جزئين رئيسيين كما فى الشكل اعلاه :-
• Memory Structure
• Background Processes


Memory Structure 1.1.1:


وهى تتكون لحظة فتح الInstance وهى عبارة عن جزء من الذاكرة يتم تخصيصه لعمل قاعدة البيانات اوركل وهى تتكون من جزئيين :-


1-(SGA) System Global Area
2- Program Global Area (PGA)


System Global Area (SGA) 1.1.1.1:


وتسمى ايضاً Shared Global Area وهى جزء من الذاكرة يخصص للمعلومات التى تكون مشتركة ومتاحة لجميع مستخدمى قواعد البيانات ، وتحتوى على معلومات التحكم التى تستخدم من قبل الOracle Server وهى تتكون فى الVirtual Memory وتتكون لحظة فتح الInstance ، ومقاس هذه الذاكرة يتحدد بواسطة المتغير SGA_MAX_SIZE فى ملف المتغيرات (Parameter File) ، وهى ذاكرة Dynamic أى يمكن تغيير مقاسها دون إغلاق قاعدة البيانات وهى تتكون من قسمين :-

1- Mandatory Memory
2- Optional Memory


: Mandatory Memory
1- Shared Pool: ويتم التحكم فى مقاس هذه الذاكرة بواسطة المتغير SHARED_POOL_SIZE ، وتحتوى على جزئين :
1- Library Cache
2- Data Dictionary Cache
2- Database Buffer Cache : ويتم التحكم فى مقاس هذا الجزء من الذاكرة بواسطة المتغير DB_CACHE_SIZE .


وهكذا باقى اجزاء الذاكرة يتم التعديل بنفس الطريقة السابقة .
3- Redo Log Buffer ويتم تحديد مقاس هذا الجزء من الذاكرة بواسطة المتغير LOG_BUFFER .


: Optional Memory
1- Large Pool
2- Java Pool
3- Streams Pool


والجدول أدناه يوضح أجزاء الذاكرة SGA :


Simple Descriptions Areas Of Influence Size Controlled By SGA Component
Oracle need to allocate & deallocate memory as SQL or Procedural Code is executed based on the individual needs of users sessions and in accordance to the LRU algorithm Library cache
*Shared SQL Areas
*Private SQL Areas
*PL/SQL Procedures and Packages
*Various Control Structure


SHAREAD_POOL_SIZE	Shared Pool

Oracle 6 thru 10g
Highly accessed memory structure that provide information on object structure to SQL statements being parsed


Dictionary Cache



  • Row Cache


Holds changes made to data and allows for reconstruction of data in the case of failure * Redo entries LOG_BUFFER Redo Log Buffer


Oracle 6 thru 10g
Holds copies of data requested by SQL and reduces requests to disk by having data in memory

You may have many different buffer caches that help segregate on usage patterns * Write List



  • LRU List DB_2K_CACHE_SIZE
    DB_4K_CACHE_SIZE
    DB_8K_CACHE_SIZE
    DB_16K_CACHE_SIZE
    DB_32K_CACHE_SIZEDB_KEEP_CACHE_SIZE
    DB_RECYCLE_CACHE_SIZE Database Buffer Cache


Oracle 6 thru 10g
For large memory allocations * Shared server



  • Oracle XA
    I/O Server Processes
    Backup & Restore LARGE_POOL_SIZE Large Pool


Form Oracle 8i
Memory available for the java memory manager to use for all things Java *Run stats
*Methods
*Classes
*Session code
Data in JVM JAVA_POOL_SIZE Java Pool


From Oracle 8i
New to Oracle 10g
Memory available for Stream Processing *Stream activity STREAMS_POOL_SIZE Streams Pool


From Oracle 10g
يمكن معرفة مقاس الSGA بالنظر فى ملف المتغيرات (Parameters File) ، او عن طريق كتابة الامر التالى :-
SQL> SHOW SGA


Related Views:



  • V$SGA


Program Global Area (PGA) 1.1.1.2:
وتسمى أيضاً Process Global Area وهو جزء من الذاكرة يتكون خارج الInstance وهو يحتوى على معلومات خاصة للServer Process الحالى ويتكون هذا الجزء من الذاكرة لحظة إنشاء الServer Process وتنتهى لحظة إنتهاء الServer Process . وهذا الجزء ليس متاحة لباقى المتصلين أى لكل Server Process فى قاعدة البيانات PGA خاصة به تحتوى على معلومات خاصة به .وهى تحتوى على ثلاثة أجزاء :-
1- Private SQL Area
2- Session Memory
3- SQL Work Area


1.1.2 Background Processes


  وقبل الحديث عن ال Background Processes لا بد من الذكر بأن هناك ثلاثة انواع من الProcesses :-

1- User process :- وهو يبدأ العمل عندما يطلب المستخدم الإتصال بقواعد البيانات عن طريق احد ادوات قواعد البيانات .
2- Server Process :- ويتم انشاؤه لحظة الاتصال بالInstances بعد طلب ال User Process الاتصال بقواعد البيانات فيتم التحقق من المستخدم فلحظة الاتصال هى لحظة إنشاء الServer Process وهو يكون بين الUser Process والInstance ، فلكل User Process فى قاعدة البيانات Server Process خاص به هذا إذا كنا نعمل فى بيئة الDedicated Server أما إذا كنا نعمل فى بيئة الShared Server فالأمر يختلف قليلاً ، عموماً سنناقش هذا الامر لاحقاً .

3- Background Processes: - وهو موضوع نقاشنا فى هذه الفقرة وهى عبارة عن معالجات تعمل فى قاعدة البيانات بحيث تقوم بمهام مختلفة تبدأ العمل لحظة فتح الInstance ، وتنقسم الى قسمين:-


1- Mandatory: لا بد من عملها لحظة فتح الInstance .
2- Optional : وبدونها تستطيع الInstance العمل وهذا النوع يعمل فى بعض الاحوال التى يتم فيه تهيئة قاعدة البيانات للعمل على خيارات معينة .


Mandatory Processes 1.1.2.1:
ولا يمكن لقاعدة البيانات العمل دون هذه ال Processes ، وهى:-


1- System Monitor (SMON) :
وأقصى عدد لهذا الProcess فى قاعدة البيانات هو 1 ، ويقوم بعمل الاسترجاع (Recovery) إذا حصل مشكلة فى الInstance ، واذا كنا نعمل على البيئة (RAC) Real Application Clusters وهى عمل اكثر من Instance فى قاعدة البيانات الواحدة فإن الSMON فى الInstance السليمة يستطيع عمل Recovery للInstance الاخرى التى حدث فيها مشكلة .


         كذلك يستطيع الSMON عمل تنظيف للSegments المؤقتة التى لم يتم  استخدامها من فترة طويلة .

2- Process Monitor (PMON) :
وأقصى عدد لهذا الProcess فى قاعدة البيانات هو 1 ، ويقوم بعمل Recovery للProcess إذا حصلت مشكلة فى الUser Process ، كذلك يقوم تنظيف الDatabase Buffer Cache لإتاحة المصادر فى هذا الجزء من الذاكرة للProcess ، وكذلك يقوم بتسجيل المعلومات حول الInstance والDispatcher Processes ، وايضاً يقوم بعمل اختبار للDispatcher Processes والServer Processes ويقوم بعمل إعادة تشغيل فى حالة وجود مشكلة فيهم .


3- Log Writer (LGWR) :
وأقصى عدد لهذا الProcess فى قاعدة البيانات هو 1 ، ويقوم بعمل كتابة للبيانات الموجودة فى الRed Log Buffer ويكتبها فى الRedo Log Files ، ويقوم بهذه العملية فى الاحوال الاتية :-
1- لحظة عمل Commit .
2- كل ثلاث ثوانى .
3- عندما يمتلئ ثلث الRedo Log Buffer .
4- لحظة عمل DBWn ،سنناقش هذا لاحقاً .
كذلك االLGWR يقوم بكتابة التزامن للRedo Log Groups فإذا حدثت مشكلة فى Redo log File فإن الLGWR يقوم بإرسال خطأ لملف Alert Log .
ملاحظة : يجب الانتباه إلى أنه لحظة عمل Commit فإن الLGWR يقوم بكتابة البيانات المثبتة وغيرها الموجودة فى الRedo log Buffer إلى الRedo Log File .
نستفيد من عملية الLGWR فى الاسترجاع إذا حصلت مشكلة فى الInstance .


4- Database Writer (DBWn):
وأقصى عدد لهذا الProcess فى قاعدة البيانات هو 20 ، ويقوم بكتابة البيانات الموجودة فى الDatabase Buffer Cache للDatafiles ، ويمكن تهيئة قاعدة البيانات لتعمل بأكثر من DBWn حسب الحاجة واقصلى عدد 20 .والمتغير الذي يتحكم فى عدد هذا الProcess هو DB_WRITER_PROCESSES .


ويعمل هذا الProcess بكتابة البيانات الموجودة فى الDatabase Buffer Cache للDatafiles فى الحالات الاتية :-
1- لحظة حدوث الCheckpoint وسنتحدث عن ذلك لاحقاً .
2- كل ثلاث ثوانى .
3- لحظة حدوث الLog Switch وسنتحدث عنه لاحقاً .
4- لحظة إغلاق قاعدة البيانات .
5- لحظة وصول الBlock للقيمة المحددة .
6- لحظة إمتلاء الBuffer .
7- عند عمل الاتى :-
* Tablespace Offline
* Tablespace Read Only
* Table Drop or Truncate
* Tablespace Begin Backup


5- (CKPT) Checkpoint Process:


        وأقصى عدد لهذا الProcess فى قاعدة البيانات  هو 1 ،  ويقوم بالتأكد من أن كل التعديلات التى تتم على البيانات فى الBuffer تم كتابتها وتثبيتها فى الDatafiles ومن ثم يقوم بعمل تزامن كامل لكل الDatafiles ويقوم بعمل تعديل للDatafiles headers ؛ والControl files يتم تعديله عند اخر SCN ، بحيث يتم تزامن كامل لقاعدة البيانات ونضمن أنه يمكن استرجاع قاعدة البيانات فى حال حدوث مشكلة .

ويتم عمل الCKPT فى الحالات التالية :-
1- لحظة حدوث Log Switch.
2- عند وصول الزمن المحدد فى المتغير LOG_CHECKPOINT_TIMEOUT
3- عند ما يصل عدد الBLOCKS المحدد فى المتغير LOG_CHECKPOINT_INTERVAL

4- عند وصول عدد الBuffer المحدد فى المتغير FAST_START_IO_TARGET .
5- عند تنفيذ الاوامر التالية :-
SQL> ALTER SYSTEM SWITCH LOGFILE;
SQL> ALTER SYSTEM CHECKPOINT;


6- Recover (RECO) :
وأقصى عدد لهذا الProcess فى قاعدة البيانات هو 1 ، وستخدم هذا الProcess لمعالجة مشكلة العمليات الموزعة المعلقة نتيجة مشكلة فى الشبكة او النظام ، فبعد فترة محددة يقوم الProcess بمحاولة الاتصال عن بعد ومحاولة اكمال العملية أو التراجع عنها .


Optional Processes 1.1.2.2:
ويمكن لقاعدة البيانات العمل دون هذه الProcesses ولكثرة هذه الProcesses سنتطرق لاهمها :-
1- Archiver (ARCn) :
وأقصى عدد لهذا الProcess فى قاعدة البيانات هو 10 ، ويقوم بكتابة الOnline Red log Files فى ملف الارشيف (Archive Log Destination) بعد حدوث الLog Switch ، هذا الProcess يعمل إذا كانت قاعدة البيانات تعمل فى النمط Archive Log Mode , يتم التحكم فى عدد هذا الProcess عن طريق المتغير LOG_ARCHIVE_MAX_PROCESSES .


2- Recovery Writer(RVWR):
هذا الProcess تم استحداثه فى الاصدارة Oracle 10g نستفيد من هذا الProcess عند عملية الFlashback Database ، سنناقش هذا الموضوع لاحقاً .


3- Lock Monitor (LMON).
4- Lock Manager DAEMON .
5- (LCKn) Lock Process .
6- Block Server Process (BSPn) .
7- َQueue Monitor (QMNn) .
8- Event Monitor (EMNn) .
9- ٍShared Server Processes (Snnn) .
10-Memory Manager (MMAN) .
11-Parallel Execution slaves (Pnnn).
12- Trace Writer (TRWR) .
13- DMON .
14- Dispatcher (Dnnn) .
15- MMON .
16- Wakeup Monitor Process (WMON) .
17- Memory Monitor Light (MMON) .
18- RBAL .
19- ARBx .
20- ASMB .
21- Change Tracking Writer (CTWR) .
22- Job Queue Monitoring (CJQn) .


Oracle Database 1.2:


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

Oracle Database server = Oracle Instance + oracle Database
ويحتوى هذا الجزء من مجموعة من الملفات :-
1- Control files :-
وهو الملف المسؤل عن التزامن فى قاعدة البيانات بجانب انه يحتوى عن المعلومات الاساسية عن قاعدة البيانات كإسم قاعدة البيانات وبدونه لا تعمل قاعدة البيانات إذ أنه يحتوى على مسارات ملفات قاعدة البيانات وإذا تمت إضافة ملف فى قاعدة البيانات يتم تحديث الControl file اوتومتيكياً .


2- Redo log files :-
ويستخدم هذا الملف حتى نستطيع عمل إسترجاع لقاعدة البيانات (Recover) فى حالة حدوث مشكلة فى قاعدة البيانات ، إذ أنه يحفظ التغيرات التى تحدث فى قاعدة البيانات .
يتم تحديد هذا الملف عند فتح قاعدة البيانات عن طريق الParameter file ، ولحمايته من الفقدان يجب استخدام اكثر من نسخة من هذا الملف عن طريق تحديد هذه النسخ فى ملف الParameter file .


3- Database files :-
وهو المخزن الحقيقى للبيانات فى قاعدة البيانات أى أنه يحتوى على الجداول والمناظير والمراجع (Table & Views & Indexes ) والكائنات الاخرى .


4- Archived redo log files :-
وهو عبارة عن نسخة من ال Redo log files ونحتاجه أيضاً عند عمل إسترجاع لقاعدة البيانات (Recover) .


5- الملفات الأخرى:-
* Parameter file ويستخدم لعمل تهيئة للOracle Instance لحظة تشغيلها
* Password fileويسمح هذا الملف للمستخدمين الأتصال بقاعدة البيانات عن

بعد كمدراء لقاعدة البيانات ، وليس لتخزين كلمات السر للمستخدمين فى قاعدة البيانات كما يتصور البعض .
Tablespace and Data File:-


وهنا لابد من الحديث إلى انه يمكن تقسيم قاعدة البيانات الى (Physical & Logical) :


Physical: حيث يمكن التعامل مع هذا النوع سواء كانت قاعدة البيانات مفتوحة أو مغلقة بحيث يمكن التعامل مع هذا النوع عن طريق نظام التشغيل أو عن طريق قاعدة البيانات.


Logical: ولا نستطيع التعامل مع هذا النوع إلى أذا كانت قاعدة البيانات مفتوحة.


Tablespace and Data File:-


قاعدة البيانات فيزيائياً تتقسم إلى ملفات تخزينية يمكن أن تشاهد عن طريق نظام التشغيل وهى ملفات الData files ، وكذلك قاعدة البيانات تنقسم إلى وحدات تخزين منطقية (Logical) وتسمى هذه الوحدات Tablespace .


الTablespace وهو وحدة منطقية يحتوى على Data file واحد أو أكثر وكل Data file ينتمى فى الحقيقة إلى Tablespace واحد .
يمكن إنشاء Bigfile Tablespaces بحيث يحتوى على ملف Data file واحد ولكن كبير جداً بحيث يكون اكبر من 4GB .
الTablespace يتكون من مجموعة من الوحدات المنطقية الاصغر وهى تسمى Segments وهى وحدات منطقية يتكون منها الTablespace بحيث تنتمى الSegment لTablespace واحد فقط وهى تتكون من مجموعة من الوحدات المنطقية الأصغر التى تسمى Extents وهى ايضاً وحدات منطقية تنتمى كل Extent لSegment واحد وتتكون أيضا الExtents من مجموعة أخرى أصغر وهى أصغر وحدة منطقية تسمى الBlocks .
وعند إنشاء قاعدة البيانات يتم تحديد حجم الBlock لقاعدة البيانات ، ويمكن أن يكون حجم الBlock 3BK او 5BK أو غيره وأكبر حجم للBlock يتوقف على نظام التشغيل ، وقبل الاصدار Oracle 9i Release كانت قاعدة البيانات تعمل على حجم واحد للBlock وابتداءً من الإصدار Oracle 9i Release أمكن لقاعدة البيانات العمل بأحجام مختلفة من اللBlock


ولنفترض السناريو الاتى :-


فانفترض أن هذا الشكل يمثل Tablepace يسمى Users . هذا الTablespace يحتوى على ملفين من الData file ( (D1&D2هذا الTablespace يحتوى على مجموعة من الSegments (T1&T2&T3) الSegment الاول T1 مقسم إلى مجموعة من الExtents وكل Extent بالطبع مكون من مجموعة من الBlocks ، نلاحظ هنا أن الSegment T1 يمتد على كل من الملفين (D1&D2) أى أن جزء من الSegment فى الملف D1 والجزء الاخر فى الملف D2 لكن فى الوقت نفسه هو ينتمى لTablespace واحد .


قبل نهاية هذا الباب فلنتابع معاً هذا السناريو وهو يوضح خطوات عمل قاعدة البيانات :


1- الInstance تعمل على المخدم (Server).
2- فى هذه المرحلة المستخدم يحاول الاتصال بقاعدة البيانات عن طريق الApplication أو أحد أدوات قواعد البيانات.
3- فى هذه اللحظة تم التحقق من طلب المستخدم وتم إنشاء الاتصال وتكوين Server Process.


4- هنا المستخدم طلب تعديل صف .
5- الServer Process يستقبل هذا الطلب ويقوم بعمل اختبار للShared Pool هل هذا الطلب موجود فى الShared SQL Area إذا كان موجود يقوم بالتأكد من أن للمستخدم صلاحية الوصول لهذا البيانات ، اما إذا كان هذا الطلب غير موجود يقوم بإنشاء Shared SQL Area جديد .
6- فى هذه المرحلة يقوم الServer Process بجلب البيانات المطلوبة من الData file من الجدول أو من الData Block المخزنة فى الSGA .
7- بعد جلب البيانات هنا يقوم الServer بتعديل الجدول فى الSGA .
8- لحظة عمل Commit يقوم الLGWR بكتابة العملية فى الRedo Log File .
9- يقوم الDBWn بكتابة التعديلات فى الDisk اى فى الData File .
10- اخيراً يرسل الServer Process يرسل رسالة بنجاح أو فشل العملية .


النقاط الرئيسية التى سنناقشها فى هذا الباب :-
• فهم الشروط الضرورية لإنشاء قاعدة البيانات .
• إنشاء قاعدة بيانات بالطريقة اليدوية .
• إنشاء قاعدة البيانات بالأداة DBCA .


من أهم مهام مدير قاعدة البيانات هو التخطيط لقاعدة البيانات ، إذ لا يتصور مديراً ناجحاً لقاعدة البيانات لا يخطط بصورةٍ ما لقاعدة بياناته ، فما نوع البيانات التى سوف نخزنها فى كل Tablespace وكم Data file فى كل Tablespace وكيف سيتم  تخزين ملفات قاعدة البيانات فيزيائياً على الديسك ، وكيف سيتم عمل نسخ احتياطى لقاعدة البيانات ، وكيف نحافظ على قاعدة البيانات ، وكيف نستطيع  رفع الأداءة فى قاعدة البيانات  وغيرها من الاسئلة التى يجب ان تجد لها جواباً .

بعد ذلك يجب أن نحدد ما نحتاجه من الذاكرة والديسك المناسب حسب متطلبات قاعدة البيانات وعموما يجب وضع هذه الاعتبارات عند إنشاء قاعدة البيانات .
فى الحقيقة يمكن إنشاء قاعدة البيانات أثناء إنزال الاوركل عن طريق الOUI (Oracle Universal Installer) وذلك بواسطة الاداة DBCA ولكن قد نحتاج لإنشاء قاعدة بيانات أخرى ،.


عند إنشاء قاعدة بيانات اوركل يجب مراعاة النقاط الاتية:-
1- كم عدد الApplication التى تعمل على قاعدة البيانات .
2- عدد المستخدمين إذ نحتاج وضع المتغير process فى ملف المتغيرات (parameter file) .
3- مساحة الذاكرة SGA فهذه الذاكرة مطلوبة لعمل الInstance وهى لا تقبل المشاركة بين أكثر من Instance أى لكل Instance ذاكرة SGA خاصة بها .
4- كذلك الBlock_Size الذى يعتمد عليه الRow_Size .
5- هل يمكن إغلاق قاعدة البيانات لعمل النسخ الإحتياطى .


1- إنشاء قاعدة البيانات بالطريقة اليدوية (Manually) :


قبل البدء يجب الإشارة إلى أننا سنستخدم نظام التشغيل windows .


1- تحديد اسم الInstance (ORACLE_SID) :- فقد يكون هناك أكثر من Oracle Instance فى الجهاز الواحد وذلك باستخدام المتغير ORACLE_SID . اسم الInstance هنا OBAY .


2- إنشاء Oracle Service وذلك لأننا نعمل على نظام التشغيل WINDOWS إذ نحتاج للService لكل Instance تعمل فى نظام التشغيل WINDOWS ولا يلزمنا ذلك فى نظام التشغيل LINUX .
وهى بإختصار عبارة عن SERVICE يتم إنشاؤها فى الWINDOWS .


يمكن التحقق من الإنشاء عن طريق نظام التشغيل بالذهاب الى الٍServices .


3- إنشاء ملف المتغيرات (Parameter File) :- وذلك بنسخ الملف من المسار التالى :


اما إذا كنا نعمل على نظام التشغيل لينكس (UNUX) فإن المسار سيكون : ORACLE_HOME/DB$
نتابع الخطوات السابقة :


بالطبع نحتاج لتعديل ملف المتغيرات حسب المعطيات الجديدة ، على سبيل المثال :-


4- تشغيل الInstance فى الوضع NOMOUNT


5- الان نقوم بإنشاء قاعدة البيانات


كما ذكرت سابقاً أنت تستطيع إنشاء قاعدة البيانات حسب متطلباتك الخاصة وليست فقط كما هو مذكور فى النموزج أعلاه , لكن لابد من إنشاء (SYSTEM & SYSAUX TABLESPACE ) .
إذا حدث خطأ اثناء إنشاء قاعدة البيانات فإن الخطأ سيكتب فى الملف Alert Log الموجود فى المسار المحدد فى ملف المتغيرات بالمتغير الBACKGROUND_DUMP_DEST .


أما إذا ظهرت الرسالة ORA-01031 اثناء إنشاء قاعدة البيانات فهذا يعنى ان مستخدم نظام التشغيل ليس عضواً فى المجموعة ORA_DBA فيجب إضافته فى المجموعة .


بعد إنشاء قاعدة البيانات يمكن تشغيلها فى الوضع MOUNT او فتحها للإستخدام .


6- إنشاء الData Dictionary :- وذلك من خلال تشغيل الملف فى المسار التالى :-


ولكن يجب تشغيل الملف على المستخدم SYS .


كذلك نشغل الملف على المسار التالى :-


وذلك لإنشاء كل الStructures المطلوبة لعمل PL/SQL .


لا يختلف الامر كثيراً عند إستخدام نظام التشغيل (UNIX)


2- إنشاء قاعدة البيانات عن طريق ال(DBCA) :
وهى أداة اصدرتها اوركل لعدة اغراض :-
1- إنشاء قاعدة البيانات .
2- إعادة تهيثة قاعدة البيانات .
3- حذف قاعدة البيانات .
4- إنشاء قوالب لقاعدة البيانات (Templates) .


نتابع خطوات إنشاء قاعدة بيانات اوركل عن طريق الأداة

DATABASE CONFIGURATION ASSISTANT (DBCA)


هنا الخيارات المتاحة للمستخدم ، سنختار بالطبع الخيار الاول إنشاء قاعدة بيانات .
إذا اخترت الخيار الثانى سيعرض لى قواعد البيانات الموجودة عندى ومن ثم اختار قاعدة البيانات المراد إعادة تهيئتها ، وبعد ذلك سيعرض لى بعض الخيارات لإعادة تهيئتها .
الخيار الثالث بالطبع استطيع من خلاله خذف قاعدة البيانات ، فقط ما على إلا أن اختار قاعدة البيانات المراد حزفها .
الخيار الاخير هو إما لأنشاء قالب جديد وهو القالب الذى ستكون عليه قاعدة البيانات (Template) أو حذف قالب موجود .


فى هذه الخطوة نختار القالب (Template) الذى يتناسب مع مع متطلباتنا إذا لم يوجد نستطيع إنشاء قالب بالخيار الرابع (Manage Template) .
ولنفترض أننا اخترنا القالب General Purpose .


نختار هنا اسم قاعدة البيانات واسم الInstance (SID) وليس بالضرورى أن يكون نفس الاسم .


هنا بعض الخيارات كعمل نسخ احتياطى كل فترة معينة او تشغيل الايميل للإرسال والإستقبال .


يمكن عمل كلمة سر واحدة لكل المستخدمين كما فى الخيار الاول ويمكن تحديد كلمة سر لكل مستخدم كما فى الخيار الثانى .


هنا نحدد طريقة تخزين الملفات ،وقد اخترنا الطريقة الاولى وهى ادارة الملفات عن طريق نظام التشغيل.
الطريقة الثانى هى طريقة تخزين وإدارة الية ولها ميزات سنتعرف عليها لاحقاً .


نختار هنا مكان تخزين ملفات قاعدة البيانات . ولنفترض هنا الخيار الاول وهو يعنى التخزين حسب ما هو محدد فى القالب الذى اخترناه والذى كان General Purpose .


يمكن فى هذه الخطوة أن نحدد Flash Recovery Area وهى مكان لتخزين وإدارة عمليات النسخ الاحتياطى والاسترجاع وسنتحدث عنها لاحقاُ , كما يمكن تشغيل الارشيف كما سنعرف لاحقاً .
كما يمكن مشاهدة بعض المتغيرات والمعلومات عن قاعدة البيانات بالذهاب الFile Location Variables .


هنا يمكن إنشاء نموزج للSchema للتدريب .


فى هذه الشاشة يمكن أن نغير فى حجم الذاكرة ونحدد حجم الBlock لقاعدة البيانات وغيرها من المتغيرات الموجودة فى ملف المتغيرات .


هنا يمكن مشاهدة اماكن تخزين ملفات قاعدة البيانات .


نختار هنا الخيار الاول لانشاء قاعدة البيانات ، كما يمكن حفظ خطوات انشاء قاعدة البيانات كقالب وذلك باختيار الخيار الثانى .
عند الضغط على الخيار Finish تظهر الصفحة التالية :-


وهى عبار عن تفاصيل ومعلومات عن قاعدة البينات التى نريد إنشاءها بالطبع يمكن حفظها بالضغط على الخيار حفظ .


انتظر قليلاً حتى ينتهى أنشاء قاعدة البيانات .


فى الباب السابق قمنا بإنشاء قاعدة البيانات وسنناقش فى هذا  الفصل كيفية التحكم فى قاعدة البيانات  ، وهو امر مهم لمدير قاعدة البيانات .
تخيل أنك مدير لقاعدة بيانات عملاقة ، يتتطلب منك الامرأن تكون هذه القاعدة متاحة للجميع حتى زمن محدد بعد هذا الوقت تكون متاحة لعدد معين للمستخدمين ، هذا العدد من المستخدمين بعد زمن اخر يستطيع فقط القراءة أى لا يستطيع الكتابة والتعديل ولا المسح .
هل تخيلت معى العمل الذى ينتظرك ؛ بالطبع عملاً كبيراً لكن ليس صعباً إذا عرفت ماذا تريد أن تفعل بالضبط .

والان اول ما يجب أن تعرفه أنك تستطيع أن تتحكم فى قاعدة البيانات إذا كانت تعمل فى نظام التشغيل ويندوز عن طريق الServices وهناك عدة خيارات أولاً STOP لإيقاف العمل وكذلك START للتشغيل وايضاً RESTART لإعادة التشغيل وكذلك هنا خيارات اخرى مثلاً (& Manual Disabled & (Automatic.
Automatic: والمعنى أنه لحظة تشغيل نظام التشغيل تعمل الServices الياً إذا كانت فى الخيار START.
Manual: وهى أن تقوم بعمل تشغيل يدوى للServices بعد تشغيل نظام التشغيل.
Disabled: والمعنى إيقاف عمل الServices مهما كان حالتها.


ملف المتغيرات (Initialization Parameter File):
وهذا الملف شأنه عجيب إذ لا تعمل قاعدة البيانات دون هذا الملف لذا كان لزاماً أن نتحدث عنه فى هذا الفصل فهو اول ملف تحتاجه قاعدة البيانات عند تشغيلها ، فهو يحتوى على إسم قاعدة البيانات وكذلك اسم ومكان الControl Files وايضاً عن طريقه تتهيأ الذاكرة (SGA) .
فلحظة تشغيل قاعدة البيانات يتم قراءة هذا الملف فيتم تكوين الذاكرة ويتم معرفة اسم ومكان ملف الControl Files.
وهذا الملف قد يكون :-




  1. Static Parameter File (PFILE): ويكون اسمه (initSID.ora) ، حيث الSID هو اسم الInstance.
    وهو ملفى نصى نستطيع أن نجرى عليه التغيرات التى نحتاجها ثم نحفظه وذلك عن طريق نظام التشغيل ، ولكى يحدث التاثير فى قاعدة البيانات لابد من إغلاقها وفتحها من جديد .
    وهذا نموزج لملف PFILE :




  2. Persistent Parameter File (SPFILE): يكو ن اسمه spfileSID.ora ، حيث الSID هو اسم الInstance ، وهو ملف ثنائى لا نستطيع التغيير فيه إلى عن طريق الاوركل بواسطة الامر :-




وقد لا نحتاج لإعادة تشغي قاعدة البيانات حتى تحدث التأثيرات وذلك حسب العامل SCOPE .


Summarize English and Arabic text online

Summarize text automatically

Summarize English and Arabic text using the statistical algorithm and sorting sentences based on its importance

Download Summary

You can download the summary result with one of any available formats such as PDF,DOCX and TXT

Permanent URL

ٌYou can share the summary link easily, we keep the summary on the website for future reference,except for private summaries.

Other Features

We are working on adding new features to make summarization more easy and accurate

Latest summaries

أعلنت القوات ال...

أعلنت القوات المسلحة، اليوم الأحد، تنفيذ 756 عملية استهداف نوعية ودقيقة ضد مواقع وعناصر وقدرات عسكري...

دخل تركي ناظره ...

دخل تركي ناظره فهد : خذه للتوقيف لين نخلص تحقيق ، ولف ع سلطان وبـ ابتسامه ساخره : إذا طلعت من هنا فك...

تهدف الندوة إلى...

تهدف الندوة إلى تحويل "صدمة الحرب" إلى "فرصة استراتيجية" لإعادة بناء مفهوم الأمن الخليجي. فبعد أن أث...

تخيل أنك تعيش ف...

تخيل أنك تعيش في العالم القديم، قبل أكثر من ألفي عام، وتسمع أن جيشًا غريبًا قادم من بعيد، يقوده قائد...

يمثل الذكاء الا...

يمثل الذكاء الاصطناعي مرحلة متقدمة في مسار التحول الرقمي، لأنه لا يقتصر على رقمنة الإجراءات، بل يسمح...

ا ليتك صدقتني ....

ا ليتك صدقتني .. يا طارق صالح المستشار محمد المسوري ٢٦ سبتمبر ٢٠٢٦م في ديسمبر ٢٠٢٤م في الرياض كان...

أكدت عدد من منظ...

أكدت عدد من منظمات المجتمع المدني، أن التصعيد المتواصل والانتهاكات الجسيمة لمليشيا الحوثي، أدى إلى ت...

يتناول النص سير...

يتناول النص سيرة وجهود العالمة المغربية مارسيليا ألفرنسيس (التي أُشير إليها في بعض المواضع باسم سارة...

أكد مدير عام مك...

أكد مدير عام مكتب وزارة الشؤون الاجتماعية والعمل في العاصمة عدن، المستشار أرسلان أحمد السقاف، أن توح...

مسك فهد ببرود ا...

مسك فهد ببرود الملف للي فيه قضيه سلطان وفتحته وبدأ يقرأ بصوت عالي : سلطان بن سعود بن فهد متهم بحياز ...

[ إِنَّهُمْ يَر...

[ إِنَّهُمْ يَرَوْنَهُ بَعِيدًا وَنَرَاهُ قَرِيبًا ] لايك قبل م تقرين 🤍 { Part : 2 } امر فهد تركي...

الطبيعة هي الحي...

الطبيعة هي الحياة و الحياة هي الطبيعة علينا الحفاض عليها من حرائق بالتشجير واغرس النباتات واحافض علا...

Tech news