Carregue dados do Oracle para o BigQuery
Pode carregar dados do Oracle para o BigQuery através do conetor do Serviço de transferência de dados do BigQuery para o Oracle. Com o Serviço de transferência de dados do BigQuery, pode agendar tarefas de transferência recorrentes que adicionam os seus dados mais recentes do Oracle ao BigQuery.
Limitações
As transferências da Oracle estão sujeitas às seguintes limitações:
- O número máximo de ligações simultâneas a uma base de dados do Oracle é limitado e, como resultado, o número de execuções de transferências simultâneas para uma única base de dados do Oracle está limitado a esse valor máximo.
- Tem de configurar uma associação de rede nos casos em que um IP público não está disponível para uma ligação à base de dados do Oracle, com os seguintes requisitos:
- A origem de dados tem de estar acessível a partir da sub-rede onde reside a associação de rede.
- A associação de rede não pode estar na sub-rede dentro do intervalo
240.0.0.0/24
. - Não é possível eliminar associações de rede se existirem associações ativas à associação. Para eliminar uma associação de rede, contacte o apoio técnico ao cliente do Google Cloud.
- Para a
us
multirregião, a associação de rede tem de estar na regiãous-central1
. Para aeu
multirregião, a associação de rede tem de estar na regiãoeurope-west4
.
- A consola Google Cloud só suporta a utilização da função de utilizador do
NORMAL
Oracle para associar o Oracle ao Serviço de transferência de dados do BigQuery. Tem de usar a CLI do BigQuery para estabelecer ligação através das funções de utilizador do OracleSYSDBA
eSYSOPER
. - O intervalo de tempo mínimo entre transferências recorrentes do Oracle é de 15 minutos. O intervalo predefinido para uma transferência recorrente é de 24 horas.
- Uma única configuração de transferência só pode suportar uma execução de transferência de dados num determinado momento. No caso em que uma segunda transferência de dados esteja agendada para ser executada antes de a primeira transferência estar concluída, apenas a primeira transferência de dados é concluída, enquanto todas as outras transferências de dados que se sobreponham à primeira transferência são ignoradas.
- Para evitar transferências ignoradas numa única configuração de transferência, recomendamos que aumente a duração do tempo entre transferências de dados grandes configurando a frequência de repetição.
- Se o anexo de rede configurado e a instância de máquina virtual (VM) estiverem localizados em regiões diferentes, pode haver movimento de dados entre regiões quando transferir dados do Oracle.
Antes de começar
As secções seguintes descrevem os passos que tem de seguir antes de criar uma transferência do Oracle.
Pré-requisitos da Oracle
- Crie uma credencial de utilizador na base de dados Oracle.
- Conceda
Create Session
privilégios do sistema ao utilizador para permitir a criação de sessões. - Atribua um tablespace à conta de utilizador.
Também tem de ter as seguintes informações da base de dados Oracle quando criar uma transferência do Oracle.
Nome do parâmetro | Descrição |
---|---|
database |
Nome da base de dados. |
host |
Nome do anfitrião ou endereço IP da base de dados. |
port |
Número da porta da base de dados. |
username |
Nome de utilizador para aceder à base de dados. |
password |
Palavra-passe para aceder à base de dados. |
connectionType |
O tipo de ligação. Pode ser |
encryptionMode |
O modo de encriptação. Pode ser |
oracleObjects |
Lista de objetos Oracle a transferir. |
Pré-requisitos do BigQuery
- Verifique se concluiu todas as ações necessárias para ativar o Serviço de transferência de dados do BigQuery.
- Crie um conjunto de dados do BigQuery para armazenar os seus dados.
- Se pretender configurar notificações de execução de transferências para o Pub/Sub,
verifique se tem a autorização de
pubsub.topics.setIamPolicy
gestão de identidade e de acesso (IAM). Não são necessárias autorizações do Pub/Sub se configurar apenas notificações por email. Para mais informações, consulte Notificações de execução do Serviço de transferência de dados do BigQuery.
Funções do BigQuery necessárias
Para obter as autorizações de que precisa para criar uma transferência,
peça ao seu administrador que lhe conceda a função de IAM de administrador do BigQuery (roles/bigquery.admin
).
Para mais informações sobre a atribuição de funções, consulte o artigo Faça a gestão do acesso a projetos, pastas e organizações.
Esta função predefinida contém as autorizações necessárias para criar uma transferência. Para ver as autorizações exatas que são necessárias, expanda a secção Autorizações necessárias:
Autorizações necessárias
São necessárias as seguintes autorizações para criar uma transferência:
-
bigquery.transfers.update
no utilizador -
bigquery.datasets.get
no conjunto de dados de destino -
bigquery.datasets.update
no conjunto de dados de destino
Também pode conseguir estas autorizações com funções personalizadas ou outras funções predefinidas.
Carregue dados do Oracle para o BigQuery
Adicione dados da Oracle ao BigQuery configurando uma configuração de transferência através de uma das seguintes opções:
Consola
Aceda à página Transferências de dados na Google Cloud consola.
Clique em
Criar transferência.Na secção Tipo de origem, para Origem, selecione Oracle.
Na secção Detalhes da origem de dados, faça o seguinte:
- Para Anexo de rede, selecione um anexo de rede existente ou clique em Criar anexo de rede.
- Para Anfitrião, introduza o nome de anfitrião ou o IP da base de dados.
- Para Porta, introduza o número da porta que a base de dados Oracle está a usar para ligações recebidas, como
1521
. - Em Nome da base de dados, introduza o nome da base de dados Oracle.
- Para Tipo de ligação, introduza o tipo de URL de ligação,
SERVICE
,SID
ouTNS
. - Para Nome de utilizador, introduza o nome de utilizador do utilizador que inicia a ligação à base de dados Oracle.
- Para Palavra-passe, introduza a palavra-passe do utilizador que está a iniciar a ligação à base de dados Oracle.
- Para o Modo de encriptação, selecione COMPLETO no menu pendente para ativar a validação SSL completa quando se ligar à base de dados Oracle ou DESATIVAR para não ter validação SSL.
Para transferir objetos Oracle, clique em PROCURAR para selecionar quaisquer tabelas a transferir para o conjunto de dados de destino do BigQuery. Também pode introduzir manualmente quaisquer objetos a incluir na transferência de dados neste campo.
Na secção Definições de destino, para Conjunto de dados, selecione o conjunto de dados que criou para armazenar os seus dados.
Na secção Nome da configuração de transferência, em Nome a apresentar, introduza um nome para a transferência de dados.
Na secção Opções de programação:
- Na lista Frequência de repetição, selecione uma opção para especificar a frequência com que esta transferência de dados é executada. Para especificar uma frequência de repetição personalizada, selecione Personalizado. Se selecionar A pedido, esta transferência é executada quando aciona manualmente a transferência.
- Se aplicável, selecione Começar agora ou Começar à hora definida e indique uma data de início e um tempo de execução.
Opcional: na secção Opções de notificação, faça o seguinte:
- Para ativar as notificações por email, clique no botão Notificação por email. Quando ativa esta opção, o administrador da transferência recebe uma notificação por email quando uma execução de transferência falha.
- Para ativar as notificações de execução de transferências do Pub/Sub para esta transferência, clique no botão ativar/desativar Notificações do Pub/Sub. Pode selecionar o nome do tópico ou clicar em Criar um tópico para criar um.
Clique em Guardar.
bq
Introduza o comando bq mk
e forneça a flag de criação de transferência
--transfer_config
:
bq mk --transfer_config --project_id=PROJECT_ID --data_source=DATA_SOURCE --display_name=DISPLAY_NAME --target_dataset=DATASET --params='PARAMETERS'
Onde:
- PROJECT_ID (opcional): o ID do seu Google Cloud projeto.
Se
--project_id
não for fornecido para especificar um projeto em particular, é usado o projeto predefinido. - DATA_SOURCE: a origem de dados:
oracle
. - DISPLAY_NAME: o nome a apresentar da configuração de transferência. O nome da transferência de dados pode ser qualquer valor que lhe permita identificar a transferência se precisar de a modificar mais tarde.
- DATASET: o conjunto de dados de destino para a configuração de transferência.
PARAMETERS: os parâmetros da configuração de transferência criada no formato JSON. Por exemplo:
--params='{"param":"param_value"}'
. Seguem-se os parâmetros para uma transferência de dados da Oracle:connector.networkAttachment
(opcional): nome do anexo de rede para ligar à base de dados Oracle.connector.authentication.Username
: nome de utilizador da conta do Oracle.connector.authentication.Password
: palavra-passe da conta da Oracle.connector.database
: nome da base de dados Oracle.connector.endpoint.host
: o nome de anfitrião ou o IP da base de dados.connector.endpoint.port
: o número da porta que a base de dados Oracle está a usar para ligações recebidas, como1520
.connector.connectionType
: o tipo de URL de associação,SERVICE
,SID
ouTNS
.assets
: o caminho para os objetos Oracle a transferir para o BigQuery, usando o formato:DATABASE_NAME/SCHEMA_NAME/TABLE_NAME
Por exemplo, o seguinte comando cria uma transferência de dados do Oracle no projeto predefinido com todos os parâmetros necessários:
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
Use o método projects.locations.transferConfigs.create
e forneça uma instância do recurso TransferConfig
.
Para executar manualmente uma transferência de dados fora da sua programação normal, pode iniciar uma execução de preenchimento.
Mapeamento de tipos de dados
A tabela seguinte mapeia os tipos de dados do Oracle para os tipos de dados do BigQuery correspondentes.
Tipo de dados Oracle | Tipo de dados do BigQuery |
---|---|
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 |
Resolva problemas de configuração da transferência
Se tiver problemas com a configuração da transferência de dados, consulte Problemas de transferência do Oracle.
Preços
Não existe custo para transferir dados da Oracle para o BigQuery enquanto esta funcionalidade estiver em pré-visualização.
O que se segue?
- Para uma vista geral do Serviço de transferência de dados do BigQuery, consulte o artigo Introdução ao Serviço de transferência de dados do BigQuery.
- Para obter informações sobre a utilização de transferências, incluindo a obtenção de informações sobre uma configuração de transferência, a apresentação de configurações de transferência e a visualização do histórico de execução de uma transferência, consulte o artigo Trabalhar com transferências.
- Saiba como carregar dados com operações em várias nuvens.