কীভাবে ওরাকল এক টেবিলের বিপরীতে একাধিক সংযোগকারী INSERTs পরিচালনা করে


8

আমি ওরাকল 11 জি কে আরও ঘনিষ্ঠভাবে বোঝার চেষ্টা করছি। আমার প্রশ্নটি সহজ: কীভাবে ওরাকল দুটি সেশন পরিচালনা করে যা একই সময়ে একক টেবিলের মধ্যে রেকর্ডগুলি সন্নিবেশ করানোর চেষ্টা করছে।

উদাহরণস্বরূপ, INSERT A টেবিল 1 এর বিরুদ্ধে 1:00 অপরাহ্নে চলে runs এটি শেষ হতে 5 মিনিট সময় লাগবে। INSERT B টেবিল 1 এর বিপরীতে 1:02 pm এ কার্যকর করা হয়েছে এটি সম্পূর্ণ হতে 1 মিনিট সময় লাগবে।

কি হবে? INSERT A শেষ হওয়ার পরে ওরাকল কিউ INSERT বি কার্যকর করা হবে? INSERT B কি INSERT A এর সাথে এক সাথে চলবে?

ধন্যবাদ!


6
নিজেকে দেখার চেষ্টা করে কিছুই মারধর করে না :-)
জ্যাক বলেছেন টপান্সওয়ার্স.অক্সিজ

একেবারে। যাইহোক, আমি নিশ্চিত না যে কীভাবে এমন ক্যোয়ারী তৈরি করব যা ইচ্ছাকৃতভাবে সম্পূর্ণ হতে 5 মিনিট সময় নেয়।
ডাস্টিন

3
প্রচুর ডেটা ?োকান? insert into foo(id) select level from dual connect by level<1000000(পর্যাপ্ত ধীর না হওয়া পর্যন্ত একসাথে একের শূন্যের সংখ্যা বাড়ানো)
জ্যাক বলেছেন 19:52

উত্তর:


4

সন্নিবেশগুলি একে অপরকে প্রভাবিত করে না যদি না তাদের অনন্য বা প্রাথমিক কী বাধাগুলির সাথে দ্বন্দ্ব হয়। তারা স্বাধীন হতে হবে। আমি বিশ্বাস করি যে ওরাকল সিকোয়েন্সটি একটি পৃথক অবজেক্ট (ক্যাশেড, সারোগেট পিকে প্রজন্মকে সন্নিবেশ থেকে পৃথক করা) হ'ল এই কনক্যুরঞ্জি ইস্যু অন্যতম কারণ।

এই সম্মানের সাথে, তারা তাদের অধিবেশনটিতে যেমন দেখা যায় তেমনি অনিচ্ছাকৃত টেবিলটিতে কাজ করে। এই আচরণটি নীচের স্ট্যাকওভারফ্লো পোস্টে বর্ণিত হয়েছে।

/programming/3194999/dml-by-multiple-users-commit-scenarios-in-oracle


2

অ্যাপ্লিকেশন বিকাশকারীদের জন্য উন্নত অ্যাপ্লিকেশন বিকাশকারীদের গাইড (ওরাকল লেনদেন পরিচালন (ধারণাগুলি)) বা এসকিউএল প্রসেসিংয়ের দিকে নজর দেওয়া দরকারী

স্কয়ারপ্লাস দিয়ে একটি অধিবেশন খোলার মাধ্যমে নির্বাহের দ্বারা স্বতঃসিদ্ধকরণ স্থির করে আপনি ওরাকেলের আচরণ তদন্ত করতে পারেন

স্বতঃসিদ্ধকরণ বন্ধ করুন

এবং একটি সন্নিবেশ কার্যকর করা

টেবিলএ (...) মানগুলিতে সন্নিবেশ করুন (...);

এই অধিবেশনটি খোলা রাখুন এবং অন্য উইন্ডো থেকে বর্গক্ষেত্রের অধিবেশন শুরু করুন, স্বতঃসংশোধনটি সেট করতে সেট করুন এবং অন্য একটি সন্নিবেশ জারি করুন। উভয় লেনদেন সক্রিয় থাকবে যতক্ষণ না আপনি সেগুলি কমিট (বা রোলব্যাক) দিয়ে বন্ধ করেন।

বেশিরভাগ পরিস্থিতিতে অটোকোমিট সেট করা সত্যিই প্রয়োজন হয় না কারণ আপনি যদি এটি পরিবর্তন না করে থাকেন তবে এটি sqlplkus এর জন্য ডিফল্ট।

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.