كيف يمكنني استخدام Oracle Preprocessor للجداول الخارجية لاستهلاك هذا النوع من التنسيق؟

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

سؤال

افترض أن لدي تنسيق ملف مخصص، والتي يمكن أن تكون مشابهة للجدول N. دعنا نختار 3. يمكنني تحويل الملف، كتابة غلاف تحميل مخصص لملء 3 جداول قاعدة البيانات.

ولكن لنفترض أن القيود المساحة والموارد، لا أستطيع تخزين كل هذا في مساحة الملعقة.

هل يمكنني استخدام Oracle Preprocessor للجداول الخارجية لتحويل الملف المخصص ثلاث طرق مختلفة؟

أمثلة الاستخدام التي قرأتها إرسال ملفات نص Gzip'D مثال. ولكن هذه علاقة واحدة إلى طاولة واحدة إلى طاولة، مع تحويل واحد فقط.

لدي ملف واحد مع نقطات محتملة من البيانات.

  • هل أحتاج إلى تحديد جداول N الخارجية، كل منها يشير إلى برنامج مختلف؟
  • إذا قمت بتعيين ثلاث طاولات إلى نفس الملف، فماذا يؤثر ذلك على الأداء؟ (الوصول هو في الغالب أو جميع القراءات، قليل أو لا يكتب).

أيضا، ما هو التنسيق الذي يجب أن يكون الإخراج القياسي لميبرك؟ يجب أن يكون csv، أم هل هناك طرق لتكوين برنامج تشغيل الجدول الخارجي؟

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

المحلول

"إذا قمت بتعيين ثلاث طاولات إلى نفس الملف، فماذا يؤثر ذلك على الأداء؟ (الوصول في الغالب أو جميع القراءات، قليلة أو لا يكتب"

يجب أن يكون هناك اختلاف ضئيل أو لا يوجد اختلاف بين ثلاث جلسات تصل إلى نفس الملف من خلال تعريف جدول خارجي واحد أو ثلاثة تعريفات جدول خارجية. لا يتم تخزين الطاولات الخارجية مخزنة مؤقتا بواسطة قاعدة البيانات (قد تكون عن طريق نظام الملفات أو القرص)، لذلك أي حق الوصول هو القراءات المادية البحتة. اعتمادا على برنامج Pre-Processor، قد يكون هناك مستوى من التسلسل هناك (أو يمكنك استخدام برنامج مسبق للمعالج لفرض التسلسل).

الأداء الحكيم، من الأفضل لكي توضح جلسة واحدة لمسح الملف / الجدول الخارجي وتحميله في جداول قاعدة بيانات واحدة أو أكثر. قرأت الجلسات الأخرى من هناك ويتم تخزينها مؤقتا في SGA. أيضا، يمكنك فهرسة جدول قاعدة البيانات حتى لا تضطر إلى قراءة كل شيء.

قد تكون قادرة على استخدام إدراجات متعددة الطاولة لتحميل جداول قاعدة بيانات متعددة من تعريف جدول خارجي واحد في تمريرة واحدة.

"ما هو التنسيق الذي يجب أن يكون الإخراج القياسي لموظفتي؟ يجب أن يكون csv، أو هل هناك طرق لتكوين برنامج تشغيل الجدول الخارجي؟"

ذلك إلى حد كبير يتبع SQL * Loader، وكلاهما في دليل الأدوات المساعدة. وبعد يمكنك استخدام تنسيق ثابت أو محددات أخرى.

هل أحتاج إلى تحديد جداول N الخارجية، كل منها يشير إلى برنامج مختلف؟

يعتمد على كيفية التشويش البيانات. تجاهل المعالجات المسبقة، يمكنك الحصول على جداول خارجية مختلفة سحب أعمدة مختلفة من نفس الملف أو استخدام تحميل متى جملة لتحديد السجلات التي يجب تضمينها أو استبعادها.

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