अद्यतन करें: यह 12.1.0.2 में तय किया गया है।
यह निश्चित रूप से 12.1.0.1 में एक बग जैसा दिखता है। मैं आपको Oracle समर्थन के माध्यम से एक सेवा अनुरोध बनाने के लिए प्रोत्साहित करूंगा। वे एक फिक्स या बेहतर कामकाज खोजने में सक्षम हो सकते हैं। और उम्मीद है कि Oracle सभी के लिए भविष्य के संस्करण में इसे ठीक कर सकता है। आम तौर पर समर्थन के साथ काम करने के बारे में सबसे खराब हिस्सा इस मुद्दे को पुन:पेश कर रहा है। लेकिन चूंकि आपके पास पहले से ही एक बहुत अच्छा परीक्षण मामला है, इसलिए इस समस्या को हल करना आसान हो सकता है।
इस बग को हल करने के शायद कई तरीके हैं। लेकिन यह बताना मुश्किल है कि कौन सा तरीका हमेशा काम करेगा। आपकी क्वेरी फिर से लिखना अब काम कर सकता है, लेकिन अगर अनुकूलक आंकड़े बदलते हैं तो शायद भविष्य में योजना वापस बदल जाएगी।
एक अन्य विकल्प जो मेरे लिए 12.1.0.1.0 को काम करता है वह है:
ALTER SESSION SET optimizer_features_enable='11.2.0.3';
लेकिन आपको यह याद रखना होगा कि क्वेरी चलाने से पहले हमेशा इस सेटिंग को बदलें, और उसके बाद इसे वापस '12.1.0.1' में बदलें। क्वेरी संकेत के भीतर इसे एम्बेड करने के कई तरीके हैं, जैसे /*+ OPT_PARAM('optimizer_features_enable' '11.2.0.3') */
. लेकिन किसी कारण से यह यहां काम नहीं करता है। या शायद आप इसे पूरे सिस्टम के लिए अस्थायी रूप से सेट कर सकते हैं और एक सुधार या बेहतर समाधान उपलब्ध होने के बाद इसे वापस बदल सकते हैं।
आप जो भी समाधान उपयोग करते हैं, उसे दस्तावेज करना याद रखें। यदि कोई प्रश्न अजीब लगता है तो अगला डेवलपर उसे "ठीक" करने का प्रयास कर सकता है और उसी समस्या का सामना कर सकता है।