हमारे पास सी और प्रो * सी में लिखा गया एक एप्लीकेशन है जो मेजबान सरणी और थोक प्रविष्टि का उपयोग करके लॉग फ़ाइलों से डेटा को ओरेकल 11.2 डेटाबेस में सम्मिलित करता है। यह सीधे पथ सम्मिलन का लाभ उठाने और उत्पन्न रेडो की मात्रा को कम करने के लिए APPEND
और NOLOGGING
संकेतों का उपयोग करता है। NOLOGGING
इसके लिए समझ में आता है यह एक अस्थायी स्टेजिंग टेबल है और आवश्यकता होने पर डेटा लॉग फ़ाइलों से पुनर्प्राप्त किया जा सकता है।क्या जेडीबीसी/जावा के साथ सीधी पथ सम्मिलन का उपयोग करना संभव है?
हम जावा में इस कार्यक्षमता को दोहराने की कोशिश कर रहे हैं लेकिन बड़ी संख्या में रिकॉर्ड्स के प्रत्यक्ष पथ सम्मिलन का उपयोग करने में असमर्थ रहे हैं। जावा/जेडीबीसी के साथ यह संभव है?
चीजें हैं जो मैं करने की कोशिश की और जांच की है कर रहे हैं:
- JDBC बैचिंग (दोनों मानक बैचिंग और Oracle's extensions)। यह दृष्टिकोण राउंड ट्रिप के समय पर बचाता है लेकिन यह नगण्य है क्योंकि एप्लिकेशन डेटाबेस के समान मशीन पर है। यह प्रत्यक्ष पथ का भी उपयोग नहीं करता है।
APPEND_VALUES
संकेत। यह वादा करता है लेकिन थोड़ा समझ में आता है क्योंकि जेडीबीसी बैचिंग वास्तव में कई रिकॉर्डों के "सरणी" डालने के लिए प्रकट नहीं होती है।
जो मैं समझता हूं, सीधे पथ प्रविष्टियां केवल the subquery syntax and not the VALUES clause का समर्थन करती हैं। इसका उपयोग नहीं किया जा सकता है क्योंकि डेटा डालने के लिए अभी तक डेटाबेस में मौजूद नहीं है।
मैं जावा के किसी भी संदर्भ को होस्ट एरे स्टाइल लोडिंग का उपयोग करने में सक्षम नहीं हूं जो Pro * C उपयोग करता है।
एक तरफ, हम बाहरी टेबल लोडिंग या एसक्यूएल * लोडर की जांच कर रहे हैं और सराहना करते हैं कि ये उपकरण सीधे पथ लोड करने में सक्षम हैं, लेकिन यह प्रश्न वास्तव में एक निश्चित उत्तर प्राप्त करने के बारे में है कि जावा से प्रत्यक्ष पथ सम्मिलन भी संभव है या नहीं । जावा एपीआई की सीमाओं को समझना न केवल इस परियोजना के लिए बल्कि भविष्य की परियोजनाओं के लिए उपयोगी है।
तो सवाल दोहराने के लिए, क्या कोई तरीका है कि मैं जावा से प्रत्यक्ष पथ सम्मिलन का उपयोग कर सकता हूं?
संबंधित प्रश्न:
क्या आपको jdbc के माध्यम से प्रत्यक्ष-सम्मिलित करने का कोई तरीका मिला है? – Denis
नहीं। ऐसा नहीं लगता है कि यह संभव है। हम बस संयोज का उपयोग कर समाप्त हो गए टियोनल पथ लोडिंग और समानांतर। मुझे अभी भी उम्मीद है कि कोई भी साथ आएगा और कुछ याद करेगा जो मुझे याद आया। –
मुझे लगता है कि एसएमबी इसका परीक्षण करने में सक्षम था, हालांकि यह उसके मामले में उपयोगी नहीं था: http://asanga-pradeep.blogspot.com/2014/10/appendvalues-hint-and-jdbc.html – Denis