Konfigurowanie bazy danych Oracle w działaniu kopiowania
W tym artykule opisano sposób użycia działania kopiowania w potoku danych w celu skopiowania danych z bazy danych Oracle i do bazy danych Oracle.
Obsługiwana konfiguracja
W przypadku konfiguracji każdej karty w działaniu kopiowania przejdź odpowiednio do poniższych sekcji.
Ogólne
Zapoznaj się ze wskazówkami dotyczącymi ustawień ogólnych, aby skonfigurować kartę Ustawienia ogólne.
Źródło
Następujące właściwości są obsługiwane dla bazy danych Oracle na karcie Źródło działania kopiowania.
Wymagane są następujące właściwości:
- Połączenie: wybierz połączenie z bazą danych Oracle z listy połączeń. Jeśli połączenie nie istnieje, utwórz nowe połączenie bazy danych Oracle, wybierając pozycję Więcej w dolnej części listy połączeń.
- Użyj zapytania: wybierz z tabeli lub zapytania.
W przypadku wybrania pozycji Tabela:
Tabela: określ nazwę tabeli w bazie danych Oracle, aby odczytywać dane. Wybierz tabelę z listy rozwijanej lub wybierz pozycję Wprowadź ręcznie , aby wprowadzić nazwę schematu i tabeli.
W przypadku wybrania pozycji Zapytanie:
Zapytanie: określ niestandardowe zapytanie SQL do odczytu danych. Na przykład:
SELECT * FROM MyTable
.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 bazy danych Oracle.
W obszarze Zaawansowane można określić następujące pola:
Opcja partycji: określa opcje partycjonowania danych używane do ładowania danych z bazy danych Oracle. Jeśli opcja partycji jest włączona (czyli nie brak), stopień równoległości równoczesnego ładowania danych z bazy danych Oracle jest kontrolowany przez stopień równoległości kopiowania na karcie ustawień działania kopiowania.
Jeśli wybierzesz pozycję Brak, nie chcesz używać partycji.
W przypadku wybrania opcji Partycje fizyczne tabeli:
Nazwy partycji: określ listę partycji fizycznych, które należy skopiować.
Jeśli używasz zapytania do pobierania danych źródłowych, należy podłączyć
?DfTabularPartitionName
się do klauzuli WHERE. Aby zapoznać się z przykładem, zobacz sekcję Kopia równoległa z bazy danych Oracle.
W przypadku wybrania pozycji Zakres dynamiczny:
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.
Jeśli używasz zapytania do pobierania danych źródłowych, należy podłączyć
?DfRangePartitionColumnName
się do klauzuli WHERE. Aby zapoznać się z przykładem, zobacz sekcję Kopia równoległa z bazy danych Oracle.Górna granica partycji: określ maksymalną wartość kolumny partycji, aby skopiować dane.
Jeśli używasz zapytania do pobierania danych źródłowych, należy podłączyć
?DfRangePartitionUpbound
się do klauzuli WHERE. Aby zapoznać się z przykładem, zobacz sekcję Kopiowanie równoległe z kopii równoległej z bazy danych Oracle.Dolna granica partycji: określ minimalną wartość kolumny partycji, aby skopiować dane.
Jeśli używasz zapytania do pobierania danych źródłowych, należy podłączyć
?DfRangePartitionLowbound
się do klauzuli WHERE. Aby zapoznać się z przykładem, zobacz sekcję Kopiowanie równoległe z kopii równoległej z bazy danych Oracle.
Limit czasu zapytania (minuty): określ limit czasu wykonywania polecenia zapytania, wartość domyślna to 120 minut. Jeśli parametr jest ustawiony dla tej właściwości, dozwolone wartości to przedział czasu, taki jak "02:00:00" (120 minut).
Dodatkowe kolumny: Dodaj dodatkowe kolumny danych, aby przechowywać ścieżkę względną plików źródłowych lub wartość statyczną. Wyrażenie jest obsługiwane w przypadku tych ostatnich.
Element docelowy
Następujące właściwości są obsługiwane dla bazy danych Oracle na karcie Miejsce docelowe działania kopiowania.
Wymagane są następujące właściwości:
- Połączenie: wybierz połączenie z bazą danych Oracle z listy połączeń. Jeśli połączenie nie istnieje, utwórz nowe połączenie bazy danych Oracle, wybierając pozycję Więcej w dolnej części listy połączeń.
- Tabela: wybierz tabelę w bazie danych z listy rozwijanej. Możesz też ręcznie zaznaczyć Enter , aby wprowadzić schemat i nazwę tabeli.
W obszarze Zaawansowane można określić następujące pola:
- Skrypt wstępny: określ zapytanie SQL dla działania kopiowania do wykonania przed zapisaniem danych w bazie danych Oracle w każdym uruchomieniu. Za pomocą tej właściwości można wyczyścić wstępnie załadowane dane.
- Limit czasu zapisu wsadowego: czas oczekiwania na ukończenie operacji wstawiania wsadowego przed przekroczeniem limitu czasu. Dozwolona wartość to przedział czasu. Przykładem jest 00:30:00 (30 minut).
- Rozmiar wsadu zapisu: określ liczbę wierszy do wstawienia do tabeli bazy danych Oracle na partię. Dozwolona wartość to liczba całkowita (liczba wierszy). Wartość domyślna to 10 000.
- Maksymalna liczba połączeń współbieżnych: górny limit połączeń współbieżnych ustanowionych z magazynem danych podczas uruchamiania działania. Określ wartość tylko wtedy, gdy chcesz ograniczyć połączenia współbieżne.
Mapowanie
W obszarze Konfiguracja karty Mapowanie przejdź do tematu Konfigurowanie mapowań na karcie mapowania.
Ustawienia
Aby uzyskać informacje o konfiguracji karty Ustawienia , zobacz Konfigurowanie innych ustawień na karcie ustawienia.
Kopiowanie równoległe z bazy danych Oracle
Łącznik bazy danych Oracle zapewnia wbudowane partycjonowanie danych w celu równoległego kopiowania danych z bazy danych Oracle. Opcje partycjonowania danych można znaleźć na karcie Źródło działania kopiowania.
Po włączeniu kopii partycjonowanej usługa uruchamia zapytania równoległe względem źródła bazy danych Oracle w celu załadowania danych według partycji. Stopień równoległy jest kontrolowany przez ustawienie Stopień równoległości kopiowania na karcie ustawień działania kopiowania. Jeśli na przykład ustawisz opcję Stopień równoległości kopiowania na 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 Oracle.
Zaleca się włączenie kopiowania równoległego przy użyciu partycjonowania danych, szczególnie w przypadku ładowania dużej ilości danych z bazy danych 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. | Opcje partycji: fizyczne partycje tabeli. Zapytanie: SELECT * FROM <TABLENAME> PARTITION("?DfTabularPartitionName") 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 danych bazy danych Oracle. Podczas wykonywania usługa zastępuje ?DfTabularPartitionName rzeczywistą nazwą partycji i wysyła do bazy danych 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 ?DfRangePartitionColumnName <= ?DfRangePartitionUpbound AND ?DfRangePartitionColumnName >= ?DfRangePartitionLowbound 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 ?DfRangePartitionColumnName wartości , ?DfRangePartitionUpbound i ?DfRangePartitionLowbound rzeczywistymi nazwami kolumn i zakresami wartości dla każdej partycji oraz wysyła je do bazy danych 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 [120], [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.
Podsumowanie tabeli
Poniższe tabele zawierają więcej informacji o działaniu kopiowania w bazie danych Oracle.
Informacje źródłowe
Nazwa/nazwisko | Opis | Wartość | Wymagania | Właściwość skryptu JSON |
---|---|---|---|---|
Połączenie | Połączenie ze źródłowym magazynem danych. | <połączenie bazy danych Oracle> | Tak | połączenie |
Korzystanie z zapytania | Sposób odczytywania danych z bazy danych Oracle. Zastosuj tabelę , aby odczytać dane z określonej tabeli lub zastosować zapytanie w celu odczytu danych przy użyciu zapytań SQL. | • Tabela • Kwerenda |
Tak | / |
Dla tabeli | ||||
nazwa schematu | Nazwa schematu. | < nazwa schematu > | Nie. | schema |
nazwa tabeli | Nazwa tabeli. | < nazwa tabeli > | Nie. | table |
Kwerenda | ||||
Zapytanie | Użyj niestandardowego zapytania SQL, aby odczytać dane. Może to być na przykład SELECT * FROM MyTable . 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 bazy danych Oracle. |
< Zapytania SQL > | Nie. | oracleReaderQuery |
Opcja partycji | Opcje partycjonowania danych używane do ładowania danych z bazy danych Oracle. | • Brak (wartość domyślna) • Fizyczne partycje tabeli • Zakres dynamiczny |
Nie. | / |
W przypadku partycji fizycznych tabeli | ||||
Nazwy partycji | Lista partycji fizycznych, które należy skopiować. Jeśli używasz zapytania do pobierania danych źródłowych, należy podłączyć ?DfTabularPartitionName się do klauzuli WHERE. |
< nazwy partycji > | Nie. | partitionNames |
W przypadku zakresu dynamicznego | ||||
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. Jeśli używasz zapytania do pobierania danych źródłowych, należy podłączyć ?DfRangePartitionColumnName się do klauzuli WHERE. Aby zapoznać się z przykładem, zobacz sekcję Kopia równoległa z bazy danych Oracle. |
< nazwy kolumn partycji > | Nie. | partitionColumnName |
Górna granica partycji | Określ maksymalną wartość kolumny partycji, aby skopiować dane. Jeśli używasz zapytania do pobierania danych źródłowych, należy podłączyć ?DfRangePartitionUpbound się do klauzuli WHERE. Aby zapoznać się z przykładem, zobacz sekcję Kopiowanie równoległe z kopii równoległej z bazy danych Oracle. |
< górna granica partycji > | Nie. | partitionUpperBound |
Dolna granica partycji | Określ minimalną wartość kolumny partycji, aby skopiować dane. Jeśli używasz zapytania do pobierania danych źródłowych, należy podłączyć ?DfRangePartitionLowbound się do klauzuli WHERE. Aby zapoznać się z przykładem, zobacz sekcję Kopiowanie równoległe z kopii równoległej z bazy danych Oracle. |
< dolna granica partycji > | Nie. | partitionLowerBound |
Limit czasu zapytania | Limit czasu wykonywania polecenia zapytania, wartość domyślna to 120 minut. | zakres czasu | Nie. | queryTimeout |
Dodatkowe kolumny | Dodaj dodatkowe kolumny danych, aby przechowywać ścieżkę względną plików źródłowych lub wartość statyczną. Wyrażenie jest obsługiwane w przypadku tych ostatnich. | • Nazwa •Wartość |
Nie. | additionalColumns: •nazwa •wartość |
Informacje o lokalizacji docelowej
Nazwa/nazwisko | Opis | Wartość | Wymagania | Właściwość skryptu JSON |
---|---|---|---|---|
Połączenie | Połączenie z docelowym magazynem danych. | <połączenie bazy danych Oracle> | Tak | połączenie |
Tabela | Docelowa tabela danych. | <nazwa tabeli docelowej> | Tak | / |
nazwa schematu | Nazwa schematu. | < nazwa schematu > | Tak | schema |
nazwa tabeli | Nazwa tabeli. | < nazwa tabeli > | Tak | table |
Skrypt wstępny | Zapytanie SQL dotyczące działania kopiowania do wykonania przed zapisaniem danych w bazie danych Oracle w każdym uruchomieniu. Za pomocą tej właściwości można wyczyścić wstępnie załadowane dane. | < skrypt wstępny > | Nie. | preCopyScript |
Limit czasu zapisu wsadowego | Czas oczekiwania na ukończenie operacji wstawiania wsadowego przed przekroczeniem limitu czasu. | zakres czasu | Nie. | writeBatchTimeout |
Rozmiar partii zapisu | Liczba wierszy do wstawiania do tabeli SQL na partię. | integer (wartość domyślna to 10 000) |
Nie. | writeBatchSize |
Maksymalna liczba połączeń współbieżnych | Górny limit połączeń współbieżnych ustanowionych z magazynem danych podczas uruchamiania działania. Określ wartość tylko wtedy, gdy chcesz ograniczyć połączenia współbieżne. | < maksymalna liczba połączeń współbieżnych > | Nie. | maxConcurrentConnections |