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

مساعدة :lock record وتظهر لى الرسالة could not reserve record (2 tries) keep trying ؟

Featured Replies

بتاريخ:

الاخوة فى المنتدى السلام عليكم
انا عندى مشكلة وهى عملية lock record وتظهر لى الرسالة
could not reserve record (2 tries) keep trying ?

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

محمد على مدنى -الخرطوم السودان

بتاريخ:

السلام عليكم
جرب استخدام الخاصية التالية:
على مستوى البلوك يوجد خاصية Locking Mode خليها Delayed.

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

مشكور الاخ ahmad hasa مشكووووووووووور على الرد
لو تقصد المعالجة على مشتوى الفورم انا بشتغل فى مؤسسة حكومية وما ينفع اعدل الفورم
حسب علمى هناك طريقة للمعالجة على مستوى الداتابيز ارجو توضيح الطريقة
وجزاكم الله خيرا

بتاريخ:

السلام عليكم
هل جربت ان تقوم بعملية ايقاف لخدمات الاوراكل واعادة تشغيلها مرة اخرة
معكم ولكم نتواصل

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

الاخ احمد مشكور على الاهتمام
بس انا اعتقد ان هناك امر يكتبه ال dba يقوم بتحرير السجل المغلق
how to release record when locked

بتاريخ:

نفذ هذه الجملة أولا:

select sid,serial# from v$session where sid in (
select a.SESSION_ID
from v$locked_object a, dba_objects b
where a.object_id = b.object_id
and a.SESSION_ID not in (select a.SESSION_ID
from v$locked_object a, dba_objects b
where a.object_id = b.object_id
and session_id in (select sid from v$lock where block = 1)))



ومن ثم نفذ الجملة التالية بحيث تضع الناتج بالجملة الأول كما هو موضح :

alter system kill session 'sid,serial# ' immediate;


وسيتم تحرير السجل المعلق بقاعدة البيانات.
ملاحظة : الناتج من جملة الأولى ممكن أن يكون أكثر من سجل ، مما يعني بأن الجملة الثانية يجب
عملها مرة لكل سجل بالجملة الأولى (أي أنه يوجد سجلين معلقين بقاعدة البيانات).

مع تمنياتي للجميع بالتوفيق ،

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

الاخ attili

جزااااااااك الله خير جعله الله فى ميزان حسناتك
جربت الامر وهو المطلوب بالظبط

بتاريخ:

السلام عليكم
من خلال الحل السابق تقوم بعملية Kill for session.
ولكن يمكنك معالجة المشكلة بطريقة أخرى بحيث انه تظهر للمستخدم رسالة تفيد بعدم القدرة على التعديل على السجل لان هناك مستخدم اخر يقوم بعملية التعديل على نفس السجل من خلال التعديل على الفورم المطلوب ان استطعت...

من خلال استخدام ترجر On-Lock على مستوى البلوك:



Declare
  Row_Is_Locked Exception;  
  Pragma Exception_Init (Row_Is_Locked,-54); 
  Rubbish Number; 
Begin
 Select Deptno 
   Into Rubbish From Dept 
  Where Rowid = :Deptblock.Rowid
  For Update Of Deptno Nowait; 

Lock_Record;
If Not Form_Success Then 
   Raise Form_Trigger_Failure;
End If;

Exception
 When Row_Is_Locked Then 
      Message ('Sorry cant lock record'); 
      Raise Form_Trigger_Failure; 
When Others Then  
     Message ('Unexpected error');
     Raise Form_Trigger_Failure; 
End;



بالتوفيق.

  • بعد 2 أسابيع...
بتاريخ:
  • كاتب الموضوع

الاخ احمد حسن مشكووووووووووووور

بتاريخ:

الأخ/ أحمد حسن

السلام عليكم ورحمة الله وبركاته
من علمي البسيط أن الـ exception الذي يتم تعريفة بواسطة المستخدم لابد من عمل الـ raise له أين هو
Row_Is_Locked

Declare Row_Is_Locked Exception; Pragma Exception_Init (Row_Is_Locked,-54); Rubbish Number; Begin Select Deptno Into Rubbish From Dept Where Rowid = :Deptblock.Rowid For Update Of Deptno Nowait; Lock_Record; If Not Form_Success Then Raise Row_Is_Locked ; End If; Exception When Row_Is_Locked Then Message ('Sorry cant lock record'); Raise Form_Trigger_Failure; When Others Then Message ('Unexpected error'); Raise Form_Trigger_Failure; End;

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

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

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

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

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

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.