بتاريخ: 2 أكتوبر 201015 سنة comment_200762 الاخوة اعضاء ومشرفي هذا الموقع المتميزالسلام عليكم ورحمة الله وبركاتةلدي مشكلة في عملية export لقاعدة البيانات علما ان قاعدة البيانات يتم تصديرها بالكامل ما عدا جدول يحتوي على صور علما ان حقل الصورة نوع blobوتظهر لي هذة الرسالة دائما حتى وان قمت بعمل تصدير لجدول الصور فقطora-01555 snapshot too old :rollback segment number with name too smallora-22924 snapshot too oldفالرجاء كل الرجاء من لدية الحل ان يساعدني وجزاكم الله الف خير تقديم بلاغ
بتاريخ: 2 أكتوبر 201015 سنة comment_200767 أولا دعنا نفند سبب هذا الخطأ قبل حله باذن الله تعالي بعض العمليات تختاج لعمل 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 startupselect 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 undoNAME TYPE VALUE--------------------- -------------------- -----------------------undo_management string MANUALundo_retention integer 900undo_suppress_errors boolean FALSEundo_tablespace string UNDOTBS1يمكنك الان زيادة data file ل undo tablespace كما يلي ALTER TABLESPACE undotbs_01 ADD DATAFILE '/u01/oracle/rbdb1/undo0102.dbf' AUTOEXTEND ON NEXT 1M MAXSIZE UNLIMITED;تحياتي تقديم بلاغ
انضم إلى المناقشة
يمكنك المشاركة الآن والتسجيل لاحقاً. إذا كان لديك حساب, سجل دخولك الآن لتقوم بالمشاركة من خلال حسابك.