Udostępnij przez


Kopiowanie danych z usługi Amazon RDS for Oracle przy użyciu usługi Azure Data Factory lub Azure Synapse Analytics

DOTYCZY: Azure Data Factory Azure Synapse Analytics

Napiwek

Wypróbuj usługę Data Factory w usłudze Microsoft Fabric — rozwiązanie analityczne typu all-in-one dla przedsiębiorstw. Usługa Microsoft Fabric obejmuje wszystko, od przenoszenia danych do nauki o danych, analizy w czasie rzeczywistym, analizy biznesowej i raportowania. Dowiedz się, jak bezpłatnie rozpocząć nową wersję próbną !

W tym artykule opisano sposób używania działania kopiowania w usłudze Azure Data Factory do kopiowania danych z bazy danych Amazon RDS for Oracle. Jest on oparty na omówieniu działania kopiowania.

Ważne

Łącznik Amazon RDS for Oracle w wersji 2.0 zapewnia ulepszoną natywną obsługę usług Amazon RDS for Oracle. Jeśli używasz usługi Amazon RDS dla łącznika Oracle w wersji 1.0 w swoim rozwiązaniu, uaktualnij łącznik Amazon RDS for Oracle , ponieważ wersja 1.0 znajduje się na etapie zakończenia pomocy technicznej. Potok zakończy się niepowodzeniem po 31 marca 2026 r. Zapoznaj się z tą sekcją , aby uzyskać szczegółowe informacje na temat różnic między wersją 2.0 a wersją 1.0.

Obsługiwane możliwości

Ten łącznik usługi Amazon RDS for Oracle jest obsługiwany w następujących funkcjach:

Obsługiwane możliwości środowisko IR
działanie Kopiuj (źródło/-) (1) (2)
Działanie Lookup (1) (2)

(1) Środowisko Azure Integration Runtime (2) Self-hosted Integration Runtime

Aby uzyskać listę magazynów danych obsługiwanych jako źródła lub ujścia przez działanie kopiowania, zobacz tabelę Obsługiwane magazyny danych.

W szczególności ten łącznik Amazon RDS for Oracle obsługuje następujące funkcje:

  • Następujące wersje bazy danych Amazon RDS for Oracle w wersji 2.0:
    • Amazon RDS dla Oracle 19c i nowszych
    • Amazon RDS dla Oracle 18c i nowszych
    • Amazon RDS dla Oracle 12c i nowszych
    • Amazon RDS dla oracle 11g i nowszych
  • Następujące wersje bazy danych Amazon RDS for Oracle w wersji 1.0:
    • Amazon RDS for Oracle 19c R1 (19.1) i nowsze
    • Amazon RDS for Oracle 18c R1 (18.1) i nowsze
    • Amazon RDS for Oracle 12c R1 (12.1) i nowsze
    • Amazon RDS for Oracle 11g R1 (11.1) i nowsze
  • Równoległe kopiowanie z usługi Amazon RDS dla źródła Oracle. Aby uzyskać szczegółowe informacje, zobacz sekcję Równoległa kopia z usługi Amazon RDS for Oracle .

Uwaga

Usługa Amazon RDS dla serwera proxy Oracle nie jest obsługiwana.

Wymagania wstępne

Jeśli magazyn danych znajduje się wewnątrz sieci lokalnej, sieci wirtualnej platformy Azure lub chmury prywatnej Amazon Virtual, musisz skonfigurować własne środowisko Integration Runtime , aby się z nim połączyć.

Jeśli magazyn danych jest zarządzaną usługą danych w chmurze, możesz użyć środowiska Azure Integration Runtime. Jeśli dostęp jest ograniczony do adresów IP zatwierdzonych w regułach zapory, możesz dodać adresy IP środowiska Azure Integration Runtime do listy dozwolonych.

Możesz również użyć funkcji środowiska Integration Runtime zarządzanej sieci wirtualnej w usłudze Azure Data Factory, aby uzyskać dostęp do sieci lokalnej bez instalowania i konfigurowania własnego środowiska Integration Runtime.

Aby uzyskać więcej informacji na temat mechanizmów zabezpieczeń sieci i opcji obsługiwanych przez usługę Data Factory, zobacz Strategie dostępu do danych.

Środowisko Integration Runtime udostępnia wbudowany sterownik Amazon RDS for Oracle. W związku z tym nie trzeba ręcznie instalować sterownika podczas kopiowania danych z usługi Amazon RDS for Oracle.

Wprowadzenie

Aby wykonać działanie kopiowania za pomocą pipeline'u, możesz użyć jednego z następujących narzędzi lub zestawów SDK:

Tworzenie połączonej usługi z usługą Amazon RDS for Oracle przy użyciu interfejsu użytkownika

Wykonaj poniższe kroki, aby utworzyć połączoną usługę z usługą Amazon RDS for Oracle w interfejsie użytkownika witryny Azure Portal.

  1. Przejdź do karty Zarządzanie w obszarze roboczym usługi Azure Data Factory lub Synapse i wybierz pozycję Połączone usługi, a następnie kliknij pozycję Nowy:

  2. Wyszukaj pozycję Amazon RDS for Oracle i wybierz łącznik Amazon RDS for Oracle.

    Zrzut ekranu przedstawiający łącznik Amazon RDS for Oracle.

  3. Skonfiguruj szczegóły usługi, przetestuj połączenie i utwórz nową połączoną usługę.

    Zrzut ekranu przedstawiający połączoną konfigurację usługi dla usługi Amazon RDS for Oracle.

Szczegóły konfiguracji łącznika

Poniższe sekcje zawierają szczegółowe informacje o właściwościach używanych do definiowania jednostek specyficznych dla łącznika usługi Amazon RDS for Oracle.

Właściwości połączonej usługi

Łącznik Amazon RDS for Oracle w wersji 2.0 obsługuje protokół TLS 1.3. Zapoznaj się z tą sekcją, aby zaktualizować wersję łącznika Amazon RDS dla Oracle z wersji 1.0. Aby uzyskać informacje szczegółowe dotyczące nieruchomości, zobacz odpowiednie sekcje.

Wersja 2.0

Połączona usługa Amazon RDS for Oracle obsługuje następujące właściwości w przypadku zastosowania wersji 2.0:

Właściwości Opis Wymagania
typ Właściwość type musi być ustawiona na AmazonRdsForOracle. Tak
wersja Wersja, którą określisz. Wartość to 2.0. Tak
serwer Lokalizacja bazy danych Amazon RDS for Oracle, z którą chcesz nawiązać połączenie. Możesz odwołać się do konfiguracji właściwości serwera , aby ją określić. Tak
Typ uwierzytelniania Typ uwierzytelniania na potrzeby nawiązywania połączenia z bazą danych Amazon RDS for Oracle. Obecnie obsługiwane jest tylko uwierzytelnianie podstawowe . Tak
nazwa użytkownika Nazwa użytkownika bazy danych Amazon RDS for Oracle. Tak
hasło Hasło bazy danych Amazon RDS for Oracle. Oznacz to pole jako SecureString , aby bezpiecznie je przechowywać. Możesz też odwołać się do wpisu tajnego przechowywanego w usłudze Azure Key Vault. Tak
connectVia Środowisko Integration Runtime do nawiązania połączenia z magazynem danych. Dowiedz się więcej w sekcji Wymagania wstępne . Jeśli nie zostanie określony, zostanie użyte domyślne środowisko Azure Integration Runtime. Nie.

Więcej właściwości połączenia, które można ustawić w połączonej usłudze w zależności od przypadku:

Właściwości Opis Wymagania Wartość domyślna
klient szyfrowania Określa zachowanie klienta szyfrowania. Obsługiwane wartości to accepted, , rejectedrequested, lub required. Typ: ciąg Nie. required
TypySzyfrowaniaKlient Określa algorytmy szyfrowania, których może używać klient. Obsługiwane wartości to AES128, , AES192, AES2563DES112, . 3DES168 Typ: ciąg Nie. (AES256)
cryptoChecksumClient Określa żądane zachowanie integralności danych, gdy ten klient nawiązuje połączenie z serwerem. Obsługiwane wartości to accepted, , rejectedrequested, lub required. Typ: ciąg Nie. required
cryptoChecksumTypesClient Określa algorytmy sumy kontrolnej kryptograficznej, których może używać klient. Obsługiwane wartości to SHA1, , SHA256SHA384, SHA512. Typ: ciąg Nie. (SHA512)
initialLobFetchSize Określa kwotę, którą źródło początkowo pobiera dla kolumn biznesowych. Typ: int Nie. 0
fetchSize (rozmiar pobierania) Określa liczbę bajtów przydzielanych przez sterownik do pobierania danych w jednej rundzie bazy danych. Typ: int Nie. 10 MB
statementCacheSize Określa liczbę kursorów lub zapytań do buforowania dla każdego połączenia z bazą danych. Typ: int Nie. 0
initializationString Określa polecenie, które jest wydawane natychmiast po nawiązaniu połączenia z bazą danych w celu zarządzania ustawieniami sesji. Typ: ciąg Nie. null
WłączMasoweŁadowanie Określa, czy używać kopiowania zbiorczego, czy wsadowego podczas ładowania danych do bazy danych. Typ: wartość logiczna Nie. prawda
wsparcieTypyDanychV1 Określa, czy używać mapowań typu danych w wersji 1.0. Nie ustawiaj tego na wartość true, chyba że chcesz zachować zgodność wsteczną z mapowaniami typów danych w wersji 1.0. Typ: wartość logiczna Nie, ta właściwość jest przeznaczona wyłącznie do zapewnienia wstecznej kompatybilności. fałszywy
pobierzTswtzJakoZnacznikCzasu Określa, czy sterownik zwraca wartość kolumny z timeSTAMP WITH TIME ZONE data type as DateTime lub string. To ustawienie jest ignorowane, jeśli wartość supportV1DataTypes nie jest prawdziwa. Typ: wartość logiczna Nie, ta właściwość jest przeznaczona wyłącznie do zapewnienia wstecznej kompatybilności. prawda

Przykład:

{
    "name": "AmazonRdsForOracleLinkedService",
    "properties": {
        "type": "AmazonRdsForOracle",
        "version": "2.0",
        "typeProperties": {
            "server": "<server name>", 
            "username": "<user name>", 
            "password": "<password>", 
            "authenticationType": "<authentication type>"
        },
        "connectVia": {
            "referenceName": "<name of Integration Runtime>",
            "type": "IntegrationRuntimeReference"
        }
    }
}

Przykład: przechowywanie hasła w usłudze Azure Key Vault

{
    "name": "AmazonRdsForOracleLinkedService",
    "properties": {
        "type": "AmazonRdsForOracle",
        "version": "2.0",
        "typeProperties": {
            "server": "<server name>", 
            "username": "<user name>", 
            "authenticationType": "<authentication type>",
            "password": {
                "type": "AzureKeyVaultSecret",
                "store": {
                    "referenceName": "<Azure Key Vault linked service name>",
                    "type": "LinkedServiceReference"
                }, 
                "secretName": "<secretName>"
            }
        },
        "connectVia": {
            "referenceName": "<name of Integration Runtime>",
            "type": "IntegrationRuntimeReference"
        }
    }
}

server konfiguracja właściwości

Dla server właściwości można określić ją w jednym z następujących trzech formatów:

Forma Przykład
Deskryptor połączenia (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=sales-server)(PORT=1521))(CONNECT_DATA=(SERVICE_NAME=sales.us.acme.com)))
Nazewnictwo Easy Connect (Plus) salesserver1:1521/sales.us.example.com
Nazwa usług Oracle Net Services (alias TNS) ( wyłącznie dla własnego środowiska uruchomieniowego integracji) sprzedaż

Na poniższej liście przedstawiono obsługiwane parametry używane w programie server. Jeśli używasz parametrów, które nie znajdują się na poniższej liście, połączenie nie powiedzie się.

  • W przypadku korzystania z środowiska Azure Integration Runtime:

    GOSPODARZ
    port morski
    PROTOKÓŁ
    SERVICE_NAME
    SID
    INSTANCE_NAME
    SERWER
    Limit czasu połączenia (CONNECT_TIMEOUT)
    LICZBA_POWTÓRZEŃ
    OPÓŹNIENIE_PRÓBY
    SSL_VERSION
    Dopasowanie DN serwera SSL (SSL_SERVER_DN_MATCH)
    SSL_SERVER_CERT_DN

  • Korzystając z samodzielnie zarządzanego środowiska uruchomieniowego integracji:

    GOSPODARZ
    port morski
    PROTOKÓŁ
    UMOŻLIWIAĆ
    CZAS_WYGASANIA
    PRZEŁĄCZENIE AWARYJNE
    Równoważenie obciążenia
    Rozmiar_bufora_odbioru (RECV_BUF_SIZE)
    SDU
    Rozmiar_bufora_wysyłania
    TRASA_ŹRÓDŁOWA
    RODZAJ_USŁUGI
    COLOCATION_TAG
    CONNECTION_ID_PREFIX
    Tryb_przełączania_awaryjnego
    GLOBAL_NAME
    HS
    INSTANCE_NAME
    OGRANICZENIE BASENU
    KLASA_POŁĄCZENIOWA_PULA
    POOL_NAME
    Czystość Basenu
    RDB_BAZA_DANYCH
    Klucz shardingowy
    Identyfikator_klucza_shardowania
    SUPER_KLUCZ_SZARDOWANIA
    SERWER
    SERVICE_NAME
    SID
    Nazwa_usługi_tunelowej
    uwierzytelnianie klienta SSL
    SSL_CERTIFICATE_ALIAS (alias certyfikatu SSL)
    ODCISK PALCA CERTYFIKATU SSL
    SSL_VERSION
    Dopasowanie DN serwera SSL (SSL_SERVER_DN_MATCH)
    SSL_SERVER_CERT_DN
    LOKALIZACJA_PORTFELA
    Limit czasu połączenia (CONNECT_TIMEOUT)
    LICZBA_POWTÓRZEŃ
    OPÓŹNIENIE_PRÓBY
    Przekroczono czas oczekiwania na połączenie transportowe
    RECV_TIMEOUT (Limit czasu odbioru)
    KOMPRESJA
    POZIOMY KOMPRESJI

Wersja 1.0

Połączona usługa Amazon RDS for Oracle obsługuje następujące właściwości w przypadku zastosowania wersji 1.0:

Właściwości Opis Wymagania
typ Właściwość type musi być ustawiona na AmazonRdsForOracle. Tak
Parametry połączenia Określa informacje potrzebne do nawiązania połączenia z wystąpieniem usługi Amazon RDS for Oracle Database.
Możesz również umieścić hasło w usłudze Azure Key Vault i ściągnąć password konfigurację z parametry połączenia. Aby uzyskać więcej informacji, zapoznaj się z poniższymi przykładami i zapisz poświadczenia w usłudze Azure Key Vault .

Obsługiwany typ połączenia: Aby zidentyfikować bazę danych, możesz użyć usługi Amazon RDS dla identyfikatora SID oracle lub usługi Amazon RDS for Oracle Service Name :
- Jeśli używasz identyfikatora SID: Host=<host>;Port=<port>;Sid=<sid>;User Id=<username>;Password=<password>;
— Jeśli używasz nazwy usługi: Host=<host>;Port=<port>;ServiceName=<servicename>;User Id=<username>;Password=<password>;
Aby uzyskać zaawansowane opcje połączenia natywnego usługi Amazon RDS dla oracle, możesz dodać wpis w TNSNAMES. Plik ORA na serwerze Amazon RDS for Oracle i w usłudze Amazon RDS for Oracle połączonej usługi wybierz użycie usługi Amazon RDS dla typu połączenia Nazwa usługi Oracle i skonfiguruj odpowiednią nazwę usługi.
Tak
connectVia Środowisko Integration Runtime do nawiązania połączenia z magazynem danych. Dowiedz się więcej w sekcji Wymagania wstępne . Jeśli nie zostanie określony, zostanie użyte domyślne środowisko Azure Integration Runtime. Nie.

Jeśli masz wiele wystąpień usługi Amazon RDS dla oracle dla scenariusza trybu failover, możesz utworzyć usługę połączoną Amazon RDS dla oracle i wypełnić hosta podstawowego, port, nazwę użytkownika, hasło itp., a następnie dodać nowe "Dodatkowe właściwości połączenia" z nazwą właściwości jako AlternateServers i wartością jako (HostName=<secondary host>:PortNumber=<secondary port>:ServiceName=<secondary service name>) — nie pomijaj nawiasów i zwracaj uwagę na dwukropki (:) jako separator. Na przykład następująca wartość alternatywnych serwerów definiuje dwa alternatywne serwery bazy danych na potrzeby trybu failover połączenia: (HostName=AccountingAmazonRdsForOracleServer:PortNumber=1521:SID=Accounting,HostName=255.201.11.24:PortNumber=1522:ServiceName=ABackup.NA.MyCompany).

Więcej właściwości połączenia, które można ustawić w parametry połączenia w zależności od przypadku:

Właściwości Opis Dozwolone wartości
RozmiarTablicy Liczba bajtów, które łącznik może pobrać w ramach jednej rundy sieciowej. Na przykład ArraySize=‭10485760‬.

Większe wartości zwiększają przepływność, zmniejszając liczbę prób pobierania danych w sieci. Mniejsze wartości zwiększają czas odpowiedzi, ponieważ istnieje mniejsze opóźnienie oczekiwania na przesyłanie danych przez serwer.
Liczba całkowita z zakresu od 1 do 4294967296 (4 GB). Wartość domyślna to 60000. Wartość 1 nie definiuje liczby bajtów, ale wskazuje przydzielanie miejsca dla dokładnie jednego wiersza danych.

Aby włączyć szyfrowanie w usłudze Amazon RDS dla połączenia Oracle, dostępne są dwie opcje:

  • Aby użyć szyfrowania Triple-DES (3DES) i Advanced Encryption Standard (AES), po stronie serwera Amazon RDS for Oracle przejdź do obszaru Oracle Advanced Security (OAS) i skonfiguruj ustawienia szyfrowania. Aby uzyskać szczegółowe informacje, zobacz tę dokumentację oracle. Łącznik Amazon RDS for Oracle Application Development Framework (ADF) automatycznie negocjuje metodę szyfrowania, aby użyć metody szyfrowania skonfigurowanej w systemie operacyjnym podczas nawiązywania połączenia z usługą Amazon RDS for Oracle.

  • Aby użyć protokołu TLS:

    1. Uzyskaj informacje o certyfikacie TLS/SSL. Pobierz informacje o certyfikatach zakodowanych w formacie DER (Distinguished Encoding Rules) certyfikatu TLS/SSL i zapisz dane wyjściowe (----- Begin Certificate ... Zakończ ----- certyfikatu) jako plik tekstowy.

      openssl x509 -inform DER -in [Full Path to the DER Certificate including the name of the DER Certificate] -text
      

      Przykład: wyodrębnianie informacji o certyfikatach z DERcert.cer, a następnie zapisywanie danych wyjściowych w cert.txt.

      openssl x509 -inform DER -in DERcert.cer -text
      Output:
      -----BEGIN CERTIFICATE-----
      XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
      XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
      XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
      XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
      XXXXXXXXX
      -----END CERTIFICATE-----
      
    2. Skompiluj element keystore lub truststore. Następujące polecenie tworzy truststore plik w formacie PKCS-12 lub bez hasła.

      openssl pkcs12 -in [Path to the file created in the previous step] -out [Path and name of TrustStore] -passout pass:[Keystore PWD] -nokeys -export
      

      Przykład: utwórz plik PKCS12 truststore o nazwie MyTrustStoreFile z hasłem.

      openssl pkcs12 -in cert.txt -out MyTrustStoreFile -passout pass:ThePWD -nokeys -export  
      
    3. truststore Umieść plik na maszynie własnego środowiska IR. Na przykład umieść plik w folderze C:\MyTrustStoreFile.

    4. W usłudze skonfiguruj usługę Amazon RDS for Oracle parametry połączenia i EncryptionMethod=1 odpowiednią TrustStore/TrustStorePasswordwartość. Na przykład Host=<host>;Port=<port>;Sid=<sid>;User Id=<username>;Password=<password>;EncryptionMethod=1;TrustStore=C:\\MyTrustStoreFile;TrustStorePassword=<trust_store_password>.

Przykład:

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

Przykład: przechowywanie hasła w usłudze Azure Key Vault

{
    "name": "AmazonRdsForOracleLinkedService",
    "properties": {
        "type": "AmazonRdsForOracle",
        "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"
        }
    }
}

Właściwości zestawu danych

Ta sekcja zawiera listę właściwości obsługiwanych przez zestaw danych Amazon RDS for Oracle. Aby uzyskać pełną listę sekcji i właściwości dostępnych do definiowania zestawów danych, zobacz Zestawy danych.

Aby skopiować dane z usługi Amazon RDS for Oracle, ustaw właściwość type zestawu danych na AmazonRdsForOracleTablewartość . Obsługiwane są następujące właściwości.

Właściwości Opis Wymagania
typ Właściwość type zestawu danych musi być ustawiona na AmazonRdsForOracleTable. Tak
schemat Nazwa schematu. Nie.
tabela Nazwa tabeli/widoku. Nie.
nazwaTabeli Nazwa tabeli/widoku ze schematem. Ta właściwość jest obsługiwana w celu zapewnienia zgodności z poprzednimi wersjami. W przypadku nowego obciążenia użyj polecenia schema i table. Nie.

Przykład:

{
    "name": "AmazonRdsForOracleDataset",
    "properties":
    {
        "type": "AmazonRdsForOracleTable",
        "schema": [],
        "typeProperties": {
            "schema": "<schema_name>",
            "table": "<table_name>"
        },
        "linkedServiceName": {
            "referenceName": "<Amazon RDS for Oracle linked service name>",
            "type": "LinkedServiceReference"
        }
    }
}

Właściwości działania kopiowania

Ta sekcja zawiera listę właściwości obsługiwanych przez usługę Amazon RDS dla źródła Oracle. Aby uzyskać pełną listę sekcji i właściwości dostępnych do definiowania działań, zobacz Pipelines (Potoki).

Amazon RDS for Oracle jako źródło

Napiwek

Aby wydajnie załadować dane z usługi Amazon RDS for Oracle przy użyciu partycjonowania danych, dowiedz się więcej na temat kopiowania równoległego z usługi Amazon RDS for Oracle.

Aby skopiować dane z usługi Amazon RDS for Oracle, ustaw typ źródła w działaniu kopiowania na AmazonRdsForOracleSourcewartość . Poniższe właściwości są obsługiwane w sekcji źródła działania kopiowania.

Właściwości Opis Wymagania
typ Właściwość type źródła działania kopiowania musi być ustawiona na AmazonRdsForOracleSourcewartość . Tak
oracleReaderQuery Użyj niestandardowego zapytania SQL, aby odczytać dane. Może to być na przykład "SELECT * FROM MyTable". Należy pamiętać, że zapytanie nie powinno kończyć się średnikiem (;).
Po włączeniu obciążenia partycjonowanego należy podłączyć wszystkie odpowiednie wbudowane parametry partycji w zapytaniu. Aby zapoznać się z przykładami, zobacz sekcję Kopia równoległa z usługi Amazon RDS for Oracle .
Nie.
konwertujDziesiętnąNaCałkowitą Usługa Amazon RDS dla typu Oracle NUMBER z zerową lub nieokreśloną skalą zostanie przekonwertowana na odpowiadającą liczbę całkowitą. Dozwolone wartości to true i false (wartość domyślna).
Jeśli używasz usługi Amazon RDS dla oracle w wersji 2.0, ta właściwość będzie mogła być ustawiana tylko wtedy, gdy parametr supportV1DataTypes ma wartość true.
Nie.
opcje partycji Określa opcje partycjonowania danych używane do ładowania danych z usługi Amazon RDS for Oracle.
Dozwolone wartości to: Brak (wartość domyślna), PhysicalPartitionsOfTable i DynamicRange.
Jeśli opcja partycji jest włączona (czyli nie None), stopień równoległości równoczesnego ładowania danych z bazy danych Amazon RDS for Oracle jest kontrolowany przez parallelCopies ustawienie działania kopiowania.
Nie.
ustawienia partycji Określ grupę ustawień partycjonowania danych.
Zastosuj, gdy opcja partycji nie Nonejest .
Nie.
nazwy partycji Lista partycji fizycznych, które należy skopiować.
Zastosuj, gdy opcja partycji to PhysicalPartitionsOfTable. Jeśli używasz zapytania do pobierania danych źródłowych, należy podłączyć ?AdfTabularPartitionName się do klauzuli WHERE. Aby zapoznać się z przykładem, zobacz sekcję Kopia równoległa z usługi Amazon RDS for Oracle .
Nie.
nazwa kolumny partycji Określ nazwę kolumny źródłowej w typie liczb całkowitych, które będą używane przez partycjonowanie zakresu na potrzeby kopiowania równoległego. Jeśli nie zostanie określony, klucz podstawowy tabeli zostanie automatycznie wykryty i użyty jako kolumna partycji.
Zastosuj, gdy opcja partycji to DynamicRange. Jeśli używasz zapytania do pobierania danych źródłowych, należy podłączyć ?AdfRangePartitionColumnName się do klauzuli WHERE. Aby zapoznać się z przykładem, zobacz sekcję Kopia równoległa z usługi Amazon RDS for Oracle .
Nie.
górna granica partycji Maksymalna wartość kolumny partycji do skopiowania danych.
Zastosuj, gdy opcja partycji to DynamicRange. Jeśli używasz zapytania do pobierania danych źródłowych, należy podłączyć ?AdfRangePartitionUpbound się do klauzuli WHERE. Aby zapoznać się z przykładem, zobacz sekcję Kopia równoległa z usługi Amazon RDS for Oracle .
Nie.
dolna granica partycji Minimalna wartość kolumny partycji do skopiowania danych.
Zastosuj, gdy opcja partycji to DynamicRange. Jeśli używasz zapytania do pobierania danych źródłowych, należy podłączyć ?AdfRangePartitionLowbound się do klauzuli WHERE. Aby zapoznać się z przykładem, zobacz sekcję Kopia równoległa z usługi Amazon RDS for Oracle .
Nie.
precyzja liczbowa Określ maksymalną liczbę znaczących cyfr dziesiętnych. Dozwolone wartości wahają się od 1 do 256. Wartość domyślna to 256, jeśli nie zostanie określona.
Ta właściwość jest obsługiwana w usłudze Amazon RDS for Oracle w wersji 2.0. Dotyczy tylko typów NUMBER, które nie mają precyzji i skali jawnie zdefiniowanej w bazie danych Oracle. Można go ustawić, gdy supportV1DataTypes nie jest true. Jeśli używasz własnego środowiska Integration Runtime, jego wersja powinna mieć wartość 5.56 lub nowszą.
Nie.
numberScale Określ liczbę cyfr po przecinku dziesiętnego. Dozwolone wartości wahają się od 0 do 130 i muszą być mniejsze lub równe precyzji. Wartość domyślna: 130, jeśli nie określono.
Ta właściwość jest obsługiwana w usłudze Amazon RDS for Oracle w wersji 2.0. Dotyczy tylko typów NUMBER, które nie mają precyzji i skali jawnie zdefiniowanej w bazie danych Oracle. Można go ustawić, gdy supportV1DataTypes nie jest true. Jeśli używasz własnego środowiska Integration Runtime, jego wersja powinna mieć wartość 5.56 lub nowszą.
Nie.

Przykład: kopiowanie danych przy użyciu zapytania podstawowego bez partycji

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

Kopiowanie równoległe z usługi Amazon RDS for Oracle

Łącznik Amazon RDS for Oracle zapewnia wbudowane partycjonowanie danych w celu równoległego kopiowania danych z usługi Amazon RDS for Oracle. Opcje partycjonowania danych można znaleźć na karcie Źródło działania kopiowania.

Zrzut ekranu przedstawiający opcje partycji.

Po włączeniu kopii partycjonowanej usługa uruchamia zapytania równoległe względem źródła usługi Amazon RDS for Oracle w celu załadowania danych według partycji. Stopień równoległy jest kontrolowany przez parallelCopies ustawienie działania kopiowania. Jeśli na przykład ustawiono parallelCopies wartość cztery, usługa jednocześnie generuje i uruchamia cztery zapytania na podstawie określonej opcji partycji i ustawień, a każde zapytanie pobiera część danych z bazy danych Amazon RDS for Oracle.

Zaleca się włączenie kopiowania równoległego z partycjonowaniem danych, szczególnie w przypadku ładowania dużej ilości danych z bazy danych Amazon RDS for Oracle. Poniżej przedstawiono sugerowane konfiguracje dla różnych scenariuszy. Podczas kopiowania danych do magazynu danych opartego na plikach zaleca się zapisywanie w folderze jako wielu plików (tylko określ nazwę folderu), w tym przypadku wydajność jest lepsza niż zapisywanie w jednym pliku.

Scenariusz Sugerowane ustawienia
Pełne ładowanie z dużej tabeli z partycjami fizycznymi. Opcja partycji: fizyczne partycje tabeli.

Podczas wykonywania usługa automatycznie wykrywa partycje fizyczne i kopiuje dane według partycji.
Pełne ładowanie z dużej tabeli, bez partycji fizycznych, podczas gdy z kolumną całkowitą na potrzeby partycjonowania danych. Opcje partycji: partycja zakresu dynamicznego.
Kolumna partycji: określ kolumnę używaną do partycjonowania danych. Jeśli nie zostanie określona, zostanie użyta kolumna klucza podstawowego.
Załaduj dużą ilość danych przy użyciu zapytania niestandardowego z partycjami fizycznymi. Opcja partycji: fizyczne partycje tabeli.
Zapytanie: SELECT * FROM <TABLENAME> PARTITION("?AdfTabularPartitionName") WHERE <your_additional_where_clause>.
Nazwa partycji: określ nazwy partycji do skopiowania danych. Jeśli nie zostanie określony, usługa automatycznie wykryje partycje fizyczne w tabeli określonej w zestawie danych Amazon RDS for Oracle.

Podczas wykonywania usługa zastępuje ?AdfTabularPartitionName rzeczywistą nazwę partycji i wysyła do usługi Amazon RDS for Oracle.
Załaduj dużą ilość danych przy użyciu zapytania niestandardowego, bez partycji fizycznych, natomiast z kolumną całkowitą na potrzeby partycjonowania danych. Opcje partycji: partycja zakresu dynamicznego.
Zapytanie: SELECT * FROM <TABLENAME> WHERE ?AdfRangePartitionColumnName <= ?AdfRangePartitionUpbound AND ?AdfRangePartitionColumnName >= ?AdfRangePartitionLowbound AND <your_additional_where_clause>.
Kolumna partycji: określ kolumnę używaną do partycjonowania danych. Kolumnę można podzielić na partycje przy użyciu typu danych całkowitych.
Górna granica partycji i dolna granica partycji: określ, czy chcesz filtrować względem kolumny partycji, aby pobrać dane tylko między dolnym i górnym zakresem.

Podczas wykonywania usługa zastępuje ?AdfRangePartitionColumnNamewartości , ?AdfRangePartitionUpboundi ?AdfRangePartitionLowbound rzeczywistymi nazwami kolumn i zakresami wartości dla każdej partycji oraz wysyła do usługi Amazon RDS for Oracle.
Jeśli na przykład kolumna partycji "ID" jest ustawiona z dolną granicą jako 1 i górną granicą jako 80, z równoległym zestawem kopiowania ustawionym na 4, usługa pobiera dane przez 4 partycje. Ich identyfikatory to odpowiednio od [1, 20], [21, 40], [41, 60] i [61, 80].

Napiwek

Podczas kopiowania danych z tabeli bez partycji można użyć opcji partycji "Zakres dynamiczny", aby podzielić je na kolumnę całkowitą. Jeśli dane źródłowe nie mają takiego typu kolumny, możesz użyć funkcji ORA_HASH w zapytaniu źródłowym, aby wygenerować kolumnę i użyć jej jako kolumny partycji.

Przykład: zapytanie z partycją fizyczną

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

Przykład: zapytanie z partycją zakresu dynamicznego

"source": {
    "type": "AmazonRdsForOracleSource",
    "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>"
    }
}

Mapowanie typów danych dla usługi Amazon RDS dla oracle

Przy kopiowaniu danych z usługi i do usługi Amazon RDS for Oracle są używane następujące tymczasowe mapowania typów danych w ramach usługi. Aby dowiedzieć się, jak działanie kopiowania mapuje schemat źródłowy i typ danych na docelowy, zobacz Mapowanie schematu i typu danych.

Amazon RDS dla typu danych Oracle Typ danych usługi tymczasowej (wersja 2.0) Typ danych usługi tymczasowej (wersja 1.0)
PLIK BFILE Bajt[] Bajt[]
BINARNY_FLOAT Singiel Singiel
BINARY_DOUBLE Podwójny Podwójny
BLOB Bajt[] Bajt[]
CHAR Sznurek Sznurek
CLOB Sznurek Sznurek
DATA Data i Czas Data i Czas
FLOAT (P < 16) Podwójny Podwójny
FLOAT (P >= 16) Liczba dziesiętna Podwójny
INTERWAŁ OD ROKU DO MIESIĄCA Int64 Sznurek
INTERWAŁ OD DNIA DO SEKUNDY Przedział czasu Sznurek
DŁUGI Sznurek Sznurek
DŁUGI NIEPRZETWORZONY Bajt[] Bajt[]
NCHAR Sznurek Sznurek
NCLOB Sznurek Sznurek
LICZBA (p,s) Int16, Int32, Int64, Double, Single, Decimal Liczba dziesiętna, ciąg (jeśli p > 28)
LICZBA bez precyzji i skali Liczba dziesiętna Podwójny
NVARCHAR2 Sznurek Sznurek
SUROWY Bajt[] Bajt[]
ZNACZNIK CZASU Data i Czas Data i Czas
SYGNATURA CZASOWA W LOKALNEJ STREFIE CZASOWEJ Data i Czas Data i Czas
SYGNATURA CZASOWA ZE STREFĄ CZASOWĄ PrzesunięcieDatyICzasu Data i Czas
VARCHAR2 Sznurek Sznurek
TYP XML Sznurek Sznurek

Uwaga

Liczba (p, s) jest mapowana na odpowiedni typ danych usługi tymczasowej w zależności od dokładności (p) i skali (s).

Właściwości działania wyszukiwania

Aby dowiedzieć się więcej o właściwościach, sprawdź działanie Wyszukiwania.

Uaktualnianie łącznika usługi Amazon RDS for Oracle

Poniżej przedstawiono kroki ułatwiające uaktualnienie łącznika usługi Amazon RDS for Oracle:

  1. Na stronie Edytowanie połączonej usługi wybierz wersję 2.0 i skonfiguruj połączoną usługę, odwołując się do właściwości połączonej usługi w wersji 2.0.

    W przypadku właściwości powiązanych z uwierzytelnianiem, w tym nazwy użytkownika i hasła, określ oryginalne wartości w odpowiednich polach w wersji 2.0. Inne właściwości połączenia, takie jak host, port oraz nazwa usługi Amazon RDS for Oracle lub SID w wersji 1.0, są teraz parametrami właściwości server w wersji 2.0.

    Jeśli na przykład skonfigurujesz połączoną usługę w wersji 1.0, jak pokazano poniżej:

    Zrzut ekranu przedstawiający połączoną usługę w wersji 1.0.

    { 
        "name": "AmazonRdsForOracleLinkedService", 
        "properties": { 
            "type": "AmazonRdsForOracle", 
            "typeProperties": { 
                "connectionString": "host=amazonrdsfororaclesample.com;port=1521;servicename=db1" 
            }, 
            "connectVia": { 
                "referenceName": "<name of Integration Runtime>", 
                "type": "IntegrationRuntimeReference" 
            } 
        } 
    }
    

    Identyczna konfiguracja połączenia usługi w wersji 2.0 przy użyciu nazewnictwa Easy Connect (Plus) to:

    Zrzut ekranu przedstawiający połączoną usługę korzystającą z łatwego nazewnictwa łącznika (Plus).

    { 
        "name": "AmazonRdsForOracleLinkedService", 
        "properties": { 
            "type": "AmazonRdsForOracle", 
            "version": "2.0", 
            "typeProperties": { 
                "server": "amazonrdsfororaclesample.com:1521/db1",  
                "username": "<user name>",  
                "password": "<password>",  
                "authenticationType": "<authentication type>" 
            }, 
            "connectVia": { 
                "referenceName": "<name of Integration Runtime>", 
                "type": "IntegrationRuntimeReference" 
            } 
        } 
    } 
    

    Identyczna konfiguracja połączonej usługi w wersji 2.0 przy użyciu deskryptora łącznika to:

    Zrzut ekranu przedstawiający połączoną usługę przy użyciu deskryptora łącznika.

    { 
        "name": "AmazonRdsForOracleLinkedService", 
        "properties": { 
            "type": "AmazonRdsForOracle", 
            "version": "2.0", 
            "typeProperties": { 
                "server": "(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST= amazonrdsfororaclesample.com)(PORT=1521))(CONNECT_DATA=(SERVICE_NAME=db1)))",  
                "username": "<user name>",  
                "password": "<password>",  
                "authenticationType": "<authentication type>" 
            }, 
            "connectVia": { 
                "referenceName": "<name of Integration Runtime>", 
                "type": "IntegrationRuntimeReference" 
            } 
        } 
    } 
    

    Napiwek

    Usługa Azure Key Vault jest obsługiwany jako właściwość server. Możesz edytować kod JSON połączonej usługi, aby dodać odwołanie do usługi Azure Key Vault, jak pokazano poniżej:
    Zrzut ekranu przedstawiający używanie usługi Azure Key Vault na serwerze.

    Należy pamiętać, że:

    • Jeśli używasz nazwy usługi Oracle w wersji 1.0, możesz użyć Nazewnictwo Easy Connect (Plus) lub Deskryptora Łącznika jako format serwera w wersji 2.0.

    • Jeśli używasz identyfikatora SID oracle w wersji 1.0, musisz użyć deskryptora łącznika jako formatu serwera w wersji 2.0.

    • Dla niektórych dodatkowych właściwości połączenia w wersji 1.0, alternatywne właściwości lub parametry udostępniamy w elemencie server w wersji 2.0. Aby uaktualnić właściwości wersji 1.0, zapoznaj się z poniższą tabelą.

      Wersja 1.0 Wersja 2.0
      metoda szyfrowania PROTOKÓŁ (parametr w systemie server)
      tnsnamesfile TNS_ADMIN (zmienna środowiskowa obsługiwana w własnym środowisku Integration Runtime)
      nazwa serwera serwer
      włącz_ładowanie_masowe
      Wartość: 1, 0
      Włącz funkcję BulkLoad
      Wartość: prawda, fałsz
      fetchtswtzastimestamp
      Wartość: 1, 0
      fetchTswtzAsTimestamp
      Wartość: prawda, fałsz
      alternatywne serwery DESCRIPTION_LIST (parametr w server)
      rozmiar tablicy fetchSize (rozmiar pobierania)
      limit pamięci podręcznej kursora statementCacheSize
      licznikponownychpróbpołączenia RETRY_COUNT (parametr w server)
      ciąg inicjalizacyjny initializationString
      czas oczekiwania na zalogowanie CONNECT_TIMEOUT (parametr w systemie server)
      wersja kryptoprotokołu SSL_VERSION (parametr w server)
      magazyn zaufania WALLET_LOCATION (parametr w systemie server)

      Jeśli na przykład używasz alternateservers w wersji 1.0, możesz ustawić DESCRIPTION_LIST parametr we właściwości serwera w wersji 2.0:

      Połączona usługa w wersji 1.0 przy użyciu alternateservers:

      {
          "name": "AmazonRdsForOracleV1",
          "properties": {
              "type": "AmazonRdsForOracle",
              "typeProperties": {
                  "connectionString": "host=amazonrdsfororaclesample.com;port=1521;servicename=db1;alternateservers=(HostName= amazonrdsfororaclesample2.com:PortNumber=1521:SID=db2,HostName=255.201.11.24:PortNumber=1522:ServiceName=db3)"
              }
          }
      }
      

      Identyczna wersja 2.0 powiązana usługa, używająca parametru DESCRIPTION_LIST w deskryptorze łącznika:

      {
          "name": "AmazonRdsForOracleV2",
          "properties": {
              "type": "AmazonRdsForOracle",
              "version": "2.0",
              "typeProperties": {
                  "server": "(DESCRIPTION_LIST=(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=amazonrdsfororaclesample.com)(PORT=1521))(CONNECT_DATA=(SERVICE_NAME=db1)))(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=amazonrdsfororaclesample2.com)(PORT=1521))(CONNECT_DATA=(SID=db2)))(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=255.201.11.24)(PORT=1522))(CONNECT_DATA=(SERVICE_NAME=db3))))",
                  "username": "<user name>",  
                  "password": "<password>",  
                  "authenticationType": "<authentication type>" 
              }
          }
      }
      
  2. Mapowanie typu danych dla połączonej usługi Amazon RDS dla usługi Oracle w wersji 2.0 różni się od tego dla wersji 1.0. Aby dowiedzieć się więcej na temat najnowszego mapowania typów danych, zobacz Mapowanie typów danych dla usługi Amazon RDS for Oracle.

    Dodatkowa właściwość supportV1DataTypes połączenia w wersji 2.0 może zmniejszyć trudności z uaktualnieniem spowodowane zmianami typu danych. Ustawienie tej właściwości na true zapewnia, że typ danych w wersji 2.0 pozostaje zgodny z wersją 1.0.

Różnice między usługą Amazon RDS dla oracle w wersji 2.0 i wersji 1.0

Łącznik Amazon RDS for Oracle w wersji 2.0 oferuje nowe funkcje i jest zgodny z większością funkcji wersji 1.0. W poniższej tabeli przedstawiono różnice funkcji między wersją 2.0 a wersją 1.0.

Wersja 2.0 Wersja 1.0
Następujące mapowania są używane z usługi Amazon RDS dla typów danych Oracle do tymczasowych typów danych usługi używanych przez usługę wewnętrznie.

NUMBER(p,s) —> Int16, Int32, Int64, Double, Single, Decimal
FLOAT(p)-> Podwójna lub zmiennoprzecinkowa w zależności od precyzji
LICZBA —> liczba dziesiętna
SYGNATURA CZASOWA ZE STREFĄ CZASOWĄ —> DATETimeOffset
INTERWAŁ ROK DO MIESIĄCA —> int64
INTERWAŁ DO SEKUNDY —> przedział czasu
Następujące mapowania są używane z usługi Amazon RDS dla typów danych Oracle do tymczasowych typów danych usługi używanych przez usługę wewnętrznie.

NUMBER(p,s) —> liczba dziesiętna lub ciąg w zależności od jej precyzji
FLOAT(p)-> Podwójne
LICZBA —> podwójna
ZNACZNIK CZASU ZE STREFĄ CZASOWĄ —> Data i czas
INTERWAŁ OD ROKU DO MIESIĄCA —> CIĄG
INTERWAŁ OD DNIA DO SEKUNDY —> CIĄG
Obsługuj convertDecimalToInteger w źródle kopii, gdy supportV1DataTypes jest ustawione na true. Obsługuje "convertDecimalToInteger" przy kopiowaniu ze źródła. 
Obsługa protokołu TLS 1.3. Protokół TLS 1.3 nie jest obsługiwany.

Aby uzyskać listę magazynów danych obsługiwanych jako źródła i ujścia działania kopiowania, zobacz Obsługiwane magazyny danych.