تحقق مما إذا كان كائن DB معين يستخدم في Oracle؟
-
23-09-2019 - |
سؤال
مرحبًا ، هل يعرف أي شخص كيفية التحقق مما إذا كان يتم استخدام كائن DB معين (جدول/عرض/SP/وظيفة) داخل Oracle.
على سبيل المثال للتحقق مما إذا كان الجدول "A" يستخدم في أي تعريف SP/وظيفة أو عرض. أحاول تنظيف الأشياء غير المستخدمة في قاعدة البيانات.
جربت الاستعلام SELECT * من all_source حيث نص مثل "٪ a ٪" (A هو اسم الجدول). هل من الآمن افتراض أنه لا يتم استخدامه إذا لم يرجع أي نتائج؟
المحلول
من هذا سؤال askTom:
سيتعين عليك تمكين التدقيق ثم العودة في 3 أشهر لرؤية.
نحن لا نتتبع هذه المعلومات افتراضيًا - أيضًا ، حتى مع التدقيق ، قد يكون من الممكن جدًا الحصول على كائن يتم الوصول إليه بشكل غير مباشر (على سبيل المثال: عبر مفتاح خارجي على سبيل المثال) لن يظهر.
يمكنك تجربة user_dependers لكن هذا لن يخبرك عن الكائنات المشار إليها بواسطة الرمز في تطبيقات العميل أو عن طريق SQL الديناميكي
هناك رمز في الموضوع للتحقق ALL_SOURCE
, ، ولكن تم تسليط الضوء على أن هذه ليست رصاصة فضية.