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

Featured Replies

بتاريخ:

 

بسم الله الرحمن الرحيم

 

ان شاء اله هنتكلم على ال Lock

 

عندنا نوعين من ال Lock بيحصلوا

فى حالة ان User1 بيعمل الجمله الآتيه

UPDATE Employees

SET Salary =5000;

دا اسمه Table Level lock

و دا بيسبب ان User2 او اى حد هيشتغل على اى Row فى ال Table هيفضل منتظر لحد ما User1 يقفل ال Transaction المفتوحه ب Commit او Rollback

 

و النوع التانى

فى حالة ان User1 بيعمل الجمله الآتيه

UPDATE Employees

SET Salary =5000

WHERE employee_id=150;

دا اسمه Row Level lock

و دا بيسبب ان User2 او اى حد هيشتغل على اى نفس ال  Row فى ال Table هيفضل منتظر لحد ما User1 يقفل ال Transaction المفتوحه ب Commit او Rollback

 

و هنعرف دلوقتى ازاى نجيب ال Session اللى عامله Lock و اسم المستخدم و اسم مستخدم الجهازو هو داخل و عمل ال Lock ببرنامج ايه SQL*Plus ولا SQL Developer مثلا و جمله ال SQL اللى عامله Lock

دا سكريبت فيه اغلب اللى هنحتاجه 

السكريبت مبنى على اكتر من Dynamic View و هم

v$lock, v$session, v$sql

و تقدروا تشوفوا معلومات اكتر عنهم من:

 

SELECT L.SID, S.SERIAL#, S.STATE, S.EVENT, S.WAIT_TIME, S.USERNAME, S.OSUSER, 

S.MACHINE, S.PROGRAM, C.SQL_FULLTEXT

FROM V$lock L 

JOIN V$session S

ON (L.SID = S.SID)

JOIN V$sql C

ON (C.SQL_ID = S.SQL_ID)

WHERE L.block > 0;

 

و بعد ما نعرف كل المعلومات عن ال Lock لو ال User ما عملش Commit او Rollback

لازم ادخل اعمل Kill لل Session اللى مسببه ال Lock

عشان اعمل Kill بحتاج من السكريبت السابق حاجتين

L.SID & S.SERIAL#

 

و بستخدمهم فى الأمر اللى تحت

Alter System Kill session 'L.SID,S.SERIAL#' immediate;

 

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

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

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

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

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

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.