Oracle-Daten in BigQuery laden
Mit dem BigQuery Data Transfer Service für Oracle-Connector können Sie Daten aus Oracle in BigQuery laden. Mit dem BigQuery Data Transfer Service können Sie wiederkehrende Übertragungsjobs planen, mit denen Ihre neuesten Daten aus Oracle in BigQuery eingefügt werden.
Beschränkungen
Oracle-Übertragungen unterliegen den folgenden Einschränkungen:
- Die maximale Anzahl gleichzeitiger Verbindungen zu einer Oracle-Datenbank ist begrenzt. Daher ist die Anzahl der gleichzeitigen Übertragungen zu einer einzelnen Oracle-Datenbank auf diesen Höchstwert begrenzt.
- Sie müssen einen Netzwerkanhang einrichten, wenn für eine Oracle-Datenbankverbindung keine öffentliche IP-Adresse verfügbar ist. Beachten Sie dabei die folgenden Anforderungen:
- Die Datenquelle muss über das Subnetz zugänglich sein, in dem sich der Netzwerkanhang befindet.
- Der Netzwerkanhang darf sich nicht im Subnetz im Bereich
240.0.0.0/24
befinden. - Netzwerkanhänge können nicht gelöscht werden, wenn aktive Verbindungen zum Anhang bestehen. Wenn Sie einen Netzwerkanhang löschen möchten, wenden Sie sich an Cloud Customer Care.
- Für die Multi-Region
us
muss sich der Netzwerkanhang in der Regionus-central1
befinden. Für die Multi-Regioneu
muss sich der Netzwerkanhang in der Regioneurope-west4
befinden.
- Die Google Cloud Console unterstützt nur die Verwendung der Oracle-Nutzerrolle
NORMAL
zum Verbinden von Oracle mit dem BigQuery Data Transfer Service. Sie müssen die BigQuery-Befehlszeile verwenden, um eine Verbindung mit den Oracle-NutzerrollenSYSDBA
undSYSOPER
herzustellen. - Das Mindestintervall zwischen wiederkehrenden Oracle Übertragungen beträgt 15 Minuten. Das Standardintervall für eine wiederkehrende Übertragung beträgt 24 Stunden.
- Für eine einzelne Übertragungskonfiguration kann jeweils nur eine Datenübertragung ausgeführt werden. Wenn eine zweite Datenübertragung geplant ist, bevor die erste abgeschlossen ist, wird nur die erste Datenübertragung abgeschlossen. Alle anderen Datenübertragungen, die sich mit der ersten überschneiden, werden übersprungen.
- Um übersprungene Übertragungen innerhalb einer einzelnen Übertragungskonfiguration zu vermeiden, empfehlen wir, die Zeit zwischen großen Datenübertragungen zu verlängern, indem Sie die Wiederholungshäufigkeit konfigurieren.
- Wenn sich Ihre konfigurierte Netzwerkverbindung und Ihre VM-Instanz in verschiedenen Regionen befinden, kann es bei der Übertragung von Daten von Oracle zu regionsübergreifenden Datenübertragungen kommen.
Hinweise
In den folgenden Abschnitten werden die Schritte beschrieben, die Sie vor dem Erstellen einer Oracle-Übertragung ausführen müssen.
Voraussetzungen für Oracle
- Erstellen Sie Nutzeranmeldedaten in der Oracle-Datenbank.
- Weisen Sie dem Nutzer
Create Session
-Systemberechtigungen zu, um das Erstellen von Sitzungen zu ermöglichen. - Weisen Sie dem Nutzerkonto einen Tabellenbereich zu.
Beim Erstellen einer Oracle-Übertragung benötigen Sie außerdem die folgenden Oracle-Datenbankinformationen.
Parametername | Beschreibung |
---|---|
database |
Name der Datenbank. |
host |
Hostname oder IP-Adresse der Datenbank. |
port |
Portnummer der Datenbank. |
username |
Nutzername für den Zugriff auf die Datenbank. |
password |
Passwort für den Zugriff auf die Datenbank. |
connectionType |
Entspricht dem Verbindungstyp. Das kann |
encryptionMode |
Der Verschlüsselungsmodus. Das kann |
oracleObjects |
Liste der zu übertragenden Oracle-Objekte. |
Voraussetzungen für BigQuery
- Überprüfen Sie, ob Sie alle erforderlichen Aktionen ausgeführt haben, damit Sie den BigQuery Data Transfer Service aktivieren können.
- Erstellen Sie ein BigQuery-Dataset zum Speichern Ihrer Daten.
- Wenn Sie Benachrichtigungen zur Übertragungsausführung für Pub/Sub einrichten möchten, benötigen Sie die IAM-Berechtigung (Identity and Access Management)
pubsub.topics.setIamPolicy
. Pub/Sub-Berechtigungen sind nicht erforderlich, wenn Sie nur E-Mail-Benachrichtigungen einrichten. Weitere Informationen finden Sie unter Ausführungsbenachrichtigungen im BigQuery Data Transfer Service.
Erforderliche BigQuery-Rollen
Bitten Sie Ihren Administrator, Ihnen die IAM-Rolle BigQuery-Administrator (roles/bigquery.admin
) für Ihr Projekt zuzuweisen, um die Berechtigungen zu erhalten, die Sie zum Erstellen einer BigQuery Data Transfer Service-Datenübertragung benötigen.
Weitere Informationen zum Zuweisen von Rollen finden Sie unter Zugriff auf Projekte, Ordner und Organisationen verwalten.
Diese vordefinierte Rolle enthält die Berechtigungen, die zum Erstellen einer BigQuery Data Transfer Service-Datenübertragung erforderlich sind. Erweitern Sie den Abschnitt Erforderliche Berechtigungen, um die erforderlichen Berechtigungen anzuzeigen:
Erforderliche Berechtigungen
Die folgenden Berechtigungen sind erforderlich, um eine Datenübertragung für den BigQuery Data Transfer Service zu erstellen:
-
Berechtigungen für BigQuery Data Transfer Service:
-
bigquery.transfers.update
-
bigquery.transfers.get
-
-
BigQuery-Berechtigungen:
-
bigquery.datasets.get
-
bigquery.datasets.getIamPolicy
-
bigquery.datasets.update
-
bigquery.datasets.setIamPolicy
-
bigquery.jobs.create
-
Sie können diese Berechtigungen auch mit benutzerdefinierten Rollen oder anderen vordefinierten Rollen erhalten.
Weitere Informationen finden Sie unter Zugriff auf bigquery.admin
gewähren.
Oracle-Daten in BigQuery laden
Fügen Sie Oracle-Daten in BigQuery ein, indem Sie eine Übertragungskonfiguration mit einer der folgenden Optionen einrichten:
Console
Rufen Sie in der Google Cloud -Console die Seite „Datenübertragungen“ auf.
Klicken Sie auf
Übertragung erstellen.Wählen Sie im Abschnitt Source type (Quelltyp) für Source (Quelle) die Option Oracle aus.
Führen Sie im Abschnitt Details zur Datenquelle folgende Schritte aus:
- Wählen Sie unter Netzwerkanhang einen vorhandenen Netzwerkanhang aus oder klicken Sie auf Netzwerkanhang erstellen.
- Geben Sie unter Host den Hostnamen oder die IP-Adresse der Datenbank ein.
- Geben Sie unter Port die Portnummer ein, die die Oracle-Datenbank für eingehende Verbindungen verwendet, z. B.
1521
. - Geben Sie unter Datenbankname den Namen der Oracle-Datenbank ein.
- Geben Sie unter Verbindungstyp den URL-Typ der Verbindung ein, entweder
SERVICE
,SID
oderTNS
. - Geben Sie unter Nutzername den Nutzernamen des Nutzers ein, der die Oracle-Datenbankverbindung initiiert.
- Geben Sie unter Passwort das Passwort des Nutzers ein, der die Oracle-Datenbankverbindung initiiert.
- Wählen Sie unter Verschlüsselungsmodus im Drop-down-Menü die Option VOLLSTÄNDIG aus, um die vollständige SSL-Validierung beim Herstellen einer Verbindung zur Oracle-Datenbank zu aktivieren, oder DEAKTIVIEREN, um die SSL-Validierung zu deaktivieren.
Klicken Sie bei Zu übertragende Oracle-Objekte auf DURCHSUCHEN, um alle Tabellen auszuwählen, die an das BigQuery-Ziel-Dataset übertragen werden sollen. Sie können in dieses Feld auch manuell alle Objekte eingeben, die in die Datenübertragung einbezogen werden sollen.
Wählen Sie im Abschnitt Zieleinstellungen für Dataset das Dataset aus, das Sie zum Speichern Ihrer Daten erstellt haben.
Geben Sie im Abschnitt Konfigurationsname für Übertragung als Anzeigename einen Namen für die Datenübertragung ein.
Im Abschnitt Zeitplanoptionen:
- Wählen Sie in der Liste Wiederholungshäufigkeit aus, wie oft diese Datenübertragung ausgeführt werden soll. Wenn Sie eine benutzerdefinierte Wiederholungshäufigkeit angeben möchten, wählen Sie Benutzerdefiniert aus. Wenn Sie On demand auswählen, wird diese Datenübertragung ausgeführt, wenn Sie die Übertragung manuell auslösen.
- Wählen Sie gegebenenfalls Jetzt starten oder Zu festgelegter Zeit starten aus und geben Sie ein Startdatum und eine Laufzeit an.
Optional: Gehen Sie im Abschnitt Benachrichtigungsoptionen so vor:
- Klicken Sie zum Aktivieren von E-Mail-Benachrichtigungen auf die Ein/Aus-Schaltfläche E-Mail-Benachrichtigung. Wenn Sie diese Option aktivieren, erhält der Übertragungsadministrator eine E-Mail-Benachrichtigung, wenn eine Übertragung fehlschlägt.
- Klicken Sie auf die Ein/Aus-Schaltfläche Pub/Sub-Benachrichtigungen, um Pub/Sub-Benachrichtigungen über die Ausführung von Übertragungen für diese Übertragung zu aktivieren. Sie können den Namen für das Thema auswählen oder auf Thema erstellen klicken, um eines zu erstellen.
Klicken Sie auf Speichern.
bq
Geben Sie den Befehl bq mk
ein und geben Sie das Flag --transfer_config
für die Übertragungserstellung an.
bq mk --transfer_config --project_id=PROJECT_ID --data_source=DATA_SOURCE --display_name=DISPLAY_NAME --target_dataset=DATASET --params='PARAMETERS'
Wobei:
- PROJECT_ID (optional): Ihre Google Cloud Projekt-ID.
Wenn
--project_id
nicht bereitgestellt wird, um ein bestimmtes Projekt anzugeben, wird das Standardprojekt verwendet. - DATA_SOURCE. Die Datenquelle –
oracle
. - DISPLAY_NAME: Der Anzeigename für die Übertragungskonfiguration. Der Datenübertragungsname kann ein beliebiger Wert sein, mit dem Sie die Übertragung identifizieren können, wenn Sie sie später ändern müssen.
- DATASET: Das Ziel-Dataset für die Übertragungskonfiguration.
PARAMETERS: die Parameter für die erstellte Übertragungskonfiguration im JSON-Format. Beispiel:
--params='{"param":"param_value"}'
. Im Folgenden finden Sie die Parameter für eine Oracle-Datenübertragung:connector.networkAttachment
(optional): Name des Netzwerkanhangs, der eine Verbindung zur Oracle-Datenbank herstellen soll.connector.authentication.Username
: der Nutzername des Oracle-Kontos.connector.authentication.Password
: das Passwort des Oracle-Kontos.connector.database
ist der Name der Oracle-Datenbank.connector.endpoint.host
: der Hostname oder die IP-Adresse der Datenbank.connector.endpoint.port
: die Portnummer, die die Oracle-Datenbank für eingehende Verbindungen verwendet, z. B.1520
connector.connectionType
: der URL-Typ der Verbindung, entwederSERVICE
,SID
oderTNS
.assets
: der Pfad zu den Oracle-Objekten, die in BigQuery übertragen werden sollen, im FormatDATABASE_NAME/SCHEMA_NAME/TABLE_NAME
Mit dem folgenden Befehl wird beispielsweise eine Oracle-Datenübertragung im Standardprojekt mit allen erforderlichen Parametern erstellt:
bq mk --transfer_config --target_dataset=mydataset --data_source=oracle --display_name='My Transfer' --params='{"assets":["DB1/USER1/DEPARTMENT","DB1/USER1/EMPLOYEES"], "connector.authentication.username": "User1", "connector.authentication.password":"ABC12345", "connector.database":"DB1", "connector.endpoint.host":"192.168.0.1", "connector.endpoint.port":1520, "connector.connectionType":"SERVICE", "connector.networkAttachment": "projects/dev-project1/regions/us-central1/networkattachments/na1"}'
API
Verwenden Sie die Methode projects.locations.transferConfigs.create
und geben Sie eine Instanz der Ressource TransferConfig
an.
Wenn Sie eine Datenübertragung manuell außerhalb des regulären Zeitplans ausführen möchten, können Sie einen Backfill-Vorgang starten.
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 |
Fehler bei der Übertragungseinrichtung beheben
Unterstützung bei Problemen mit der Einrichtung von Datenübertragungen finden Sie unter Oracle-Übertragungsprobleme.
Preise
Während sich dieses Feature in der Vorschau befindet, fallen keine Kosten für die Übertragung von Oracle-Daten in BigQuery an.
Nächste Schritte
- Eine Übersicht über den BigQuery Data Transfer Service finden Sie unter Einführung in BigQuery Data Transfer Service.
- Informationen zum Verwenden von Übertragungen, einschließlich des Abrufs von Informationen zu einer Übertragungskonfiguration, des Auflistens von Übertragungskonfigurationen und des Aufrufs des Ausführungsverlaufs der Übertragung finden Sie unter Mit Übertragungen arbeiten.
- Daten mit cloudübergreifenden Vorgängen laden