الكتاب العربى لإدارة قاعدة البيانات اوركل

257

Click here to load reader

Upload: api-3731004

Post on 27-Jul-2015

601 views

Category:

Documents


28 download

TRANSCRIPT

Page 1: الكتاب العربى لإدارة قاعدة البيانات اوركل

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

االول الجزء

Obay Salah Mirgani (Oracle 10 g DBA OCP )

[email protected]

1

Page 2: الكتاب العربى لإدارة قاعدة البيانات اوركل

الفهرس

المسلسل

الصفحةالموضوع

3اإلهداء1

4المقدمة2

أوركل 3 البيانات قاعدة مكوناتOracle Architectural Components

6

أوركل 4 البيانات قاعدة إنشاءCreating an Oracle Database

27

البيانات 5 قاعدة فى التحكمControlling the Database

47

6Managing Tablespaces and Data files63

7Control File & Redo Log Files79

المستخدمين 8 إدارة0ِAdministering Users

100

البيانات 9 قاعدة ومراقبة تأمين0ِOracle Database Security & Monitoring

126

10Oracle Net Services & Database Link & metrlized View160

11Undo Management & Flashback Technology189

2

Page 3: الكتاب العربى لإدارة قاعدة البيانات اوركل

اإلهداء

نا رِحـــابك إلى =حــرق تكاد رسائلنا د7بًج7 اشواقنا من تلهبا

الدمــع بعثنا قد وقبلهااحرفنا اهديناك الحرف قارئ يامنسكبا

7 7 محبتنا ترضـى فهل إليك شوقا القلب بعثنا قد وإال مهراوالهدبا

الشعر كتبنا دمانا ومنكتبوا قد الحــبر بمداد فغيرناوالخطبا

3

Page 4: الكتاب العربى لإدارة قاعدة البيانات اوركل

المقدمة

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

اليها اصل أن تعودت التى الشاردة المعلومة فيه فأجد بيدى خططته وقد مره كل له اعودعميق. بحث بعد

وبأقل الطرق بأسط البيانات قاعدة إدارة فى مهامك تنًجز هكذا لك يقول الكتاب هذا7كلف ودون جهد ؛ بسيط سهل بإسلوب العلمية المادة فيه اتناول أن حاولت ، تعقيد او ت

7 فكنت 7 ، والمضمون الفكرة فى الرتباطهما واحد فصل فى مواضيع عدة أجمع احيانا واحيانا7 اقدم =رجئ واحيانا واقيم. افيد المعلومة تكون حيث الى ا

االول ، شكلين فى طرحته فقد ، والنصيب الحظ او7فر له فكان العملى الًجانب أما شاء متى تعديلها او وتنفيذها نسخها القارئ يستطيع بحيث قوالب فى العملية النصوص كتابة

طرح. من بأكثر الفكرة لك لتثبتSQL*PLUSال محرر على النصوص لتنفيذ صور والثانى ،

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

7 يديك بين يكون سوف والذى الكتاب من الثانى االعمار. فى لنا الله ام7د لو قريبا

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

واالخره.

)لباشا( ميرغنى صالح أبى كتبه

4

Page 5: الكتاب العربى لإدارة قاعدة البيانات اوركل

5

Page 6: الكتاب العربى لإدارة قاعدة البيانات اوركل

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

7 عملها وطريقة تكوينها نفهم حتى ستيعابهاإ . أوال

07

6

Page 7: الكتاب العربى لإدارة قاعدة البيانات اوركل

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

7

Oracle Instance Oracle Database

Page 8: الكتاب العربى لإدارة قاعدة البيانات اوركل

Oracle Instance 1.1 :

8

Page 9: الكتاب العربى لإدارة قاعدة البيانات اوركل

:- اعاله الشكل فى كما رئيسيين جزئين من تتكون وهى Memory StructureBackground Processes

Memory Structure 1.1.1 :

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

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

System Global Area (SGA) 1.1.1.1 :

7 وتسمى للمعلومات يخصص الذاكرة من جزء وهىShared Global Area ايضا

على وتحتوى ، البيانات قواعد مستخدمى لًجميع ومتاحة مشتركة تكون التى Virtualال فى تتكون وهىOracle Serverال قبل من تستخدم التى التحكم معلوماتMemoryال فتح لحظة وتتكونInstance، بواسطة يتحدد الذاكرة هذه ومقاس

ذاكرة وهى ( ،Parameter File) المتغيرات ملف فىSGA_MAX_SIZE المتغيرDynamicقسمين من تتكون وهى البيانات قاعدة إغالق دون مقاسها تغيير يمكن أى

-:1 -Mandatory Memory

9

Page 10: الكتاب العربى لإدارة قاعدة البيانات اوركل

2 -Optional Memory

: Mandatory Memory1 -Shared Pool: المتغير بواسطة الذاكرة هذه مقاس فى التحكم ويتم

SHARED_POOL_SIZE، جزئين على وتحتوى : 1 -Library Cache

2 -Data Dictionary Cache2 -Database Buffer Cache : الذاكرة من الًجزء هذا مقاس فى التحكم ويتم

.DB_CACHE_SIZE المتغير بواسطة

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

LOG_BUFFER.

: Optional Memory 1 -Large Pool2- Java Pool3- Streams Pool

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

Simple DescriptionsAreas Of InfluenceSize Controlled BySGA Component

ALTER SYSTEM SET DB_CACHE_SIZE = 96M;

10

Page 11: الكتاب العربى لإدارة قاعدة البيانات اوركل

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_SIZEShared 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 entriesLOG_BUFFERRedo 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_SIZEDB_4K_CACHE_SIZEDB_8K_CACHE_SIZEDB_16K_CACHE_SIZEDB_32K_CACHE_SIZEDB_KEEP_CACHE_SIZEDB_RECYCLE_CACHE_SIZE

Database Buffer Cache

Oracle 6 thru 10g

For large memory allocations

*Shared server *Oracle XA

I/O Server ProcessesBackup & Restore

LARGE_POOL_SIZELarge Pool

Form Oracle 8iMemory available for the java memory manager to use for all things Java

*Run stats*Methods

*Classes*Session code

Data in JVM

JAVA_POOL_SIZEJava Pool

From Oracle 8i

New to Oracle 10g Memory available for Stream Processing

*Stream activitySTREAMS_POOL_SIZEStreams Pool

From Oracle 10g

11

Page 12: الكتاب العربى لإدارة قاعدة البيانات اوركل

عن او ( ،Parameters File) المتغيرات ملف فى بالنظرSGAال مقاس معرفة يمكن:- التالى االمر كتابة طريق

SQL> SHOW SGA

Related Views: *V$SGA

Program Global Area (PGA) 1.1.1.2:7 وتسمى ال خارج يتكون الذاكرة من جزء وهوProcess Global Area أيضا

Instanceلل خاصة معلومات على يحتوى وهوServer Processهذا ويتكون الحالى Serverال إنتهاء لحظة وتنتهىServer Processال إنشاء لحظة الذاكرة من الًجزء

Processلكل أى المتصلين لباقى متاحة ليس الًجزء . وهذا Server Processقاعدة فى أجزاء ثالثة على تحتوى .وهى به خاصة معلومات على تحتوى به خاصة PGA البيانات

-:1 -Private SQL Area 2 -Session Memory3 -SQL Work Area

1.1.2 Background Processes

12

Page 13: الكتاب العربى لإدارة قاعدة البيانات اوركل

انواع ثالثة هناك بأن الذكر من بد ال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 7 يختلف فاألمر 7 ، قليال 7 االمر هذا سنناقش عموما . الحقا

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

قسمين:- الى وتنقسم ،Instanceال

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

. معينة خيارات على للعمل البيانات قاعدة تهيئة فيه يتم التى االحوال

13

Page 14: الكتاب العربى لإدارة قاعدة البيانات اوركل

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

1 -System Monitor (SMON) :

14

Page 15: الكتاب العربى لإدارة قاعدة البيانات اوركل

بعمل ويقوم ،1 هو البيانات قاعدة فىProcessال لهذا عدد وأقصى البيئة على نعمل كنا واذا ،Instanceال فى مشكلة حصل ( إذاRecovery) االسترجاع

(RAC )Real Application Clustersمن اكثر عمل وهى Instanceالبيانات قاعدة فى للRecovery عمل يستطيع السليمةInstanceال فى SMONال فإن الواحدة

Instanceمشكلة فيها حدث التى االخرى .

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

2 -Process Monitor (PMON): بعمل ويقوم ،1 هو البيانات قاعدة فىProcessال لهذا عدد وأقصى

Recovery لل Processال فى مشكلة حصلت إذاUser Process، تنظيف يقوم كذلك ،Processلل الذاكرة من الًجزء هذا فى المصادر إلتاحةDatabase Buffer Cacheال

Dispatcher Processes، 7 والInstanceال حول المعلومات بتسًجيل يقوم وكذلك وايضا إعادة بعمل ويقوم Server Processes والDispatcher Processesلل اختبار بعمل يقوم

. فيهم مشكلة وجود حالة فى تشغيل

3 -Log Writer (LGWR): كتابة بعمل ويقوم ،1 هو البيانات قاعدة فىProcessال لهذا عدد وأقصى

ويقوم ،Redo Log Filesال فى ويكتبهاRed Log Bufferال فى الموجودة للبيانات:- االتية االحوال فى العملية بهذه

.Commit عمل لحظة-1. ثوانى ثالث كل-2 .Redo Log Bufferال ثلث يمتلئ عندما-37 هذا ،سنناقشDBWn عمل لحظة-4 . الحقا

فى مشكلة حدثت فإذا Redo Log Groupsلل التزامن بكتابة يقومLGWRاال كذلكRedo log File ال فإنLGWRلملف خطأ بإرسال يقوم Alert Log.

بكتابة يقومLGWRال فإنCommit عمل لحظة أنه إلى االنتباه : يًجب مالحظة .Redo Log Fileال إلىRedo log Bufferال فى الموجودة وغيرها المثبتة البيانات .Instanceال فى مشكلة حصلت إذا االسترجاع فىLGWRال عملية من نستفيد

4 -Database Writer (DBWn): البيانات بكتابة ويقوم ،20 هو البيانات قاعدة فىProcessال لهذا عدد وأقصى

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

.DB_WRITER_PROCESSES هوProcessال هذا عدد

للDatabase Buffer Cacheال فى الموجودة البيانات بكتابةProcessال هذا ويعمل Datafilesاالتية الحاالت فى -:

7 ذلك عن وسنتحدثCheckpointال حدوث - لحظة1 . الحقا. ثوانى ثالث - كل2

15

Page 16: الكتاب العربى لإدارة قاعدة البيانات اوركل

7 عنه وسنتحدثLog Switchال حدوث - لحظة3 . الحقا. البيانات قاعدة إغالق - لحظة4. المحددة للقيمةBlockال وصول - لحظة5 .Bufferال إمتالء - لحظة6:- االتى عمل - عند7

*Tablespace Offline *Tablespace Read Only

*Table Drop or Truncate *Tablespace Begin Backup

5 -)CKPT( Checkpoint Process:

أن من بالتأكد ويقوم ،1 هو البيانات قاعدة فىProcessال لهذا عدد وأقصى Datafilesال فى وتثبيتها كتابتها تمBufferال فى البيانات على تتم التى التعديالت كل

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

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

المتغير فى المحددBLOCKSال عدد يصل ما - عند3 LOG_CHECKPOINT_INTERVAL

.FAST_START_IO_TARGET المتغير فى المحددBufferال عدد وصول - عند4 :- التالية االوامر تنفيذ - عند5

SQL> ALTER SYSTEM SWITCH LOGFILE;SQL> ALTER SYSTEM CHECKPOINT;

16

Page 17: الكتاب العربى لإدارة قاعدة البيانات اوركل

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

اكمال ومحاولة بعد عن االتصال بمحاولةProcessال يقوم محددة فترة فبعد ، النظام. عنها التراجع أو العملية

Optional Processes 1.1.2.2: Processesال هذه ولكثرةProcessesال هذه دون العمل البيانات لقاعدة ويمكن

:- الهمها سنتطرق1 -Archiver (ARCn):

ال بكتابة ويقوم ،10 هو البيانات قاعدة فىProcessال لهذا عدد وأقصى Online Red log Filesاالرشيف ملف فى (Archive Log Destinationبعد ) ال حدوث

Log Switch، ال هذاProcessالنمط فى تعمل البيانات قاعدة كانت إذا يعمل Archive Log Modeال هذا عدد فى التحكم , يتمProcessالمتغير طريق عن

LOG_ARCHIVE_MAX_PROCESSES.

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

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).

17

Page 18: الكتاب العربى لإدارة قاعدة البيانات اوركل

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 :

7 ذكرنا كما اوركل البيانات قاعدة مكونات من الثانى الًجزء وهو :- سابقاOracle Database server = Oracle Instance + oracle Database

:- الملفات من مًجموعة من الًجزء هذا ويحتوى1 -Control files -:

يحتوى انه بًجانب البيانات قاعدة فى التزامن عن المسؤل الملف وهو تعمل ال وبدونه البيانات قاعدة كإسم البيانات قاعدة عن االساسية المعلومات عن

إضافة تمت وإذا البيانات قاعدة ملفات مسارات على يحتوى أنه إذ البيانات قاعدةControl file7ال تحديث يتم البيانات قاعدة فى ملف . اوتومتيكيا

2 -Redo log files -:) البيانات لقاعدة إسترجاع عمل نستطيع حتى الملف هذا ويستخدم

Recoverالتى التغيرات يحفظ أنه إذ ، البيانات قاعدة فى مشكلة حدوث حالة ( فى . البيانات قاعدة فى تحدث

ولحمايته ،Parameter fileال طريق عن البيانات قاعدة فتح عند الملف هذا تحديد يتم هذه تحديد طريق عن الملف هذا من نسخة من اكثر استخدام يًجب الفقدان من

.Parameter fileال ملف فى النسخ

3 -Database files-: على يحتوى أنه أى البيانات قاعدة فى للبيانات الحقيقى المخزن وهو

. االخرى ( والكائنات Table & Views & Indexes) والمراجع والمناظير الًجداول

4 -Archived redo log files-:

18

Page 19: الكتاب العربى لإدارة قاعدة البيانات اوركل

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

:- األخرى الملفات- 5 *Parameter fileلل تهيئة لعمل ويستخدمOracle Instanceلحظة

تشغيلها * Password fileبقاعدة األتصال للمستخدمين الملف هذا ويسمح

عن البيانات قاعدة فى للمستخدمين السر كلمات لتخزين وليس ، البيانات لقاعدة كمدراء بعد

. البعض يتصور كما البياناتTablespace and Data File-:

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

19

Page 20: الكتاب العربى لإدارة قاعدة البيانات اوركل

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

البيانات. قاعدة

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

Tablespace and Data File-:

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

.Tablespace الوحدات هذه ( وتسمىLogical) منطقية تخزين

20

Page 21: الكتاب العربى لإدارة قاعدة البيانات اوركل

Data file وكل أكثر أو واحدData file على يحتوى منطقية وحدة وهوTablespaceال. واحدTablespace إلى الحقيقة فى ينتمى كبير ولكن واحدData file ملف على يحتوى بحيثBigfile Tablespaces إنشاء يمكن

7 . 4GB من اكبر يكون بحيث جدا تسمى وهى االصغر المنطقية الوحدات من مًجموعة من يتكونTablespaceال

Segmentsال منها يتكون منطقية وحدات وهىTablespaceال تنتمى بحيثSegment األصغر المنطقية الوحدات من مًجموعة من تتكون وهى فقط واحدTablespaceل

7 وهىExtents تسمى التى واحدSegment لExtent كل تنتمى منطقية وحدات ايضا تسمى منطقية وحدة أصغر وهى أصغر أخرى مًجموعة منExtentsال أيضا وتتكون

.Blocksال أن ويمكن ، البيانات لقاعدةBlockال حًجم تحديد يتم البيانات قاعدة إنشاء وعند نظام على يتوقفBlockلل حًجم وأكبر غيره أو5BK اوBlock 3BKال حًجم يكون

حًجم على تعمل البيانات قاعدة كانتOracle 9i Release االصدار وقبل ، التشغيل العمل البيانات لقاعدة أمكنOracle 9i Release اإلصدار من وابتداءBlock7لل واحد

Blockالل من مختلفة بأحًجام

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

21

Page 22: الكتاب العربى لإدارة قاعدة البيانات اوركل

!D

2D2T 2T 2T

1T 1T 1T 1T 1T 1T

3T 3T 3T

يحتوىTablespaceال . هذاUsers يسمىTablepace يمثل الشكل هذا أن فانفترض من مًجموعة على يحتوىTablespaceال هذاData file ( (D1&D2ال من ملفين على

ال من مًجموعة إلى مقسمT1 االولSegment الSegments (T1&T2&T3)الExtents وكل Extentال من مًجموعة من مكون بالطبعBlocks ، ال أن هنا نالحظ

Segment T1الملفين من كل على يمتد (D1&D2أى ) ال من جزء أنSegmentفى Tablespaceل ينتمى هو نفسه الوقت فى لكنD2 الملف فى االخر والًجزءD1 الملف. واحد

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

22

Page 23: الكتاب العربى لإدارة قاعدة البيانات اوركل

(.Server) المخدم على تعملInstanceال-1ال طريق عن البيانات بقاعدة االتصال يحاول المستخدم المرحلة هذه فى-2

Applicationالبيانات. قواعد أدوات أحد أو وتكوين االتصال إنشاء وتم المستخدم طلب من التحقق تم اللحظة هذه فى-3

Server Process.

23

Instance

SGA

DatabaseWriter

(DBWn)

LogWriter(LGWR)

Databasebuffer cache

Redo log buffer

Serverprocess

User process

Instance

SGA

DatabaseWriter

(DBWn)

LogWriter(LGWR)

Databasebuffer cache

Redo log buffer

Serverprocess

User processUser process

1

3

2

Page 24: الكتاب العربى لإدارة قاعدة البيانات اوركل

ecnatsnI

AGS

esabataDretirWWBD) n (

retirWgoL(RWGL)

esabataDehcac reffub

gol odeRreffub

revreSssecorp

ssecorp resU

ecnatsnI

AGS

esabataDretirWWBD) n (

retirWgoL(RWGL)

esabataDehcac reffub

gol odeRreffub

revreSssecorp

ssecorp resUssecorp resU

75

8

9

6

01

.wor a setadpu resu ehT4

. صف تعديل طلب المستخدم هنا-4 هلShared Poolلل اختبار بعمل ويقوم الطلب هذا يستقبلServer Processال-5

من بالتأكد يقوم موجود كان إذاShared SQL Areaال فى موجود الطلب هذا غير الطلب هذا كان إذا اما ، البيانات لهذا الوصول صالحية للمستخدم أن

. جديدShared SQL Area بإنشاء يقوم موجود Dataال من المطلوبة البيانات بًجلبServer Processال يقوم المرحلة هذه فى-6

fileال من أو الًجدول منData Blockال فى المخزنةSGA. .SGAال فى الًجدول بتعديلServerال يقوم هنا البيانات جلب بعد-7 .Redo Log Fileال فى العملية بكتابةLGWRال يقومCommit عمل لحظة-8 .Data Fileال فى اىDiskال فى التعديالت بكتابةDBWnال يقوم-9

10-7 . العملية فشل أو بنًجاح رسالة يرسلServer Processال يرسل اخيرا

24

Page 25: الكتاب العربى لإدارة قاعدة البيانات اوركل

25

Page 26: الكتاب العربى لإدارة قاعدة البيانات اوركل

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

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

26

Page 27: الكتاب العربى لإدارة قاعدة البيانات اوركل

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

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

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

،. أخرى بيانات قاعدة

االتية:- النقاط مراعاة يًجب اوركل بيانات قاعدة إنشاء عند. البيانات قاعدة على تعمل التىApplicationال عدد كم-1) المتغيرات ملف فىprocess المتغير وضع نحتاج إذ المستخدمين عدد-2

parameter file. ) تقبل ال وهىInstanceال لعمل مطلوبة الذاكرة فهذهSGA الذاكرة مساحة-3

. بها خاصةSGA ذاكرةInstance لكل أىInstance من أكثر بين المشاركة

27

Page 28: الكتاب العربى لإدارة قاعدة البيانات اوركل

.Row_Sizeال عليه يعتمد الذىBlock_Sizeال كذلك-4. اإلحتياطى النسخ لعمل البيانات قاعدة إغالق يمكن هل-5

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

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

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

إذWINDOWS التشغيل نظام على نعمل ألننا وذلك Oracle Service إنشاء-2 يلزمنا والWINDOWS التشغيل نظام فى تعملInstance لكلServiceلل نحتاج .LINUX التشغيل نظام فى ذلك

.WINDOWSال فى إنشاؤها يتمSERVICE عن عبارة بإختصار وهى

28

D:\ORACLE\PRODUCT\10.2.0\DB_1>ORADIM –NEW –SID %ORACLE_SID% -INTPWD PASSWORD –STARTMODE M

D:\ORACLE\PRODUCT\10.2.0>SET ORACLE_SID=OBAY

Page 29: الكتاب العربى لإدارة قاعدة البيانات اوركل

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

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

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

: السابقة الخطوات نتابع

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

29

D:\ORACLE\PRODUCT\10.2.0\db_1\database\copy init.ora INITobay.ora

Page 30: الكتاب العربى لإدارة قاعدة البيانات اوركل

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

30

CONTROL_FILES = )‘D:\oracle\product\10.1.0\oradata\OBAY\CONTROL01.CTL,D:\oracle\product\10.1.0\oradata\OBAY\CONTROL02.CTL,D:\oracle\product\10.1.0\oradata\OBAY\CONTROL03.CTL(UNDO_MANAGEMENT = AUTOundo_tablespace = ‘UNDO'DB_NAME = OBAYDB_BLOCK_SIZE = 8192background_dump_dest = 'D:\oracle\product\10.1.0\admin\obay\bdump’user_dump_dest = 'D:\oracle\product\10.1.0\admin\obay\udump'core_dump_dest = 'D:\oracle\product\10.1.0\admin\obay\cdump'

Page 31: الكتاب العربى لإدارة قاعدة البيانات اوركل

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

31

create database obayLogfilegroup 1 )'D:\oracle\product\10.1.0\oradata\OBAY\redo1.log'( size 10m,group 2 )'D:\oracle\product\10.1.0\oradata\OBAY\redo2.log'( size 10m,group 3 )'D:\oracle\product\10.1.0\oradata\OBAY\redo3.log'( size 10mdatafile'd:\obay\system.dbf' size 50m AUTOEXTEND ON NEXT 10M MAXSIZE UNLIMITED extent management localsysaux datafile 'D:\oracle\product\10.1.0\oradata\OBAY\sysaux.dbf' size 10m AUTOEXTEND ON NEXT 10M MAXSIZE UNLIMITEDundo tablespace undodatafile 'D:\oracle\product\10.1.0\oradata\OBAY\undo.dbf' size 20mdefault temporary tablespace temp tempfile 'D:\oracle\product\10.1.0\oradata\OBAY\temp.dbf' size 20mdefault tablespace userdata1 datafile 'D:\oracle\product\10.1.0\oradata\OBAY\userdb.dbf' size 10m ;

Page 32: الكتاب العربى لإدارة قاعدة البيانات اوركل

7 ذكرت كما الخاصة متطلباتك حسب البيانات قاعدة إنشاء تستطيع أنت سابقا & SYSTEM) إنشاء من البد , لكن أعاله النموزج فى مذكور هو كما فقط وليست

SYSAUX TABLESPACE. ) Alert Log الملف فى سيكتب الخطأ فإن البيانات قاعدة إنشاء اثناء خطأ حدث إذا

ال بالمتغير المتغيرات ملف فى المحدد المسار فى الموجودBACKGROUND_DUMP_DEST.

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

. المًجموعة

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

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

32

D:\ORACLE\PRODUCT\10.1.0\DB_1\RDBMS\ADMIN\CATALOG.SQL

Page 33: الكتاب العربى لإدارة قاعدة البيانات اوركل

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

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

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

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

( :DBCAال) طريق عن البيانات قاعدة - إنشاء2:- اغراض لعدة اوركل اصدرتها أداة وهى

. البيانات قاعدة إنشاء-1. البيانات قاعدة تهيثة إعادة-2

33

D:\ORACLE\PRODUCT\10.1.0\DB_1\RDBMS\ADMIN\CATPROC.SQL

Page 34: الكتاب العربى لإدارة قاعدة البيانات اوركل

. البيانات قاعدة حذف-3( .Templates) البيانات لقاعدة قوالب إنشاء -4

األداة طريق عن اوركل بيانات قاعدة إنشاء خطوات نتابع DATABASE CONFIGURATION ASSISTANT (DBCA)

قاعدة إنشاء االول الخيار بالطبع سنختار ، للمستخدم المتاحة الخيارات هنا. بيانات

اختار ثم ومن عندى الموجودة البيانات قواعد لى سيعرض الثانى الخيار اخترت إذا إلعادة الخيارات بعض لى سيعرض ذلك وبعد ، تهيئتها إعادة المراد البيانات قاعدة. تهيئتها

34

Page 35: الكتاب العربى لإدارة قاعدة البيانات اوركل

أن إال على ما فقط ، البيانات قاعدة خذف خالله من استطيع بالطبع الثالث الخيار. حزفها المراد البيانات قاعدة اختار

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

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

.General Purpose القالب اخترنا أننا ولنفترض

35

Page 36: الكتاب العربى لإدارة قاعدة البيانات اوركل

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

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

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

36

Page 37: الكتاب العربى لإدارة قاعدة البيانات اوركل

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

7 عليها سنتعرف ميزات ولها الية وإدارة تخزين طريقة هى الثانى الطريقة . الحقا

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

37

Page 38: الكتاب العربى لإدارة قاعدة البيانات اوركل

وإدارة لتخزين مكان وهىFlash Recovery Area نحدد أن الخطوة هذه فى يمكن

= عنها وسنتحدث واالسترجاع االحتياطى النسخ عمليات تشغيل يمكن , كما الحقا7 سنعرف كما االرشيف . الحقا

Fileال بالذهاب البيانات قاعدة عن والمعلومات المتغيرات بعض مشاهدة يمكن كماLocation Variables.

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

38

Page 39: الكتاب العربى لإدارة قاعدة البيانات اوركل

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

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

39

Page 40: الكتاب العربى لإدارة قاعدة البيانات اوركل

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

:- التالية الصفحة تظهرFinish الخيار على الضغط عند

40

Page 41: الكتاب العربى لإدارة قاعدة البيانات اوركل

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

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

41

Page 42: الكتاب العربى لإدارة قاعدة البيانات اوركل

42

Page 43: الكتاب العربى لإدارة قاعدة البيانات اوركل

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

القاعدة هذه تكون االمرأن منك يتتطلب ، عمالقة بيانات لقاعدة مدير أنك تخيل ، للمستخدمين معين لعدد متاحة تكون الوقت هذا بعد محدد زمن حتى للًجميع متاحة

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

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

43

Page 44: الكتاب العربى لإدارة قاعدة البيانات اوركل

STOPوكذلك العمل إليقاف START7 للتشغيل التشغيل إلعادةRESTART وايضا7 اخرى خيارات هنا وكذلك .Manual Disabled & (Automatic& ) مثال

Automaticال تعمل التشغيل نظام تشغيل لحظة أنه : والمعنىServices7 كانت إذا اليا.START الخيار فى

Manualلل يدوى تشغيل بعمل تقوم أن : وهىServicesالتشغيل. نظام تشغيل بعدDisabledال عمل إيقاف : والمعنىServicesحالتها. كان مهما

(:Initialization Parameter File) المتغيرات ملف كان لذا الملف هذا دون البيانات قاعدة تعمل ال إذ عًجيب شأنه الملف وهذا

7 عند البيانات قاعدة تحتاجه ملف اول فهو الفصل هذا فى عنه نتحدث أن لزاما Control Filesال ومكان اسم وكذلك البيانات قاعدة إسم على يحتوى فهو ، تشغيلها

7 ( .SGA) الذاكرة تتهيأ طريقه عن وايضا ويتم الذاكرة تكوين فيتم الملف هذا قراءة يتم البيانات قاعدة تشغيل فلحظة

.Control Filesال ملف ومكان اسم معرفة:- يكون قد الملف وهذا1.Static Parameter File (PFILE): اسمه ويكون (initSID.ora )،

.Instanceال اسم هو SIDال حيث عليه نًجرى أن نستطيع نصى ملفى وهو

وذلك نحفظه ثم نحتاجها التى التغيرات يحدث ولكى ، التشغيل نظام طريق عن

44

Page 45: الكتاب العربى لإدارة قاعدة البيانات اوركل

فى التاثير من وفتحها إغالقها من البد البيانات قاعدة. جديد

:PFILE لملف نموزج وهذا

2.Persistent Parameter File (SPFILE): اسمه ن يكو spfileSID.ora ، ال حيثSID ال اسم هوInstance، ال ثنائى ملف وهو

:- االمر بواسطة االوركل طريق عن إلى فيه التغيير نستطيع

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

45

ALTER SYSTEM SET %PARAMETER%=VALUE

ALTER SYSTEM SET parameter = value [SCOPE =MEMORY|SPFILE|BOTH]

ALTER SYSTEM SET undo_tablespace = UNDO;

Page 46: الكتاب العربى لإدارة قاعدة البيانات اوركل

:- قيم ثالث احدىSCOPE العامل يأخذ وقد1-MEMORYال فى فقط تحدث التغييرات أن تعنى : وهىInstanceالتى

التغييرات. نفقد البيانات لقاعدة تشغيل ة إعاد فأول االن تعمل2-SPFILEإعادة عند التاثير ويحدث الملف فى تحدث هنا : التغييرات

البيانات. قاعدة تشغيل3-BOTHال فى تحدث هنا : التغييراتInstanceأيضا تحدث كما الحالية

تشغيل إعادة عند باقية تظل التغييرات أن اىSPFILE الملف فىالبيانات. قاعدة

(BOTH) اىSPFILEوال الحاليةInstanceال من كل فى تحدث التغيرات ان واالصل7 التغيير يعتمد ولكن بوسطة إال تعديلها يمكن ال المتغيرات فبعض المتغير على ايضاالبيانات. قاعدة إغالق بعد إال تغييرها يمكن ال اى ،SPIFLE الخيار

المستخدم يملك أن يًجب ولكنPFILE الملف منSPFILEال ملف إنشاء يمكن

.SYSDBA الصالحية

.SPFILE الملف منPFILEال ملف إنشاء يمكن كما

(:Starting Up Database) البيانات قاعدة تشغيل

قاعدة بها تعمل أن تريد التى الحالة تحديد يلزمك البيانات قاعدة لتشغيل:- بياناتك

1-NOMOUNT.2-MOUNT.3-OPEN .

46

CREATE SPFILE FROM PFILE;

Page 47: الكتاب العربى لإدارة قاعدة البيانات اوركل

NOMOUNT: أو بيانات قاعدة بإنشاء نقوم أن أردنا إذا الحالة هذه فىInstanceال نشغل

تحدث الحالة هذه فىInstanceال تشغيل وعند ،Control Filesال ملف إنشاء إلعادة:- التالية الخطوات:- التالى الترتيب حسب وذلك المتغيرات ملف قراءة-1

7 .spfileSID.ora * اوال.spfile.ora عن بيحث يًجده لم * اذا .initSID.ora عن يبحث يًجده لم * إذا .SGAال - تكوين2.background processesال - تشغيل3 .trace filesال وملفalertSID.logال ملف - فتح4

MOUNT: على العمليات بعض إجراء عند الحالة هذه فىInstanceال تشغل

او البيانات لقاعدة كلى استرجاع انًجاز أوData filesال اسم كتغيير البيانات قاعدة

47

Starting Up an Oracle DB Instance:

Instance started

Control file opened for this instance

All files opened as described by the control file for this instance

OPEN

STARTUP

Page 48: الكتاب العربى لإدارة قاعدة البيانات اوركل

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

ملف بواسطة تحديده تم بعدما وفتحهControl filesال ملف الى الوصول-1. المتغيرات

حالتها ومعرفةData Filesال ملفات لتحديدControl filesال ملف قراءة-2 .Redo log Filesال ملفات لتحديد وكذلك

OPEN: Instanceال تكون بحيث البيانات قاعدة تشغيل عند االصلى الوضع هو هذا

البيانات بقاعدة اإلتصال المستخدمين يستطيع بحيث متاحة البيانات وقاعدة مفتوحة. عملياتهم وتنفيذ:- التالية الخطوات تحدث الحالة هذه فى التشغيل واثناء

.Online Data Filesال ملفات فتح-1.Online Redo Log Filesال ملفات فتح-2

أو

48

Page 49: الكتاب العربى لإدارة قاعدة البيانات اوركل

البيانات قاعدة كانت وإذا ، للمستخدمين متاحة البيانات قاعدة تكون هكذا7 مفتوحة الوضع فى تفتحها أن وأردتNOMOUNT OR MOUNT الوضع فى مثالOPENاالمر استخدام يلزمك ALTER.

(:Shutting Down The Database) البيانات قاعدة إغالق SYSDBA OR SYSOPER الصالحية تملك أن يًجب البيانات قاعدة إغالق عند

:- البيانات قاعدة إلغالق اوضاع عدة وهناك

49

Page 50: الكتاب العربى لإدارة قاعدة البيانات اوركل

1-NORMAL.2-TRANSACTIONAL.3-IMMEDIATE.4-ABORT.

1 -NORMAL:

الخطوات تحدث اإلغالق واثناء البيانات قاعدة إلغالق االصلى الوضع وهو:- التاليةالبيانات بقاعدة جديد مستخدم بإتصال يسمح ال .Oracle Serverاتصالهم انهاء من المستخدمين كل ينتظر

البيانات. قاعدة إغالق اكمال قبلال فى الموجود البيانات كلBufferفى تكتب أن يًجب

الديسك.ال إنهاءBackground Processesال إالغاء وكذلكSGAمن

الذاكرة.البيانات. قاعدة إغالق ال أغالق قبل البيانات قاعدة ملفات إغالق يتمInstance.لل إسترجاع لعملية تحتاج الInstanceقاعدة فتح عند

.جديد من البيانات

50

Page 51: الكتاب العربى لإدارة قاعدة البيانات اوركل

2 -TRANSACTIONAL: :- التالية الخطوات تحدث اإلغالق من الوضع هذا فى

جديدة عمليات بدء يستطيعون ال المستخدمين كل .العملية من المستخدم إنتهاء عند (Transactionالحالية )

البيانات. بقاعدة إتصاله قطع يتمالعمليات كل إنتهاء لحظة (Transactionsفى ) قاعدة

. البيانات قاعدة إغالق يتم البياناتلل إسترجاع لعملية تحتاج الInstanceقاعدة فتح عند

جديد. من البيانات

3-IMMEDIATE::- التالية الخطوات تحدث اإلغالق من الوضع هذا فى

مباشرة7 قطعها يتم البيانات قاعدة فى الحالية العمليات .Oracle Serverينهوا حتى البيانات قاعدة فى الحاليين المستخدميين ينتظر ال

إتصالهم.Oracle Server7 النشطة للعمليات تراجع بعمل يقوم .Instanceال فلى حالياال أغالق قبل البيانات قاعدة ملفات إغالق يتمInstance.لل إسترجاع لعملية تحتاج الInstanceجديد من البيانات قاعدة فتح عند .

4 -ABORT::- التالية الخطوات تحدث اإلغالق من الوضع هذا فى

مباشرة7 قطعها يتم البيانات قاعدة فى الحالية العمليات .إتصالهم. ينهوا حتى البيانات قاعدة فى الحاليين المستخدميين ينتظر الال فى الموجودة البياناتBufferالديسك. فى تكتب العنها التراجع يتم ال تثبيتها يتم لم التى العمليات .

51

Page 52: الكتاب العربى لإدارة قاعدة البيانات اوركل

ال إنهاء يتمInstanceالبيانات. قاعدة ملفات إغالق دونلل إسترجاع لعمل نحتاج جديد من البيانات قاعدة فتح عندInstance.

:Opening a Database in Read-Only Mode

على تعديالت أى اجراء لعدم وذلكRead Only الوضع فى البيانات قاعدة فتح يمكن. اليبانات قاعدة

:- المهام ببعض القيام يمكنRead Only الوضع فى البيانات قاعدة فتح اثناء. إستعالم تنفيذ-1 .and online offline الوضع فىData Filesال ملفات وضع-2.offline data file and tablespace لملفات إسترجاع إنًجاز-3

52

Page 53: الكتاب العربى لإدارة قاعدة البيانات اوركل

:Opening a Database in Restricted Mode

المستخدم كان إذا إال البيانات لقاعدة المستخدمين دخول يمنع الوضع هذا فىRESTRICTED SESSION PRIVILEGE . صالحية يملك

7 االحيان البعض فى مفيد الوضع هذا الحقيقة فى تصدير بعمل قيامك اثناء مثالExportالبيانات لقاعدة الدخول من المستخدمين من تريد وال البيانات لقاعدة .

او

RESTRICTED SESSION ال صالحية يملكون ال الذين المستخدمين كل االن

PRIVILEGEالبيانات قاعدة دخول يستطيعون ال .

النمط تطبيق قبل اتصلوا الذين المستخدمين اتصاالت كل إنهاء يمكن االنRESTRICTED SESSIONخطوتين على وذلك -:

: االتى اإلستعالم طريق عن وذلك إلغاءها نريد التىSESSIONال تحديد-1

53

SELECT SID, SERIAL# FROM V$SESSION

Page 54: الكتاب العربى لإدارة قاعدة البيانات اوركل

.SESSIONال إلغاء-2

54

Page 55: الكتاب العربى لإدارة قاعدة البيانات اوركل

55

Page 56: الكتاب العربى لإدارة قاعدة البيانات اوركل

7 تحدثنا التخزين االول حالتين على يكون البيانات قاعدة فى التخزين ان سابقا .Data Filesال فىPhysical والثانىTablespacesال فىLogical المنطقى

الحقيقة فى هو البيانات قاعدة فى يكونData Files اى أن كذلك وذكرنا . واحدTablespaceل ينتمى

.Tablespaceل ينتمى ال البيانات قاعدة فىData Files يوجد ال أنه اخر بمعنى

E :- عن سنتحدث الفصل هذا فى وعموما.Tablespacesال عن عامة مفاهيم-1.Tablespacesال إنشاء-2.Tablespacesال إدارة-3.Tablespacesال عن معلومات على الحصول كيفية-4

56

Page 57: الكتاب العربى لإدارة قاعدة البيانات اوركل

57

Page 58: الكتاب العربى لإدارة قاعدة البيانات اوركل

:Tablespacesال عن عامة مفاهيم-1

58

Page 59: الكتاب العربى لإدارة قاعدة البيانات اوركل

: وهىTablespacesلل المتاحة الخيارات يوضح اعاله الشكل1 - Space Management in Tablespaces :إدارة كيفية وهى

نوعان:- وهناكTablespacesال فى المساحة1 -Locally Managed Tablespaces.

Tablespaceال طريق عنTablespaceال فىExtentsال إدارة يتم هنا Oracleال يقوم تحريرها أوExtentsال تخصيص فلحظة ،Bitmaps ال بواسطة

Serverال قيمة بتغيرBitmapعند االصل هو اإلدارة من النوع . وهذا الًجديدة للحالة النوع هذا صار وقد ،Oracle 10g االصدار فىTablespaceال إنشاء فإنهDictionary Dataال فى تعديل يحدث ال والنه ,Oracle 8i اإلصدار من إبتداء متاح

.Generate Undo Information يتم ال Locally الىData Dictionary ال منTablespaceال إدارة لتحويل

نستخدمDBMS_SPACE_ADMIN.TABLESPACE_MIGRATE_TO_LOCAL

:Extentsال إلدارة نوعان هناكTablespaceال إدارة من النوع هذا فى1 -Automaticال حًجم نحدد ال : هناExtentعن تحديده يتم إنما

النوع هذا تطبيق يمكن وال ، النظام طريق عن(.Temporary Tablespace) فى

2 -Uniformال حًجم تحديد يمكن : هناExtentال فىTablespace تطبيق يمكن . الIMB هوextentال حًجم واالصل

.Undo Tablespace فى النوع هذا

ال إلدارة نوعان هناكTablespaceال إدارة من النوع هذا فى وكذلكSegement:

1 -Automatic.2 -Manual.

2 -:Dictionary- Managed Tablespaces Dataال طريق عنTablespaceال فىExtentsال إدارة يتم هنا

Dictionary Oracle Serverال يقوم تحريرها أوExtentsال تخصيص فلحظة

.Data Dictionary Tablesال بتغير

2-Logging :1-Yes :ال فى الكائنات تغير لحظة المعنىTablespacesكتابة يتم فانه

.Redo Log Filesال فى التغييرات2-NOال فى الكائنات تغير لحظة : المعنىTablespacesيتم ال فانه

.Redo Log Filesال فى التغييرات كل كتابة

3 -Mode:

59

Page 60: الكتاب العربى لإدارة قاعدة البيانات اوركل

1 -Read Onlyالمسح أو التعديل أو الكتابة نستطيع ال أننا هنا : المعنى كل نضع أن نستطيع ال بالطبع ،Tablespaceال فى الموجودة البيانات على System & Sysaux ال)من

Tablspaceالوضع ( فى Read Only.2 -Read and writeالمسح أو التعديل أو الكتابة نستطيع أننا : المعنى

.Tablespaceال فى الموجودةالبيانات على

4 -Views:..Data Files والTablespacesال عن معلومات لمعرفة اإلستعالمات وهى

DBA_TABLESPACESV$TABLESPACEDBA_DATA_FILES

V$DATAFILEDBA_TEMP_FILES

V$TEMPFILE

5 -Contains:1 -Permanent: البيانات قاعدة فى المستديمة الكائنات لتخزين وهو .2 -Temporary: تحتاج لذلك البيانات قاعدة فى المؤقتة الكائنات لتخزين

7 ، البيانات قاعدة .البيانات ترتيب لعمليات مثال3 -Undo: ال تستخدمهDatabase Serverال لتخزينUndo Informationوهو ويمكن البيانات قاعدة إنشاء أثناء إنشاءه ويتم البيانات قاعدة فى ضرورى

يحدد فقط واحدUndo يعمل الواحد الوقت فى لكن لذلك نحتاج عندما اخرى اضافة.%Undo_Tablespace=%Value المتغيرات ملف طريق عن

. .6 -Status:

1 -Onlineال أن : أىTablespaceالمستخدمين لًجميع متاح .2 -Offline :ال أن اىTablespaceخيارات عدة وهناك للمستخدمين متاح غير

الوضع لهذا(Normal & Temporary & Immediate & For Recover ال . ) وضع يمكن

(System & Undo Tablespace)الوضع فى Offline.

7 - SQL:1 -Create: ال إلنشاءTablespace.2 -Alter :ال على تغيرات إلجراءTablespace.3 -Dropال : لحذفTablespace.

8 -Type: 1 -Small Tablespace :وهو Tablespaceعلى يحتوى Data Fileأكثر أو واحد

.Tablespace إنشاء عند االصل وهو

60

Page 61: الكتاب العربى لإدارة قاعدة البيانات اوركل

2 -Big Tablespace:ال من جديد نوع وهوTablespaceاإلصدار فى متاح صار Oracle 10g، 128 الى مساحته تصل بحيث Terabytes(TB)ويحتوى

. فقط واحد data File ملف على

ال بعض عن :Tablespaceتعريف

1 -System Tablespace : تعمل ال إذ اإلطالق على البيانات قاعدة فى Tablespace أهم هو

& Read only) الوضع إلى حالته تغير نستطيع ال كذلك بدونه البيانات قاعدةOffline. )

، البيانات قاعدة إلدارةOracle Serverال قبل منTablespaceال هذا يستخدم إدارية معلومات على تحتوى التى والًجداولData Dictionaryال على يحتوى حيث.(Sys Schema) على يحتوى كذلك ، البيانات قاعدة حول

2 -Sysaux Tablespace : المكونات بعض على يحتوىSystem Tablespaceلل مساعدTablespace وهو ضرورى صارTablespaceال . وهذا البيانات قاعدة إدارة فى تستخدم التى والمنتًجات

.Oracle10g اإلصدار من إبتداء7 البيانات قاعدة فى

3 -Temp: عند مثال ، المؤقتة والمراجع الًجداول لتخزين يستخدمTablespace وهو

البيانات قاعدة فىTemporary Tablespace من أكثر هناك يكون . وقد الترتيب. البيانات قاعدة على اللحظة فى واحد يعمل ولكن الواحدة

4 -Undo: Undoال لتخزينOracle Serverال قبل منTablespaceال هذا يستخدم

Information

61

Page 62: الكتاب العربى لإدارة قاعدة البيانات اوركل

القديمة المعلومات ، معين لحقل تعديل عملية عن التراجع يمكن كيف فكرت هل ،.Tablespaceال هذا فى حفظها يتم

عملى:

: جديدTablespace - انشاء1

Locally Managed هو االصل فإنTablespaceال إدارة نوع نحدد لم أننا بماTablespace.

62

CREATE TABLESPACE TEST DATAFILE 'D:\TEST\TEST1DBF' SIZE 10M NOLOGGING;

CREATE TABLESPACE TEST DATAFILE 'D:\TEST\TEST.DBF' SIZE 10M EXTENT MANAGEMENT LOCAL UNIFORM 100K;

Page 63: الكتاب العربى لإدارة قاعدة البيانات اوركل

Tablespacesال حجم - زيادة2

.Tablespaceلل جديدData File إضافة االولى الطريقة

. الموجودةData Fileال حًجم زيادة الثانية الطريقة

:Tablespaceال - حزف3

.Data Filesال دون فقطTablespaceال مسح االولى الطريقة

63

CREATE TABLESPACE TEST DATAFILE 'D:\TEST\TEST.DBF' SIZE 10M EXTENT MANAGEMENT LOCAL AUTOALLOCATE;

ALTER TABLESPACE TEST ADD DATAFILE ‘D:\TEST\TEST.DBF’ SIZE 5M;

ALTER DATABASE DATAFILE 'D:\TEST\TEST.DBF' RESIZE 12M;

Page 64: الكتاب العربى لإدارة قاعدة البيانات اوركل

عند إستخدامه ويمكن التشغيل نظام على موجودData Fileال يظل الطريقة بهذه. جديدTablespace إنشاء

.Data Fileال ومعهTablespaceال حزف الثانية الطريقة

:Read Only الوضع إلىTablespaceال - تحويل4

.Read Only الوضع فىSystem Tablespace ال تضع أن حاول

64

DROP TABLESPACE TEST;

CREATE TABLESPACE OBAY DATAFILE 'D:\TEST\TEST.DBF' REUSE;

DROP TABLESPACE OBAY INCLUDING CONTENTS AND DATAFILES;

ALTER TABLESPACE TEST READ ONLY;

Page 65: الكتاب العربى لإدارة قاعدة البيانات اوركل

.Sysaux Tablespaceال عن الحال كذلك الرسالة الحظ

:Read Write الوضع الىTablespaceال - تحويل5

:Offline الوضع الىTablespaceال حويلت- 6

:Online الوضع الىTablespaceال نحويل7

65

ALTER TABLESPACE TEST READ WRITE;

ALTER TABLESPACE TEST OFFLINE

ALTER TABLESPACE TEST OFFLINE;

Page 66: الكتاب العربى لإدارة قاعدة البيانات اوركل

:Tablespaceال تسمية إلعادة8-

:Temporary Tablespace - إنشاء9

قاعدة فىDefault Temporary Tablespaceال هوTablespaceال هذا يكون وحتىالبيانات.

.Default Temporary Tablespaceال من التأكد يمكن

66

ALTER TABLESPACE TEST RENAM TO EXAM;

CREATE TEMPORARY TABLESPACE TEMPEXAM TEMPFILE 'D:\TEST\TEMPEXAM.DBF' SIZE 7M;

ALTER DATABASE DEFAULT TEMPORARY TABLESPACE TEMPEXAM;

SELECT PROPERTY_NAME,PROPERTY_VALUE FROM DATABASE_PROPERTIES WHERE PROPERTY_NAME='DEFAULT_TEMP_TABLESPACE';

Page 67: الكتاب العربى لإدارة قاعدة البيانات اوركل

:Temporary Tablespace Group - إنشاء10 Resourceال نقص عند تستخدمOracle 10g اإلصدار فى مستحدثة ميزة وهو

. المؤقت للتخزين المستخدم

.Groupال لنفس اخرTablespace أنشاء

7 موجودTablespace إضافة .Groupلل أصال

67

CREATE TEMPORARY TABLESPACE TEMPG1 TEMPFILE 'D:\TEST\TEMPG1.DBF' SIZE 4M TABLESPACE GROUP GROUB1;

ALTER TABLESPACE TEMPEXAM TABLESPACE GROUP GROUP1;

Page 68: الكتاب العربى لإدارة قاعدة البيانات اوركل

:Big Tablespace - إنشاء11

TABLESPACES & DATAFILESال عن لالستعالمDBA_TABLESPACES

USER_TABLESPACESDBA_TABLESPACE_GROUPS

V$TABLESPACEDBA_DATA_FILESDBA_TEMP_FILES

68

CREATE BIGFILE TABLESPACE BIG1 DATAFILE ‘D:\TEST\BIG1.BDF’ SIZE 20M;

Page 69: الكتاب العربى لإدارة قاعدة البيانات اوركل

69

Page 70: الكتاب العربى لإدارة قاعدة البيانات اوركل

Control File:

إذ قراءته يمكن ال اى ثنائى ملف وهو التحكم ملف نسميه أن يمكن او7 ليس أنه Mount، 7 الوضع فى قراءته وييم ، البيانات قاعدة تعمل ال وبدونه ، نصيا إذا

Controlال ملف فقدنا لو حتىNomount الوضع فى البيانات قاعدة نفتح أن يمكنFile.

ال طريق عن فقط تحديثه ويتم ، واحدة بيانات لقاعدة تابع يكون وبالطبعOracle Serverتحديثه البيانات قاعدة مدير يستطيع فال البيانات قاعدة عمل اثناء .

. جديد من البيانات قاعدة فتح قبل إلسترجاعه نحتاجControl Fileال فقدنا إذا Control Fileال عدد زيادة يمكن كما ، البيانات قاعدة إنشاء أثناء إنشاؤه يتم

.Control Fileال احد فقدنا إذا االسترجاع نستطيع حتى البيانات قاعدة إنشاء بعد

:- االتى علىControl Filesال ويحتوىالبيانات. قاعدة - اسم1البيانات. قاعدة إنشاء - وقت2.Tablespacesال - اسماء3.Redo Log Files والData Filesال ومكان - إسم4

70

Page 71: الكتاب العربى لإدارة قاعدة البيانات اوركل

. المتسلسل رقمه وكذلك الحلىRedo Log- ال57 االحتياطى النسخ عن - ومعلومات6 7 ذلك . سناقشRMANال معومات . مثال . الحقا. اإلرشيف عن - ومعلومات7 .MAXLOGFILES . MAXLOGMEMBERS) التالية المعلومات على - يحتوى8

MAXLOGHISTORY. MAXDATAFILES .MAXINSTANCES.)

:Multiplexing the Control File أن العلم معControl Fileال من عدد على تعمل البيانات قاعدة أن والمعنى

قاعدة تأمين الطريقة بهذه نستطيع ، االصل طبق هىControl Fileال ملفات كل.Control Fileال احد فقدان حال فى البينات

7 نفقدها ال حتىDiskال من عدد على الملفات هذه توزيع كذلك واالفضل جميعا.

من ملفات3 على تحتوىOBAY اسمها البيانات قاعدة لدينا أن نفترض االن. اخرControl File ملف لها نضيف أن نريدControl Filesال

:- حالين فى السناريو هذا بعمل سنقوم.SPFILEال : باستخدام االول الحال.init.oraال : باستخدام الثانى الحال

( :-SPFILE) االولى الحالة اليه ( ونضيفSPFILE) المتغيرات ملف علىControl_files المتغير بتعديل - نقوم1

. البيانات لقاعدة نضيفه أن نريد الذىControl Fileال مكان

71

ALTER SYSTEM SET CONTROL_FILES='D:\oracle\product\10.1.0\oradata\OBAY\CONTROL01.CTL','D:\oracle\product\10.1.0\oradata\OBAY\CONTROL02.CTL','D:\oracle\product\10.1.0\oradata\OBAY\CONTROL03.CTL','D:\oracle\product\10.1.0\oradata\OBAY\CONTROL04.CTL' SCOPE=SPFILE

Page 72: الكتاب العربى لإدارة قاعدة البيانات اوركل

. السابق التعديل تحديث يتم حتى االن البيانات قاعدة إغالق - يلزمنا2

الControl Filesال ملفات الحد نسخ بعمل نقوم التشغيل نظام طريق - عن3 Control_Files المتغير فى حددناه كما ونسميه ونضعه االن موجودة

. البيانات قاعدة فتح يمكن - االن4

Control Files7ال من باربعة تعمل االن البيانات قاعدة وهكذا . ثالثة من بدال

نظام على نسخ عمل ثم ومن البيانات لقاعدة إغالق تتطلب العملية أن الحظ. جديد من البيانات قاعد فتح ثم ومن التشغيل

72

Page 73: الكتاب العربى لإدارة قاعدة البيانات اوركل

( :-init.ora) الثانية الحالة (SPFILE) المتغيرات ملف على تعمل كانت البيانات قاعدة االولى الحالة فى

:- (initobay.ora) المتغيرات ملف على تعمل البيانات قاعدة أن نفترض واالن. البيانات قاعدة - قفل1

. initobay.ora المتغيرات ملف علىControl_Files المتغير - تعديل2

73

Page 74: الكتاب العربى لإدارة قاعدة البيانات اوركل

. التشغيل نظام طريق عن وذلك

بحيثControl_Files المتغير فى ونعدل المتغيرات ملف سيفتح اعاله االمر كتابة عند فىCONTROL05 اسمه أن ولنفترض ، الًجديد الملف واسم الًجديد المسار نكتب. المسار نفس

. الملف على التعديالت بحفظ نقوم التعديل بعد Control Filesال ملفات الحد نسخ بعمل نقوم التشغيل نظام طريق - عن3

.Control_Files المتغير فى حددناه كما ونسميه ونضعه االن الموجودة

. البيانات قاعدة - فتح5

74

Page 75: الكتاب العربى لإدارة قاعدة البيانات اوركل

.SHOW APRAMAETERS االمر طريق عن التعديل من التحقق يمكن بالطبع

:- البيانات قاعدة إسم تغيير

7 فكرت هل كيف لكن هذا فى فكرت أنك الشك ؛ بياناتك قاعدة إسم تغيير يوما يلزم البيانات قاعدة إسم . فتغيير يسير جد= االمر الحقيقة فى ، ذلك إلى الطريق

.Control File التحكم وملفParameter File المتغيرات ملف هما اثنين ملفين تعديل:- الخطوات واليك

: التالى االستعالم طريق عن االن البيانات قاعدة إسم من - التأكد1

.OBAY االن البيانات قاعدة إسم

75

SELECT NAME FROM V$DATABASE;

Page 76: الكتاب العربى لإدارة قاعدة البيانات اوركل

.Control Fileال التحكم ملف على البيانات قاعدة إسم بتغيير نقوم نقوم - االن27 ليس الملف هذا أن المشكلة لكن لذا ، ثنائى ملف فهو ، تعديله نستطيع حتى نصيا

.Trace Fileك الملف لهذا احتياطى نسخ لعمل اللًجوء يمكن كود على يحتوى نصى ملف عن عبارهTrace File االحتياطى النسخ هذا نتيًجة

. الكود هذا فى التعديل يمكن كما ، جديدControl File إلنشاء يستعمل ان يمكن المتغير فى المعرف المسار فى الملف هذا . يوجد البيانات قاعدة اسم نغير بحيث

user_dump_dest. . اإلحتياطى النسخ عملية نًجرى واالن

: كالتالى شكله يكون الملف هذا فتح عند

76

ALTER DATABASE BACKUP CONTROLFILE TO TRACE;

Page 77: الكتاب العربى لإدارة قاعدة البيانات اوركل

الًجزء لهذا نسخ بعمل نقوم واالن ، بتظليله قمنا ما هو الملف هذا فى يهمنا ما . Control.trc اسمه أن ولنفترض جديد ملف فى ونحفظه المظلل

بعد ثم اعاله بالطريقةControl Fileلل احتياطى نسخ بعمل قمنا إذا بالطبع7 البيانات قاعدة تكوينات بتغير قمنا ذلك فيلزمنا ،Data File أوTablespace إضافة مثال

.Control File إلنشاء استخدمناه حال فى الًجديدة بالتعديالتTrace Fileال تعديل: كاالتىControl.trc الملف شكل يكون

قبل ولكن الًجديدControl Fileال إلنشاء سنستخدمه الذىControl.trc الملف هو هذا:- التالى النحو على بتظليله قمت ما تعديل يلزمنا ذلك

. الحفظ يلزمنا التعديالت هذه إجراء بعد

3-

. البيانات قاعدة بإغالق نقوم

77

Page 78: الكتاب العربى لإدارة قاعدة البيانات اوركل

) المتغيرات ملف وهوINITobay.ora الملف على البيانات قاعدة إسم - تغيير4PFILE)الحالية البيانات قاعدة به تعمل التى .

التعديالت نحفظ ثمTEST الىOBAY منdb_name البيانات قاعدة إسم نغير.

.البيانات قاعدة فى الحاليةControl Filesال ملفات - مسح5

.NOMOUNT الوضع فى البيانات قاعدة - تشغيل6

78

Page 79: الكتاب العربى لإدارة قاعدة البيانات اوركل

بانشاءه قمنا الذىTrace Fileال باستخدامControl Fileال بإنشاء نقوم - االن77 . سابقا

.RESETLOGS الوضع فى البيانات قاعدة - نفتح8

البيانات قاعدة اسم تغيير من - للتأكد9

79

Page 80: الكتاب العربى لإدارة قاعدة البيانات اوركل

Redo Log Files:

80

Page 81: الكتاب العربى لإدارة قاعدة البيانات اوركل

التغييرات تسًجيل يتم بحيث البيانات على تحصل التى التغييرات لتسًجيل الملف هذا

حال فى البيانات قاعدة استرجاع فى الملفات هذا من نستفيد ، ال او تثبيتها تم التى بينماData Filesال فى تكتب لم البيانات بعض هناك تكون . بحيث فشل حدوث. الملفات هذا فى كتبت

االقل على على البيانات قاعدة كل تعمل بحيثGROUP شكل فى الملف هذا يكون .Groupsال من باثنين

7 7 الملف هذا يستخدم إذا 7 حدوث حالة فى االسترجاع لعملية اساسا على يحتوى إذ خطا. البيانات على تحصل التى التغييرات

وكلMembers شكل فى ينتظمGroup كل فإن الملف هذا على الحفاظ ولضمان خطر نسبة تقليل منها الهدف االصل طبق نسخة هىGroupال داخل Memberال

. الفقدان

LGWR Background Processال الموجود البيانات بكتابة يقومRedo log Bufferالى . Redo Log Filesال

االخرىRedo Log Fileلل بالتحول يقومLGWRال فانRedo Log Fileال ملئ لحظة .Log Switchبال تعرف عملية فى

81

Page 82: الكتاب العربى لإدارة قاعدة البيانات اوركل

7 Redo Logال فى البيانات قاعدة على التغيرات كل بكتابة يقومOracle Serverفال إذاBufferال من تكتب المتغيرات . هذهBufferال إلىRedo Log Fileال طريق عن

LGWRالتالية الحاالت فى -:.(Commit) العمليات نثبيت - لحظة1. الثلث الىBufferال إمتالء - لحظة2.DBWn عملية - قبل3

7 77 تحدثLog Switchال عملية إذا قد لكن ، البيانات قاعدة مدير من تدخل دون اليا7 البيانات قاعدة مدير يحتاج 7 المهمة هذه لعمل احيانا :- التالى االمر خالل من يدويا

7 تحدثCheckpointال عملية كذلك بعمل تقوم وهىLog Switchال حدوث عند اليا. بنًجاح اكمل بأن لإلشارةControl Files والData Filesال لكلHeaderلل تعديل

7 Checkpoint7 عمل يمكن ايضا :- التالى باالمر البيانات قاعدة مدير طريق عن اليا

82

ALTER SYSTEM SWITCH LOGFILE;

ALTER SYSTEM CHECKPOINT;

Page 83: الكتاب العربى لإدارة قاعدة البيانات اوركل

:Online Redo Log Files Group إضافة

وذلك ، جديدOnline Redo Log Files Group إلضافة نحتاج االحيان بعض فى :- التالى االمر طريق عن

:-Groups للMembers وإلضافة

83

ALTER DATABASE ADD LOGFILE GROUP 4 ‘D:\ORACLE\PRODUCT\10.1.0\ORADATA\OBAY\REDO04.RDO’ SIZE 10M;

ALTER DATABASE ADD LOGFILE MEMBER 'D:\oracle\product\10.1.0\oradata\OBAY\RED1.RDO' TO GROUP 1, ,'D:\oracle\product\10.1.0\oradata\OBAY\RED2.RDO' TO GROUP 2, 'D:\oracle\product\10.1.0\oradata\OBAY\RED3.RDO' TO GROUP 3,'D:\oracle\product\10.1.0\oradata\OBAY\RED4.RDO' TO GROUP 4;

Page 84: الكتاب العربى لإدارة قاعدة البيانات اوركل

:-Online Redo Log Groups حذف

كذلك ،Groupsال من اثنين على االقل على تعمل اليببانات قاعدة أن مالحظة مع

.current or active Groups حذف يمكن ال

7 مستوى على موجودة الملفات تظلOracleال طريق عنGroupال حذف عند أيضا. التشغيل نظام

:-Online Redo Log Members حذف

Clearing Online Redo Log Files-:

فهى ،Groupال فىMembersال لكل يحدث الذى العطل مشكلة لحل وهى7 .Redo Log Filesلل إنشاء إعادة تعنى ضمنا

84

ALTER DATABASE DROP LOGFILE GROUP 4;

ALTER DATABASE DROP LOGFILE MEMBER ‘D:\ORACLE\PRODUCT\10.1.0\ORADATA\OBAY\RED3.RDO;

Page 85: الكتاب العربى لإدارة قاعدة البيانات اوركل

ال عملية فإنArchive log الوضع فى تعمل البيانات قاعدة كانت إذاClearingال كان إذا ستفشل اعالهGroup 27 ، ارشفته تتم لم عن سنتحدث عموما7 االرشيف موضوع لحل ولكن الحقا

:- لالتى السابق االمر تعديل يمكن اإلشكال هذا

Full) البيانات لقاعدة كامل إحتياطى نسخ بعمل االمر بهذا القيام قبل يًجب ولكنBackup. )

:-Redo Log Filesال تسمية إعادة Log إضافة طريق عن مكانه تغيير اوRedo Log Filesال تسمية إعادة يمكن

Fileاالمر إستخدام كذلك . يمكن القديم وحذف جديد ALTER DATABASE RENAME FILEالوضع فى البيانات قاعدة جلب يتطلب االمر هذا لكن MOUNT.

:Redo Log Fileال فقدان البيانات قاعدة فإنRedo Log Files Groupال منMember فقدنا إذا

سوف لكن ،Groupال فى اخرىMember هناك أن دام ما ومتاحة مفتوحة ستظل نسخ بعمل اإلسترجاع يمكن . بالطبعAlert log Fileال فى تحذيرية رسائل نستقبل

. تسميتها اعادة ثم ومن الموجودMemberال الحد

85

ALTER DATABASE CLEAR LOGFILE GROUP 2;

ALTER DATABASE CLEAR UNARCHIVED LOGFILE GROUP 2;

Page 86: الكتاب العربى لإدارة قاعدة البيانات اوركل

:Redo Log Fileال عن لإلستالم

86

Page 87: الكتاب العربى لإدارة قاعدة البيانات اوركل

87

Page 88: الكتاب العربى لإدارة قاعدة البيانات اوركل

االتى:- من لكل الفصل هذا قى سنتطرق

البيانات قاعدة فى المستخدمين وإدارة إنشاء . اوركل

الوظائف وإدارة إنشاء Roles. الصالحيات وسحب منح Privileges.الموارد فى التحكم Resourceطريق عن المستخدمة

. المستخدمين

88

Page 89: الكتاب العربى لإدارة قاعدة البيانات اوركل

البيانات قاعدة مدير اولويات اهم من يعتبر بحيث ، بمكان االهمية من الفصل وهذا .

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

قاعدة . فمدير البيانات قاعدة فى مستخدم إنشاء كيفية هنا مناقشته يمكن ما واول :- المستخدمين إنشاء عند االتى مراعاة يًجب البيانات

7 المستخدم اسم يكون - ان1 30 حروفه عدد يتعدى ال وأن البيانات قاعدة فى فريدا7 7 ، حرفا 7 رقما ليس اى بحرف ويبتدئ مساحات على يحتوى ال وايضا . مثال

نظام طريق عن او البيانات قاعدة طريق عن ذلك اكان . سواء التحقق - وسيلة2. غيره او التشغيل

3 -Default Tablespaceال وهوTablespaceكائنات وتخزين إلنشاء يستخدم الذى . المستخدم

4 -Temporary Tablespaceال وهوTablespaceالكائنات إلنشاء يستخدم الذي . للمستخدم المؤقتة

. للمستخدم السر وكلمة الموارد إلدارة وهو للمستخدمProfile- ال5

الكائنات مًجموعة وهىSchema خلق يتم اليبانات قاعدة فى مستخدم إنشاء عند. المستخدم اسم بنفسSchemaال اسم وتكون للمستخدم الممتلكة .TEST مستخدم إنشاء نريد االن اننا ولنفترض

لهذا السر وكلمةTEST اسمه مستخدم بخلق قمنا السابق السناريو فى7 المستخدم Users فى الكائنات ويخزن ينشئ المستخدم هذه ،TEST ايضا

Tablespace، فى المؤقتة الكائنات يخزن كما Temp Tablespaceالمستخدم . هذا

89

CREATE USER TEST IDENTIFIED BY TEST DEFAULT TABLESPACE USERS TEMPORARY TABLESPACE TEMP PROFILE DEFAULT PASSWORD EXPIRE ACCOUNT UNLOCK;

Page 90: الكتاب العربى لإدارة قاعدة البيانات اوركل

المستخدم هذا ايضا ، ادناه نشاهد كما دخول اول عند السر كلمة تغيير عليه يًجبACCOUNTالسر. كلمة تغيير بعد االتصال يمكن اى مغلق غير

.Temporary Tablespaceال وكذلكDefault Tablespaceال لتحديد النحتاج قد بالطبع Temp هو البيانات قاعدة فىDefault Temporary Tablespace كان إذا اخر بمعنى عند ذلك تحديد يلزمنا فالUsers هو البيانات قاعدة فىDefault Tablespaceال وكان.Defaultال تغيير نريد ال كنا إذا المستخدم إنشاء=منح فسوف تحديده يتم لم إذا فإنهProfileلل بالنسبة الحال كذلك Default Profileال ي

.

QUOTA: وبدونهاTablespacesال فى الكائنات إلنشاء للمستخدم المتاحة الحصة وهى

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

.Tablespaceال فى صفر تساوىQuota حصة فى محدودة غيرQuota حصة المستخدم منح البيانات قاعدة مدير يستطيع كذلك

.Unlimited منحه طريق عنTablespaceال. ذلك بعد او اإلنشاء اثناء للمستخدم الحصة منح يمكن

Users فىTEST للمستخدم صفر تساوى حصة منح نريد اننا االن فلنفترضTablespace.

.Users Tablespace فى محدودة غير حصه منحه نريد اننا االن ولنفترض

90

ALTER USER TEST QUOTA 0M ON USERS;

Page 91: الكتاب العربى لإدارة قاعدة البيانات اوركل

. وهىUnlimited Tablespace تسمى صالحية المستخدم هذا منح وهو اخر خيار هناك. Tablespacesال فى محدودة غير حصة المستخدم لهذا تسمح صالحية

7 ذكرنا كما :- كاالتى المستخدم إنشاء خلق اثناء الحصة منح يمكن سابقا

:- طريق عن الحصة عن االستعالم يمكنDBA_TS_QUOTAS

USER_TS_QUOTAS

:- التحقيق وسيلة

91

ALTER USER TEST QUOTA UNLIMITED ON USERS;

ALTER USER TEST QUOTA UNLIMITED ON USERS;

CREATE USER TEST IDENTIFIED BY TEST QUOTA 2M ON USERS;

Page 92: الكتاب العربى لإدارة قاعدة البيانات اوركل

فلحظة ، البيانات لقاعدة للوصول المستخدمين من التحقق طريقة وهى :- التحقق وسيلة اختيار من البد المستخدم إنشاء

السناريوهات فى المستخدمة الطريقة وهى( :Password) السر كلمة محاولة عند اوركل البيانات قاعدة طريق عن التحقق يكون بحيث ، السابقة. السر كلمة من التحقق فيتم الدخول

.identified by password:- كاالتى تكون وهى

External:المستخدم يستطيع بحيث التشغيل نظام طريق عن التحقق ويكون البيانات. لقاعدة السر وكلمة المستخدم اسم إدخال دون البيانات بقاعدة االتصال

. التحقق من النوع هذا فى مستخدمة غير البيانات لقاعدة السر كلمة ألن وذلك بحيثOS_AUTHENT_PREFIX المتغير تهيئة التحقق من النوع هذا يتطلب نشاء كما تغيره نستطيع بالطبع ، االصل فى$OPS هى حرفية قيمة على يحتوى

بقاعدة اإلتصال يريد الذى المستخدم من التحقق عملية عند نحتاجه المتغير هذا ،. البيانات

نظام ومستخدم ،OBAY القيمة الى اعاله المتغير بتغيير قمنا أننا ولنفترضADMINISTRATOR7 هو نستخدمه الذى التشغيل فى مستخدم إنشاء يلزمنا إذا

التحقق طريق ونختارOBAYADMINISTRATOR اسمه البيانات قاعدةExternal.

:- الخطوات معى تابعOS_AUTHENT_PREFIX المتغير قيمة من نتأكد- 1

OBAY7 القيمة الى المتغير بتغير - نقوم2 مثال

92

SHOW PARAMETER OS_AUTHENT_PREFIX;

ALTER SYSTEM SET OS_AUTHENT_PREFIX='OBAY' SCOPE=SPFILE;

Page 93: الكتاب العربى لإدارة قاعدة البيانات اوركل

. جديد من وفتحها البيانات قاعدة إلغالق نحتاج بالطبع

. التغير قيمة من التأكد يمكن - االن3

. البيانات قاعدة فىOBAYADMINISTRATOR المستخدم بخلق نقوم - االن4

: طريق عن البيانات قاعدة فى المستخدمين عن اإلستعالم يمكنDBA_USERS

البيانات قاعدة فى المفتوحةSESSIONال عن التحقق نوع معرفة يمكن كما

93

CREATE USER OBAYADMINISTRATOR IDENTIFIED EXTERNALLY;

SELECT sid,authentication_type, osuser FROM V$SESSION_CONNECT_INFO;

Page 94: الكتاب العربى لإدارة قاعدة البيانات اوركل

البيانات بقاعدة اإلتصال يستطيعOBAYADMINISTRATOR المستخدم االنالتشغيل. نظام طريق عن يتم فالتحقق البيانات قاعدة من التحقق ودون مباشرة

(:Privilege) الصالحيات يستطيعون ال السابقة السناريوهات فى بخلقهم قمنا الذين المستخدمين كل

7 البيانات بقاعدة االتصال صالحيات لديهم ليس إذ اخرى مهام بأى القيام عن فضال. لذلك

التحقق طريقة له وحددنا المستخدم بخلق قمنا السابقة الخطوات فى لكن ، والموارد السر كلمة الدارةProfileال له وحددنا المطلوبة الحصة ومنحناه الصالحيات منح . ويكون البيانات قاعدة فى للعمل صالحيات نعطيه أن االن ينتظرنا

. الصالحيات يملك ممن او البيانات قاعدة مدير طريق عن

:- الصالحيات من نوعن هناك1 -Systemالبيانات قاعدة على معينة اعمال انًجاز من المستخدمين لتمكين :- وهو .

سبيل على ، اليبانات قاعدة علىSystem Privileges صالحية700 من اكثر وهناك: المثال

SYSDBA & SYSOPER قاعدة وفتح إغالق للمستخدم تسمح الصالحيات : هذه البيانات.

CREATE TABLESPACEإنشاء للمستخدم : تسمح Tablespace.

7 قاعدة لمدير المتاحةSystem Privileges الصالحيات كل استعراض يمكن عموما:- االتى االستعالم طريق عن البيانات

.TEST للمستخدمSystem Privileges الصالحيات بعض منح نريد أننا ولنفترض

.Tablespaceال إنشاء صالحيةTEST المستخدم منحنا هكذا

الفرق نالحظ المعنى هذا ولتوضيح ، الصالحيات منح عندANY الكلمة مراعاة يًجب: الصالحيتين بين

SELECT TABLEعمل للمستخدم : تسمح SELECT يملكها التى الًجداول على المستخدم.

94

SELECT PRIVILEGE FROM DBA_SYS_PRIVS;

GRANT CREATE TABLESPACE TO TEST;

Page 95: الكتاب العربى لإدارة قاعدة البيانات اوركل

SELECT ANY TABLEاستعالم عمل للمستخدم : تسمح SELECT الًجداول على االخرين. المستخدمين يملكها التى

WITH الخيار وهو للمستخدمSystem Privileges الصالحيات منح عند خيار هناكADMIN OPTION.

من لغيره منحها يستطيع الصالحية يملك أن بعد المستخدم ان يعنى الخيار هذا. المستخدمين

منحها ويستطيعALTER SYSTEM الصالحية يملك االنTEST المستخدم. المستخدمين من لغيره ويًجب البيانات قاعدة لمديرى الى تمنح ال ان يًجب التى الصالحيات بعض هنااك

7 المنح عند السرية مراعاة SYSDBA & SYSOPER & RESTRICTED) مثالSESSION & ALTER DATABASEفقط تكون أن يًجب التى الصالحيات من ( وغيره

.. البيانات قاعدة لمدراء صالحية سحب نريد أننا ولنفترض ، المستخدمين من الصالحيات سحب يمكن بالطبع

CREATE TABLESPACEالمستخدم من TEST.

TEST المستخدم منح البيانات قاعدة مدير أن وهو السناريو هذا معى تخيل

،WITH ADMIN OPTION الخيار طريق عنCREATE TABLESPACE صالحية اخر لمستخدم الصالحية هذه منح ثم ومنTablespace بإنشاءTEST المستخدم قام

.TEST1 اسمه المستخدم منCREATE TABLESPACE الصالحية سحب البيانات قاعدة مدير اراد

TEST. نفذها التى المهام على التاثير دون المستخدم من الصالحية سحب سيستم اوال

.Tablespaceال انشاء هنا وهى الصالحية هذه بواسطة7 TEST المستخدم من الصالحيات بسحب يتاثر الTEST1 : المستخدم ثانيا

95

GRANT ALTER SYSTEM TO TEST WITH ADMIN OPTION;

REVOKE CREATE TABLESPACE FROM TEST;

Page 96: الكتاب العربى لإدارة قاعدة البيانات اوركل

طريق عنSystem Privileges صالحيات من يمكله ما معرفة يستطيع المستخدم هذا:- اإلستعالم

: لإلستعالمDBA_ROLES

USER_ROLE_PRIVSDBA_ROLE_PRIVSROLE_ROLE_PRIVSROLE_SYS_PRIVSROLE_TAB_PRIVSSESSION_PRIVS

2- Privileges Object-:الكائن واستعمال للوصول المستخدم لتمكين وهو يملكها التى الكائنات على الصالحيات له المستخدم الصالحيات هذه بدون ، المعين

. فقط

، يملكها التى الكائنات على بالطبع صالحيات له البيانات قاعدة فى المستخدم ، يملكها التى للكائنات للوصول اخر لمستخدم صالحيات يمنح ان المستخدم يستطيع لكائنات للوصول للمستخدمين صالحيات منح يستطيع البينات قاعدة مدير وكذلك. اخر مستخدم يملكها

يريد المستخدم هذا ،EXAMPLE اسمه جدول يملكTEST المستخدم ان نفترض.TEST1 للمستخدم الًجدول هذا علىSELECT صالحية منح

96

GRANT SELECT ON EXAMPLE TO TEST1;

SELECT PRIVILEGE FROM USER_SYS_PRIVS;

Page 97: الكتاب العربى لإدارة قاعدة البيانات اوركل

EXAMPLE الًجدول علىSELECT صالحية منح البيانات قاعدة مدير اراد لو ماذا.TEST1 للمستخدمTEST المستخدم يمتلكه الذى

Objects الصالحيات منح عندWITH GRANT OPTION الخيار استخدام يمكن كذلكPrivilegesيمنحها أن يمكن الصالحية هذه يملك ان بعد المستخدم هذا أن إلى إشارة

. المستخدمين من غيره

الًجدول علىSELECT صالحية منح يستطيعTEST1 المستخدم االن

EXAMPLEالمستخدم يملكه الذى TESTالمستخدمين من لغيره .

الًجدول علىSELECTال صالحية سحبTEST المستخدم اراد لو ماذاEXAMPLEالمستخدم من يملكه الذى TEST1المستخدم ان مالحظة مع TEST1

ان هى النتيًجة ،TEST2 انه ولنفترض المستخدمين من لغيره الصالحية هذه منح الممنوحين المستخدمين كل وكذلكTEST1 المستخدم من ستسحب الصالحية .TEST2 المستخدم هو وهنا ؛TEST1 المستخدم طريق عن الصالحية

7 السناريو هذا سنتابع :- عمليا

97

GRANT SELECT ON TEST.EXAMPLE TO TEST1;

GRANT INSERT ON EXAMPLE TO TEST1 WITH GRANT OPTION;

SHOW USER;

Page 98: الكتاب العربى لإدارة قاعدة البيانات اوركل

.TEST المستخدم على نعمل االن نحن

7 يملكTEST المستخدم 7 جدوال .EXAMPLE هو واحدا الذىEXAMPLE الًجدول علىSELECT صالحية سيمنحTEST المستخدم االن

.TEST1 للمستخدم يمتلكه

: اعاله الًجدول علىSELECT عمل يمكنTEST1 المستخدم طريق عن االن

EXAMPLE الًجدول علىSELECT صالحية منح يستطيعTEST1 المستخدم االن.TEST2 للمستخدمTEST المستخدم يمتلكه الذى

.EXAMPLE الًجدول علىSELECT عمل يستطيعTEST2 المستخدم االن

98

GRANT SELECT ON EXAMPLE TO TEST1 WITH GRANT OPTION;

GRANT SELECT ON TEST.EXAMPLE TO TEST2;

SELECT * FROM TEST.EXAMPLE;

Page 99: الكتاب العربى لإدارة قاعدة البيانات اوركل

.TEST1 المستخدم من الصالحية بسحب نقوم االن

.EXAMPLE للًجدول SELECT بعمل نقومTEST1 المستخدم طريق عن

الًجدول علىSELECT اسنعالم عمل صالحية فقد المستخدم ان الحظEXAMPLE.

.TEST2 المستخدم عن ماذا

99

REVOKE SELECT ON EXAMPLE FROM TEST1;

SELECT * FROM TEST.EXAMPLE;

SELECT * FROM TEST.EXAMPLE;

Page 100: الكتاب العربى لإدارة قاعدة البيانات اوركل

.EXAMPLE الًجدول على اإلستعالم صالحية يملك الTEST2 المستخدم كذلك7 ، العمود مستوى على الصالحية منح يمكن : مثال

: منها طرق بعدة Objects Privilegesال عن االستعالم يمكنDBA_TAB_PRIVSALL_TAB_PRIVSUSER_TAB_PRIVDBA_COL_PRIVSALL_COL_PRIVSUSER_COL_PRIVSSESSION_PRIVS

ROLES-:

100

Page 101: الكتاب العربى لإدارة قاعدة البيانات اوركل

هؤالء ، مستخدم100 من اكثر بها بيانات لقاعدة مدير تعمل انك معى تخيل خمسة على انهم ولنفترض ، الصالحيات من مختلفة مستويات على المستخدمين

. مستويات

7 العمل ما 7 يلزمك ؟ بمفرده صالحياته مستخدم كل تمنح هل ؟ إذا 7 إذا عمال7 7 شاقا . طويال. ROLESال فى هو بساطة بكل الحل

يسمى واحد كائن فى الصالحيات من مًجموعة دمج يمكن انه هى الفكرةROLE، من اكثر بها بيانات قاعدة يدير الذى البينات قاعدة لمدير السابق فالسناريو

، تتخيل مما ابسط مستويات خمسة وهى مختلفة مستويات على مستخدم100 ROLESال لهذه الصالحيات نمنح ذلك بعدROLESال من خمسة االمرإنشاء يلزمنا. للمستخدمين منحها ثم ومن المستويات حسب

مستخدم100 من اكثر ادارة من فبدل الصالحيات ادارة عملية علينا يسهل الحل هذا.ROLESال من خمسة ادارة االمر يلزمنا

على اليا ينعكس التعديل فإنROLESال من اى تعديل عند كذلك. األداة تحسن العملية هذه كذلك ، التعديل عملية علينا فيسهل المستخدمين

نمنحهاROLEال هذه ،OBAY تسمى جديدةROLE إنشاء نريد اننا ولنفترض ROLEال هذه نمنح ذلك بعد ،CONNECT & RESOURCE ولتكن الصالحيات بعض

.TEST للمستخدم

7 يكون انROLEال إسم أن مراعاة يًجب االسم يكون بحيث البيانات قاعدة فى فريداالبيانات. قاعدة فىRolesك وال كمستخدم يستعمل لم

سر كلمة منحها طريق عن السرية من درجة ومنحهاROLE انشاء يمكن بالطبع. للتحقق

. الصالحيات بعضROLEال هذه نمنح االن

101

CREATE ROLE OBAY;

CREATE ROLE ROLENAME IDENTIFIED BY PASSWORD;

Page 102: الكتاب العربى لإدارة قاعدة البيانات اوركل

.TEST للمستخدمROLEال هذه نمنح

. هذاROLEال منح عندWITH ADMIN OPTION الخيار اختيار : يمكن مالحظة. المستخدمين من لغيره منحهاROLESال امتالك بعد المستخدم يمكن الخيار

.System Privilegeال سحب طريقة بنفس المستخدم منROLEال سحب يمكن

7 ولنفترضROLESال على تعديالت اجراء يمكن كذلك لل سر كلمة عمل نريد اننا مثالOBAY ROLE.

102

GRANT CONNECT,RESOURCE TO OBAY;

GRANT OBAY TO TEST;

REVOKE OBAY FROM TEST;

ALTER ROLE OBAY IDENTIFIED BY OBAY;

Page 103: الكتاب العربى لإدارة قاعدة البيانات اوركل

. االمر طريق عنROLEال حذف يمكن

كل منROLEال هذه بحذفORACLE SERVER يقومROLEال حذف عند

ROLE.7ال هذا م=نحوا الذين المستخدمين اليا

PROFILES: السر؟ كلمة انهاء سيتم كم فبعد ، الموارد وكذلك السر كلمة الإدارة وهو يسمحSESSION وكم ؟ حسابك اغالق يتم ان قبل الفاشلة المحاوالت عدد وماهى

ال عنها يًجب التى االسئلة من وغيره البيانات؟ قاعدة فى فتحها للمستخدمPROFILE.

7 ذكرنا وكما PROFILE له يكون أن البد البيانات قاعدة فى مستخدم اى سابقا المستخدم يمنح سوفORCLE SERVERال فان اإلنشاء عند ذلك تحديد يتم لم إذا

PROFILEيسمى DEFAULTال هذاPROFILEالبيانات قاعدة إنشاء مع خلقه يتم . البيانات قاعدة من حزفه يمن وال

. البيانات قاعدة منPROFILE وحذف وتعديل إنشاء يمكن بالطبع

؟ السر لكلمة بالنسبةPROFILEال يديرها التى النقاط ماهى االن والسؤالFAILED_LOGIN_ATTEMPTS:للمستخدم الفاشلة المحاوالت عدد وهى

حسابه. اغالق قبل البيانات قاعدة دخول لمحاولةPASSWORD_LIFE_TIME: دخول المستخدم بها يستطيع التى االيام عدد لتحديد

إنتهاءها. قبل السر بكلمة البيانات قاعدةPASSWORD_REUSE_TIME :مرة السر كلمة استخدام قبل االيام عدد لتحديد

الخيار يكون ان يًجب الخيار هذا تحديد تم اخرى. اذاPASSWORD_REUSE_MAX=UNLIMITED.

PASSWORD_REUSE_MAX: قبل تغيرها تم التى السر كلمات عدد لتحديد الخيار يكون أن يًجب الخيار هذا تحديد اتم اخرى. اذا مرة استخداها

PASSWORD_REUSE_TIME=UNLIMITED.PAWWORD_LOCK_TIME:المستخدم. هذا قفل قبل االيام عدد لتحديد

103

DROP ROLE OBAY;

Page 104: الكتاب العربى لإدارة قاعدة البيانات اوركل

PASSWORD_GRACE_TIME:تحذيرات اصدار يتم بعدها التى االيام عدد لتحديد الحالية. السر كلمة إنهاء سيتم الفترة هذه بعد أنه

PASSWORD_VERFY_FUNTION: كلمة اختيار سياسة ترسم التى الدالة لتحديد السر.

: االتى تحديد فيتم المتاحة بالمصادر بالنسبة أماCONNECT TIME: بقاعدة المتصل للمستخدم بها المسموح الدقائق لتحديد

7. اتصاله قطع قبل البيانات الياIDLE TIME: ان البيانات بقاعدة المتصل للمستخدم بها المسموح الدقائق لتحديد

=. اتصاله قطع قبل العمل عن عاطل يظل الياCONCURRENT SESSIONS: ال عدد لتحديدSESSEIONSبها المسموح

البيانات. بقاعدة لالتصال للمستخدمPRIVATE SGA:ال فى للمستخدم المتاحة المساحة لتحديدPRIVATE SGAهذا

.SHARED SERVER الوضع فى نعمل كنا إذا

.NEWPROFILE اسمه جديدPROFILE أنشاء نريد اننا االن نفترض االن

104

CREATE PROFILE NEWPROFILE LIMITFAILED_LOGIN_ATTEMPTS 3PASSWORD_LOCK_TIME UNLIMITEDPASSWORD_LIFE_TIME 60PASSWORD_REUSE_TIME 60PASSWORD_GRACE_TIME 7CONNECT_TIME 1000IDLE_TIME 30SESSIONS_PER_USER UNLIMITED;

Page 105: الكتاب العربى لإدارة قاعدة البيانات اوركل

اعالهPROFILEال تعديل اردنا لو ماذا

.PROFILEال هذا الممستخدمين منح يمكن االن

المستخدم. إنشاء عندPROFLEال هذا منح يمكن بالطبع

PROFILEال عن استالم لعملDBA_PROFILES

7 ولنفترض .NEWPROFILE PROFILE تفاصيل معرفة نريد اننا مثال

105

ALTER PROFILE NEWPROFILE LIMITSESSIONS_PER_USER 5;

ALTER USER TEST PROFILE NEWPROFILE;

SELECT RESOURCE_NAME,LIMIT FROM DBA_PROFILES WHERE PROFILE='NEWPROFILE';

Page 106: الكتاب العربى لإدارة قاعدة البيانات اوركل

البيانات قاعدة فى الموجودةPROFILESال كل معرفة اردنا اذا

PROFILEال هذا حذف يمكن كذلك

106

SELECT DISTINCT )PROFILE( FROM DBA_PROFILES;

Page 107: الكتاب العربى لإدارة قاعدة البيانات اوركل

107

DROP PROFILE NEWPROFILE CASCADE;

Page 108: الكتاب العربى لإدارة قاعدة البيانات اوركل

108

Page 109: الكتاب العربى لإدارة قاعدة البيانات اوركل

قاعدة واتاحة بقاء على فالحفاظ ، بمكان األهمية من الفصل هذا الحقيقة فى 7 كان لذا ، البيانات قاعدة لمدير األهم االمر هو البيانات قاعدة مدير على لزاماالريح. مهب فى تكون ال حتى البيانات قاعدة تأمين البيانات

قاعدة لمديرى بالنسبة االكبر باالهتمام يحظى ال الًجانب هذا فإن مالحظتى وحسب7 التركيز يكون بل البيانات ، اإلحتياطى للنسخ مناسبة استراتيًجيات وضع على دائما

7 نلًجأ أننا أن رغم تأمين جانب فى تقصيرنا نتيًجة االحتياطية النسخ إلسترجاع كثيرا7 فلنرفع ، البيانات قاعدة قاعدة تأمين فى ونبادر ، العالج من خير الوقاية شعار إذا

. البيانات

7 ليس االمر ضخمة البيانات قاعدة كانت إذا خصوصا ، التخطيط على يعتمد لكن معقدا. كبير المستخدمين وعدد

109

Page 110: الكتاب العربى لإدارة قاعدة البيانات اوركل

:- رئيسيين قسمين الى يقسم ان يمكن الفصل هذا فى والحديث الداخلية المخاطر من البيانات قاعدة حماية : وهو البيانات قاعدة - تأمين1

. والخارجية لذا ، المستخدمين بعض سلوك عن ناتًجة المخاطر : فبعد البيانات قاعدة - مراقبة2

. المستخدين سلوك لمتابعة مهما يراه ما مراقبة البيانات قاعدة مدير على كان

:- البيانات قاعدة - تأمين1 لتأمين البيانات قاعدة مدير يتخذها أن يمكن التى الخطوات من الكثير هناك

7 اراه ما منها سأذكر ، البيانات فاعدة : مهما

7 هذا ادرك مهامك من ليس االمر أن اعرف : الشبكة تأمين من - التأكد1 جديدا تًجد لن ، المخاطر جميع إنتفاء من وتأكد الشبكة تأمين من المسؤول مع اجلس لكن مالية مؤسسة فى اعمل وانا شخصية تًجربة هى بل ؛ اوركل كتب فى النقطة هذه7 ( كانBackup) اإلحتياطى النسخ أن لوال العربية الدول احد فى فى االن لكنا ؛ حاضرا من استطاع الشبكة تأمين من المسؤول بها قام لهفوة اإلقتصادى األمن سًجون احد

7 كنت ، البيانات قاعدة وتعطيل للمخدم الدخول القراصنة احد خاللها عدم من واثقا نستطيع لم أننا العربية الدول من كثير فى مشكلتنا لكن االختراق هذا من مسؤليتى

. التخصصية مفهوم استيعاب بعد

قاعدة عن نحتاجها التى المعلومات كل:DATA DICTIONARYال - حماية27 كان لذاDATA DICTIONARYال فى موجودة البيانات قاعدة مدير على لزاما. حمايتها البيانات

110

Page 111: الكتاب العربى لإدارة قاعدة البيانات اوركل

.O7_DICTIONARY_ACCESSIBILITY المتغير فىFALSE القيمة بوضغ وذلك

7 .FALSE االصل فى المتغير هذا10g اوركل فى عموماطريق: عن ذلك من التأكد يمكن

* جدول كل الى الوصول صالحية يملك مستخدم اى ان نضمن التهيئة بهذهANY TABLE7 DATAال مسح يستطيع الDROP ANY TABLE مثال

DICTIONARY. الصالحية بدون البيانات لقاعدة الدخول منSYS المستخدم تمنع التهيئة هذه كذلك

SYSDBA. :PUBLIC من مهمة الغير الصالحية - سحب3

لل تمنح التى الصالحيات كل الن ،DATABASE SERVER USER GROP وهوPUBLICكل سحب يًجب لذا البيانات قاعدة مستخدمى استخدمها يستطيع

.PUBLICال من المهمة غير الصالحيات

.PUBLICلل الصالحيات منح نستطيح هكذا

. الصالحية هذه استخدام يمكنهم البيانات قاعدة فى المستخدمين كل االن

سحبها. يمكن بالطبع

111

SHOW PARAMETER O7_DICTIONARY_ACCESSIBILITY;

GRANT ALTER ANY TABLE TO PUBLIC;

REVOKE ALTER ANY TABLE FROM PUBLIC;

Page 112: الكتاب العربى لإدارة قاعدة البيانات اوركل

كل منح من الفائدة ما: المستخدميين من اإلدارية الصالحيات من - الحد3 قاعدة لمدير تمنحROLEال هذه ،DBA ROLE البيانات قاعدة فى المستخدمين

SYSDBA & DROP AY TABLE الصالحية كذلك ، المستخدين لكل وليس البيانات المستخدين لكل لمنحها حاجة وال المشاكل لك تسبب قد التى الصالحيات من وغيرها

.

القيمة بوضع وذلك: التشغيل نظام طريق عن بعد من التحقق - منع4FALSEالمتغير فى REMOTE_OS_AUTHET، بقاعدة بعد عن االتصال نمنع حتى يأخذ االصل فى المتغير . هذا التشغيل نظام طريق عن التحقق بواسطة البيانات .10g اوركل فىFALSE القيمة

7 تحدثنا عن هو الطرق احد أن وذكرنا المستخدين من التحقق طرق عن سابقا .EXTERNAL التشغيل نظام طريق

112

Page 113: الكتاب العربى لإدارة قاعدة البيانات اوركل

MONITORING OR البيانات قاعدة - مراقبة2AUDITING)-:)

عملية خالل من ونستطيع البيانات قاعدة تأمين من جزء هو البيانات قاعدة مراقبة عملية لوال غامضة ستظل التى االمور لبعض االجابات من كثير ايًجاد المراقبة:- انواع ثالث الى المراقبة عملية تقسيم ويمكن ، المراقبة

1 -Standard Database Auditing:عمليات عن معلومات وحفظ لمتابعة وهو 7 ، البيانات بقاعدة اإلتصال وقطع اإلتصال System Privileges) أستخدام متابعة وايضا

and Object Privilegesواإلستعالم والحذف اإلنشاء كعمليات ، البيانات قاعدة ( داخل . العمليات من وغيره والتعديل

2 -Value-based auditing :متابعة وكذلك اإلتصال عمليات تابعنا االول النوع فى تغيرها يتم التى القيم عل للحفاظ نحتاج قد ولكن ، البيانات قاعدة داخل العمليات

. البيانات قاعدة فى

3 -Fine-grained auditing:ال عبارات لحفظ النوع هذاSQLفى تنفيذها تم التى . البيانات قاعدة

اوركل البيانات قاعدة أن اإلشارة من البد المراقبة انواع فى التفصيل قبل ولكن 10gالمتغير بواسطة المراقبة عمليات فى بدء قبل تهيئتها من البد AUDIT_TRAIL

:- التالية القيم أحد يأخذ الذى1 -NONE:المراقبة لعملية جاهزة غير البيانات قاعدة أن تعنى وهى .2 -DB:جداول فى البيانات قاعدة فى حفظها يتم المراقبة معومات ان تعنى وهى

.SYS للمستخدم تنتمى3 -OS:التشغيل نظام مستوى على حفظها يتم المراقبة معلومات أن تعنى وهى ،

اما ،Event Logال فى تحفظ البيانات فانWidows ويندوز بيئة على نعمل كنا فإذا المسار فى كملفات تخزن المعلومات فإنUNIX or LINUX على نعمل كنا إذا

.AUDIT_FILE_DEST المتغير على المحدد

قاعدة مدير يستطيع بحيث ، المراقبة انواع مختلف يدعم10g اوركل االصدار حًجم معى تخيلت ، البيانات قاعدة فى تحدث التى االحداث كل مراقبة البيانات أن شك ال البيانات قاعدة فى يحدث ما كل بمراقبة قمنا إذا تخزينها يتم التى البيانات

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

7 أردنا فإذا العمليات تحديد على التركيز فاألفضل الًجداول بعض مراقبة مثال7 متابعتها يًجب التى فإن للًجداول يحدث ما كل بمتابعة قمت اذا اما ، الحذف فقط مثال والمسح والتعديل اإلستعالم متابعة يتم فسوف البيانات قاعدة اداء على سيؤثر ذلك

. المراقبة عملية فى مهم امر التركيز إذا ، وغيره

113

Page 114: الكتاب العربى لإدارة قاعدة البيانات اوركل

AUDIT_TRAIL المتغير قيمة بتغير البيانات قاعدة تهيئة هو فعله يلزمنا ما واول تخزين نريد أننا هنا ( ولنفترضDB OR OS) التالية القيم احد الىNONE القيمة من

7 البيانات قاعدة داخل المراقبة معلومات .DB القيمة نختار إذا

.AUDIT_TRAIL المتغير من نتأكد ذلك قبل لكن

المتغير هذا أن مراعاة معDB القيمة الAUDIT_TRAIL المتغير قيمة بتحويل نقوم

�لى غير . المتغير قيمة تتأثر حتى البيانات قاعدة وفتح إغالق إلى يحتاج أى ، ا

. المتغير قيمة من ونتأكد البيانات قاعدة ونفتح نغلق ثم

114

SHOW PARAMETER AUDIT_TRAIL;

ALTER SYSTEM SET AUDIT_TRAIL=DB SCOPE=SPFILE;

Page 115: الكتاب العربى لإدارة قاعدة البيانات اوركل

1 -Standard Database Auditing:7 ذكرنا كما االتصال عملية مراقبة على يتركز المراقبة من النوع هذا سابقا

System Privileges and Object) إستخدام متابعة وكذلك البيانات بقاعدةPrivileges. ) BY SESSION & BY) المراقبة عملية أثناء خيارين هناك أن الذكر يًجب كماACCESS، )

BY SESSION :المراقبة عمليات أثناء المعلومات من واحد حقل تخزين تعنى وهى قمنا أننا لنفترض أكثر الرؤية ولتضح ،SESSION لكل العمليات من معين لنوع

احد فقام ،X أنه ولنفترض معين مستخدم جداول على التعديل عملية بمراقبة تنتمى جداول5 لتعديلSESSIONال هذه واستخدمSESSION بفتح المستخدمين

ما التعديل لعملية فقط واحد حقل بتخزين ستقوم المراقبة عملية . فإنX للمستخدم GROUP عبارة توازى أنها اخر بمعنى اى ،SESSIONال بنفس بالتعديل قام أنه دام

BY SESSION. BY ACCESS:كل حقول5 تخزين سيتم هنا لكن ، السابق المثال نفس اتخاذ يمكن

جدول. لكل حدثت التى التعديل عملية عن عبارة هو حقل7 يكون ال قدBY SESSION الخيار أن شك ال 7 كافيا معلومات تفاصيل لمعرفة احيانا

يزيد بالطبع لكن أكثر تفاصيل فيه نًجد الذىBY ACCESS للخيار نلًجأ قد لذا المراقبةالمعلومات. تخزين عمليات

التركيز ويكون التركيز عملية فيه االفضل ذكرنا كما المراقبة من النوع هذا فى SUCCESSFUL OR NOT) العملية فشل او نًجاح بتحديد كذلك المستخدم بتحديد

SUCCESSFUL) .

على يحتوى Standard Database Auditing المراقبة من النوع وهذافرعية:- اقسام *SESSION AUDITING :

يتم بحيث ،Standard Database Auditing المراقبة من االول النوع من جزء وهى بتحديد التركيز ويمكن ، البيانات بقاعدة اإلتصال وقطع اإلتصال عمليات مراقبة

115

Page 116: الكتاب العربى لإدارة قاعدة البيانات اوركل

المستخدمين كل متابعة يمكن كما اتصاله عملياتة مراقبة نريد الذى المستخدم7 التركيز يمكن كماAUDIT SESSION االمر بإستخدام أو نًجاح عملية بتحديد ايضا

. اإلتصال عملية فشل بالنسبة اإلتصال وقطع الناجحة اإلتصال عمليات كل مراقبة نريد أننا نفترض

استخدم فاألفضل اإلتصال وقطع اإلتصال وقت معرفة نريد وألننا TEST للمستخدم

.BY ACCESS الخيار

البيانات بقاعدة باالتصال TEST المستخدم قام لو االن ماذا

اعاله اإلتصال عملية عن معلومات يشاهد أن يستطيع البيانات قاعدة مدير االن

البيانات بقاعدة باإلتصال قامTEST المستخدم ان البيانات قاعدة لمدير ظهر عن اخرى معلومات استعراض يمكن كماNBS الًجهاز من المحدد والزمن بالتاريخ

. المعلومات من وغيره الًجهاز مستخدم اسم

؟ اإلتصال بقطعTEST المستخدم قام لو ماذا

116

AUDIT SESSION BY TEST BY ACCESS WHENEVER SUCCESSFUL;

SELECT SERNAME,TERMINAL,ACTION_NAME,EXTENDED_TIMESTAMP FROM DBA_AUDIT_SESSION;

Page 117: الكتاب العربى لإدارة قاعدة البيانات اوركل

اضافية معلومات البيانات قاعدة لمدير ستظهر بالطبع

بقاعدة االتصال بقطع قامTEST المستخدم االن البيانات قاعدة لمدير يظهر االن 21 حوالى البيانات بقاعدة متصل ظل أنه اى ، اعاله المحدد الزمن فى البيانات

. دقيقة

7 يمكن بواسطة البيانات بقاعدة االتصال وقطع االتصال معلومات استعالم ايضا .DBA_AUDIT_TRAIL الًجدول

7 ) من كل فى متوفرة البيانات بقاعدة اإلتصال وقطع االتصال معلومات إذاDBA_AUDIT_SESSION & DBA_AUDIT_TRAIL)

فى بتهيئتها قام التى المراقبة خيارات عن اإلستعالم البيانات قاعدة لمدير يمكن بواسطة البيانات قاعدة

DBA_OBJ_AUDIT_OPTSDBA_STMT_AUDIT_OPTSDBA_PRIV_AUDIT_OPTS

117

SELECT USERNAME,TERMINAL,ACTION_NAME,TO_CHAR)EXTENDED_TIMESTAMP,'DD-MM-YYYY:HH-MI-SS'(,TO_CHAR)LOGOFF_TIME,'DD-MM-YYYY:HH-MI-SS'( FROM DBA_AUDIT_SESSION;

SELECT USER_NAME,AUDIT_OPTION,SUCCESS,FAILURE FROM DBA_STMT_AUDIT_OPTS;

Page 118: الكتاب العربى لإدارة قاعدة البيانات اوركل

المستخدم إتصال مراقبة عملية إلغاء أردنا فلو ، المراقبة عملية إلغاء يمكن بالطبعTEST7 بمراقبتها قمنا التى .سابقا

خيار نًجد فلن بتهيئتها قمنا التى المراقبة خيارات لعرض استعالم بعملية قمنا لو االن.TEST المستخدم اتصال مراقبة

*SQL STATEMENT AUDITING: او إنشاء مثلDDLال عمليات مراقبة يريد البيانات قاعدة مدير أن معى تخيل

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

7 مستخدم قام من النوع هذا فإن اخر لمستخدمSCHEMA فى جدول بإنشاء مثال سنناقشه ما وهوSYSTEM PRIVILEGE AUDITING يسمى فيما يدخل المراقبة

. فقط المستخدم يمكلك ما اطار فى فقط هنا أما ، الحقا

داخلTEST المستخدم بواسطة الًجداول إنشاء عملية مراقبة نريد أننا ولنفترض.SCHEMAال نفس فى اى مساحته

118

NOAUDIT SESSION BY TEST;

AUDIT CREATE TABLE BY TEST BY ACCESS;

Page 119: الكتاب العربى لإدارة قاعدة البيانات اوركل

. جدول بإنشاءTEST المستخدم االن قام لو ماذا

. البيانات قاعدة لمدير المعلومات ستظهر

TEST7 المستخدم قام لو لكن خيارات فإن اخرىSCHEMA فى جدول بإنشاء مثال CREATE ANY الصالحية رقبنا إذا إال اللهم بمعلومات تاتى لن اعاله المراقبةTABLEالقادمة الخطوة فى سنناقشه ما وهو .

: بواسطةSQL STATEMENT لمراقبة بتهيئتها قمنا التى الخيار عن اإلستعالم يمكنDBA_STMT_AUDIT_OPTS

119

CREATE TABLE USER_MASTER )USER_NO NUMBER)5(,USER_NAME VARCHAR2)40(,CONSTRAINT PK_USER_NO PRIMARY KEY)USER_NO((;

SELECT USERNAME,OWNER,TO_CHAR)TIMESTAMP,'DD-MM-YYYY:HH-MI-SS'(,OBJ_NAME,ACTION_NAME FROM DBA_AUDIT_TRAIL WHERE OWNER='TEST';

Page 120: الكتاب العربى لإدارة قاعدة البيانات اوركل

DBA_PRIV_AUDIT_OPTS

بواسطة المراقبة إلغاء يمكن

*SYSTEM PRIVILEGE AUDITING:

120

Page 121: الكتاب العربى لإدارة قاعدة البيانات اوركل

قاعدة داخلSYSTEM PRIVILEGES الصالحيات استخدام عمليات لمراقبة وذلك 7 ، البيانات مراقبة عملية تركيز يمكن بالطبع ،CREATE ANT TABLE الصالحية مثال

فى ، فشلها أو العملية نًجاح بواسطة كذلك معين مستخدم بواسطة الصالحيات لكل كحقلSYSTEM PRIVILEGES الصالحيات مراقبة عمليات تخزين يتم االصل استعمال يمكن بالطبع لكن االصل فىBY ACCESS الخيار إلستخدام وذلك عملية لكل واحد حقل تخزين فيتم المعلومات تخزين عمليات لتقليلBY SESSION الخيار

SESSIONالمراقبة الصالحية بإستخدام قامت .

اى ،TEST للمستخدمCREATE ANY TABLE الصالحية مراقبة نريد أننا ولنفترض فى بإنشاءهاTEST المستخدم يقوم التى الًجداول كل مراقبة نريد أننا اخر بمعنى

SCHEMAاخرى .7 اى فى جدول إنشاء تعنى وهىCREATE ANY TABLE الصالحية مستخدما

SCHEMA .أخرى

فى اىEMP SCHEMA فى جدول بإنشاء TEST المستخدم قام لو ماذا االن.EMP المستخدم مساحة

. الخطوة هذه متابعة البيانات قاعدة مدير يستطيع بالطبع

121

AUDIT CREATE ANY TABLE BY TEST WHENEVER SUCCESSFUL;

CREATE TABLE EMP.EMPLOYEE )EMP_NO NUMBER)4(,EMP_NAME VARCHAR)40((;

SELECT USERNAME,OWNER,OBJ_NAME,ACTION_NAME,TO_CHAR)TIMESTAMP,'DD-MM-YYYY:HH-MI-SS'( FROM DBA_AUDIT_OBJECT WHERE USERNAME='TEST';

Page 122: الكتاب العربى لإدارة قاعدة البيانات اوركل

المستخدم فىEMPLOYEE جدول بإنشاءTEST المستخدم قام لقد نعمEMPاعاله المحدد الزمن فى .

7 الصالحيات باقى متابعة يمكن بالطبع من ( وغيرها(DROP ANY TABLE مثال.SYSTEM PRIVILEGES الصالحيات

.SYSTEM PRIVILEGES ال مراقبة خيارات تهيئة عن لالستعالم

المراقبة إلغاء يمكن

122

SELECT * FROM DBA_PRIV_AUDIT_OPTS WHERE PRIVILEGE='CREATE ANY TABLE';

Page 123: الكتاب العربى لإدارة قاعدة البيانات اوركل

*OBJECT PRIVILEGE AUDITING: TABLES جداول من الكائنات على تحدث التى العمليات لمراقبة النوع وهذا

. الكائنات من وغيرهاVIEWS ومناظير . العملية فشل أو نًجاح بواسطة وكذلك المستخدم تحديد بواسطة التركيز يمكن

الخيار تحديد يمكن ولكنBY SESSION تكون أن المراقبة من النوع هذا فى االصلBY ACCESS.

الموجودUSER_MASTER الًجدول فى اإلضافة عمليات مراقبة نريد أننا لنفترض.TEST تسمى التىSCHEMAال فى

.USER_MASTER الًجدول فى بيانات بإضافةTEST المستخدم قام لو االن

. ذلك متابعة البيانات قاعدة مدير يستطيع

123

AUDIT INSERT ON TEST.USER_MASTER BY ACCESS;

Page 124: الكتاب العربى لإدارة قاعدة البيانات اوركل

.OBJECT PRIVILEGES ال مراقبة تهيئة خيارات عن لالستعالم

: قيم ثالث هناك. المراقبة عدم تعنى- :A:تخزن المراقبة معلومات أن تعنى BY ACCESS. S:تخزن المراقبة معلومات أن تعنى BY SESSION.

INSERTال عملية مراقبة تتم أنه اىA/A القيمة وجدتINS الحقل مقابل أنه الحظ الخيار كان إذا اما ، فشلت أو العملية نًجحت سواءBY ACCESS الخيار بواسطة

WHENEVER SUCCESSFULستكون القيمة فإن A-/.

بواسطة. المراقبة عملية إلغاء يمكن

124

SELECT USERNAME,TO_CHAR)TIMESTAMP,'DD-MM-YY:HH-MI-SS'(,OBJ_NAME,ACTION_NAME FROM DBA_AUDIT_TRAIL WHERE USERNAME='TEST' AND OBJ_NAME='USER_MASTER' AND ACTION_NAME='INSERT';

select * from DBA_OBJ_AUDIT_OPTS WHERE OWNER='TEST' AND OBJECT_NAME='USER_MASTER';

Page 125: الكتاب العربى لإدارة قاعدة البيانات اوركل

Standard االول للًجزء تنتمى التى للمراقبة المتاحة الخيارات ناقشنا قد نكون هكذاDatabase Auditingوهى :

SESSION AUDITING.SQL STATEMENT AUDITING

SYSTEM PRIVILEGE AUDITINGOBJECT PRIVILEGE AUDITING

2 -Value-Based Auditing: مراقبة استطعناStandard Database Auditing المراقبة من األول النوع فى

7 نحتاج قد لكن ، البيانات قاعدة فى تحدث التى العمليات عن معلومات وحفظ احيانا حفظها يتم ال القيم هذه ، البيانات قاعدة فى حذفها او تعديلها يتم التى القيم لحفظ

.Standard Database Auditingال فىValue-Based Auditing7 المراقبة من النوع هذا يعمل خلق على معتمداTriggerالتى والقيم المعلومات ليحفظ المسح أو التعديل عملية بعد تنفيذه يتم بحيث 7 بخلقه نقوم جدول فى ويحفظها نريدها . المعلومات هذه لتخزين خصيصا

قاعدة أداء من يقللValue-Based Auditing المراقبة من النوع هذا بالطبع تنفيذه يتمTriggerال ألن وذلكStandard Database Auditing النوع من اكثر البيانات

. مسح أو تعديل عملية كل بعد الحقل فى المعدلة القيم وحفظ مراقبة نريد أننا االن ولنفترضBOOK_NAMEالًجدول فى الموجودة BOOKللمستخدم المملوك TEST.

7 البيانات قاعدة مدير يلزم :- أنها ولنفترض حفظها يريد التى المعلومات تحديد اوال

125

Page 126: الكتاب العربى لإدارة قاعدة البيانات اوركل

1 -IP Addressالبيانات بقاعدة لإلتصال استخدم الذى للًجهاز .. البيانات بقاعدة باإلتصال قام الذ التشغيل نظام مستخدم - اسم2. والزمن - التاريخ3. التعديل وبعد التعدل قبل الحقل - قيمة4

7: يلزم عمليات عن المعلومات لتخزين الًجدول إنشاء البيانات قاعدة مدير ثانيا, التعديل

126

CREATE TABLE BOOK_AUDIT)OS_USER VARCHAR2)70(,UPDATE_DATE DATE,IP_ADDRESS VARCHAR2)16(,OLD_NEW_NAME VARCHAR2)100((;

Page 127: الكتاب العربى لإدارة قاعدة البيانات اوركل

7 .Triggerال بإنشاء البيانات قاعدة مدير يقوم ثالثا

127

CREATE OR REPLACE TRIGGER BOOK_NAME_AUDITAFTER UPDATE OF BOOK_NAMEON TEST.BOOKREFERENCING NEW AS NEW OLD AS OLDFOR EACH ROWBEGINIF :OLD.BOOK_NAME != :NEW.BOOK_NAME THENINSERT INTO BOOK_AUDITVALUES )SYS_CONTEXT)'USERENV','OS_USER'(, SYSDATE,SYS_CONTEXT)'USERENV','IP_ADDRESS'(,:NEW.BOOK_NO ||' BOOK_NO) CHANGED FROM'||:OLD.BOOK_NAME||' TO '||:NEW.BOOK_NAME(;END IF;END;/

Page 128: الكتاب العربى لإدارة قاعدة البيانات اوركل

فى بتعديل قامTEST المستخدم أن االن ولنفترضTriggerال إنشاء تم هكذا

.BOOK الًجدول.BOOK_AUDIT الًجدول بواسطة التعديل ذلك متابعة البيانات قاعدة مدير يستطيع.Triggerال هذا حذف أو تعطيل يمكن المراقبة من النوع هذ اليقاف

3 -Fine-Grained Auditing (FGA): فى تحدث التى العمليات عن معلومات حفظ تستطيع المراقبة من السابقة األنواع

فهو المراقبة من النوع هذا أما ، تتغير التى القيم حفظ يمكن كما البيانات قاعدة : االتية العبارات من كل ويشمل البيانات قاعدة فى تنفذ التىSQLال عبارات لحفظ

(SELECT & INSERT & UPDATE & DELETEوذلك ) باستخدام DBMS_FGA PACKAGE، ال من اربعة على تحتوى الحزمة هذهProcedure-:

1 -ADD_POLICY:إلضافة POLICYال عبارات لمراقبة جديدةSQLقاعدة فى . اإلجراء فى سنحددها التى القيم حسب وذلك البيانات

2 -PROP_POLICY:لحذف POLICY AUDIT .موجودة 3 -ENABLE_POLICY:لتشغيل POLICY AUDITمعطلة كانت .4 -DISABLE POLICY:عمل لتعطيل POLICY AUDIT.

128

SELECT OS_USER,TO_CHAR)UPDATE_DATE,'DD-MM-YY:HH-MI-SS'(,IP_ADDRESS,OLD_NEW_NAME FROM BOOK_AUDIT;

Page 129: الكتاب العربى لإدارة قاعدة البيانات اوركل

BOOK للًجدول تحدث التىSELECTال عبارات حفظ نريد أننا االن ولنفترض تحدث التىSELECTال عبارات كل نحفظ ال . وحتىTEST للمستخدم المملوك بعض بإستخدام وذلك الحقول بعض على التركيز الممكن فمنBOOK للًجدول

. الشروط7 .WHERE BOOK_NO=1 مثال

. المراقبة عملية لتركيز وذلك

7 البيانات قاعدة مدير يركز بل ، المراقبة عملية فى يفرط ال أن يراعى ان يًجب دائما. المطلوب على دائما

تقومAUDIT POLICY إلضافة وذلكADD_POLICY اإلجراء بتنفيذ نقوم االن الشروط حسب وذلكBOOK الًجدول على تنفذ التىSELECTال عبارات بحفظ

. نحددها التى

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

DBMG_FGA الحزمة داخل البيانات قاعدة فى موجودةProcedures اإلجراءات هذه. المتغيرات قيم تحديد بعد لتنفيذها تحتاج فقط انشاؤها منك تحتاج ال اى

129

Page 130: الكتاب العربى لإدارة قاعدة البيانات اوركل

OBJECT_SCHEMA :نريد الذ الكائن او الًجدول يحتوى الذى المستخدم تعنى وهى عليه.SELECTال عبارات مراقبة

130

DECLARE OBJECT_SCHEMA VARCHAR2)200(; OBJECT_NAME VARCHAR2)200(; POLICY_NAME VARCHAR2)200(; AUDIT_CONDITION VARCHAR2)200(; AUDIT_COLUMN VARCHAR2)200(; HANDLER_SCHEMA VARCHAR2)200(; HANDLER_MODULE VARCHAR2)200(; ENABLE BOOLEAN; STATEMENT_TYPES VARCHAR2)200(; AUDIT_TRAIL BINARY_INTEGER; AUDIT_COLUMN_OPTS BINARY_INTEGER;

BEGIN OBJECT_SCHEMA := 'TEST'; OBJECT_NAME := 'BOOK'; POLICY_NAME := 'BOOK_SELEC'; AUDIT_CONDITION := 'BOO_NO=1'; AUDIT_COLUMN := 'BOOK_NAME'; HANDLER_SCHEMA := NULL; HANDLER_MODULE := NULL; ENABLE := TRUE; STATEMENT_TYPES := 'SELECT'; AUDIT_TRAIL := 1; AUDIT_COLUMN_OPTS := 0;

SYS.DBMS_FGA.ADD_POLICY ) OBJECT_SCHEMA, OBJECT_NAME, POLICY_NAME, AUDIT_CONDITION, AUDIT_COLUMN, HANDLER_SCHEMA, HANDLER_MODULE, ENABLE, STATEMENT_TYPES, AUDIT_TRAIL, AUDIT_COLUMN_OPTS (; COMMIT;END;/

Page 131: الكتاب العربى لإدارة قاعدة البيانات اوركل

OBJECT_NAME: ال عبارات مراقبة نريد الذى الكائن وهوSELECT.عليه

POLICY_NAME: ال اسم وهوAUDIT POLICYخلقها. نريد التى

AUDIT_CONDITION: المراقبة. عملية لتركيز الشروط لتحديد وهى

AUDIT_COLUMN :عليه. المراقبة عملية تركيز نريد الذى العمود وهو

HANDLER_SCHEMA: 7 ببعض ليقومProcedure اجراء لتحديد نحتاج قد احيانا هذا يحوى الذى المستخدم يتحديد هنا فنقوم ، المراقبة عملية اثناء اإلضافية االحداثاإلجراء.

:ENABLE عمل لتفعيل AUDIT POLICYالقيمة المتغير هذا ويأخذ TRUEفى االصل.

:STATEMENT_TYPES ال عبارات نوع لتحديدSQLواالصل مراقبتها نريد التى SELECT.

AUDIT_TRAIL: ال عبارات لتخزينSQLال فى المراقبةAUDIT_TRAIL.

AUDIT_COLUMN_OPTS: المتغير فى االعمدة من عدد بتحديد قمت لو ماذا AUDIT_COLUMN، هل لتحديد هنا (ANY OR ANYاالصل ) 0 القيمة عل يحتوى

.ANY تعنى وهى

131

Page 132: الكتاب العربى لإدارة قاعدة البيانات اوركل

المنتمىBOOK الًجدول على استعالم بعملEMP المستخدم قام لو ماذا االن؟ اعاله المذكورة الشروط بنفسTEST للمستخدم

132

SELECT * FROM TEST.BOOK WHERE BOOK_NO=1;

Page 133: الكتاب العربى لإدارة قاعدة البيانات اوركل

اإلستعالم. هذا متابعة االن البيانات قاعدة مدير يستطيع

الموضحة الشروط فيه تتحق لم اخر إستعالم بعمل EMP المستخدم قام لو قاعدة لمدير تظهر لن اإلستعالم هذا معلومات فإنADD_POLICY اإلجراء فى

البيانات.

التىAUDIT_POLICIES عن االستعالم البيانات قاعدة مدير يستطيع بالطبع. البيانات قاعدة فى تعمل

DBA_AUDIT_POLICIES.

133

SELECT USERHOST,OS_USER,DB_USER,TO_CHAR)TIMESTAMP,'DD-MM-YY:HH-MI-SS'(,SQL_TEXT FROM DBA_FGA_AUDIT_TRAIL WHERE DB_USER='EMP;

SELECT POLICY_NAME,OBJECT_SCHEMA,OBJECT_NAME,POLICY_COLUMN,SEL FROM DBA_AUDIT_POLICIES;

Page 134: الكتاب العربى لإدارة قاعدة البيانات اوركل

.DISABLE_POLICY اإلجراء بواسطةAUDIT POLICYال هذه تعطيل يمكن

.ENABLE_POLICY االجراء بواسطة بواسطة اخرى مره تفعيلها يمكن كما

134

DECLARE OBJECT_SCHEMA VARCHAR2)200(; OBJECT_NAME VARCHAR2)200(; POLICY_NAME VARCHAR2)200(;

BEGIN OBJECT_SCHEMA := 'TEST'; OBJECT_NAME := 'BOOK'; POLICY_NAME := 'BOOK_SELECT';

SYS.DBMS_FGA.DISABLE_POLICY ) OBJECT_SCHEMA, OBJECT_NAME, POLICY_NAME (; COMMIT;END;/

Page 135: الكتاب العربى لإدارة قاعدة البيانات اوركل

7 .DROP_POLICY اإلجراء بواسطةAUDIT POLICY حذف يمكن واخيرا

135

DECLARE OBJECT_SCHEMA VARCHAR2)200(; OBJECT_NAME VARCHAR2)200(; POLICY_NAME VARCHAR2)200(;

BEGIN OBJECT_SCHEMA := 'TEST'; OBJECT_NAME := 'BOOK'; POLICY_NAME := 'BOOK_SELECT';

SYS.DBMS_FGA.ENABLE_POLICY ) OBJECT_SCHEMA, OBJECT_NAME, POLICY_NAME (; COMMIT;END;/

Page 136: الكتاب العربى لإدارة قاعدة البيانات اوركل

POLICYال هذه تًجد فلنAUDIT_POLICIESال عن إستعالم بعمل قمت لو االنالبيانات قاعدة فى

136

DECLARE OBJECT_SCHEMA VARCHAR2)200(; OBJECT_NAME VARCHAR2)200(; POLICY_NAME VARCHAR2)200(;

BEGIN OBJECT_SCHEMA := 'TEST'; OBJECT_NAME := 'BOOK'; POLICY_NAME := 'BOOK_SELECT';

SYS.DBMS_FGA.DROP_POLICY ) OBJECT_SCHEMA, OBJECT_NAME, POLICY_NAME (; COMMIT;END;/

Page 137: الكتاب العربى لإدارة قاعدة البيانات اوركل

137

Page 138: الكتاب العربى لإدارة قاعدة البيانات اوركل

1 -Oracle Net Services-:

138

Page 139: الكتاب العربى لإدارة قاعدة البيانات اوركل

به يتصل البيانات قاعدة على يحتوىServer Database مخدم لديك يكون أن لالتصال تحتاج برامج على تحتوى التى االجهزة جميع اوClient Application جميع

فى الشركات اغلب به تعمل والذى والمعتاد الطبيعى االمر هو هذا البيانات بقاعدة لالتصال تحتاج برامج على تحتوى التى االجهزة جميع تكون أن يتصور ال إذ ، العالم

7 تحتوى البيانات بقاعدة البيانات لقاعدة نحتاج فإننا وإال ، البيانات قاعدة على ايضا7 مفبول غير وهذا برنامج عل يحتوى جهاز لكل 7. وال عقال عمال

Database البيانات قاعدة على يحتوى مخدم لدينا يكون بأن سلمنا وإذا Serverاالتصال البيانات لقاعدة تحتاج برامج على تحتوى التى االجهزة جميع تستطيع

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

7 Database المخدم جانب وهو االول : الًجانب جانبين على سيكون االمر إذاServerالبيانات بقاعدة لالتصال تصله التى الطلبات جميع خدمة يستطيع وكيف .

يريد الذى الًجهاز وهوClient Applicationال جانب وهو الثانى الًجانب اما؟ البيانات لقاعدة الوصول يستطيع وكيف ، البيانات بقاعدة اإلتصال

وكيفDatabase Server المخدم جانب وهو االول الًجانب عن سنتحدث واالن ؟ البيانات بقاعدة لالتصال الطلبات جميع خدمة يستطيع

بقاعدة االتصال طلبات خدمةDatabase Server المخدم يستطيع الًجانب هذا فىال طلبات معالًجة عملية عن المسؤول وهوOracle Net Listenerال بواسطة البياناتClientsال فبدون ، البيانات بقاعدة لالتصالListenerبقاعدة االتصال عملية محاولة بقاعدة اإلتصال محاولة عملية لكن ، بالفشل ستبوء المخدم خارج من البيانات الطلبات إلستقبال متخصص أنه إذListenerلل تحتاج ال المخدم داخل من البيانات

. الخارجية

فى وهو ،Database Instancesال من عدد خدمةOne Listener واحد مستمع يستطيع التشغيل نظام على نعمل كنا إذا االتى المسار فى يوجد ملف عن عبار االصل

WINDOWS.%ORACLE_HOME%\NETWORK\ADMIN\LISTENER.ORAUNIX التشغيل نظام على نعمل كنا إذا أما$ORACLE_HOME/NETWORK/ADMIN/LISTENER.ORA

االتصال طلبات ليستقبل الملف هذا وتهيئة تحرير البيانات قاعدة مدير يستطيع ، البيانات بقاعدة

139

Page 140: الكتاب العربى لإدارة قاعدة البيانات اوركل

يعملListener يسمىOne Listener على يحتوى بحيثListenerال لملف نموذج هذاPort 15217ال ويراقبnbs المخدم فى المستمع هذا ،TCP PROTOCOL مستخدما

.ORCL تسمىINSTANCE يخدم

أننا ولنفترض جديدLISTENER مستمع إضافة البيانات قاعدة مدير يستطيع بالطبع يراقبNBS المخدم نفس فى يعملLISTENER1 يسمى جديد مستمع إضافة نريدORCL7 تسمى التىINSTANCEال نفس ويخدمPORT 1521ال TCP مستخدما

PROTOCOL.

:- كاالتى التعديل بعد الملف شكل يكون

140

Page 141: الكتاب العربى لإدارة قاعدة البيانات اوركل

يسمى جديد مستمع إضافة : وهى الملف فى الًجديدة التعديالت الحظت

LISTENER1.

.LSNRCTL االمر بواسطةLISTENERS فى التحكم نستطيع ذلك بعد

141

Page 142: الكتاب العربى لإدارة قاعدة البيانات اوركل

.LISTENERال مع للتعامل المتاحة ه المعروضة االوامر وتغيرها سر كلمة وضع وكذلك المستمع حالة وعرض وايقاف لتشغيل اوامر وهى

تحديثه تم ما ليستوعب المستمع تشغيل إعادة وكذلك ، التحقق من كنوع للمستمع مستمع اضفنا أننا وبما ، االوامر من وغيرهLISTERNER.ORAال لملف تهيئة من

يًجب لكن ، المستمع هذا بتشغيل نقوم أن فاالفضلLISTENER1 اسميناه جديد اى االصل المستمع مع التعامل يتم فإنهLISTENER االمر كتابة عند أنه إلى التنبيه

DEFAULTهو هنا والذى LISTENERغير المستمع مع نتعامل أن اردنا إذا لذا خياران: احد فامامنا االصلى

االمر توجيه عند المستمع إسم : تحيد االول

لم ولو ،LISTENER1 المستمع وهو انشأناه الذى الًجديد المستمع بتشغيل قمنا االن

وهو االصلى المستمع مع التعامل لتمSTART االمر بعد المستمع إسم نكتب.LISTENER المستمع

DEFAULTال لوضعSET CUR LISTENER_NAME االمر : استعمال الثانى الخيارLISTENERسنتعامل الذى االصل هو للمستمع الًجديد االسم سيصبح اى ، الًجديد

. معه

142

Page 143: الكتاب العربى لإدارة قاعدة البيانات اوركل

.DEFAULT LISTENERال هوLISTENER1 االن

SERVICESال طريق عن متابعته يمكن وتشغيلهLISTENER1 المستمع إنشاء بعد.WINDOWS التشغيل نظام عل نعمل كنا إذا

على البيانات بقاعدة اإلتصال طلبات استقبال يستطيعLISTENER1 المستمع االنNBS7 المخدم فى PORT 1521ال ORCL ليخدمTCP PROTOCOL مستعمال

INSTANCE.

االمر استخدام فاالفضل المستمع عن معلومات ومعرفة مراقبة أردنا إذاSTATUSاو SERVICEالمستمع اسم مثل المستمع عن معلومات لعرض ال ملف ومسار ، يخدمها التىservicesوال تشغبله تم ومتى واصداره

LISTENER.ORAالمعلومات. من وغيرها

143

Page 144: الكتاب العربى لإدارة قاعدة البيانات اوركل

يمكن كماINSTANCESال من عدد خدمة يستطيع واحد مستمع أن ذكرنا كما كما ، واحدةINSTANCE خدمة فىLISTENERS المستمعين من عدد يتشارك ان

واحد لكل فيكون الواحد الًجهاز فىINSTANCESال من عدد هناك يكون ان يمكن. يخدمها مستع منها

Oracle8i7 اإلصدار من 7 الًجديدةInstanceال تسًجيل يتم فصاعدا ال فى الياDefault Listener7 إضافتها البيانات قاعدة مدير يحتاج ال اى ،Listenerال فى يدويا

.Dynamic Service registrationيعرف فيما وذلك وفى ،DATABASE SERVER المخدم وهو االول الًجانب تهيئة من إنتهينا نكون هكذا

.Clientsال جانب وهو االخر الًجانب عن سنتحدث التالية الصفحات

يحتاجDatabase Server فى البيانات بقاعدة االتصالClientال ليستطيع: اإلتصال عملية لنًجاح الضرورية المعلومات بعض لمعرفة

.Listener المستمع فيه يعمل الذىHOSTال او - المخدم1المستمع. يراقبه الذىPort- ال2المستمع. يستخدمه الذىProtocol - البروتكول3المستمع. يخدمه الذىInstanceال اوserviceال - اسم4

144

Page 145: الكتاب العربى لإدارة قاعدة البيانات اوركل

خالل من البيانات بقاعدة اإلتصالApplicationال او البرنامج يطلب فعندما عملية فى ذلك ليترجم اعاله الموضحة المعلومات لمعرفة يحتاجListener المستمع

:- طرق عدة فهناك االتصال عملية لتتم المعلومات هذه يعالج كيف أما ، ناجح إتصال

1 -Easy Connect-: التى المعلومات كل لكتابة المستخدم يحتاج اإلتصال من النوع هذا فى عملية اثناء المعلومات هذه يكتب ، البيانات بقاعدة لالتصالClientال يحتاجهاالتالى:- النحو على وذلك اإلتصال

<username>/<password>@<hostname>:<listener port>/<service name>

.Listener المستمع عليه يعمل الذى اسم : هوNBS حيثالمستمع. يراقبه الذىPORTال : هو1521

OBAYال اسم : هوInstanceالمستمع. يخدمها التى

.Clientال فى لتهيئة يحتاج ال أنه حيث من اإلتصال طرق اسهل هو النوع وهذا

2 - Local Naming-:) وهى المعلومات لكتابة تحتاجEasy Connect االتصال من السابق النوع فى

host & protocol & port & service nameنوع يسبب مما اإلتصال عملية ( اثناء اتصال عملية كل عند ذلك كتابة الى نحتاج ال اإلتصال من النوع هذا فى ، المشقة

الملف بتهيئة نقوم وانما$ORACLE_HOME/network/admin/tnsnames.ora. التشغيل نظام على نعمل كنا إذا

UNIXالتشغيل نظام على نعمل كنا إذا التالى الملف او WINDOWS. %ORACLE_HOME%\NETWORK\ADMIN\TNSNAMES.ORA

اإلتصال عملية اثناء المطلوبة المعلومات لكل مستعار اسم بعمل نقوم بحيث المستعار االسم هذا يمثل ( بحيثhost & protocol & port & service name) وهى

اسم مع المستعار االسم كتابة سواء االتصال عملية اثناء نحتاج فال ، اعاله المعلومات من قائمة وضع نستطيع ،username/password@alias السر وكلمة المستخدم

فى البيانات بقاعدة االتصاالت مًجموعة تمثل التى المستعارة االسماء تهيئة عمليات.tnsnames.ora الملف

145

CONN SYSTEM/SYS@NBS:1521/OBAY

Page 146: الكتاب العربى لإدارة قاعدة البيانات اوركل

بقواعد اإلتصالClientال هذا . يستطيعtnsnames.ora للملف نموذج هذا7 البيانات . الملف هذا تهيئة مستخدما

:- التالية العبارة كتبClientال هذا فى المستخدم أن ولنفترضCONN USERNAME/PASSWORD@AKSLPNT1

:- التالى النحو علىAKSLPNT1 كلمة سيترجمClientال فإنHOST :المستمع عل يحتوى الذى المخدم إسم KASALA-DC

PROTOCOLوهو يستعمله الذى :البرتوكول TCP.PORTالمستمع. يراقبه الذى :البورت

SERVICE_NAME:ال اسمINSTANCEبها اإلتصال تريد التى.

tnsping االمر بواسطةOracle Net Service aliasesلل اختبار بعمل القيام الممكن من .aliases المستعار االسم نكتب بعده ثم

146

Page 147: الكتاب العربى لإدارة قاعدة البيانات اوركل

. بنًجاح االختبار عملية تمت لقد

2 -Database Link-: على صالحيات منح المستخدمون يستطيع الواحدة البيانات قاعدة فى

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

OBAY تسمى بيانات قاعدة لدينا أن ولنفترض

.ORCL تسمى واخرى

147

SELECT NAME FROM V$DATABASE;

Page 148: الكتاب العربى لإدارة قاعدة البيانات اوركل

ولنفترض ،ORCL البيانات قاعدة معOBAY البيانات قاعدة ربط االن نحتاج الًجدول على استعالم لعمل يحتاجOBAY البيانات قاعدة فىTEST المستخدم أن

EMPLOYEEللمستخدم المملوك VBSالبيانات قاعدة فى الموجود ORCL، 7 إذا وبينOBAY البيانات قاعدة فىTEST المستخدم بينDatabase Link لعمل نحتاج

.ORCL البيانات قاعدة فىVBS المستخدم

الذى المستخدم أن إلى اإلشارة من البدDatabase Linkال إنشاء قبل لكن CREATE DATABASE الصالحية لديه يكون أن البدDatabase Linkال بإنشاء يقوم

LINK. Database بعمل سيقومOBAY البيانات قاعدة فىTEST المستخدم واالن

Linkالمستخدم وبين بينه VBSالبيانات قاعدة فى ORCL.

:Eالمستخدم يتصلاوال TESTالصالحية لديه أن ويتأكد CREATE DATABASE LINK.

7 تأكدنا السابقة الخطوة فى OBAY البيانات قاعدة على نعمل أننا اوال7 وتأكدنا .CREATE DATABASE LINK الصالحية يملكTEST المستخدم أن ثانيا

148

SELECT * FROM USER_SYS_PRIVS WHERE PRIVILEGE='CREATE DATABASE LINK';

Page 149: الكتاب العربى لإدارة قاعدة البيانات اوركل

:Eالمستخدم يقومثانيا TESTال بإختبارOracle Net Service aliasesفى الموجودة وهى االخرى البيانات بقاعدة اإلتصال سالمة من للتأكد وذلك tnsnames.oraال ملف

.ORCL هنا

بنًجاح. اإلختبار عملية تمت لقد

.Database Linkال بإنشاءTEST المستخدم يقوم 7ثالثا

من يستطيعTESTVBS تسمى Database Link بإنشاءTEST المستخدم قام لقد

اخرى بيانات قاعدة فى الموجودVBS بالمستخدم االتصالTEST المستخدم خاللها.ORCL تسمى

E المملوكEMPLOYEE الًجدول عن اإلستعالمTEST المستخدم يمكن االن رابعا.ORCL البيانات قاعدة فى الموجودVBS للمستخدم

149

CREATE DATABASE LINK TESTVBS CONNECT TO VBS IDENTIFIED BY VBS USING 'ORCL';

SELECT * FROM EMPLOYEE@TESTVBS;

Page 150: الكتاب العربى لإدارة قاعدة البيانات اوركل

Database Link7ال اسم يكون االحيان بعد فى طويل الًجدول بإسم مصحوبا7 العبارات كتابة واختصار لتسهيلsynonym مرادف إنشاء االفضل فمن خصوصاكتابتها. يتكرر التى تلك

إلنشاءCREATE SYNONYM للصالحية يحتاج المستخدم أن مراعاة يًجب لكن

.المرادف

االتى: بالشكل اإلستعالم عبارة كتابة يمكن االن

عمليات إجراءDatabase Linkال خالل من تستطيع انك نقول بأن هنا اإلشارة تًجدر المتعذر من ( لكنSELECT & INSERT & UPDATE &DELETE) وهىDMLال

.CREATE & ALTER & DROP مثلDDLال عمليات اجراء

PUBLIC DATABASE LINK: قاعدة فىTEST المستخدم ربط هو السابقة الخطوات فى به قمنا ما

طريق عنORCL البيانات قاعدة فىVBS المستخدم معOBAY البياناتDATABASE LINKتسمى TESTVBS .

150

CREATE SYNONYM EMP FOR EMPLOYEE@TESTVBS;

SELECT * FROM EMP;

Page 151: الكتاب العربى لإدارة قاعدة البيانات اوركل

استخدامOBAY البيانات قاعدة فى اخر مستخدم اى يستطيع هل لكنTESTVBS DATABASE LINKال ألن وذلك ، ال سهولة وبكل الًجواب ؟Database

Linkبالمستخدم خاصة هى بخلقها قمنا التى TESTوهى المستخدمين لكل وليست .PRIVATE DATABASE LINK تسمى

اإلتصالOBAY البيانات قاعدة فى المستخدمون كل يستطيع ولكى PUBLIC DATABASE إلنشاء نحتاجORCL البيانات قاعدة فىVBS بالمستخدم

LINK.

.CREATE PUBLIC DATABASE LINK للصالحية نحتاج النوع هذا إلنشاء بالطبع

CREATE PUBLIC الصالحيةTEST المستخدم بمنح البيانات قاعدة مدير قام

DATABASE LINKالمستخدم قام ثم ومن TESTبإنشاء PUBLIC DATABASE LINKتسمى PUBTESTVBS، البيانات قاعدة فى المستخدمين جميع يستطيع االن

OBAYاستخدم PUBTESTVBS DATABASE LINK.

البيانات قاعدة فىDATABASE LINKال عن لإلستعالمDBA_DB_LINKSUSER_DB_LINKS

151

Page 152: الكتاب العربى لإدارة قاعدة البيانات اوركل

ALL_DB_LINKSV$DBLINK

.DATABASE LINKال حذف يمكن بالطبع

PUBLIC DATABASE LINK ال حذف يمكن كما

152

SELECT DB_LINK FROM DBA_DB_LINKS;

DROP DATABASE LINK TESTVBS;

DROP PUBLIC DATABASE LINK PUBTESTVBS;

Page 153: الكتاب العربى لإدارة قاعدة البيانات اوركل

للحذف. DROP PUBLIC DATABASE LINK للصالحية نحتاج بالطبع

3- Materialized Views-:

بأخرى بيانات قاعدة ربط يمكن كيف عرفناDatabase Linkلل مناقشتنا عند قد ولكن ، اخرى بيانات قاعدة من بيانات قاعدة فى للكائنات الوصول يمكن وكيف الى البيانات قاعدة فى الموجودة البيانات وتحديث لنقل االحيان بعض فى تحتاج. أخرى بيانات قاعدة

7 تكون كأن 7 مثال قاعدة على تحتوى صيدلية كل ؛ صيدليات لمًجموعة مديرا قواعد من الصيدليات حسابات جميع لًجلب تحتاج ساعة كل رأس على ولكن بيانات

Materializedال مهمة هى هذه ، الرئيسية البيانات قاعدة الى الموزعة البياناتViewsلل ولكن ؛Materialized Viewsتفصيلها. مًجال هنا ليست اخرى مهام

ولنفترض ،Database Linkال فى استخدمناه الذى المثال نفس هنا سنستخدم ، البيانات ستستقبل التى الرئيسية البيانات قاعدة هى OBAY البيانات قاعدة أن هنا

االخرى البيانات قاعدة أما ،TEST المستخدم فى البيانات سنستقبل أننا ولنفترضORCLأنه ولنفترض الرئيسى الًجدول على تحتوى والتى EMPLOYEEالمملوك

البيانات قاعدة الى ثانية كل بياناته وتحديث نقل الى نحتاج الذىVBS للمستخدم.OBAY الرئيسية

فىTEST المستخدم بينDatabase Link لعمل شئ كل قبل نحتاج بالطبع وذلك ،ORCL البيانات قاعدة فىVBS المستخدم وبينOBAY البيانات قاعدة إلىORCL البيانات قاعدة منEMPLOYEE الًجدول بيانات وتحديث نقل لعملية.OBAY البيانات قاعدة

7 Materialized وال الرئيسى الًجدول بين(Refresh) البيانات تحديث عملية أيضاViewsأنواع ثالث الى تنقسم :

1 - REFRESH FAST-:التى البيانات نقل فقط يتم التحديث من النوع هذا فى تم ما فقط وانما الًجدول ف البيانات جميع لنقل يحتاج ال فهو تحديث اخر بعد تغيرت. الزمن يختصر الغالب بفى النوع هذا ، تحديث اخر بعد تغيره

153

Page 154: الكتاب العربى لإدارة قاعدة البيانات اوركل

2 -REFRESH COMPLETE:بيانات جميع بنقل يقوم التحديث من النوع هذا فى أما البيانات كتابة إعادة بعمل فيقومMaterialized Viewsال الى المصدر من الًجدول النوع من اكثر زمن يتطلب النوع هذا ان الغالب الًجديدة. ف البيانات واضافة القديمة

FAST.

3- REFRESH FORCE: النوع بتطبيق اول بيدأ النوع هذا FASTفشلت إذا 7 يًجد لم كأن العملية هذه المصدر. ففى جانب فىMaterialized Views Logsال مثال.COMPLETE النوع يطبق الحالة

االصل فانMaterialized Viewsال إنشاء اثناء التحديث نوع يحدد لم إذاDEFAULTهو FORCE.

Materialized Views Logs-: تم التى البيانات بنقل فقط يقومFAST التحديث نوع أن ذكرنا وان سبق كما

أين . ولكنMaterialized Viewsال الى المصدر الًجدول من تحديث اخر منذ تغيرهاال الى نقلها قبل المصدر الًجدول فى تغيرت التى البيانات عن معلومات تخزين يتم

Mataerialized Viewsال فى تخزينها يتم الًجواب ؟Materialized View Logs، وهو يملك الذى المستخدم وفى بل البيانات قاعدة فى إنشاؤه يتم جدول عن عبارة

: التالى االمر طريق عن وذلك المصدر الًجدول

المصدر. الًجدول هوEMPLOYEE بحيث

بالصيغة جدول بإنشاء تقوم البيانات قاعدة ؛ اعاله االمر كتابة فلحظةMLOG$_<TABLE_NAME>

Primary Key Materialized Views: FASTال على التأثير دون ، المصدر الًجدول تنظيم تستطيع حتى ولكنREFRESHال على بناء7 التغيرات حفظ يتم بحيث وذلكPrimary Key، فنستطيع

وهوWITH PRIMARY KEY الخيار تحديدMaterialized Viewsال إنشاء لحظة.ROWID هو االخر والخيار ، اخر خيار تحديد عدم حالة فىDEFAULT االصل

154

CREATE MATERIALIZED VIEW LOG ON EMPLOYEE;

Page 155: الكتاب العربى لإدارة قاعدة البيانات اوركل

الًجدول يكون أن يًجبPrimary Key بالخيارMaterialized Viewsال إنشاء لحظة.prmary Key Constraint على يحتوى المصدر

يًجبMaterialized Viewsال إنشاء عندFast Refresh الخيار تحديد عند كذلك الًجدول يحوى الذى المستخدم فىMaterialized View Logsال بإنشاء قمنا نكون أن

خطأ. رسالة لنا ظهرت وإال المصدر

فى معى ركز عليك ال لكن التعقيد من نوع السابق الشرح فى يكون قد7 سننفذه الذى السناريو عمل وحتى المستخدمين إنشاء من ابتداء7 خطوة خطوة معا

القصيد. بيت هو وهذاMaterialized Viewsال

يسمى فيها مستخدم بإنشاء سنقوم ،OBAY تسمى االولى البيانات قاعدةMAINبإنشاء وسنقوم ؛ Materialized Viewsبيانات لًجلب المستخدم هذا فى

قاعدة فى الموجودSUB للمستخدم المملوكEMPLOYEE الًجدول فى موجودة. ORCL البيانات

:- الخطوات واليك وسنمنحهOBAY البيانات قاعدة فىMAIN المستخدم بإنشاء - سنقوم1

الكافية. الصالحيات

كذلك والتأكدEMPLOYEE هنا وهو المصدر الًجدول من نتأكد االخر الًجانب - فى2 إنشاء نستطيع حتىPRIMARY KEY CONSTRAINT على يحتوى أنه

155

CREATE USER MAIN IDETIFIED BY MAIN;

GRANT CONNECT,RESOURCE,CREATE DATABASE LINK,CREATE MATERIALIZED VIEW TO MAIN;

Page 156: الكتاب العربى لإدارة قاعدة البيانات اوركل

MATERIALIZED VIEWSالخيار بإستخدام االخرى البيانات قاعدة فى WITH PRIMARY KEY.

7 CONSTRAINT على كذلك ويحتوى حقلين على يحتوىEMPLYEE الًجدول إذا

PRIMARY KEY.

المستخدم بينDATABASE LINK بإنشاء نقومOBAY البيانات قاعدة فى - االن3MAINالمستخدم وبين SUBالبيانات قاعدة فى ORCL.

156

SELECT * FROM EMPLOYEE;

SELECT OWNER,CONSTRAINT_NAME,CONSTRAINT_TYPE,TABLE_NAME FROM USER_CONSTRAINTS;

CREATE DATABASE LINK MAINSUB CONNECT TO SUB IDENTIFIED BY SUB USING 'ORCL';

Page 157: الكتاب العربى لإدارة قاعدة البيانات اوركل

المصدر الًجدول يحوى الذىSUB المستخدم وفىORCL البيانات قاعدة - فى4EMPLOYEEبإنشاء نقوم MATERIALIZED VIEW LOG.

التحقق ويمكنEMPLOYEE للًجدولMATERIALIZED VIEW LOG بإنشاء قمنا باإلستعالمEMPLOYEE للًجدولMATERIALIZED VIEW LOGال إنشاء من

التالى

.MATERIALIZED VIEWال بإنشاء نقومOBAY البيانات قاعدة - فى5

157

CREATE MATERIALIZED VIEW LOG ON EMPLOYEE;

SELECT * FROM TAB WHERE TNAME LIKE '%EMPLOYEE';

CREATE MATERIALIZED VIEW EMPLOYEE_MVREFRESH FASTSTART WITH SYSDATENEXT SYSDATE + 1/)24*60*60(WITH PRIMARY KEYAS SELECT * FROM EMPLOYEE@MAINSUB;

Page 158: الكتاب العربى لإدارة قاعدة البيانات اوركل

FAST الخيار مستخدمينMATERIALIZED VIEWال بإنشاء قمناREFRESHال بإنشاء قمنا ألننا وذلكMATERIALIZED VIEW LOGالًجانب فى

WITH PRIMARY KEY الخيار استخدمنا وكذلك ، خطأ رسالة ظهرت وإال االخر اى على ،PRIMARY KEY CONSTRAINT على يحتوى المصدر الًجدول ألن وذلك.WITH ROWID هو اخر خيار هناك حال

ستالحظMATERIALIZED VIEWوال المصدر الًجدول عن اإلستعالم يمكن - االن6 بين متطابقة النتيًجة تكون[SYSDATE +1/(24*60*60] ذلك حددنا كما ثانية كل أنه

وهىMATERIALIZED VIEWال وبينEMPLOYEE المصدر الًجدولEMPLOYEE_MV.

158

SELECT * FROM EMPLOYEE;

Page 159: الكتاب العربى لإدارة قاعدة البيانات اوركل

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

.EMPLOYEE الًجدول فى ثالث حقل إضافة معى الحظت

159

SELECT * FROM EMPLOYEE_MV;

INSER INTO EMPLOYEE VALUES )3,’ALI’(;

Page 160: الكتاب العربى لإدارة قاعدة البيانات اوركل

EMPLOYEE_MV علىEMPLOYEE المصدر الًجدول فى اإلضافة ستنعكسMATERIALIZED VIEWالمصدر. الًجدول فى االضافة من واحدة ثانية بعد

REFRESHال عملية قبلMLOG$_EMPLOYEE للًجدول إستعالم بعمل قمنا لو عملية بعد ولكنREFRESH عملية اخر بعد اضيفت التى الحقول عن معلومات سنًجد

الًجديد. إنتظار وفى الًجدول عن السابقة المعلومات تختفىREFRESHال

التىMATERIALIZED VIEWSال عن إستعالم عمل البياناات قاعدة مدير يستطيعالًجدول بواسطة البيانات قاعدة فى تعمل

DBA_MVIEWS

160

Page 161: الكتاب العربى لإدارة قاعدة البيانات اوركل

الًجدول. نفس من اخرى معلومات على نحصل أن نستطيع.DBA_JOBS الًجدول بواسطةJOBSال عن لالستعالم

.MATERIALIZED VIEWال حذف يستطيعMAIN المستخدم بالطبع

161

DROP MATERIALIZED VIEW EMPLOYEE_MV;

Page 162: الكتاب العربى لإدارة قاعدة البيانات اوركل

162

Page 163: الكتاب العربى لإدارة قاعدة البيانات اوركل

163

Page 164: الكتاب العربى لإدارة قاعدة البيانات اوركل

1 -UNDO MANAGEMENT:7 تحدثت الكتاب هذا من الثالث الفصل فى Undo Tablespaceال عن عرضا

لكن ،Undo Informationال لتخزينOracle Serverال قبل من يستخدم أنه وذكرت7 فكرت هل التراجع يمكنك كيف نفسك سألت وهل ؟ROLLBACKال عملية فى يوما القيم تغير تم أنه رغم ، الحقول؟ بعض فى بها قمت التى التعديل عمليات عن

. الًجديدة القيم الى القديمة

قاعدة فى البيانات على تعديالت عملية إجراء عند أنه بإختصار السناريو Undo Tablespaceال فى القديمة القيم يتخزين يقومOracle Serverال فإن البيانات

العمليات عن التراجع فرصة لنا يتيح السناريو هذا ، الًجديدة بالقيم تغييرها يتم ان قبل Undoال فى موجودة زالت ما القديمة القيم تكون أن بشرط ذلك إلى احتًجنا متى

Tablespaceاالمر اخر فى فهو ماالنهاية إلى موجودة القيم هذه تظل أن يتصور ال إذ Tablespaceيقوم محدودة بالمعلومات احتفاظ فترة له وكذلك محدودة سعة له

164

Page 165: الكتاب العربى لإدارة قاعدة البيانات اوركل

7 يراه ما حسب البيانات قاعدة مدير بتهيئتها هذا خالل من كذلك نستطيع ، مناسبا سنتحدث القديمة القيم توفرت إذاFlashback Queriesال عملية ننًجز ان السناريو

7 ولكن الفصل هذا فىFlashback Queriesال عن عن استعالم عن عبارة هو عموما. معين زمن عند الماضى فى لكن قيم

قاعدة فى تعديلها تم التى القيم تخزين يتم كان السابقة االصدارات فىOracle9i7 اإلصدار بعد ولكنRollback Segment فى البيانات شركة قدمت فصاعدا7 االول الخيار إبقاء معUndo Segment هو جديد خيار اوركل شركة تنصح ولكن ، متاحا.Undo Segmentال استخدام بقوة اوركل

Managed Tablespace Locally طريق عن إدارته تتمUndo Tablespaceفال7 Undo وإنشاء تخصيص يتم العملية بدء فلحظة ،Automatic Extent allocation وايضا

Segment7 ، العملية هذه بواسطة البيانات قاعدة فى تتغير التى القيم لتخزين الياال هذه تخدم أن يمكن ولكن عمليات لكل واحدةUndo Segment تخصيص يتم بحيث

Segmentال امتالء فعند العمليات، من عددExtentنفس فى بعدها للتى التحول يتم أما Segement كل فىExtentsال من اثنين هناك االقل على يكون بحيثSegmentال

ال فىExtentsال جميع ملء تم إذا أما ،DB Block Size على فيعتمد االقصى الحدUndo Segmentال فى الكتابة إعادة يتم فإنهExtent7طلب يتم أو ، األول من إبتداء

جديدة.Extent تخصيص

يمكن ال لكنUndo Tablespace من اكثر الواحدة البيانات قاعدة فى يكون قد Undoال عمل تحديد ويتمUndo Tablespace من اكثر الواحدة اللحظة فى يعمل ان

Tablespaceالمتغير بواسطة البيانات قاعدة فى Undo_Tablespace.

جديدUndo Tablespace إلنشاء

165

SHOW PARAMETER UNDO_TABLESPACE;

CREATE UNDO TABLESPACE ORCLUNDO DATAFILE 'D:\oracle\product\10.1.0\oradata\ORCL\ORCLUNDO.DBF' SIZE 20M EXTENT MANAGEMENT LOCAL AUTOALLOCATE;

Page 166: الكتاب العربى لإدارة قاعدة البيانات اوركل

يعمل ولكنUndo Tablespaceال من اثنين على تحتوى البيانات قاعدة االن. اعاله موضح كماUNDOTBS1 هو فقط واحد

من البيانات قاعدة فى يعمل الذىUndo Tablespaceال تغيير يمكن ولكنUNDOTBS1الى ORCLUNDO.

ALTER SYSTEM SET UNDO_TABLESPACE='ORCLUNDO' SCOPE=BOTH;

7 ادرة خيار تتيحOracle Database10g اوركل البيانات قاعدة Undoلل الياTablespaceوهو Automatic Undo Managementالمتغير بواسطة تهيئته ويتم

UNDO_MANAGEMENTالقيمة يأخذ بحيث AUTO، اليدوى اإلدارة خيار أما Manual Undo Magamenetقاعدة مدير من اكثر لعمل ويحتاج مكلف خيار فهو

. البيانات مدير من العبء يقلل فهوAutomatic Undo Management اإلدارة خيار أما

.Tablespaceال مستوى على فقط إدراته تكون بحيث البيانات قاعدة

وذلكUndo Tablespaceلل المناسبة المساحة تهيئة ينتظره البيانات قاعدة مدير Undo اإلحتفاظ فترة تهيئة من البد كذلك ، تخزينها سيتم التى المعلومات حسب

Retention ال فى للبياناتUndo Segmentالمتغير بواسطة وذلك UNDO_RETENTIONبالثوانى االحتفاظ فترة هى قيمة يأخذ الذى .

محاولة يعنى اىAutomatic تعنى وهى0 القيمة يأخذ أن هو المتغير هذا فى االصل 15 االقل على بالمعلومات اإلحتفاظ يتم أن على ، تنتهى حتى بالمعومات االحتفاظ

2 هى قيمة واقصى بالثوانى االحتفاظ فترة هى اخرى قيمة تحديد يمكن لكن ، دقيقة32.

166

SHOW PARAMETER UNDO_RETENTION;

Page 167: الكتاب العربى لإدارة قاعدة البيانات اوركل

7 تنقسمUndo Segmentsال فى الموجودة المعلومات اىUndo information وعموما:- حاالت ثالث الى

1 -Uncommitted Undo Informationاالن إلى تثبيتها يتم لم التى المعلومات : وهى حذفها يمكن ال المعلومات من النوع هذا ، مستمرة مازالت العمليات ألن وذلك

. فيها الكتابة واعادة2 -Committed Undo Informationألن ولكن ، مستمرة لعمليات نحتاجها ال : وهى

قدر به نحتفظ العمليات من النوع هذا "،Unexpired" بعد تنتهى لم اإلحفاظ فترة Undoال فى مساحة وجود عدم نتيًجة العمليات بعض لفشل ذلك يؤدى لم ما اإلمكان

Tablespaceيقوم قد ولكن ، المعلومات هذه فى الكتابة اعادة يتم الحالة هذه فى واعادة مسح عدم نضمن بحيثUndo Tablespaceال بتهيئة البيانات قاعدة مدير

.Guaranteeing Undo Retention الخيار باستخدام وذلك فيها الكتابة

.Undo Tablespaceلل سواء متاح غير بالطبع الخيار هذا

ذلك أدى لو حتى احتفاظها فترة تنتهى لم التى المعلومات مسح عدم نضمن هكذا .Undo Tablespaceال فى مساحة وجود لعدم العمليات بعض لفشل

3 -Expired Undo Informationفترة وكذلك ، مستمرة لعمليات نحتاجها ال : وهى Undoال فى لمساحة احتًجنا ما متى فيها الكتابة اعادة فيمكن انتهت بها االحتفاظ

tablespace.

7 تحدث التى المشاكل من :- مراعاتها البيانات قاعدة لمدير يًجب والتى كثيرا قاعدة مدير على : ويًجبUndo Tablespace Space Error المساحة - مشكلة1

ال فى مساحة تًجد ال التى فالعملياتUndo Tablespaceال مساحة مراقبة البياناتUndo Tablespaceالخطأ. رسالة تعطى

ORA-01650: unable to extend rollback segment

2 -“Snapshot too old” Errorلمعلومات يحتاج استعالم تنفيذ عند يظهر الخطأ : وهذا Undo Informationقاعدة مدير على يًجب لذا ، فيها الكتابة واعادة مسحها تم قد

المساحة وكذلكUNDO_RETENTION المناسبة اإلحتفاظ فترة مراعاة البيانات.Guaranteeing Undo Retention مراعاة مع المناسبة

بواسطة:UNDOال عن اإلستعالم يمكنDBA_UNDO_EXTENT

V$UNDOSTAT

167

ALTER TABLESPACE ORCLUNDO RETENTION GUARANTEE;

Page 168: الكتاب العربى لإدارة قاعدة البيانات اوركل

2 - Flashbach Technology:

A- Flashback Query:From Oracle91 & Do use Undo

B- Flashback Table:From Oracle10g & Do use Undo

C- Flashback Version Query:From Oracle10g & Do use Undo

D- Flashback Transaction:From Oracle10g & Do use Undo

168

Page 169: الكتاب العربى لإدارة قاعدة البيانات اوركل

E- Flashback Drop:From Oracle10g & Do Not use Undo

F- Flashback Database:From Oracle10g & Do Not use Undo

A- Flashback Query: فى إستعالم عمل خالله من نستطيع بحيثOracle9i اإلصدار منذ متاح النوع هذا

7 الموجودة للبيانات ليس البيانات قاعدة زمنية لحظة فى موجودة لبيانات وإنما حاليا7 النوع هذا ويعتمد ، الماضى فى عمل فبمًجرد ،Undo Tablespaceال على اساسا

المعلومات هذه ،Undo Segments ال فى المعلومات عن البحث يتم االستعالم فقد بالطبع ، الحاليةSessionلل فقط ومتاحة مؤقتة تظل للمستخدم ستعرض التى

Undoال فى المطلوبة البيانات نًجد لم إذاFlashback Queryال عملية تفشلTablespace7 المطلوبة البيانات فى جديدة بيانات كتابة وإعادة المدة طول بسبب مثال

مناسبة.Retention احتفاظ فترة تحديد البيانات قاعدة مدير على لذا

بصورةFlashback Queryال عملية نستوعب حتى التالى السناريو االن ولنتصوراوضح:

الحقول. من مًجموعة على على يحتوىEmployee يسمى جدول االن لدينا

169

Page 170: الكتاب العربى لإدارة قاعدة البيانات اوركل

حقول.8 على االن يحتوىEMPLOYEE الًجدول

. الحقول بعض بمسح قام المستخدم أن لنفترض

الًجدول. بإستعراض قمنا لو االن

. حقول5 فقط لدينا بقى

170

SELECT * FROM EMPLOYEE;

DELETE EMPLOYEE WHERE EMP_NO IN )1,5,7(;

Page 171: الكتاب العربى لإدارة قاعدة البيانات اوركل

الماضى فى زمنية فترة فى ولكن الًجدول على استعالم بعمل االن قمنا لو ماذا. دقائق20 قبل انها ولنفترض

إذا أما ، بعرضها ويقومUndo segementsال فى المعلومات هذه عن سيبحث بالطبعخطأ. رسالة فستظهر يًجدها لم7 متوفرة غير المعلومات هذه اى .Undo Tablespaceال فى حاليا

7 متاح هو ما لكن ، حقول8 عرض ، اإلستعالم نتيًجة هى هذه فقط. حقول5 هو حاليا

المعلومات بهذه نأتى أن أردنا لو ماذا لكن ، الماضى فى معلومات بعرض قمنا هكذا جدول ننشئ أن يمكن ، الًجدول فى موجودة المعلومات هذه تظل أى الحاضر فى

وإعادةEmployee الًجدول بحذف نقوم ثم ومن المستعرض المعلومات من جديد.Employee1 الى الًجديد الًجدول تسمية

171

SELECT * FROM EMPLOYEE AS OF TIMESTAMP TO_TIMESTAMP )'11-06-08:03-33-38','DD-MM-YY:HH24-MI-SS'(;

CREATE TABLE EMPLOYEE1 AS )SELECT * FROM EMPLOYEE AS OF TIMESTAMP TO_TIMESTAMP)'11-06-08:03-33-38','DD-MM-YY:HH24-MI-SS'((;

Page 172: الكتاب العربى لإدارة قاعدة البيانات اوركل

.Employee الًجدول بحذف نقوم االن

.EMPLOYEE إلىEMPLOYEE1 للًجدول تسمية بإعادة نقوم ثم

دقيقة.20 منذ به كانت التى المعلومات على يحتوىEMPLOYEE الًجدول االن

فى بيانات عن معينةSession فى استعالم بعمل قمنا السابقة الخطوات فى فى�Sessionال هذه كل نضع أن كذلك الممكن من ولكن ، الماضى فى معينة لحظة من البيانات لقاعدة اإلستعالمات جميع نتيًجة تكون بحيث ، الماضى من معينة لحظةال عمل اثناء تحديدها يتم الماضى من معينة نقطة فى�Sessionال هذه خالل

Flashback، ال باقى ولكن�Sessionsقاعدة ترى البيانات قاعدة على تعمل التى البيانات قاعدة ترى التىSessionال هذه عدا ما ؛ االن الحقيقى الوقت فى البيانات

.DBMS_FLASHBACK الحزمة خالل من ذلك يتم ، الماضى من معينة لحظة فى

7 للماضى الحاليةSessionبال رجوعلل 7 يوما PROCEDURE اإلجراء بتنفيذ نقوم كامالENABLE_AT_TIMEالحزمة فى الموجود PACKAGE DBMS_FLASHBACK

172

DROP TABLE EMPLOYEE;

DECLARE QUERY_TIME TIMESTAMP;BEGIN QUERY_TIME := TO_TIMESTAMP)SYSDATE -1(; SYS.DBMS_FLASHBACK.ENABLE_AT_TIME ) QUERY_TIME (; COMMIT;END;/

Page 173: الكتاب العربى لإدارة قاعدة البيانات اوركل

باالمس. كنا لو كما البيانات قاعدة ترى اإلستعالمات جميعSessionال هذه خالل هكذا

ماعداDMLال عمليات إجراء يمكن ال النمط هذا خالل من أنه إلى اإلشارة من البدSELECT.

الحزمة فى الموجودDISABLE االجراء بواسطة النمط هذا إلغاء يمكنDBMS_FLASHBACK

.Flashback النمط بإلغاء قمنا هكذا

173

Page 174: الكتاب العربى لإدارة قاعدة البيانات اوركل

B- Flashback Table:7 ويسمى اإلصدار فى النوع هذا واستحدثFlashback Table Query ايضا

Oracle10g7 ويعتمد فترة الى بالًجدول الرجوع وهو ،Undo Tablespaceال على اساسا7 ويعتمد الماضى فى زمنية الًجدول وارجاعUndo Segmentsال الى الذهاب الى اساسا

،Undo Segments الموجودة المعلومات من مستفيدا الماضى فى معينة لحظة الى ،Undo Tablespaceال فى سنًجدها التعديالت من عدد الًجدول على جرت تكون فقد

ال فى المطلوبة المعلومات نًجد لم إذاFlashback Table ال عملية تفشل قد بالطبعUndo Tablespace7. المطلوبة بالمعلومات اإلحتفاظ فترة إلنتهاء نتيًجة مثال

: التالى السناريو االن واليك EMP يسمى والثانى اإلدارات جدول وهوDEPT يسمى االول جولين لدينا ان لنفترض

الموظفين. جدول وهو

الًجدولين. كال فلنستعرض

174

SELECT * FROM DEPT;

Page 175: الكتاب العربى لإدارة قاعدة البيانات اوركل

.DEPT اإلدارات جدول فى جديد إدارة لنضف

الًجديد الموظف ينتمى بحيثEMP الموظفين جدول فى جديد موظف بإضافة ونقومالًجديدة. لإلدارة

175

SELECT * FROM EMP;;

INSERT INTO DEPT VALUES)3,'FINANCE'(;

INSERT INTO EMP VALUES)3,'KHALED',3(;

Page 176: الكتاب العربى لإدارة قاعدة البيانات اوركل

االن الزمن بعرض لنقوم

.Flashback Tableال لعمل نحتاجة

للًجدولين. اضفناهما الذ77ين الحقلين بحذف نقوم االن

الحقل حذف قبل ما إلىEMP للًجدولFlashback Table بعمل لنقوم االنEMP_NO=3،

176

SELECT SYSDATE FROM DUAL;

DELETE EMP WHERE EMP_NO=3;DELETE DEPT WHERE DEPT_NO=3;

FLASHBACK TABLE EMP TO TIMESTAMP TO_TIMESTAMP)'13-06-2008:01-01-06','DD-MM-YYYY:HH24-MI-SS'(;

Page 177: الكتاب العربى لإدارة قاعدة البيانات اوركل

Enable Row لعمل نحتاج ألننا وذلكFlashback Table اإلسترجاع عملية فشلتMovement ، عن عبار وهو Flagال فى وضعه يتمData Dictionaryليوضح

التعديل. عمليات لالوركل

Flashback عمل االن فلنحاول ،EMP للًجدولEnable Row Movement بعمل قمناTableللًجدول EMPاخرى. مره

Foreign Key القيد إنتهاك تم قد ألنه ؟ لماذا عرفت هل ، اخرى خطأ رسالةConstraintالًجدول الى3 رقم الموظف إعادة يمكن ال إذ EMPالى ينتمى وهو

7؟ الحل فما ، حذفها تم قد3 رقم لإلدارة يبتمى فهو ‘ حذفها تم اإلدارة إذا

. EMP & DEPT الًجدولين لكالFlashback Table بعمل نقوم ان الحل.Enable Row Movement بعمل تقوم أن تنسى ال لكن

177

ALTER TABLE EMP ENABLE ROW MOVEMENT;

FLASHBACK TABLE EMP,DEPT TO TIMESTAMP TO_TIMESTAMP)'13-06-2008:01-01-06','DD-MM-YYYY:HH24-MI-SS'(;

Page 178: الكتاب العربى لإدارة قاعدة البيانات اوركل

7 وليس بنًجاحFlashback Tablesال عملية تمت لقد بترتيب نقوم أن ضروريا نهاية بعد منها التأكد يتمConstraint القيود ألن وذلكFlashbackال عبارة فى الًجدول.Transaction العملية

عملية اى فىFlashback Table جدول استرجاع محاولة فشلت : لو مالحظة لو اى ، كلها العملية عنROLLBACK التراجع يتم ثم ومن تتوقف العملية فإن

عملية فشلت ولكن السابقة العملية فىDEPT الًجدول استرجاع عملية نًجحتكلها. العملية عن التراجع ويتم ستفشل برمتها العملية فإنEMP الًجدول استرجاع

تفشل فقد ، النًجاح مضمونة لسيتFlashback Tableال عملية حظت ال كما:- التالية االسبابا احد فى

.Constraint Violated القيود احد انتهاك تم - إذا1استرجاعه. المطلوب للًجدولEnable Row Movement عمل يتم لم - إذا2: Undo Tablespace ، ORA-08180ال فى المطلوبة المعلومات تتوفر لم - إذا3

no snapshot found based on specified time”.Sys Schema فى لًجدولFlashback Table عمل يمكن - ال4

C- Flashback Versions Query:7 تحتاج قد الحقول على التعديالت بعض لمراقبة بيانات لقاعدة كمدير احيانا

تتحول قد فمثال ، معينة تاريخية لفترات معين حقل اخذها التى القيم لمعرفة فتحتاج ولكن ، زمنية فترة كلSalaryال ملف تعديل فيتم فترة كل الموظفين مرتبات منذ معين لموظف للمرتب السابقة القيم اوHistoryال لمعرفة احتاج أننى لنفترض

الحالى. للمرتب قيمة اخر هو االن الًجدول فى لى متاح هو ما فكل ، تعينة تم أن7 ويعتمدOracle10g اإلصدار فى النوع هذا استحدث وقد Undoال على اساسا

Tablespaceال من يريدها التى بالمعلومات ياتى . بحيثUndo Segmentsنحدد أن بعد .System Change Number (SCN) طريق عن أو المحددة الزمنية الفترة له

178

SELECT SALARY,VERSIONS_XID AS XID,VERSIONS_STARTSCN,VERSIONS_ENDSCN,VERSIONS_OPERATION FROM SALARY VERSIONS BETWEEN SCN MINVALUE AND MAXVALUE WHERE EMP_NO=1;

Page 179: الكتاب العربى لإدارة قاعدة البيانات اوركل

هو كماInsert عمل نتيًجة وكانت 1000 كانت ابتداء7 المرتب قيمة معى الحظ هو كماUpdate عمل نتيًجة 1500 القيمة الى تعديلها تم ذلك بعد ،I بالحرف موضحU، 7 بالحرف موضح االمر بواسطة2000 القيمة الى اخرى مرة تعديله تم وايضا

Updateبالحرف موضح هو كما U.

كما ،SCNال مستخدمين المعلومات بعرض السابق المثال فى قمنا لقد .Timestampال إستخدام يمكن

.

.Commited تثبيتها يتم لم التى القيم عرض يتم مالحظــــــــة: ال

7 Undoال فى المطلوبة الععلومات تًجد لم إذاFlashback Versionsال عملية إذاTablespaceعمل يمكن ال كما ، ستفشل فأنها Flashback Versionsالخارجية للًجداول

External Tablesالمؤقتة الًجداول وكذلك Temporary Tables7 .Views المناظير وأيضا

D- Flashback Transaction:

179

Page 180: الكتاب العربى لإدارة قاعدة البيانات اوركل

Undoال استخدام يتمFlashback Table and Flashback versions من كل فىDataال أما ، للكائناتFlashback Transactionال جميع بإسترجاع يقوم فإنهUndo

Data For transactionبعدد مرتبطة العمليات كانت مهما العمليات مستوى على اى Viewال نستخدمFlashback Transactionال عن لإلستعالم ، الكائنات من

: التالىFLASHBACK_TRANSACTION_QUERY.

7 حساسةViewال هذا فى الموجودة البيانات وألن Viewال هذا فإن لذلك جدا.SELECT ANY TRANSACTION PRIVILEGE الصالحية بواسطة محمى

7 كبير بعدد يأتى البيانات قاعدة على العمليات جميع استعالم وألن من جدا7 أنى فلو ، الشروط بواسطة اإلستعالم فى التركيز األفضل فمن ، المعلومات أريد مثال الشرط تحديد االفضل فمن معين جدول على تمت التى العمليات استعراض

WHERE TABLE_NAME=’TABLE_NAME’

الًجدول على حدثت التى العمليات عن استعالم عمل اريد أنى االن ولنفترضSALARY.

SELECT START_TIMESTAMP,UNDO_SQL,TABLE_NAME FROM FLASHBACK_TRANSACTION_QUERY WHERE TABLE_NAME='DEPT';

180

DESC FLASHBACK_TRANSACTION_QUERY;

Page 181: الكتاب العربى لإدارة قاعدة البيانات اوركل

.DEPT الًجدول علىUPDATE عملية تمت لقد

FLASHBACK VERSIONS7ال استخدام يمكن ولكن XID لتحديد اوال(Transaction Identifier)

Flashbackال فى نستخدمها سوف ،XID=05001D0057030000 معى الحظTransaction Query.

181

SELECT SALARY,VERSIONS_XID AS XID,VERSIONS_STARTSCN,VERSIONS_ENDSCN,VERSIONS_OPERATION FROM SALARY VERSIONS BETWEEN SCN MINVALUE AND MAXVALUE WHERE EMP_NO=1;

SELECT START_TIMESTAMP,UNDO_SQL,TABLE_NAME FROM FLASHBACK_TRANSACTION_QUERY WHERE XID=HEXTORAW)'05001D0057030000'(;

Page 182: الكتاب العربى لإدارة قاعدة البيانات اوركل

FLASHBACK_VERSIONS AND استخدمنا هكذاFLASHBACK_TRANSACTION.

7 التى العمليات لعرض يستخدمFLASHBACK_TRANSACTIONال فإن وعموما7 النوع هذا ويستخدم البيانات قاعدة فى حدثت ويسمى ،Undo Informationال ايضا7 .FLASHBACK_TRANSACTION_QUERY ايضا

E- Flashback Drop: لحظةOracle Database اوركل البيانات قاعدة من السابقة اإلصدارات فى

7 يزال سوف فإنهDrop Table للًجدول حذف عمل Data Dictionaryال من ايضا جدول استرجع أن أردت إذا البيانات لقاعدةRecovery استرجاع بعمل نقوم وسوف7 7 حذفه تم واحدا 7 وملكلف مكلف حل أنه شك ال ، خطأ حيث ومن الزمن حيث من جدا

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

يستقلها التى المساحات تحرير يتم الOracle10g اإلصدار فى أما ، يستقلها كان التى7 الًجدول وضع يتم وإنما ، الًجدول حذف لحظة كائنات من يتبعه وما الًجدول فى مؤقتا

7 الًجدول ويظلRECYCLE BIN المهمالت سلة 7 مملوكا إنتقاله رغم للمستخدم ايضا تسميته إعادة يتم المهمالت سلة إلى إنتقاله لحظة بالطبع ولكن ، المهمالت سلة الى

، اإلسم بنفس اخر جدول بإنشاء اقوم أن أردت إذا االسماء فى تضارب يحدث ال حتى

182

Page 183: الكتاب العربى لإدارة قاعدة البيانات اوركل

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

تشبه اوركل البيانات قاعدة فىRECYCLE BIN المهمالت سلة بساطة بكل.WINDOWS ويندوز التشغيل نظام فى المهالت سلة كبير حد الى

بواسطة:RECYCLE BIN المهمالت سلة عن اإلستعالم يمكنDBA_RECYCLEBINUSER_RECYCLEBIN

االمر: طريق عن اإلستعالم يمكن كماSHOW RECYCLEBIN

7 لننتابع واالن السناريو: هذا معا سلة عن بإستالعم نقوم ثم ومن ،USER_MASTER الًجدول بحذف المستخدم يقوم

.RECYCLE BIN المهمالت

SHOW RECYCLE BIN;

زال ما أن إالUSER_MASTER الًجدول بحذف قمنا أننا رغم أنه كيف معى الحظت7 . استرجاعه كذلك ويمكننا المهمالت سلة فى موجودا

183

DROP TABLE USER_MASTER;

FLASHBACK TABLE USER_MASTER TO BEFORE DROP;

Page 184: الكتاب العربى لإدارة قاعدة البيانات اوركل

إذا االسترجاع عملية تفشل قد لكن المحذوفات سلة من الًجدول بإسترجاع قمنا لقد بنفس جدول بإنشاء قمنا

تضارب عملية لتفادى تسميته اعادة يمكن لذلك اإلسترجاع عملية قبل االسماالسماء.

. جديد بإسم ولكن الًجدول بإسترجاع قمنا لقد

184

FLASHBACK TABLE USER_MASTER TO BEFORE DROP RENAME TO MASTER;

SELECT * FROM USER_RECYCLEBIN;

Page 185: الكتاب العربى لإدارة قاعدة البيانات اوركل

. المهمالت سلة فى جدول يوجد ال االمر بواسطة المهمالت سلة من الًجداول ومسح المهمالت سلة تنظيف يمكن

PURGE.

. المهمالت سلة فىMASTER الًجدول االن يوجد ال

سلة فى الًجدول وضع دون المستخدم طريق عن الًجدول حذف يمكن كذلك DROP TABLE االمر بواسطة البيانات قاعدة من مباشرة حذفه وانما المهمالت

<TABLE_NAME> PURGE

7 بسلة المرور دون البيانات قاعدة من الًجداول حذف فيها يتم التى الحاالت من إذا:- المهمالت

.DROP TABLE <TABLE_NAME> PURGE االمر - استخدام1االمر بواسطة الًجداول يحوى الذىTABLESPACEال حذف - لحظة2

DROP TABLESPACE <TABLESPACE_NAME> INCLUDING CONTENTS.االمر بواسطة الًجداول يحوى الذى المستخدم حذف - عند3

DROP USER <USER_NAME> CASCADE.

F- Flashback Database:

185

DROP TABLE EMP PURGE;

PURGE TABLE MASTER;

Page 186: الكتاب العربى لإدارة قاعدة البيانات اوركل

7 فكرت هل � بحذف قمت لو تفعل ماذا يوما 7 ما مستخدم وبكل الًجواب ؟ خطأ االحتياطى النسخ منRecovery البيانات لقاعدة استرجاع بعمل اقوم بساطةBackup.

7 الزمن حيث من مكلف ولكن صحيح الحل هذا قاعدة كانت إذا خصوصا الزمن حيث من مكلف أنه بد ال الملفات من كبيرة احًجام فإسترجاع ، كبيرة البيانات

.7 الحل ما .Flashback Database هو الحل ، إذا

فى معينة زمنية نقطة الى البيانات قاعدة إرجاع هىFlashback Databaseال الى النقطة تلك من البيانات قاعدة فى حدثت التى التعديالت جميع بحيث ، الماضى

تكن. لم كأن االن

كأن ، منطقية اخطاء حدوث حالة فىFlashback Databaseال من نستفيد أما ،Truncate Table عمل أو الخطأ طريق عن مستخدم البيانات قاعدة مدير يحذف

اإلستفادة نستطيع فال الملفات من غيره اوData File نفقد كأن الفيزيائية األخطاء النسخ من للملفات استرجاع عمل هو نستطيعه ما وكلFlashback Databaseال من

التقلدية. بالطريقة اإلحتياطى

7 سريعة عملية هىFlashback Databaseال عملية البيانات بقاعدة للرجوع جدا اإلحتياطى النسخ ملفات من اإلسترجاع بعملية مقارنة الماضى فى زمنية لفترة

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

Background Process إنشاء يتمEnable Flashback Database عمل لحظة يسمىSGA الذاكرة فى جزء تخصيص ويتمRecovery Writer (RVWR) يسمى

Flashback Bufferلل الدسيك من جزء تخصيص ويتمFlashback logsهو الًجزء وهذا 7 .Flash Recovery Areaال دائما

ال الى البيانات قاعدة فى تعديله تمBlock كل وضع يتم بحيث السناريو يكونFlash Bufferال يقوم ذلك بعدRVWRال هذه بوضعBlocksال منFlashback Buffer

.Flashback Logsال إلى

Redo Log والRedo Log Bufferال سناريو كبير حد الى يشبه السناريو هذاFilesال فى تكتب التعديالت كل ليس أنه فى اإلختالف ولكنFlashback Bufferكما

Flashbackال كذلك ،Complete Block Images وإنماRedo Log Bufferال فى يحدثLogesلل يحدث كما ارشفته تتم الRedo Log Files.

وإنماFlashback Bufferال فى تكتب التعديالت كل ليست أنه ذكرت كماComplete Block Images، كتابتها يتم وال تحدث التعديالت من كثير هناك فإن لذا

قبل اخرى تعديالت تحدثت وربما تأخيرها يتم وإنماFlashback Bufferال فى مباشرة Complete كتابة يتم قد أنه أنا اليه أرمى ما ،Flashback Buffer ال فى تكتب أن

Blockعملية لذا ، مختلفة ازمنة فى حدثت التعديالت من مختلفة مًجموعة يحوى وهو ال فإن لذا ، بمكان الصعوبة من هى مضبوط لوقتFlashback Databaseال

Flashback Databaseالنمط فى البيانات قاعدة تكون ألن يحتاج Archive Log Mode

186

Page 187: الكتاب العربى لإدارة قاعدة البيانات اوركل

قاعدة فى حدثت التى التعديالت تفاصيل جميع على يحتوى االرشيف ألن وذلك Archive Logsال معFlashback Logsال إذا ، Flashback Logs خالف على البيانات

Flashback Databaseال عملية ينًجحا أن يستطيعان

االتية:- الخطوات نتبعFlashback Databaseال لتهيئة.Archive Log Mode النمط فى تعمل البيانات قاعدة أن من - التأكد1

اثنين على االقل على تعمل البيانات قاعدة أن على سابقة فصول فى تحدثنا البيانات قاعدة فى تمت التى التعديالت على تحوى ملفات وهىRedo Log Files من

.ال فى الموجودة التعديالت بكتابة يقومBackground Process LGWR وأن

Redo Log Bufferال فى ويضعهاRedo Log Files، دورى بشكل الكتابة عملية وتكون البيانات لفقدان يؤدى مما ،Redo Logsال فى الكتابة إعادة ويتمRedo Logال بين

Archive Log االنمط فى البيانات قاعدة تشغيل هو الحل كان لذا فيه الموجودةModeإنشاء يتم بحيث Background Processيسمى جديد ARCnبعمل يقوم بحيث الملفات هذه فى الموجودة البيانات نفقد ال بحيثRedo Log Filesال لملفات نسخ

ال عملية تفشل بدونها والتى ؛Recovery اإلسترجاع عملية فى عليها نعتمد والتىRecovery.

ال؟ امArchive Log Mode الوضع فى تعمل البيانات قاعدة هل لمعرفة

.No Archive Log الوضع فى البيانات قاعدة إذا

االتية: بالخطوات نقومArchive Log الوضع فى البيانات قاعدة لتهيئةAالمتغير بواسطة األرشيف فيه نضع سوف الذى المكان - تحديد

LOG_ARCHIVE_DESTوذلك مختلفة إتًجاهات10 تحديد يمكن أنه مراعاة مع .10 الى1 من القيم تاخذn حيثn_LOG_ARCHIVE_DEST المتغيرات بواسطة

187

SELECT LOG_MODE FROM V$DATABASE;

ALTER SYSTEM SET LOG_ARCHIVE_DEST_1='LOCATION=D:\ARCHIVE\’ SCOPE=SPFILE;

Page 188: الكتاب العربى لإدارة قاعدة البيانات اوركل

7 ذكرت كما متغيرات تهيئة يمكن كما ، لالرشيف اخرى اتًجاهات تحديد يمكن سابقا7 ضرورية غير لكنها اخرى لتحديد المتغير هذاLOG_ARCHIVE_FORMAT مثال

. القيمة يأخذ االصل فى ، االرشيف ملف بها يخرج التى الفورمات

حيث:-

Bالوضع فى ونفتحها البيانات قاعدة - نغلق Mount، االمر ننفذ ثم ALTER DATABASE ARCHIVELOG.

188

ALTER DATABASE ARCHIVELOG;

Page 189: الكتاب العربى لإدارة قاعدة البيانات اوركل

.ARCHIVELOG MODE النمط فى تعمل البيانات قاعدة االن

7 االستعالم يمكن بواسطة:ARCHIVELOG MODE عمل عن ايضا

REDO LOG FILEال لملف نسخ عمل يتمSWITCH LOGFILE عمل لحظةلالرشيف.

االرشيف ملفات عن اإلستعالم يمكن كما

االرشبف. ملفات هى هذه

:Flash Recovery Areaال - تهيئة27 ذكرت Flash Recovery Areaال فى إلى إدارته تتم الFlashback Logsال أن سابقا ويتمDB_RECOVERY_FILE_DEST المتغير بواسطة تخصيصة يتم مكان وهى

المتغير هذا بواسطة المخصص المكان هذا مساحة تحديدDB_RECOVERY_FILE_DEST_SIZE، 7 يلزمناFlash Recovery Areaال لتهيئة إذا

189

ALTER SYSTEM SWITCH LOGFILE;

SELECT NAME FROM V$ARCHIVED_LOG;

SELECT ARCHIVER FROM V$INSTANCE;

ALTER SYSTEM SET DB_RECOVERY_FILE_DEST=’D:\ORACLE\PRODUCT\10.1.0\FLASH_RECOVERY_AREA;

Page 190: الكتاب العربى لإدارة قاعدة البيانات اوركل

DB_RECOVERY_FILE_DEST_SIZE) المتغيران تهيئةDB_RECOVERY_FILE_DEST & )

: Flashback Log بال اإلحتفاظ فترة - تحديد3 ذلك تحديد ويتم اخرى مرة فيه الكتابة وإعادة استخدامه يتم أن قبل وذلك

االحتفاظ زمن وهوDB_FLASHBACK_RETENTION_TARGET المتغير بواسطةيوم. لمدة اإلحتفاظ يتم أن واالصل بالدقائق

:Mount الوضع فى البيانات قاعدة وفتح - اغالق4

ALTER DATABASE FLASHBACK االمر بواسطةFlashbackال تمكين ثم ومن ON

190

ALTER SYSTEM SET DB_FLASHBACK_RETENTION_TARGET=1440;

SHOW PARAMETER DB_RECOVERY_FILE_DEST;

ALTER SYSTEM SET DB_RECOVERY_FILE_DEST_SIZE=2G;

Page 191: الكتاب العربى لإدارة قاعدة البيانات اوركل

.Flashbackال تهيئة من انتهينا هكذا

االتى: االستعالم بعمل نقومFlashbackال تهيئة من للتأكد

Flashbackال لمراقبة

191

ALTER DATABASE FLASHBACK ON;

SELECT FLASHBACK_ON FROM V$DATABASE;

SELECT * FROM V$FLASHBACK_DATABASE_LOG;

Page 192: الكتاب العربى لإدارة قاعدة البيانات اوركل

E نتابعFlashback Databaseال استخدام كيفية لمعرفة السناريو: هذا معا.الخطأ طريق عنTEST المستخدم بحذف قام البيانات قاعدة - مدير1

.البيانات قاعدة فىTEST اسمه مستخدم يوجد ال االن

Flashback عمل ثم ومنMount الوضع فى وفتحها البيانات قاعدة - اغالق2Databaseالمستخدم حذف قبل ما الوقت وهو54-55-08:12-06_17 للزمن

TEST.

192

DROP USER TEST CASCADE;

FLASHBACK DATABASE TO TIMESTAMP TO_TIMESTAMP)'17-06-08:12-55-54','DD-MM-YY:HH24-MI-SS'(;

Page 193: الكتاب العربى لإدارة قاعدة البيانات اوركل

.Resetlogs الوضع فى البيانات قاعدة نفتح -37

47 .TEST المستخدم وجود من لنتأكد - اخيرا

7 نعرف نكن لم إذا أما فليسTEST المستخدم المستخدم حذف وقت مثال والتأكدRead Only الوضع فى البيانات قاعدة فتح ثم ومن التخمين سواء حل عندنا

ثم ومن اخرى مرة وفتحها البيانات قاعدة إلغالق نلًجأ وقد االسترجاع جدوى من

فى مباشرة البيانات قاعدة نفتح والن ، اخر لوقتFlashback Databaseال إعادة Log Sequence Numberال تهيئة بإعادة يقومRestlogs الخيار النResetlogs الوضعجديد. ( من001) القيمة بأخذ ويبدأ

193

ALTER DATABASE OPEN RESETLOGS;

SELECT USERNAME FROM DBA_USERS WHERE USERNAME='TEST';