أسباب انقطاع شبكة مخزنة إجراء الاستعلام عن عبر وصلة DB معطلا للأبد

StackOverflow https://stackoverflow.com/questions/331114

سؤال

هناك عدد من الإجراءات المخزنة أنا أؤيد قواعد البيانات عن بعد الاستعلام على WAN. شبكة يذهب أحيانا إلى أسفل، ولكن أسوأ ما حدث من أي وقت مضى والإجراءات فشلت ويجب أن يتم إعادة تشغيله.

وخلال الأسابيع القليلة الماضية انها اتخذت منعطفا شريرة. بدلا من الفشل الإجراءات شنق في حالة غريبة مؤمن. لا يمكن قتل داخل أوراكل، وطالما وجدت أي محاولة لتشغيل نسخ أخرى من هذا الإجراء سوف يتعطل أيضا. الحل الوحيد وجدناه هو قتل الإجراءات المخالفة مع "قتل -9" من نظام التشغيل. لم يتم تغيير بعض هذه الإجراءات منذ شهور، حتى سنوات، لذلك أظن السبب الرئيسي في تكوين DB أو DB.

وأي أحد لديه أي أفكار ما يمكننا القيام به إما إلى حل المشكلة؟ أو لا PL / SQL ديها آلية المهلة يمكنني أن أضيف إلى رمز لدرجة أنني يمكن أن تخلق نوعا من الاستثناء الذي أستطيع التعامل برمجيا؟

هل كانت مفيدة؟

المحلول 2

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

نصائح أخرى

ما هو إصدار قاعدة البيانات؟ هم تمسك SQL تشغيل أو في PL / SQL؟ وأضافت أي شخص باستثناء التعامل في إجراءات في الآونة الأخيرة؟ أتذكر في 9iR2، قيل لنا أنه بدلا أو رفع استثناء إلى روتين الدعوة، كنا لالتقاط كافة الاستثناءات والحفاظ على تشغيل (أساسا محاولة تشغيل عملية كافة العناصر الموجودة في هذا المنصب حتى لو فشل بعض). كان لدينا لا محالة وظائف تتعثر في حلقة لا نهائية مع SQLs الفشل، الوقوع من قبل معالج الاستثناء والمحاولة مرة أخرى. وأنها لا يمكن أن تقتل عندما عندما اشتعلت الآخرين أيضا 'تم قتل جلسة العمل الخاصة بك' الاستثناء. أعتقد أن هذا الأخير تغير في 10G بحيث استثناء لم ننشغل.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top