الانتقال إلى المحتوى
View in the app

A better way to browse. Learn more.

مجموعة مستخدمي أوراكل العربية

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

سلسلة دروس النسخ الإحتياطى والإسترجاع (backup & Recovery)

Featured Replies

بتاريخ:


السلام عليكم ورحمة الله وبركاته

لاحظت اثناء مرورى على هذا المنتدى الرائع وغيره من المنتديات كثرة الاسئلة عن النسخ الإحتياطى والإسترجاع (Backup & Recovery ) ، فأحدهم يسأل كيف يقوم بعمل نسخ إحتياطى حتى يحمى قاعدة بياناته من الفقدان ولعمرى إن هذا لهو عين العقل ، واخر يسأل كيف سيترجع قاعدة بياناته بعد عطل مفاجئ تعذر بعده فتح قاعدة البيانات ، واّخر واّخر واّخر .

ولا تنتهى الاسئلة فى هذا الموضوع الهام ، لذا رأيت أن اساهم فى هذا الجانب.

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



.

  • الردود 48
  • المشاهدات 21.8k
  • البداية
  • اخر رد

أكثر المشاركين في هذا الموضوع

بتاريخ:

استاذ الباشا ماشاء الله على مواضيعك الهامة ياريت نلاقى شرح كامل لانواع النسخ الاحتياطى والاسترجاع :lol:

بتاريخ:

ربنا يزيدك علما نافع و تفيد به اخوانك
نحن معك اخي

بتاريخ:
  • كاتب الموضوع



اليكم جدول السلسلة

173151450.jpg

بتاريخ:

السلام عليكم
هذا الموضوع هام جدا ( ممتاز )- ربنا يوفقك الى عمل الخير -
يا أمة الامر بالمعروف و النهى عن المنكر - اللهم لك الحمد على نعمة الاسلام وكفى بها نعمة
جزاك الله خيرا أخى الفاضل

بتاريخ:

الله يجزيك الخير اخى على ما تفعله والله فعلا موضوع مهم ويستحق التثبيت
انا عن نفسى تعلمت منك الكثير بارك الله فيك

بتاريخ:
  • كاتب الموضوع




Backup-1

هو بإختصار عمل نسخة احتياطية لقاعدة البيانات كلياً او جزئياً تحسباً لعطل قد يحدث لقاعدة البيانات أو لاسباب اخرى ؛ مثلاً قد نحتاج للرجوع بقاعدة البيانات للوراء لغرض المراجعة.

واوركل تدعم عدد من انواع النسخ الاحتياطى

217911249.jpg

Logical Backup-1.1
احسنت شركة اوركل إذ دعمت هذا النوع من النسخ الإحتياطى والإسترجاع Logical Backup & Recovery فهو اسهل الانواع واسرعها على الاطلاق .

وتأتى كلمة منطقى Logical من كون أن الكائنات التى يتم تصديرها بهذه الطريقة لا يمكن التعامل معها فيزيائياً عن على مستوى نظام النشغيل فمن المستحيل التعامل مع كائنات مثل الجداول Tables والمناظير Views وغيرها من الكائنات على مستوى نظام التشغيل .

سنناقش فى هذا الفصل كل من :-
1- Use Export Utilities to Export Data
2- Use Import Utilities to Import Data
3- Use Data Pump to Export Data
4- Use Data Pump to Import Data



1- Use Export Utilities to Export Data:
دعم اوركل لهذا النوع من التصدير ليس حديثاً ولكن ما زال هذا النوع من النسخ الإحتياطى متاحاً فى الإصدار Oracle10g ، بحيث نستطيع من خلاله تصدير:
1- بيانات مستخدم لاخر فى نفس قاعدة البيانات.
2- قاعدة بيانات لاخرى.
3- اصدار الى اخر.

ومن الخيارات المتاحة فى هذا النوع من النسخ الإحتياطى:
1- تصدير جداول معينة.
2- تصدير بيانات مستخدم.
3- نصدير قاعدة البيانات بأكملها مع مراعاة الاتى:-
1- لا يتم تصدير الBase Tables .
2- لا يتم تصدير الTemporary Tablespace.
3- لا يتم تصدير الUndo Segment.
4- لا يتم تصدير الPhysiacl File مثل (Control files & Redo Log Files).



ومن الخيارات المتاحة ايضاً اثناء عملية التصدير:-
1- Rows= [Y||N]: هذا الخيار يعنى هل تريد تصدير الجدول كهيكلة دون بيانات أم انك تريد تصدير البيانات معه ، الاصل هو الخيار Y بمعنى تصدير الهيكل والبيانات.
2- Indexes= [Y||N]: هل نقوم بتصدير المراجع التابعة للجداول اثناء تصدير الجداول أم لا ، الاصل Y.
3- Grants= [Y||N]: هل ترغب فى تصدير الصلاحيات ايضاً عند تصدير الكائنات والمستخدمين ، الاصل Y.
4- File: لتحديد مكان إنشاء الملف الذى يحوى البيانات المصدرة.
5- Log: لتحديد مكان إنشاء الملف الLog File الذى سيحوى معلومات عن عملية التصدير.
6- Constraints= [Y||N]: هل ترغب فى تصدير القيود Constraints اثناء تصدير الجداول.
7- Buffer=256k هنا نحدد حجم الBuffer ، الاصل 256k.
8- Tables: لتحديد الجداول التى اريد تصديرها.
9- Inctype=[incremental||Cumulative||Complete]: لتحديد نوع التصدير:-
أ - Complete: لتصدير جميع البيانات.
ب- Incremental : النسخة التزايدية وهى تعنى عمل تصدير للبيانات التى تغيرت بعد اخر عملية تصدير.
ج- Cumulative : النسخة التراكمية وهى تعنى عمل تصدير للبيانات التى تغيرت بعد اخر عملية تصدير تراكمية (Cumulative) أو تكاملية (Complete).

10- Owner: إسم المستخدم الذى نريد عمل تصدير لبياناته.
11- Triggers= [Y||N]: هل ترغب فى تصدير الTrigger أثناء عملية التصدير ، الاصل هو الخيار Y.
12- Filesize: لتحديد اقصى حجم لمف الDump File.


وعموماً يمكن مراجعة خيارات التصدير بواسطة EXP HELP=Y


116246144.jpg

587408344.jpg

عملية التصدير تتم من خلال Export Utilities بحيث يتم الاتصال بقاعدة البيانات عن طريق الServer Process ومن ثم عمل Select Statements للبيانات المطلوبة ومن ثم يقوم بعمل تمرير للبيانات عن طريق الServer Process إلى Export User Process.
بالمناسبة يمكن تجاهل الاجراءات اعلاه بواسطة الخيار( Dirct=y (Dirct-path بحيث يتم قراءة البيانات من الديسك الى الBuffer Cach ومن ثم ارجاع البيانات الى Export Client ، هذه الطريقة تحسن الاداء.




بتاريخ:

جزاك الله كل الخير
و الله يقويك

بتاريخ:
  • كاتب الموضوع




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


A- كيف يصًدر المستخدم VBS الجدول EMPLOYEE الذى يملكه.

290376675.jpg

يمكن صياغة امر التصدير اعلاه بالطريقة التالية

977348392.jpg

اختلفت الصياغة ولكن النتيجة واحدة ، لذا فمن الافضل عدم كتابة الخيارات إلا إذا اردنا أن نستعملها فى غيرها وضعها الاصلى ، على سبيل المثال لو اردنا ان نصدر الجدول بما فيه القيود Constraints فمن الافضل عدم كتابة الخيار Constraints=Y وذلك لأنك إذا لم تكتبه صراحة فإن الصيغة تحتويه ضمنياً ، أما إذا لم ترغب فى تصدير القيود مع الجدول فالواجب كتابة الخيار Constraints=N فى صياغة امر التصدير. وهكذا بقية الخيارات.

ولنفترض الان ان المستخدم VBS يرغب فى تصدير الجدول EMPLOYEE الذى يمتكله ولكن دون بيانات.

461968348.jpg


لاحظ معى الخيار ROWS=N

B- كيف يصدر مدير قاعدة البيانات او من يملك الصلاحية EXP_FULL_DATABASE الجدول Employee المملوك للمستخدم VBS.

791101160.jpg

لاحظ معى اسم الجدول مسبوقاً بمن يمتلكه.


ملاحـــــظة : المستخدم الذى لا يملك الصلاحية EXP_FULL_DATABASE لا يستطيع تصدير جدول لا يمتلكه.

الان لو حاول المستخدم PENAT تصدير الجدول EMPLOYEE المملوك للمستخدم VBS مع العلم أن المستخدم PENTA لا يملك هذه الصلاحية. فماذا تتوقع أن تكون النتيجة؟ النتيجة هى EXP-00009: no privilege to export VBS's table EMPLOYEE ليس لديك هذه الصلاحية لذا فشلت عملية التصدير.


431161526.jpg






بتاريخ:

الله عليك يا باشا وانت رائع فعلاً
لكن لدي بعض الاستفسارت على موضوعك اتمنى ان تجيبني عليها

الاول : لم اميز الفرق بين Incremental و Cumulative بالتحديد

الثاني : يا ريت لو توضح النقطة (يمكن تجاهل الاجراءات اعلاه بواسطة الخيار( Dirct=y (Dirct-path بحيث يتم قراءة البيانات من الديسك الى الBuffer Cach ومن ثم ارجاع البيانات الى Export Client ، هذه الطريقة تحسن الاداء).

والى الامام ان شاء الله ويارت لو تستمر بهذا الاسلوب الى النهاية.

بتاريخ:
  • كاتب الموضوع



العزيز omar-alreyati بالنسبة لموضوع ال Incremental و Cumulative ، لحظة عمل CUMULATIVE EXOPRT يتم الرجوع لاخر EXPORT من النوع (COMPLETE OR CUMULATIVE) ثم بعد ذلك يتم تصدير التعديلات التى حدثت على الكائنات منذ ذلك التصدير.
أما بالنسبة INCREMENTAL فيتم الرجوع لاخر EXPORT من النوع COMPLETE OR CUMULATIVE OR INCREMENTAL ثم يتم تصدير التعديلات التى حدثت على الكائنات منذ ذلك التصدير.

Cumulative export will export all changed objects since the last
complete' or 'cumulative' export

Incremental export will export all changed objects since the last
'complete', 'cumulative' or 'incremental' exports.




For example, here is the export scheme for a mock company:

1. Complete export on the first day of the month.

2. Cumulative exports every Sunday.

3. Incremental exports every day.




أما بالنسبة لموضوع Dirct-path فان هذا الخيار يمكن استعماله لتجاهل عملية الSelect Statements التى تحدث للبيانات المطلوب تصديرها ، فيتم تجاهل عملية ال Select Statements ,فيتم جلب البيانات الى الBuffer مباشرة.

بتاريخ:

السلام عليكم
اخي الكريم
ارجو وضع الشرح في ملف ورد او pdf حيث الصور لا تظهر في المنتدى لكون الصور محملة على موقع خارجي

بتاريخ:
  • كاتب الموضوع




الاخ Wise سوف افعل إنشاء الله


بتاريخ:

كيف عمل هذا من الفورم
وشكرا

بتاريخ:
  • كاتب الموضوع




مواصلة للTables Export.

لنفترض الان أن المستخدم VBS يريد أن يصدر الجدول EMPLOYEE الذى يمتلكه ولكن يريد أن يصدر البيانات بشرط معين مثلاً WHERE EMP_NO=2 ، هنا نستخدم الخيار Query.

305934586.jpg




SCHEMAS EXPORT:
وهى تصدير لجميع الكائنات الموجودة فى schema معينة أو مجموعة schemas بحيث لا يتستطيع مستخدم تصدير schema اخرى ما لم يكن لديه الصلاحية FULL_EXP_DATABASE ، والSCHEMA هى ببساطة مجوعة الكائنات التى تنتمى لمستخدم معين.


A- كيف يصدر مدير قاعدة البيانات او من يملك الصلاحية EXP_FULL_DATABASE كائنات المستخدم VBS او VBS SCHEMA.

283726420.jpg

لاحظ معى أنه اثناء تصدير VBS SCHEMA تم تصدير الTriggers والIndesxs وكذلك بيانات الجداول ، ولكن يمكن تجاهل ذلك بواسطة الخيارات TRIGGERS=N & INDEXES=N & ROWS=N. وكذلك اخترنا الخيار OWNER لتحديد الSCHEMA التى نريد تصديرها ، بالطبع يمكن تحديد اكثر من SCHEMA فى العملية الواحدة.

B- كيف يستطيع المستخدم VBS تصدير الVBS SCHEMA او بمعنى اخر كيف يصدر المستخدم VBS الكائنات التى يملكها.

438694769.jpg


لاحظ معى هنا لا نلجأ للخيار OWNER وذلك لأن المستخدم VBS هنا يريد أن يصدر الكائنات التى يملكها.

لا يستطيع اى مستخدم لا يملك الصلاحية EXP_FULL_DATABASE من تصدير اى SCHEMA اخرى.


بتاريخ:
  • كاتب الموضوع





TABLESPACE EXPORT:
هل يمكن تصدير Tablespace من قاعدة بيانات الى اخرى ؟ اللهم نعم ، ولنفترض الان أن لدينا قاعدة بيانات تسمى ORCL تحتوى على Tablespace يسمى TEST نريد أن ننقله الى قاعدة البيانات الاخرى والتى تسمى OBAY.
الخطوات:-
1- وضع TEST TABLESPACE فى الوضع READ ONLY

625677672.jpg


2- تصدير المعلومات الخاصة بالTEST TABLESPACE وهى (Metadata) بواسطة الخيار TRANSPORT_TABLESPACE=Y

753033105.jpg


3- عن طريق نظام التشغيل نقوم بعمل نسخ لملف او ملفات الDatafiles التى تنتمى للTEST Tablespace وهى هنا ملف واحد يسمى TEST.DBF من قاعدة البيانات ORCL الى المسار الجديد لقاعدة البيانات OBAY وذلك لان عملية التصدير لا تصدر ملفات الDatafiles.

508781632.jpg


4- نقوم بعمل استيراد للبيانات التى صدرناها سابقاً.

205202408.jpg

5- يمكن ارجاع TEST TABLESPACE بقاعدة البيانات ORCL الى الوضع READ WRITE كما يمكن الإستعلام عن الTEST TABLESPACE فى قاعدة البيانات OBAY للتأكد من استيراده.

958617978.jpg

524960820.jpg




مرحب

بتاريخ:
  • كاتب الموضوع




DATABASE EXPORT

ويسمى ايضاً FULL EXPORT والمقصود به عمل تصدير لكل قاعدة البيانات ويحتاج هذا النوع من التصدير للصلاحية EXP_FULL_DATABASE. وفى هذا النوع من التصدير يمكن تطبيق الخيار INCTYPE.


897584724.jpg

هكذا قمنا بعمل تصدير لقاعدة البيانات باستخدام الخيار COMPLETE ، الان يمكن اإنشاء نسخة تراكمية او تزايدية (Cumulative & Incremental) لقاعدة البيانات. ، ومتابعة ذلك بواسطة DBA_EXP_FILES.

683105441.jpg

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

688072012.jpg


للاستعلام

419025818.jpg


  • بعد 2 أسابيع...
بتاريخ:

استمر الى الأمام ايها المبدع الرائع

  • بعد 2 أسابيع...
بتاريخ:

نفتقدك يا باشا

بتاريخ:
  • كاتب الموضوع



السلام عليكم

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

والذى سوف يخرج قريباً إن شاء الله.

بتاريخ:

شكراً علي مواضيعك القيمة

  • بعد 1 شهر...
بتاريخ:

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

وكان عندي استفسار
بعد عمل complete backup وتخزينه في ملف اسمه مثلا db.dmp
عند عمل cumulative او incremental backup يتم تخزينه علي نفس الملف او علي ملف اخر

وماذا يحدث عند استعادة البيانات
نرجو ان تكمل باقي الشرح سريعا لاننا في شوق الي شرحك
شكرا............

بتاريخ:

جزاك الله خيرا

بتاريخ:
  • كاتب الموضوع

الاخ mohammedsabry يتم التخزين فى ملفات مختلفة ، ويتم استرجاع البيانات على عدة خطوات بحيث يتم استرجاع كل ملف على حدى.

عموماً سوف افصل فى الموضوع لاحقاً.

لكن تقبل منى هذا المرور السريع واسألك الدعاء.

بتاريخ:

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

انضم إلى المناقشة

يمكنك المشاركة الآن والتسجيل لاحقاً. إذا كان لديك حساب, سجل دخولك الآن لتقوم بالمشاركة من خلال حسابك.

زائر
أضف رد على هذا الموضوع...

برجاء الإنتباه

بإستخدامك للموقع فأنت تتعهد بالموافقة على هذه البنود: سياسة الخصوصية

Account

Navigation

البحث

إعداد إشعارات المتصفح الفورية

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.