ما هي امتيازات Oracle التي أحتاجها لاستخدام DBMS_METADATA.GET_DDL؟

StackOverflow https://stackoverflow.com/questions/116522

  •  02-07-2019
  •  | 
  •  

سؤال

(أعذروني على أي جهل بي هنا - فأنا لست مستخدمًا متمرسًا لشركة Oracle.)

أحاول استخدام الدالة DBMS_METADATA.GET_DDL (بالاشتراك مع ALL_OBJECTS أو بعضها) للحصول على DDL لجميع الجداول في مخطط معين.عندما أفعل هذا (إما لجميع الكائنات أو لكائن واحد محدد) أحصل على خطأ ORA-31603 ("الكائن "FOO" من النوع TABLE غير موجود في المخطط "SCHEMA"").

أفترض أن هذا يعني أن المستخدم الذي قمت بتسجيل الدخول به لا يتمتع بأي امتياز ضروري لقراءة البيانات التعريفية المطلوبة لـ GET_DDL.أي امتياز هذا هو المطلوب؟هل هناك طريقة عند تسجيل الدخول للتأكد من أن المستخدم الحالي لديه/لا يتمتع بهذا الامتياز؟

شكرًا!لي

هل كانت مفيدة؟

المحلول

اقرأ هذا المستند، ولكنك تحتاج في الأساس إلى SELECT_CATALOG_ROLE

http://download.Oracle.com/docs/cd/B19306_01/appdev.102/b14258/d_metada.htm#i1016867

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top