Programar uma transferência do Oracle
Com o conector do serviço de transferência de dados do BigQuery para Oracle, é possível programar e gerenciar automaticamente jobs de carregamento recorrentes do Oracle no BigQuery.
Limitações
As transferências do Oracle estão sujeitas às seguintes limitações:
- O número máximo de conexões simultâneas com um banco de dados Oracle é limitado e, como resultado, o número de execuções de transferência simultâneas para um único banco de dados Oracle é limitado a esse valor máximo.
- Configure um anexo de rede nos casos em que um IP público não estiver disponível para uma conexão com o banco de dados Oracle, com os seguintes requisitos:
- A origem de dados precisa estar acessível na sub-rede em que o anexo de rede reside.
- O anexo de rede não pode estar na sub-rede dentro do intervalo
240.0.0.0/24
. - Não é possível excluir anexos de rede quando há conexões ativas com eles. Para excluir um anexo de rede, entre em contato com o Cloud Customer Care.
- Para a multirregião
us
, o anexo de rede precisa estar na regiãous-central1
. Para a multirregiãoeu
, o anexo de rede precisa estar na regiãoeurope-west4
.
- O console do Google Cloud só permite o uso do papel de usuário
NORMAL
da Oracle para conectar o Oracle ao serviço de transferência de dados do BigQuery. Use a CLI do BigQuery para se conectar usando as funções de usuário da OracleSYSDBA
eSYSOPER
. - O intervalo mínimo entre as transferências recorrentes é de 15 minutos. O intervalo padrão para uma transferência recorrente é 24 horas.
Antes de começar
Nas seções a seguir, descrevemos as etapas que você precisa seguir antes de criar uma transferência do Oracle.
Pré-requisitos do Oracle
- Crie uma credencial de usuário no banco de dados Oracle.
- Conceda privilégios de sistema
Create Session
ao usuário para permitir a criação de sessões. - Atribua um tablespace à conta de usuário.
É preciso também ter as seguintes informações do banco de dados Oracle ao criar uma transferência da Oracle.
Nome do parâmetro | Descrição |
---|---|
database |
Nome do banco de dados. |
host |
Nome do host ou endereço IP do banco de dados. |
port |
Número da porta do banco de dados. |
username |
Nome de usuário para acessar o banco de dados. |
password |
Senha para acessar o banco de dados. |
connectionType |
O tipo de conexão. Os valores podem ser |
oracleObjects |
Lista de objetos do Oracle que serão transferidos. |
Pré-requisitos do BigQuery
- Verifique se você realizou 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 dados.
- Se quiser configurar notificações de execução de transferência do Pub/Sub,
verifique se você tem a permissão
pubsub.topics.setIamPolicy
do Identity and Access Management (IAM). As permissões do Pub/Sub não serão necessárias caso você configure notificações por e-mail. Para mais informações, consulte Notificações de execução do serviço de transferência de dados do BigQuery.
Papéis obrigatórios do BigQuery
Para receber as permissões necessárias para criar um conjunto de dados federado, peça ao administrador para conceder a você o papel do IAM Administrador do BigQuery (roles/bigquery.admin
).
Para mais informações sobre a concessão de papéis, consulte Gerenciar o acesso a projetos, pastas e organizações.
Esse papel predefinido contém as permissões necessárias para criar uma transferência. Para conferir as permissões exatas necessárias, expanda a seção Permissões necessárias:
Permissões necessárias
As seguintes permissões são necessárias para criar uma transferência:
-
bigquery.transfers.update
no usuário -
bigquery.datasets.get
no conjunto de dados de destino -
bigquery.datasets.update
no conjunto de dados de destino
Essas permissões também podem ser concedidas com funções personalizadas ou outros papéis predefinidos.
Configurar uma transferência de dados do Oracle
Selecione uma das seguintes opções:
Console
Acesse a página "Transferências de dados" no console do Google Cloud.
Clique em
Criar transferência.Na seção Tipo de origem, em Origem, selecione Oracle.
Na seção Detalhes da fonte de dados, faça o seguinte:
- Em Anexo de rede, selecione um anexo de rede existente ou clique em Criar anexo de rede.
- Em Host, insira o nome do host ou o IP do banco de dados.
- Em Porta, insira o número da porta que o banco de dados Oracle está usando para conexões de entrada, como
1520
. - Em Nome do banco de dados, insira o nome do banco de dados Oracle.
- Em Tipo de conexão, insira o tipo de URL de conexão:
SERVICE
,SID
ouTNS
. - Em Nome de usuário, digite o nome do usuário que iniciou a conexão com o banco de dados Oracle.
- Em Senha, insira a senha do usuário que iniciou a conexão do banco de dados Oracle.
Em Objetos da Oracle para transferir, clique em PROCURAR para selecionar as tabelas a serem transferidas para o conjunto de dados de destino do BigQuery.
- Nesse campo, também é possível inserir manualmente qualquer objeto para incluir na transferência de dados.
Na seção Configurações de destino, em Conjunto de dados, escolha o conjunto criado para armazenar seus dados.
No campo Nome de exibição, na seção Nome de configuração da transferência, insira um nome para a transferência de dados.
Na seção Opções de programação, faça o seguinte:
Na lista Frequência de repetição, selecione uma opção para especificar com que frequência essa transferência de dados é executada. Para especificar uma frequência de repetição personalizada, selecione Personalizada. Se você selecionar Sob demanda, essa transferência vai ser executada quando você acionar manualmente a transferência.
Se aplicável, selecione Começar agora ou Começar no horário definido e forneça uma data de início e um horário de execução.
No menu Conta de serviço, selecione uma conta de serviço associada ao seu projeto do Google Cloud. A conta de serviço selecionada precisa ter os papéis necessários para executar a transferência de dados.
Se você fez login com uma identidade federada, é necessário uma conta de serviço para criar uma transferência de dados. Se você fez login com uma Conta do Google, uma conta de serviço para a transferência é opcional.
Para mais informações sobre o uso de contas de serviço com transferências de dados, consulte Usar contas de serviço.
Opcional: na seção Opções de notificação, faça o seguinte:
- Para ativar as notificações por e-mail, clique no botão de alternância Notificação por e-mail. Quando essa opção está ativada, o administrador de transferência recebe uma notificação por e-mail quando uma execução de transferência falha.
- Para ativar as notificações de execução de transferência do Pub/Sub para essa transferência, clique no botão de alternância Notificações do Pub/Sub. Selecione o nome do tópico ou clique em Criar um tópico.
Clique em Salvar.
bq
Insira o comando bq mk
e forneça a sinalização de execução da 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'
Em que:
- PROJECT_ID (opcional): o ID do projeto do Google Cloud.
Se
--project_id
não for fornecido para especificar um projeto determinado, o projeto padrão será usado; - DATA_SOURCE: a fonte de dados —
oracle
. - DISPLAY_NAME: o nome de exibição da configuração da transferência. O nome da transferência de dados pode ser qualquer valor que permita identificá-la, caso você precise modificá-la mais tarde.
- DATASET: o conjunto de dados de destino na configuração da transferência.
PARAMETERS é o parâmetro da configuração de transferência criada no formato JSON. Por exemplo,
--params='{"param":"param_value"}'
. Veja a seguir os parâmetros de uma transferência de dados do Oracle:connector.networkAttachment
(opcional): nome do anexo de rede para se conectar ao banco de dados Oracle.connector.authentication.Username
: nome de usuário da conta do Oracle.connector.authentication.Password
: senha da conta do Oracle.connector.database
: nome do banco de dados do Oracle.connector.endpoint.host
: o nome do host ou IP do banco de dados.connector.endpoint.port
: o número da porta que o banco de dados Oracle está usando para conexões de entrada, como1520
.connector.connectionType
: o tipo de URL de conexão,SERVICE
,SID
ouTNS
.assets
: o caminho para os objetos do Oracle que serão transferidos para o BigQuery, usando o formato:DATABASE_NAME/SCHEMA_NAME/TABLE_NAME
Por exemplo, o comando a seguir cria uma transferência de dados do Oracle no projeto padrão 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
.
Mapeamento de tipo de dados
A tabela a seguir 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) |
NUMERIC |
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 |
Resolver problemas na configuração da transferência
Se você tiver problemas para configurar a transferência de dados, consulte Problemas de transferência da Oracle.
Preços
Não há custo para transferir dados do Oracle para o BigQuery enquanto esse recurso está em Pré-lançamento.
A seguir
- Para uma visão geral do serviço de transferência de dados do BigQuery, consulte Introdução ao serviço de transferência de dados do BigQuery.
- Para informações sobre o uso de transferências, incluindo ver detalhes sobre a configuração, listar configurações e visualizar o histórico de execução, consulte Como trabalhar com transferências.
- Saiba como carregar dados com operações entre nuvens.