डेटाबेस डिक्शनरी से संबंधित या सिस्टम टेबल (इस मामले में v_$sql) Oracle के स्वामित्व में हैं sys
उपयोगकर्ता और उन तक पहुँचने के लिए विशेष विशेषाधिकारों की आवश्यकता होती है। आपको oracle डेटाबेस में sysdba user
. के रूप में लॉगिन करने की आवश्यकता है या डेटा शब्दकोश दृश्यों तक पहुंच प्राप्त करने के लिए उन विशेषाधिकारों को प्राप्त करें (आपका डीबीए इसमें आपकी सहायता कर सकता है)।
जैसा कि इस लेख में बताया गया है
The problem is that procedures don't respect roles; only directly granted rights
are respected. So, that means that table_owner has to regrant the right to select
इसलिए, सभी डिक्शनरी व्यू पर सेलेक्ट देने के लिए निम्नलिखित प्रयास करें ताकि आप इसे अपने pl/sql ब्लॉक में उपयोग कर सकें।
grant select any dictionary to USERNAME