قاعدة بيانات أوراكل / دليل حلول تحريري

تشخيص التزاحم ونتائج الحجز المجهولة

افصل انتظار الأقفال والدورات وفقد إقرار التثبيت دون إعادة العملية عميانياً.

وقت القراءة التقريبي: 3 دقيقةتاريخ مراجعة المحتوى

قاعدة معرفة للقراءة فقط · بلا تعليقات عامة

تعرّف على الأعراض

ينتظر الحجز أو يبلغ ORA-00054 أو ORA-00060 أو يفقد الاتصال قرب COMMIT. تنشئ الإعادة أحياناً حجزاً ثانياً ويفترض المشغّل تراجع الأول. تحتاج الأحداث قرارات نتائج مختلفة رغم رسالة الواجهة العامة نفسها.

افهم الأسباب المحتملة

  • تمسك المعاملات الطويلة الموارد أثناء انتظار عمل آخر. تنشئ ترتيبات الطلب المختلفة دورات. وقد يخفي إقرار مفقود عملية مثبتة، فلا يثبت إخفاق النقل تراجع القاعدة.

احفظ هوية الطلب قبل الإعادة

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

افحص انتقال الحالة المخزن

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

sql مثال تقني توضيحي؛ النتائج المنطقية مستنتجة ولم تُختبر على المحرك.
UPDATE capacity SET free_units = free_units - :units
WHERE slot_id = :slot_id AND :units > 0 AND free_units >= :units;

يتطلب النجاح فحص صف متأثر واحد في التطبيق. لم يُنفّذ تحديث أو قفل لهذا الدليل.

ميّز ضلع الانتظار من الدورة

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

text مثال تقني توضيحي؛ النتائج المنطقية مستنتجة ولم تُختبر على المحرك.
A: holds slot 7 -> requests slot 8
B: holds slot 8 -> requests slot 7
reviewed order: every worker requests 7 before 8

رسم انتظار مبسط. يزيل الترتيب المشترك هذه الدورة ولا يثبت غياب كل الدورات.

حل عدم اليقين عبر حدود العميل

عند فقد الاتصال بعد إرسال COMMIT استعلم عن هوية الطلب عبر المطابقة المعتمدة. إذا وُجد الحجز فأعد نتيجته الدائمة ولا تكرر الإدراج. وإذا بقي مجهولاً فاحتفظ بحالة معلقة وصعّد عبر مسار التعافي. تحتاج إشعارات البريد والناقل تسليماً منسقاً غالباً بصندوق صادر لأن التراجع لا يسحب رسالة خارجية. ويجب إنهاء المعاملات المعلقة قبل إعادة استخدام جلسة المجمّع.

تحقق من نجاح الإصلاح

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

امنع تكرار المشكلة

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

المراجع الرسمية