الانتقال إلى المحتوى
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.

مشكلة في Export

Featured Replies

بتاريخ:

الاخوة اعضاء ومشرفي هذا الموقع المتميز
السلام عليكم ورحمة الله وبركاتة
لدي مشكلة في عملية export لقاعدة البيانات علما ان قاعدة البيانات يتم تصديرها بالكامل ما عدا جدول يحتوي على صور علما ان حقل الصورة نوع blob
وتظهر لي هذة الرسالة دائما حتى وان قمت بعمل تصدير لجدول الصور فقط
ora-01555 snapshot too old :rollback segment number with name too small
ora-22924 snapshot too old
فالرجاء كل الرجاء من لدية الحل ان يساعدني وجزاكم الله الف خير

بتاريخ:

أولا دعنا نفند سبب هذا الخطأ قبل حله باذن الله تعالي

بعض العمليات تختاج لعمل rollback/undo ل records لتستطيع تكوين ال consistent view الخاصة بها

بينما وفي نفس الوقت تكون البيانات المطلوبة عن طريق ال session الحالية (حيث يتم عمل rollback/undo لبعض records )
هذا في عملية معينة بينما يتم عمل حفظ في عملية اخري وعلي نفس ال records ومن هنا تظهر رسالة الخطأ والتي تظهر أكثر ما يكون عند استخدام 9 اي أو أن يكون ال UNDO يدوي

(لذلك يفضك أن يضع كل واحد منا الاصدار الذي يعمل عليه ونص رسالة الخطأ)

اذن لحل المشكلة نريد عمل optimal size on the rollback segments.


سوف تستخدم التعليمة التالية لتحديد هذا الحجم rollback segments Size وكذلك ما يعرف ب highwater mark size أو maximum size ever reached since database startup

select rb.segment_name, rs.optsize, rs.hwmsizefrom v$rollstat rs, dba_rollback_segs rbwhere rs.usn = rb.segment_id



ولتغيير ال optimal size يمكنك (بالزيادة)

alter rollback segment rbs0 storage (optimal 100m);

هذا اذا كان ال Undo في الوضع اليدوي والزيادة سوف تؤخذ من ال tablepace

كذلك لو كانت يدوي قم ب
SQL> create rollback segment undo1 tablespace UNDOTBS1;



اما اذا كنت سعادتك تعمل في automatic UNDO mode فيجب علينا اذن زيادة ال undo_retention
والذي يعرف بالوقت المحسوب بالثواني والذي تستغرقه قاعدة البيانات للاحتفاظ ب undo blocks داخل ال undo tablespace

التعليمة
alter system set undo_retention=10800;


alter system set undo_retention=10800;


اخيرا لمعرفة اذا كانت ال Undo في الوضع اليدوي أو الاوتوماتيك يوجد Initialization Parameter اسمه UNDO_MANAGEMENT.

لو كان AUTO فهو طبعا AUTO والقياسي الذي تعمل عليه قاعدة البيانات هو MANUAL. في 9 اما في 10g فهو AUTO

استخدم ذلك
SQL> show parameter undo


NAME TYPE VALUE
--------------------- -------------------- -----------------------
undo_management string MANUAL
undo_retention integer 900
undo_suppress_errors boolean FALSE
undo_tablespace string UNDOTBS1




يمكنك الان زيادة data file ل undo tablespace كما يلي

ALTER TABLESPACE undotbs_01
ADD DATAFILE '/u01/oracle/rbdb1/undo0102.dbf' AUTOEXTEND ON NEXT 1M
MAXSIZE UNLIMITED;


تحياتي

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

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

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

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

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

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.