Usando a API REST
Use a API REST do OCI GoldenGate para se comunicar com suas implantações de replicação de dados. Descubra como usar a API REST em várias configurações, chamando comandos usando curl e Cloud Shell.
Estabelecer conexão com uma implantação pública
Para estabelecer conexão com uma implantação do OCI GoldenGate com um ponto final público no Cloud Shell, você só precisa do URL de implantação. Você pode encontrar o URL de implantação (URL da Console) na página de detalhes da implantação.
Estabelecer conexão com uma implantação privada
Se a implantação tiver um ponto final privado, você poderá conectar o Cloud Shell a uma rede com acesso à implantação usando a Rede do Cloud Shell ou criar um bastion, uma sessão bastion e um túnel SSH.
Por padrão, o Cloud Shell limita o acesso à rede aos recursos internos do OCI em sua região home da tenancy, a menos que você tenha ativado a Rede Pública gerenciada pelo Cloud Shell. Seu administrador deve configurar uma política de Identidade para ativar a Rede Pública do Cloud Shell. Para obter mais informações, consulte Rede do Cloud Shell.
Para estabelecer conexão com uma implantação privada do OCI GoldenGate no Admin Client:
-
Na barra de navegação global da console do Oracle Cloud, selecione Ferramentas do desenvolvedor e, em seguida,Cloud Shell.
Observação: Se esta for a primeira vez que você se conecta ao Cloud Shell, poderá levar alguns minutos para se conectar.
-
(Opcional) Execute o comando a seguir para gerar chaves SSH. Você poderá ignorar esta etapa se quiser gerar as chaves ao criar o bastion.
ssh-key gen -t rsaMantenha o nome do arquivo padrão e não informe uma frase-senha quando solicitado. A chave privada está localizada em
~/ssh/id_rsae a chave pública está localizada em~/ssh/id_rsa.pub. -
Na página detalhes da implantação, anote as informações de IP e sub-rede privados da implantação.
-
Criar um bastion:
-
No menu de navegação da console do Oracle Cloud, selecione Identidade e Segurança e, em seguida, Bastion.
-
Na página Bastion, selecione Criar bastion.
-
Na página Criar bastion, informe um nome e selecione a mesma sub-rede na qual a implantação reside.
-
Para Lista de permissões do bloco CIDR, informe
0.0.0.0/0. -
Selecione Create bastion.
-
-
Depois que o bastion estiver Ativo, crie uma sessão:
-
Na página de detalhes do bastion, selecione Criar sessão.
-
Na página Criar sessão, para Tipo de sessão, selecione Sessão de encaminhamento de porta SSH.
-
Informe um Nome de sessão.
-
Para Conectar-se ao host de destino com o uso, selecione endereço IP e informe o endereço IP privado da implantação.
-
Para a Porta, informe
443. -
Para Adicionar chave SSH, selecione uma das seguintes opções:
-
Cole a chave SSH e cole o conteúdo da chave pública (
(~/ssh/id_rsa.pub) criada no Cloud Shell na Etapa 2 acima. -
Gerar um par De Chaves SSH
-
-
Selecione Criar sessão.
-
-
Depois que a sessão estiver Ativa, selecione Exibir comando SSH no menu Ação (ícone de reticência).
-
No diálogo de comando Exibir SSH, informe o caminho para a chave privada (
~/ssh/id_rsa) no lugar de<private-key>e substitua<local-port>pela porta no Cloud Shell que encaminhará a conexão para o bastion.Observação: O Cloud Shell não permite encaminhamento de porta em uma porta privilegiada com acesso
sudo, portanto, você deve usar uma porta não privilegiado como 7443. Depois que o comando for executado uma vez em primeiro plano para adicionar o Bastion host aknown_hosts, você poderá anexar um E comercial (&) ao final do comando, de modo que ele possa ser executado em segundo fundo da próxima vez. -
Copie o comando e execute-o no Cloud Shell. Você pode ignorar as mensagens do
bind: Cannot assign requested address.
Exemplos de chamadas de API REST
Opcionalmente, você pode armazenar seu nome de usuário e senha de implantação em um arquivo [.netrc](netrc.html). Os exemplos a seguir pressupõem que você esteja usando um arquivo .netrc.
Agora você pode enviar solicitações à sua implantação de replicação de dados usando curl. Por exemplo, o seguinte comando retorna a integridade da implantação:
curl -n -H "Content-Type: application/json" -H "Accept: application/json" -X GET https://<deployment URL>/services/v2/config/health
Listar arquivos de Trilha
curl -n -H "Content-Type: application/json" -H "Accept: application/json" -X GET https://<deployment URL>/services/v2/exttrails
Listar Extrações ou Replicat
Listar Extrações:
curl -n -H "Content-Type: application/json" -H "Accept: application/json" -X GET https://<deployment URL>/v2/extracts
Replicações da Lista:
curl -n -H "Content-Type: application/json" -H "Accept: application/json" -X GET https://<deployment URL>/v2/replicats
Recuperar detalhes de Extract ou Replicat
Recuperar detalhes da Extração:
curl -n -H "Content-Type: application/json" -H "Accept: application/json" -X GET https://<deployment URL>/v2/extracts/<extract name>
Recuperar detalhes do Replicat:
curl -n -H "Content-Type: application/json" -H "Accept: application/json" -X GET https://<deployment URL>/v2/replicats/<replicat name>
Criar um Processo de Extract
Primeiro, crie um documento JSON que contenha a configuração do Extract. Por exemplo, esse arquivo pode ser usado para gerar um processo Extract chamado EATP usando a trilha E1 e capturando dados de SRC_OCIGGLL.*:
{
"config":[
"Extract EATP",
"ExtTrail E1",
"UseridAlias BLOGSRCATP",
"Table SRC_OCIGGLL.*;"
],
"source":{"tranlogs":"integrated"},
"credentials":{"alias":"BLOGSRCATP"},
"registration":{"optimized":false},
"begin":"now",
"targets":[{"name":"E1"}]
}
Em seguida, execute o seguinte comando para criar o processo de Extract:
curl -n -H "Content-Type: application/json" -H "Accept: application/json" -X POST https://<deployment URL>/services/v2/extracts/<Extract name> -d @<JSON file>.json
Criar um processo de Replicat
Primeiro, crie um documento JSON contendo a configuração do Replicat. Por exemplo, esse arquivo pode ser usado para gerar um Replicat chamado RADW usando a trilha E1 e replicando dados de SRC_OCIGGLL.* into SRCMIRROR_OCIGGLL.*:
{
"config":[
"REPLICAT RADW",
"UseridAlias BLOGTRGADW",
"MAP SRC_OCIGGLL.*, TARGET SRCMIRROR_OCIGGLL.*;"
],
"source":{"name": "E1"},
"credentials":{"alias":"BLOGTRGADW"},
"checkpoint":{"table":"SRCMIRROR_OCIGGLL.CHECKTABLE"},
"mode":{
"type":"nonintegrated",
"parallel": false
},
"registration":"none",
"begin":"now",
"status":"stopped"
}
Em seguida, execute o seguinte comando para criar o processo de Replicat:
curl -n -H "Content-Type: application/json" -H "Accept: application/json" -X POST https://<deployment URL>/services/v2/replicats/<Replicat name> -d @<JSON file>.json
Iniciar uma Extração ou Replicação
curl -n -H "Content-Type: application/json" -H "Accept: application/json" -X POST https://<deployment URL>/services/v2/commands/execute -d '{ "name":"start", "processName":"<Extract or Replicat name>"}'
Obter o status e as estatísticas de um determinado Extract
Obter status da extração:
curl -n -H "Content-Type: application/json" -H "Accept: application/json" -X POST https://<deployment URL>:<port>/services/v2/extracts/<extract name>/command -d '{"command":"STATUS"}'
Obter estatísticas de Extract:
curl -n -H "Content-Type: application/json" -H "Accept: application/json" -X POST https://<deployment URL>:<port>/services/v2/extracts/<extract name>/command -d '{"command":"STATUS"}'
Obter o status e as estatísticas de determinado Replicat
Obter status do Replicat:
curl -n -H "Content-Type: application/json" -H "Accept: application/json" -X POST https://<deployment URL>:<port>/services/v2/replicats/<replicat name>/command -d '{"command":"STATUS"}'
Obter estatísticas de Replicat:
curl -n -H "Content-Type: application/json" -H "Accept: application/json" -X POST https://<deployment URL>:<port>/services/v2/replicats/<replicat name>/command -d '{"command":"STATS"}'
Saiba mais
Saiba mais sobre APIs REST do Oracle GoldenGate: