ओरेकल में वर्तमान अलगाव स्तर


10

ओरेकल में करंट (डिफॉल्ट) ट्रांजैक्शन आइसोलेशन लेवल कैसे प्राप्त करें?


यदि आप किसी सत्र के वर्तमान अलगाव स्तर की तलाश कर रहे हैं, तो इस SO प्रश्न को देखें: आप यह कैसे देख सकते हैं कि लेन-देन के अलगाव का स्तर एक मनमाना अलंकरण सत्र क्या उपयोग कर रहा है।
विंसेंट मालाग्रेट

क्या आप एक सत्र में लेनदेन के लिए डिफ़ॉल्ट अलगाव स्तर या प्रगति में वर्तमान लेनदेन के अलगाव स्तर की तलाश कर रहे हैं?
लेह रिफ़ेल

जवाबों:


6

SO उत्तर से विंसेंट मालाग्रात संदर्भित क्वेरी का उपयोग करते हुए, यहां बताया गया है कि आप लेन-देन के लिए लेन-देन अलगाव स्तर कैसे प्राप्त कर सकते हैं:

SELECT s.sid, s.serial#,
   CASE BITAND(t.flag, POWER(2, 28))
      WHEN 0 THEN 'READ COMMITTED'
      ELSE 'SERIALIZABLE'
   END AS isolation_level
FROM v$transaction t 
JOIN v$session s ON t.addr = s.taddr AND s.sid = sys_context('USERENV', 'SID');

यदि आप पहले से ही लेन-देन में नहीं हैं, तो आप निम्न में से एक शुरू कर सकते हैं:

declare 
   trans_id Varchar2(100);
begin
   trans_id := dbms_transaction.local_transaction_id( TRUE );
end;
/

ऐसा लगता है कि इससे भी आसान तरीका होगा। मुझे नहीं पता कि सत्र के लिए डिफ़ॉल्ट आइसोलेशन स्तर कैसे प्राप्त किया जाए यदि आप वही खोज रहे हैं।


5

- मैं नीचे जैसा कुछ उपयोग कर रहा हूं

q1 के रूप में (अलग-अलग नाम, आइडफ़ॉल्ट, वैल्यू, डीकोड (वैल्यू, 'सीरियलाइज़्ड', SID, null) के साथ V $ SES_OPTIMIZER_ENV जहां SID_OPTIMIZER_ENV नाम से 'लोअर (नाम)' जैसे कम (नाम) क्रम से चयन करें, q1। *, बनाम का चयन करें। .status, बनामसुर्नाम, बनामसुसर, बनाम.मशीन, डिसमेरिनल, बनाम ट्रूफ़रम q1 से, v $ सेशन बनाम जहाँ q1.sid = बनामसिड (+);

-- सादर। - अज

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.