ओरेकल में करंट (डिफॉल्ट) ट्रांजैक्शन आइसोलेशन लेवल कैसे प्राप्त करें?
ओरेकल में करंट (डिफॉल्ट) ट्रांजैक्शन आइसोलेशन लेवल कैसे प्राप्त करें?
जवाबों:
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;
/
ऐसा लगता है कि इससे भी आसान तरीका होगा। मुझे नहीं पता कि सत्र के लिए डिफ़ॉल्ट आइसोलेशन स्तर कैसे प्राप्त किया जाए यदि आप वही खोज रहे हैं।
- मैं नीचे जैसा कुछ उपयोग कर रहा हूं
q1 के रूप में (अलग-अलग नाम, आइडफ़ॉल्ट, वैल्यू, डीकोड (वैल्यू, 'सीरियलाइज़्ड', SID, null) के साथ V $ SES_OPTIMIZER_ENV जहां SID_OPTIMIZER_ENV नाम से 'लोअर (नाम)' जैसे कम (नाम) क्रम से चयन करें, q1। *, बनाम का चयन करें। .status, बनामसुर्नाम, बनामसुसर, बनाम.मशीन, डिसमेरिनल, बनाम ट्रूफ़रम q1 से, v $ सेशन बनाम जहाँ q1.sid = बनामसिड (+);
-- सादर। - अज