نسخ البيانات من Oracle وإليها باستخدامAzure Data Factory أو تحليلات Azure Synapse

ينطبق على: Azure Data Factory Azure Synapse Analytics

تلميح

جرب Data Factory في Microsoft Fabric، وهو حل تحليلي متكامل للمؤسسات. يغطي Microsoft Fabric كل شيء بدءا من حركة البيانات إلى علم البيانات والتحليلات في الوقت الحقيقي والمعلومات المهنية وإعداد التقارير. تعرف على كيفية بدء إصدار تجريبي جديد مجانا!

توضح هذه المقالة كيفية استخدام نشاط النسخ في مصنع بيانات Azure لنسخ البيانات من وإلى قاعدة بيانات Oracle. وهو يعتمد على نظرة عامة على نشاط النسخ.

القدرات المدعومة

موصل Oracle هذا مدعوم للقدرات التالية:

القدرات المدعومة IR
Copy activity (المصدر/المتلق) (1) (2)
نشاط البحث (1) (2)
نشاط البرنامج النصي (1) (2)

① وقت تشغيل تكامل Azure ② وقت تشغيل التكامل المستضاف ذاتيًا

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

وبوجه خاص، يدعم موصل Oracle:

  • الإصدارات التالية من قاعدة بيانات Oracle:
    • Oracle 19c R1 (19.1) وأعلى
    • Oracle 18c R1 (18.1) وأعلى
    • Oracle 12c R1 (12.1) وأعلى
    • Oracle 11g R1 (11.1) وأعلى
    • Oracle 10g R1 (10.1) وأعلى
    • Oracle 9i R2 (9.2) وأعلى
    • Oracle 8i R3 (8.1.7) وأعلى
    • خدمة Exadata لسحابة Oracle Database
  • النسخ المتوازي من مصدر Oracle. راجع قسم النسخ المتوازي من Oracle للحصول على التفاصيل.

إشعار

خادم وكيل Oracle غير مدعوم.

المتطلبات الأساسية

إذا كان مخزن البيانات الخاص بك موجوداً داخل شبكة محلية، أو شبكة Azure ظاهرية، أو Amazon Virtual Private Cloud، فأنت بحاجة إلى تكوين وقت تشغيل تكامل مستضاف ذاتياً للاتصال به.

إذا كان مخزن البيانات الخاص بك عبارة عن خدمة بيانات سحابية مُدارة، يمكنك استخدام Azure Integration Runtime. إذا كان الوصول مقتصراً على عناوين IP التي تمت الموافقة عليها في قواعد جدار الحماية، يمكنك إضافة عناوين IP لـ Azure Integration Runtime إلى قائمة السماح.

يمكنك أيضاً استخدام ميزة وقت تشغيل تكامل الشبكة الظاهرية المُدارة في Azure Data Factory للوصول إلى الشبكة المحلية دون تثبيت وقت تشغيل تكامل مستضاف ذاتياً وتكوينه.

لمزيد من المعلومات حول آليات وخيارات أمان الشبكة التي يدعمها Data Factory، راجع إستراتيجيات الوصول إلى البيانات.

يوفر وقت تشغيل التكامل برنامج تشغيل Oracle مدمج. لذلك، لن تحتاج إلى تثبيت برنامج تشغيل يدوياً عند نسخ البيانات من وإلى Oracle.

الشروع في العمل

لتنفيذ نشاط النسخ باستخدام أحد المسارات، يمكنك استخدام إحدى الأدوات أو عدد تطوير البرامج التالية:

إنشاء خدمة مرتبطة بـ Oracle باستخدام واجهة المستخدم

استخدام الخطوات التالية لإنشاء خدمة مرتبطة بـ Oracle في واجهة مستخدم مدخل Azure.

  1. استعرض للوصول إلى علامة التبويب "Manage" في مصنع بيانات Azure أو مساحة عمل Synapse، وحدد "Linked Services"، ثم انقر فوق "New":

  2. البحث عن Oracle وتحديد موصل Oracle.

    لقطة شاشة لموصل Oracle.

  3. قم بتكوين تفاصيل الخدمة، واختبر الاتصال، وأنشئ الخدمة المرتبطة الجديدة.

    لقطة شاشة لتكوين الخدمة المرتبطة بـ Oracle.

تفاصيل تكوين الموصل

توفر المقاطع التالية تفاصيل حول الخصائص التي يتم استخدامها لتعريف الكيانات الخاصة بموصل Oracle.

خصائص الخدمة المرتبطة

تدعم الخدمة المرتبطة بـ Oracle الخصائص التالية:

الخاصية الوصف مطلوب
النوع يجب تعيين خاصية النوع إلى Oracle. ‏‏نعم‬
سلسلة الاتصال تحديد المعلومات المطلوبة للاتصال بمثيلOracle Database.
يمكنك أيضاً وضع كلمة مرور في Azure Key Vault وسحبpassword التكوين من سلسلة الاتصال. راجع العينات التالية وبيانات اعتماد المخزن في Azure Key Vault لمزيد من التفاصيل.

نوع الاتصال المدعوم:يمكنك استخدام معرف أمان Oracle أواسم Oracle Service لتحديد قاعدة البيانات:
- إذا كنت تستخدم معرف الأمان: Host=<host>;Port=<port>;Sid=<sid>;User Id=<username>;Password=<password>;
- إذا كنت تستخدم اسم الخدمة: Host=<host>;Port=<port>;ServiceName=<servicename>;User Id=<username>;Password=<password>;
للحصول على خيارات اتصال أصلية متقدمة من Oracle، يمكنك اختيار إضافة إدخال في TNSNAMES. ملف ORA على الجهاز حيث يتم تثبيت وقت تشغيل التكامل المستضاف ذاتيا، وفي خدمة Oracle المرتبطة، اختر استخدام نوع اتصال اسم خدمة Oracle وتكوين اسم الخدمة المقابل.
‏‏نعم‬
connectVia يُستخدم وقت تشغيل التكامل للاتصال بمخزن البيانات. تعرف على المزيد من قسم المتطلبات الأساسية. إذا لم يتم التحديد، يتم استخدام وقت تشغيل تكامل Azure الافتراضي. لا

تلميح

إذا وجدت خطأ، "ORA-01025": معلمة UPI خارج النطاق، وكان إصدار Oracle هو 8i، يمكنك الإضافة WireProtocolMode=1 إلى سلسلة الاتصال. ثم حاول مرة أخرى.

إذا كان لديك مثيلات Oracle متعددة لسيناريو تجاوز الفشل، يمكنك إنشاء خدمة Oracle المرتبطة وملء المضيف الأساسي والمنفذ واسم المستخدم وكلمة المرور وما إلى ذلك، وإضافة"خصائص اتصال إضافية جديدة" مع اسم الخاصية مثل AlternateServers والقيمة مثل (HostName=<secondary host>:PortNumber=<secondary port>:ServiceName=<secondary service name>) - لا تفوت الأقواس وانتبه إلى النقطتين(:) كفاصل. على سبيل المثال، القيمة التالية من خواتم بديلة تحدد تعريف اثنين من خوادم قاعدة بيانات بديلين لتجاوز فشل الاتصال: (HostName=AccountingOracleServer:PortNumber=1521:SID=Accounting,HostName=255.201.11.24:PortNumber=1522:ServiceName=ABackup.NA.MyCompany).

خصائص اتصال أكثر يمكنك تعيينها في سلسلة اتصال لكل حالة:

الخاصية ‏‏الوصف القيم المسموح بها
حجم الصفائف عدد وحدات البايت التي يمكن للموصل جلبها في رحلة واحدة ذهابا وإيابا عبر الشبكة. على سبيل المثال، ArraySize=‭10485760‬.

تزيد القيم الأكبر معدل النقل عن طريق تقليل عدد المرات لإحضار البيانات عبر شبكة الاتصال. تزيد القيم الأصغر وقت الاستجابة، حيث إن هناك تأخيرا أقل في انتظار أن يقوم الخادم بإرسال البيانات.
عدد صحيح من 1 إلى 4294967296 (4 غيغابايت). القيمة الافتراضية هي 60000. لا تعرف القيمة 1 عدد وحدات البايت، ولكنها تشير بالتحديد إلى تخصيص مساحة لصف واحد من البيانات.

لتمكين التشفير على اتصال Oracle، لديك خياران:

  • لاستخدام تشفير Triple-DES (3DES) ومقاييس التشفير المتقدمة (AES)، على جانب خادم Oracle، انتقل إلى الأمن المتقدم لـ Oracle (OAS) وتكوين إعدادات التشفير. للحصول على تفاصيل، راجع وثائق Oracleهذه. موصل ملف تعريف التطبيق لـ Oracle تلقائياً يتفاوض على أسلوب التشفير لاستخدام الطريقة التي تقوم بتكوينها في OAS عند إنشاء اتصال بـ Oracle.

  • لاستخدام TLS، قم بإعداد truststore مصادقة خادم SSL عن طريق تطبيق إحدى الطرق الثلاث التالية:

    • الطريقة 1 (مستحسن):

      1. قم بتثبيت شهادة TLS/SSL عن طريق استيرادها إلى مخزن الشهادات المحلي. برنامج تشغيل Oracle المضمن قادر على تحميل الشهادة المطلوبة من مخزن الشهادات.

      2. في الخدمة، قم بتكوين سلسلة الاتصال Oracle باستخدام EncryptionMethod=1.

    • الطريقة 2:

      1. احصل على معلومات شهادة TLS/SSL. احصل على معلومات الشهادة المرمزة بقواعد الترميز المميزة (DER) أو معلومات الشهادة المرمزة بالبريد المحسن للخصوصية (PEM) لشهادة TLS/SSL.

        openssl x509 -inform (DER|PEM) -in [Full Path to the DER/PEM Certificate including the name of the DER/PEM Certificate] -text
        
      2. في الخدمة، قم بتكوين oracle سلسلة الاتصال مع EncryptionMethod=1 والقيمة المقابلةTrustStore. على سبيل المثال، Host=<host>;Port=<port>;Sid=<sid>;User Id=<username>;Password=<password>;EncryptionMethod=1;TrustStore= data:// -----BEGIN CERTIFICATE-----<certificate content>-----END CERTIFICATE-----

        إشعار

        • يجب أن تكون قيمة TrustStore الحقل مسبوقة ب data://.
        • عند تحديد محتوى لشهادات متعددة، حدد محتوى كل شهادة بين -----BEGIN CERTIFICATE----- و -----END CERTIFICATE-----. يجب أن يكون عدد الشرطات (-----) هو نفسه قبل وبعد كل من BEGIN CERTIFICATE و END CERTIFICATE. على سبيل المثال:
          -----BEGIN CERTIFICATE-----<certificate content 1>-----END CERTIFICATE-----
          -----BEGIN CERTIFICATE-----<certificate content 2>-----END CERTIFICATE-----
          -----BEGIN CERTIFICATE-----<certificate content 3>-----END CERTIFICATE-----
        • TrustStore يدعم الحقل المحتوى الذي يصل طوله إلى 8192 حرفا.
    • الطريقة 3:

      1. قم بإنشاء الملف باستخدام truststore شفرات قوية مثل AES256.

        openssl pkcs12 -in [Full Path to the DER/PEM Certificate including the name of the DER/PEM Certificate] -out [Path and name of TrustStore] -passout pass:[Keystore PWD] -keypbe AES-256-CBC -certpbe AES-256-CBC -nokeys -export
        
      2. truststore ضع الملف على جهاز وقت تشغيل التكامل المستضاف ذاتيا. على سبيل المثال، ضع الملف في C:\MyTrustStoreFile.

      3. في الخدمة، قم بتكوين Oracle سلسلة الاتصال مع EncryptionMethod=1 والقيمة المقابلة/TrustStoreTrustStorePassword. على سبيل المثال، Host=<host>;Port=<port>;Sid=<sid>;User Id=<username>;Password=<password>;EncryptionMethod=1;TrustStore=C:\\MyTrustStoreFile;TrustStorePassword=<trust_store_password>

مثال:

{
    "name": "OracleLinkedService",
    "properties": {
        "type": "Oracle",
        "typeProperties": {
            "connectionString": "Host=<host>;Port=<port>;Sid=<sid>;User Id=<username>;Password=<password>;"
        },
        "connectVia": {
            "referenceName": "<name of Integration Runtime>",
            "type": "IntegrationRuntimeReference"
        }
    }
}

مثال: تخزين كلمة المرور في Azure Key Vault

{
    "name": "OracleLinkedService",
    "properties": {
        "type": "Oracle",
        "typeProperties": {
            "connectionString": "Host=<host>;Port=<port>;Sid=<sid>;User Id=<username>;",
            "password": { 
                "type": "AzureKeyVaultSecret", 
                "store": { 
                    "referenceName": "<Azure Key Vault linked service name>", 
                    "type": "LinkedServiceReference" 
                }, 
                "secretName": "<secretName>" 
            }
        },
        "connectVia": {
            "referenceName": "<name of Integration Runtime>",
            "type": "IntegrationRuntimeReference"
        }
    }
}

خصائص مجموعة البيانات

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

لنسخ البيانات من وإلى Oracle، قم بتعيين خاصية نوع مجموعة البيانات إلى OracleTable. تدعم الخصائص التالية.

الخاصية الوصف مطلوب
النوع يجب تعيين خاصية نوع مجموعة البيانات إلىOracleTable. ‏‏نعم‬
Schema اسم المخطط. لا للمصدر، نعم للمتلقي
طاولتنا اسم الجدول/طريقة العرض. لا للمصدر، نعم للمتلقي
اسم الجدول اسم الجدول/طريقة العرض مع المخطط. هذه الخاصية مدعومة للتوافق مع الإصدارات السابقة. بالنسبة لحمل العمل الجديد، استخدم schema وtable. لا للمصدر، نعم للمتلقي

مثال:

{
    "name": "OracleDataset",
    "properties":
    {
        "type": "OracleTable",
        "schema": [],
        "typeProperties": {
            "schema": "<schema_name>",
            "table": "<table_name>"
        },
        "linkedServiceName": {
            "referenceName": "<Oracle linked service name>",
            "type": "LinkedServiceReference"
        }
    }
}

انسخ خصائص النشاط

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

Oracle كمصدر

تلميح

لتحميل البيانات من Oracle بكفاءة باستخدام تقسيم البيانات، وتعرف على المزيد من نسخة موازية من Oracle.

لنسخ البيانات من Oracle، قم بتعيين نوع المصدر في نشاط النسخ إلى OracleSource. يتم دعم الخصائص التالية في قسم المصدر لنشاط النسخ.

الخاصية الوصف مطلوب
النوع يجب تعيين خاصية نوع مصدر نشاط النسخ إلى OracleSource. ‏‏نعم‬
oracleReaderQuery استخدم استعلام SQL المخصص لقراءة البيانات. مثال على ذلك "SELECT * FROM MyTable" .
عند تمكين التحميل المقسم، ستحتاج إلى ربط أي معلمات التقسيم المدرجة المقابلة في الاستعلام الخاص بك. على سبيل المثال، راجع قسم النسخ المتوازي من Oracle للحصول على التفاصيل.
لا
convertDecimalToInteger سيتم تحويل نوع Oracle NUMBER مع مقياس صفري أو غير محدد إلى عدد صحيح مطابق. القيم المسموح بها هي صوابو خطأ (افتراضياً). لا
خيارات التقسيم تحديد خيارات تقسيم البيانات المستخدمة لتحميل البيانات من Oracle.
القيم المسموح بها هي: None (افتراضي)، وPhysicalPartitionsOfTable، وDynamicRange.
عند تمكين خيار تقسيم (أي، ليس None)، يتم التحكم في درجة التوازي لتحميل البيانات بشكل متزامن من قاعدة بيانات Oracle عن طريق الإعداد parallelCopies في نشاط النسخ.
لا
partitionSettings حدد مجموعة الإعدادات الخاصة بتقسيم البيانات.
تطبيق عندما لا يكون خيار التقسيم None.
لا
أسماء أقسام قائمة الأقسام المادية التي يجب نسخها.
تُطبق عندما يكون خيار التقسيم هو PhysicalPartitionsOfTable. إذا كنت تستخدم استعلاماً لاسترداد البيانات المصدر، اربط ?AdfTabularPartitionName في عبارة WHERE. على سبيل المثال، راجع قسم النسخ المتوازي من Oracle.
لا
partitionColumnName حدد اسم عمود المصدر بنوع عدد صحيح الذي سيتم استخدامه عن طريق تقسيم النطاق للنسخ المتوازي. إذا لم يتم تحديده، فسيتم اكتشاف المفتاح الأساسي للجدول تلقائياً واستخدامه كعمود قسم.
تُطبق عندما يكون خيار التقسيم هو DynamicRange. إذا كنت تستخدم استعلاماً لاسترداد البيانات المصدر، اربط ?AdfRangePartitionColumnName في عبارة WHERE. على سبيل المثال، راجع قسم النسخ المتوازي من Oracle.
لا
التقسيم الحد الأقصى لقيمة عمود القسم لنسخ البيانات.
تُطبق عندما يكون خيار التقسيم هو DynamicRange. إذا كنت تستخدم استعلاماً لاسترداد البيانات المصدر، اربط ?AdfRangePartitionUpbound في عبارة WHERE. على سبيل المثال، راجع قسم النسخ المتوازي من Oracle.
لا
partitionLowerBound الحد الأدنى لقيمة عمود القسم لنسخ البيانات.
تُطبق عندما يكون خيار التقسيم هو DynamicRange. إذا كنت تستخدم استعلاماً لاسترداد البيانات المصدر، اربط ?AdfRangePartitionLowbound في عبارة WHERE. على سبيل المثال، راجع قسم النسخ المتوازي من Oracle.
لا

مثال: نسخ البيانات باستخدام استعلام أساسي بدون قسم

"activities":[
    {
        "name": "CopyFromOracle",
        "type": "Copy",
        "inputs": [
            {
                "referenceName": "<Oracle input dataset name>",
                "type": "DatasetReference"
            }
        ],
        "outputs": [
            {
                "referenceName": "<output dataset name>",
                "type": "DatasetReference"
            }
        ],
        "typeProperties": {
            "source": {
                "type": "OracleSource",
                "convertDecimalToInteger": false,
                "oracleReaderQuery": "SELECT * FROM MyTable"
            },
            "sink": {
                "type": "<sink type>"
            }
        }
    }
]

Oracle كمتلقي

لنسخ البيانات إلى Oracle، قم بتعيين نوع المتلقي في نشاط النسخ إلى OracleSink. تُدعم الخصائص التالية في قسم متلقي نشاط النسخ.

الخاصية الوصف مطلوب
النوع يجب تعيين خاصية نوع متلقي نشاط النسخ إلى OracleSink. ‏‏نعم‬
writeBatchSize إدراج البيانات في الجدول SQL عندما يصل حجم المخزن المؤقت writeBatchSize.
القيم المسموح بها هي: عدد صحيح (عدد الصفوف).
لا (الافتراضي هو 10,000)
writeBatchTimeout وقت الانتظار حتى تكتمل عملية إدراج الدُفعة قبل انتهاء مدتها.
القيم المسموح بها هي Timespan. مثال على ذلك هو 00:30:00 (30 دقيقة).
لا
preCopyScript تحديد استعلام SQL لنشاط النسخ للتشغيل قبل كتابة البيانات إلى Oracle في كل تشغيل. يمكنك استخدام هذه الخاصية لتنظيف البيانات المحملة مسبقاً. لا
 maxConcurrentConnections الحد الأعلى للاتصالات المتزامنة التي تم إنشاؤها إلى مخزن البيانات أثناء تشغيل النشاط. حدد قيمة فقط عندما تريد تحديد الاتصالات المتزامنة.  لا

مثال:

"activities":[
    {
        "name": "CopyToOracle",
        "type": "Copy",
        "inputs": [
            {
                "referenceName": "<input dataset name>",
                "type": "DatasetReference"
            }
        ],
        "outputs": [
            {
                "referenceName": "<Oracle output dataset name>",
                "type": "DatasetReference"
            }
        ],
        "typeProperties": {
            "source": {
                "type": "<source type>"
            },
            "sink": {
                "type": "OracleSink"
            }
        }
    }
]

نسخة موازية من Oracle

يوفر موصل Oracle تقسيم البيانات المضمنة لنسخ البيانات من Oracle بالتوازي. يمكنك العثور على خيارات تقسيم البيانات في علامة التبويب Source لنشاط النسخ.

لقطة شاشة لخيارات التقسيم

عند تمكين نسخة مقسمة، تشغّل الخدمة استعلامات متوازية مقابل مصدر Oracle لتحميل البيانات عن طريق الأقسام. يتم التحكم في الدرجة المتوازية بواسطة parallelCopies الإعداد على نشاط النسخ. على سبيل المثال، إذا قمت بتعيين parallelCopies إلى أربعة، تقوم الخدمة بشكل متزامن بإنشاء وتشغيل أربعة استعلامات استناداً إلى خيار التقسيم المحدد والإعدادات، ويقوم كل استعلام باسترداد جزء من البيانات من قاعدة بيانات Oracle.

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

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

أثناء التنفيذ، تكتشف الخدمة تلقائياً الأقسام المادية ونسخ البيانات حسب الأقسام.
تحميل كامل من جدول كبير، دون أقسام فعلية، مع وجود عمود لعدد صحيح لتقسيم البيانات. خيارات التقسيم: تقسيم النطاق الديناميكي.
عمود التقسيم: حدد العمود المستخدم لتقسيم البيانات. إذا لم يتم تحديده، فسيتم استخدام عمود المفتاح الأساسي.
قم بتحميل كمية كبيرة من البيانات باستخدام استعلام مخصص بأقسام فعلية. خيار التقسيم: أقسام فعلية للجدول.
استعلام: SELECT * FROM <TABLENAME> PARTITION("?AdfTabularPartitionName") WHERE <your_additional_where_clause>.
اسم القسم: حدد اسم (أسماء) القسم لنسخ البيانات منه. إذا لم يتم تحديد الخدمة تلقائياً بالكشف عن الأقسام الفعلية المذكورة بالجدول المحدد في مجموعة بيانات Oracle.

أثناء التنفيذ، يستبدل الخدمة ?AdfTabularPartitionName مع اسم القسم الفعلي ثم يرسل إلى Oracle.
يمكنك تحميل كمية كبيرة من البيانات باستخدام استعلام مخصص، بدون أقسام فعلية، أثناء استخدام عمود مخصص لعدد صحيح لتقسيم البيانات. خيارات التقسيم: تقسيم النطاق الديناميكي.
استعلام: SELECT * FROM <TABLENAME> WHERE ?AdfRangePartitionColumnName <= ?AdfRangePartitionUpbound AND ?AdfRangePartitionColumnName >= ?AdfRangePartitionLowbound AND <your_additional_where_clause>.
عمود التقسيم: حدد العمود المستخدم لتقسيم البيانات. يمكنك التقسيم مقابل العمود بنوع بيانات عدد صحيح.
الحد الأعلى للتقسيموالحد الأدنى للتقسيم: تحديد إذا ما كنت تريد التصفية مقابل عمود التقسيم لاسترداد البيانات فقط بين النطاقين الأدنى والأعلى.

أثناء التنفيذ، تستبدل الخدمة ?AdfRangePartitionColumnName،?AdfRangePartitionUpbound و?AdfRangePartitionLowbound باسم العمود الفعلي ونطاقات القيمة لكل قسم، و ترسلها إلى Oracle.
على سبيل المثال، إذا تم تعيين "ID" عمود القسم الخاص بك مع الحد الأدنى كـ 1 والحد الأعلى كـ 80، مع تعيين النسخة المتوازية على 4، تقوم الخدمة باسترداد البيانات من خلال 4 أقسام. هوياتهم تتراوح بين [1،20]، [21، 40]، [41، 60]، [61، 80] على التوالي.

تلميح

عند نسخ البيانات من جدول غير مقسمة، يمكنك استخدام خيار قسم "النطاق الديناميكي" للتقسيم مقابل عمود العدد الصحيح. إذا لم يكن لديك مثل هذا النوع من العمود، يمكنك الاستفادة من وظيفة ORA_HASH في استعلام المصدر لإنشاء عمود واستخدامه كعمود للقسم.

مثال: الاستعلام مع القسم الفعلي

"source": {
    "type": "OracleSource",
    "query": "SELECT * FROM <TABLENAME> PARTITION(\"?AdfTabularPartitionName\") WHERE <your_additional_where_clause>",
    "partitionOption": "PhysicalPartitionsOfTable",
    "partitionSettings": {
        "partitionNames": [
            "<partitionA_name>",
            "<partitionB_name>"
        ]
    }
}

مثال: الاستعلام مع تقسيم النطاق الديناميكي

"source": {
    "type": "OracleSource",
    "query": "SELECT * FROM <TABLENAME> WHERE ?AdfRangePartitionColumnName <= ?AdfRangePartitionUpbound AND ?AdfRangePartitionColumnName >= ?AdfRangePartitionLowbound AND <your_additional_where_clause>",
    "partitionOption": "DynamicRange",
    "partitionSettings": {
        "partitionColumnName": "<partition_column_name>",
        "partitionUpperBound": "<upper_value_of_partition_column>",
        "partitionLowerBound": "<lower_value_of_partition_column>"
    }
}

تعيين نوع البيانات لـ Oracle

عند نسخ البيانات من وإلى Oracle، يتم استخدام تعيينات نوع البيانات المؤقتة التالية داخل الخدمة. لمعرفة كيفية تعيين نشاط النسخ للمخطط المصدر ونوع البيانات إلى المتلقي، راجع تعيينات المخطط ونوع البيانات.

نوع بيانات Oracle نوع البيانات المؤقتة
BFILE بايت []
BLOB بايت []
(معتمد فقط على Oracle 10 جي وأعلى)
CHAR السلسلة‬
CLOB السلسلة‬
التاريخ DateTime
حُر عشري، سلسلة (إذا كانت الدقة > 28)
INTEGER عشري، سلسلة (إذا كانت الدقة > 28)
LONG السلسلة‬
LONG RAW بايت []
NCHAR السلسلة‬
NCLOB السلسلة‬
الرقم (p، s) عشري، السلسلة (إذا كانت p > 28)
رقم بدون دقة ومقياس مزدوج
NVARCHAR2 السلسلة‬
RAW بايت []
ROWID السلسلة‬
الطابع الزمني DateTime
الطابع الزمني مع المنطقة الزمنية المحلية السلسلة‬
الطابع الزمني مع المنطقة الزمنية السلسلة‬
عدد صحيح بلا إشارة الرقم‬
VARCHAR2 السلسلة‬
XML السلسلة‬

إشعار

أنواع بيانات الفاصل الزمني من YEAR إلى MONTH والفاصل الزمني من DAY إلى SECOND غير مدعوم.

بحث عن خصائص النشاط

لمعرفة تفاصيل حول الخصائص، تحقق من نشاط البحث.

للحصول على قائمة بمخازن البيانات المدعومة كمصادر ومتلقين من خلال نشاط النسخ، انظر مخازن البيانات المدعومة .