Einführung in Oracle-Datenübertragungen
Mit dem BigQuery Data Transfer Service für Oracle-Connector können Sie Daten aus Ihrer Oracle-Datenbank in BigQuery laden. Dieses Dokument enthält Konfigurationsoptionen für die Oracle-Übertragung sowie Informationen zur Zuordnung von Datentypen und zur Übertragung von Metadaten.
Informationen zum Planen einer Oracle-Übertragung finden Sie unter Oracle-Daten in BigQuery laden.
Optionen für die Datenaufnahme
In den folgenden Abschnitten finden Sie weitere Informationen zu den Optionen für die Datenaufnahme, wenn Sie eine Oracle-Datenübertragung einrichten.
TLS-Konfiguration
Der Oracle-Connector unterstützt die Konfiguration für Transport Layer Security (TLS), um Ihre Datenübertragungen nach BigQuery zu verschlüsseln. Der Oracle-Connector unterstützt die folgenden TLS-Konfigurationen:
Der Modus Daten verschlüsseln und CA und Hostname bestätigen. In diesem Modus wird eine vollständige Validierung des Servers mit TLS über das TCPS-Protokoll durchgeführt. Sie verschlüsselt alle übertragenen Daten und prüft, ob das Zertifikat des Datenbankservers von einer vertrauenswürdigen Zertifizierungsstelle signiert wurde. In diesem Modus wird auch geprüft, ob der Hostname, zu dem Sie eine Verbindung herstellen, genau mit dem allgemeinen Namen (Common Name, CN) oder einem alternativen Antragstellernamen (Subject Alternative Name, SAN) im Zertifikat des Servers übereinstimmt. In diesem Modus wird verhindert, dass Angreifer ein gültiges Zertifikat für eine andere Domain verwenden, um sich als Ihr Datenbankserver auszugeben.
Wenn Ihr Hostname nicht mit dem CN oder SAN des Zertifikats übereinstimmt, schlägt die Verbindung fehl. Sie müssen eine DNS-Auflösung konfigurieren, die dem Zertifikat entspricht, oder einen anderen Sicherheitsmodus verwenden. Verwenden Sie diesen Modus, um PITM-Angriffe (Person-in-the-Middle) zu verhindern.
Der Modus Daten verschlüsseln und nur Zertifizierungsstelle bestätigen. In diesem Modus werden alle Daten mit TLS über das TCPS-Protokoll verschlüsselt und es wird geprüft, ob das Zertifikat des Servers von einer Zertifizierungsstelle signiert ist, der der Client vertraut. In diesem Modus wird der Hostname des Servers jedoch nicht überprüft. In diesem Modus wird eine Verbindung hergestellt, solange das Zertifikat gültig ist und von einer vertrauenswürdigen Zertifizierungsstelle ausgestellt wurde. Dabei spielt es keine Rolle, ob der Hostname im Zertifikat mit dem Hostnamen übereinstimmt, zu dem Sie eine Verbindung herstellen.
Verwenden Sie diesen Modus, wenn Sie sicherstellen möchten, dass Sie eine Verbindung zu einem Server herstellen, dessen Zertifikat von einer vertrauenswürdigen Zertifizierungsstelle signiert ist, der Hostname jedoch nicht überprüft werden kann oder Sie keine Kontrolle über die Hostname-Konfiguration haben.
Der Modus Nur Verschlüsselung. In diesem Modus werden alle Daten, die zwischen dem Client und dem Server übertragen werden, über den standardmäßigen TCP-Port mit der nativen Netzwerkverschlüsselung von Oracle verschlüsselt. Es wird keine Zertifikats- oder Hostname-Validierung durchgeführt.
Dieser Modus bietet ein gewisses Maß an Sicherheit, da Daten während der Übertragung geschützt werden. Er kann jedoch anfällig für PITM-Angriffe sein.
Verwenden Sie diesen Modus, wenn Sie sicherstellen müssen, dass alle Daten verschlüsselt sind, aber die Identität des Servers nicht überprüfen können oder möchten. Wir empfehlen, diesen Modus bei der Arbeit mit privaten VPCs zu verwenden.
Der Modus Keine Verschlüsselung oder Bestätigung. In diesem Modus werden keine Daten verschlüsselt und es werden keine Zertifikats- oder Hostnamenprüfungen durchgeführt. Alle Daten werden als Nur-Text gesendet.
Wir empfehlen, diesen Modus nicht in einer Umgebung zu verwenden, in der vertrauliche Daten verarbeitet werden. Wir empfehlen, diesen Modus nur zu Testzwecken in einem isolierten Netzwerk zu verwenden, in dem Sicherheit kein Problem darstellt.
Zertifikat für vertrauenswürdigen Server (PEM)
Wenn Sie den Modus Daten verschlüsseln und CA und Hostname bestätigen oder Daten verschlüsseln und CA bestätigen verwenden, können Sie auch ein oder mehrere PEM-codierte Zertifikate angeben. Diese Zertifikate sind in einigen Szenarien erforderlich, in denen der BigQuery Data Transfer Service die Identität Ihres Datenbankservers während der TLS-Verbindung bestätigen muss:
- Wenn Sie ein Zertifikat verwenden, das von einer privaten Zertifizierungsstelle in Ihrer Organisation signiert wurde, oder ein selbst signiertes Zertifikat, müssen Sie die vollständige Zertifikatskette oder das einzelne selbst signierte Zertifikat angeben. Dies ist für Zertifikate erforderlich, die von internen Zertifizierungsstellen verwalteter Cloud-Anbieterdienste wie Amazon Relational Database Service (RDS) ausgestellt werden.
- Wenn das Zertifikat Ihres Datenbankservers von einer öffentlichen Zertifizierungsstelle signiert wurde (z. B. Let's Encrypt, DigiCert oder GlobalSign), müssen Sie kein Zertifikat angeben. Die Stammzertifikate für diese öffentlichen Zertifizierungsstellen sind vorinstalliert und werden vom BigQuery Data Transfer Service als vertrauenswürdig eingestuft.
Sie können PEM-codierte Zertifikate im Feld Vertrauenswürdiges PEM-Zertifikat in der Übertragungskonfiguration angeben. Dabei gelten die folgenden Anforderungen:
- Das Zertifikat muss eine gültige PEM-codierte Zertifikatskette sein.
- Das Zertifikat muss vollständig korrekt sein. Fehlende Zertifikate in der Kette oder falsche Inhalte führen dazu, dass die TLS-Verbindung fehlschlägt.
- Für ein einzelnes Zertifikat können Sie ein einzelnes, selbst signiertes Zertifikat vom Datenbankserver bereitstellen.
- Für eine vollständige Zertifikatskette, die von einer privaten Zertifizierungsstelle ausgestellt wurde, müssen Sie die vollständige Vertrauenskette angeben. Dazu gehören das Zertifikat des Datenbankservers sowie alle Zwischen- und Stammzertifikate der Zertifizierungsstelle.
Vollständige oder inkrementelle Übertragungen
Sie können angeben, wie Daten in BigQuery geladen werden. Wählen Sie dazu beim Einrichten einer Oracle-Übertragung in der Übertragungskonfiguration entweder die Schreibeinstellung Vollständig oder Inkrementell aus. Inkrementelle Übertragungen werden in der Vorschau unterstützt.
Sie können eine vollständige Datenübertragung konfigurieren, um alle Daten aus Ihren Oracle-Datasets bei jeder Datenübertragung zu übertragen.Alternativ können Sie eine inkrementelle Datenübertragung (Vorabversion) konfigurieren, um nur Daten zu übertragen, die sich seit der letzten Datenübertragung geändert haben. So muss nicht bei jeder Datenübertragung das gesamte Dataset geladen werden. Wenn Sie für die Datenübertragung Inkrementell auswählen, müssen Sie entweder den Schreibmodus Anhängen oder Upsert angeben, um festzulegen, wie Daten während einer inkrementellen Datenübertragung in BigQuery geschrieben werden. In den folgenden Abschnitten werden die verfügbaren Schreibmodi beschrieben.
Anhängemodus
Im Anhängen-Schreibmodus werden nur neue Zeilen in die Zieltabelle eingefügt. Bei dieser Option werden übertragene Daten nur angehängt, ohne nach vorhandenen Datensätzen zu suchen. In der Zieltabelle kann es daher zu Datenduplizierungen kommen.
Wenn Sie den Modus „Append“ auswählen, müssen Sie eine Watermark-Spalte auswählen. Für den Oracle-Connector ist eine Wasserzeichenspalte erforderlich, um Änderungen in der Quelltabelle zu verfolgen.
Für Oracle-Übertragungen empfehlen wir, eine Spalte auszuwählen, die nur beim Erstellen des Datensatzes aktualisiert wird und sich bei nachfolgenden Aktualisierungen nicht ändert. Zum Beispiel die SpalteCREATED_AT.
Upsert-Schreibmodus
Im Upsert-Schreibmodus wird entweder eine Zeile aktualisiert oder eine neue Zeile in die Zieltabelle eingefügt, indem nach einem Primärschlüssel gesucht wird. Sie können einen Primärschlüssel angeben, damit der Oracle-Connector ermitteln kann, welche Änderungen erforderlich sind, um die Zieltabelle auf dem neuesten Stand der Quelltabelle zu halten. Wenn der angegebene Primärschlüssel während einer Datenübertragung in der BigQuery-Zieltabelle vorhanden ist, aktualisiert der Oracle-Connector diese Zeile mit neuen Daten aus der Quelltabelle. Wenn bei einer Datenübertragung kein Primärschlüssel vorhanden ist, fügt der Oracle-Connector eine neue Zeile ein.
Wenn Sie den Upsert-Modus auswählen, müssen Sie eine Watermark-Spalte und einen Primärschlüssel auswählen:
- Für den Oracle-Connector ist eine Wasserzeichenspalte erforderlich, um Änderungen in der Quelltabelle zu verfolgen.
- Wählen Sie eine Wasserzeichenspalte aus, die jedes Mal aktualisiert wird, wenn eine Zeile geändert wird. Wir empfehlen Spalten, die der Spalte
UPDATED_AToderLAST_MODIFIEDähneln.
- Wählen Sie eine Wasserzeichenspalte aus, die jedes Mal aktualisiert wird, wenn eine Zeile geändert wird. Wir empfehlen Spalten, die der Spalte
Der Primärschlüssel kann aus einer oder mehreren Spalten in Ihrer Tabelle bestehen, die der Oracle-Connector benötigt, um zu ermitteln, ob eine Zeile eingefügt oder aktualisiert werden muss.
Wählen Sie Spalten mit Nicht-Null-Werten aus, die in allen Zeilen der Tabelle eindeutig sind. Wir empfehlen Spalten mit systemgenerierten Kennungen, eindeutigen Referenzcodes (z. B. automatisch inkrementierenden IDs) oder unveränderlichen zeitbasierten Sequenz-IDs.
Um potenziellen Datenverlust oder Datenbeschädigung zu vermeiden, müssen die ausgewählten Primärschlüsselspalten eindeutige Werte enthalten. Wenn Sie Zweifel an der Eindeutigkeit der ausgewählten Primärschlüsselspalte haben, empfehlen wir stattdessen den Schreibmodus „Append“.
Inkrementelles Aufnahmeverhalten
Wenn Sie Änderungen am Tabellenschema in Ihrer Datenquelle vornehmen, werden inkrementelle Datenübertragungen aus diesen Tabellen in BigQuery auf folgende Weise berücksichtigt:
| Änderungen an der Datenquelle | Inkrementelles Aufnahmeverhalten |
|---|---|
| Neue Spalte hinzufügen | Der BigQuery-Zieltabelle wird eine neue Spalte hinzugefügt. Alle vorherigen Datensätze für diese Spalte haben Nullwerte. |
| Spalte löschen | Die gelöschte Spalte verbleibt in der BigQuery-Zieltabelle. Neue Einträge in dieser gelöschten Spalte werden mit Nullwerten gefüllt. |
| Datentyp einer Spalte ändern | Der Connector unterstützt nur
Datentypkonvertierungen, die von der ALTER COLUMN-DDL-Anweisung unterstützt werden.
Bei allen anderen Datentypkonvertierungen schlägt die Datenübertragung fehl.
Wenn Probleme auftreten, empfehlen wir, eine neue Übertragungskonfiguration zu erstellen. |
| Spalte umbenennen | Die ursprüngliche Spalte bleibt in der BigQuery-Zieltabelle unverändert, während der Zieltabelle eine neue Spalte mit dem aktualisierten Namen hinzugefügt wird. |
Datentypzuordnung
In der folgenden Tabelle werden Oracle-Datentypen den entsprechenden BigQuery-Datentypen zugeordnet:
| Oracle-Datentyp | BigQuery-Datentyp |
|---|---|
BFILE |
BYTES |
BINARY_DOUBLE |
FLOAT |
BINARY_FLOAT |
FLOAT |
BLOB |
BYTES |
CHAR |
STRING |
CLOB |
STRING |
DATE |
DATETIME |
FLOAT |
FLOAT |
INTERVAL DAY TO SECOND |
STRING |
INTERVAL YEAR TO MONTH |
STRING |
LONG |
STRING |
LONG RAW |
BYTES |
NCHAR |
STRING |
NCLOB |
STRING |
NUMBER (without precision and scale) |
STRING |
NUMBER (with precision and scale lower than the BigQuery Numeric range) |
NUMERIC |
NUMBER (with precision and scale lower than the BigQuery BigNumeric range) |
BIGNUMERIC |
NUMBER (with precision and scale greater than the BigQuery BigNumeric range) |
STRING |
NVARCHAR2 |
STRING |
RAW |
BYTES |
ROWID |
STRING |
TIMESTAMP |
DATETIME |
TIMESTAMP WITH LOCAL TIME ZONE |
DATETIME |
TIMESTAMP WITH TIME ZONE |
TIMESTAMP |
UROWID |
STRING |
VARCHAR |
STRING |
VARCHAR2 |
STRING |
Metadaten übertragen
Sie können den Oracle-Connector auch verwenden, um Metadaten in Knowledge Catalog zu übertragen. Weitere Informationen finden Sie unter Oracle-Metadaten in Knowledge Catalog laden.Preise
Preisinformationen zu Oracle-Übertragungen finden Sie unter Preise für den Data Transfer Service.