debezium-oracle-xtream

所属分类:Oracle数据库
开发工具:Shell
文件大小:8KB
下载次数:0
上传日期:2022-01-13 16:09:43
上 传 者sh-1993
说明:  Debezium+Oracle 19 usando XStream+事件中心
(Debezium + Oracle 19 usando XStream + Event Hubs)

文件列表:
connector.json (2350, 2022-01-14)
debezium-with-oracle-jdbc (0, 2022-01-14)
debezium-with-oracle-jdbc\Dockerfile (433, 2022-01-14)
debezium-with-oracle-jdbc\oracle_instantclient (0, 2022-01-14)
docker-compose.yaml (2403, 2022-01-14)
ora-setup-scripts (0, 2022-01-14)
ora-setup-scripts\setup-xtream.sh (3736, 2022-01-14)
ora-startup-scripts (0, 2022-01-14)
ora-startup-scripts\01_create_customers.sh (981, 2022-01-14)
ora-startup-scripts\03_restart_capture.sh (220, 2022-01-14)

# Debezium + Oracle 19 usando XStream + Event Hubs Exemplo de utilizacao do Debezium + Oracle 19 usando XStream + Event Hubs Pre-requisito: docker. # Para executar 1) Crie um arquivo ".env" na raiz do diretorio com as variaveis de ambiente. Exemplo: ``` .env DEBEZIUM_VERSION=1.8 EH_NAME=eventhub-dev EH_CONNECTION_STRING=Endpoint=sb://eventhub-dev.servicebus.windows.net/;SharedAccessKeyName=RootManageSharedAccessKey;SharedAccessKey=XXX PWD=C:/github/debezium-oracle-logminer ``` Ou entao passe os valores ao executar o docker-compose 2) Acesse o site https://www.oracle.com/database/technologies/instant-client/linux-x86-***-downloads.html para baixar o instant client da oracle e coloque o conteudo dele (extraido) na pasta -> debezium-with-oracle-jdbc -> oracle_instantclient. Por questoes de licenca esse driver nao vem junto a imagem do debezium. O docker compose ira buildar uma imagem com o driver baixado manualmente na pasta -> debezium-with-oracle-jdbc -> oracle_instantclient. 3) Suba o compose ``` docker-compose up ``` 4) Espere ate que o oracle inicie e execute todos os scripts das pastas: ora-setup-scripts e ora-startup-scripts ... ... ... em torno de 10 min. 5) Cadastre o conector via API (https://debezium.io/documentation/reference/connectors/oracle.html), seguindo as instrucoes abaixo: ``` - Substituir os parametros antes de criar o conector. Exemplo usado: "Endpoint=sb://eventhub-dev.servicebus.windows.net/;SharedAccessKeyName=RootManageSharedAccessKey;SharedAccessKey=XXX", substitua pelo seu: "database.history.kafka.bootstrap.servers": "eventhub-dev.servicebus.windows.net:9093", "database.history.sasl.jaas.config": "org.apache.kafka.common.security.plain.PlainLoginModule required username=\"$ConnectionString\" password=\"Endpoint=sb://eventhub-dev.servicebus.windows.net/;SharedAccessKeyName=RootManageSharedAccessKey;SharedAccessKey=XXX\";", "database.history.producer.bootstrap.servers": "eventhub-dev.servicebus.windows.net:9093", "database.history.producer.sasl.jaas.config": "org.apache.kafka.common.security.plain.PlainLoginModule required username=\"$ConnectionString\" password=\"Endpoint=sb://eventhub-dev.servicebus.windows.net/;SharedAccessKeyName=RootManageSharedAccessKey;SharedAccessKey=XXX\";", "database.history.consumer.bootstrap.servers": "eventhub-dev.servicebus.windows.net:9093", "database.history.consumer.sasl.jaas.config": "org.apache.kafka.common.security.plain.PlainLoginModule required username=\"$ConnectionString\" password=\"Endpoint=sb://eventhub-dev.servicebus.windows.net/;SharedAccessKeyName=RootManageSharedAccessKey;SharedAccessKey=XXX\";", curl -i -X POST -H "Accept:application/json" -H "Content-Type:application/json" http://localhost:8083/connectors/ -d @connector.json ``` 6) Para conectar no banco use o usuario "debezium" e senha "dbz". O debezium ira usar o usuario "c##dbzuser" e senha "dbz" nas configuracoes do conector. ### Observacoes: - Serao gerados 3 hubs/topicos dentro do Event Hubs respectivamente chamados de oracle-dev-configs, oracle-dev-offsets e oracle-dev-status. Eles podem ser configurados dentro do docker-compose alterando as variaveis: CONFIG_STORAGE_TOPIC, OFFSET_STORAGE_TOPIC, STATUS_STORAGE_TOPIC. - Esses topicos serao usados pelo Debezium para controlar o estado dos conectores cadastrados e o ponto em que a leitura foi realizada ate o momento: offset. ### Conector verificar o status de um conector: http://localhost:8083/connectors/oracle-connector http://localhost:8083/connectors/oracle-connector/status # Para limpar o ambiente docker ``` docker-compose down ``` # Referencias https://docs.microsoft.com/en-us/azure/event-hubs/event-hubs-kafka-connect-tutorial https://github.com/Azure/azure-event-hubs-for-kafka/tree/master/tutorials/connect https://docs.microsoft.com/en-us/azure/event-hubs/event-hubs-kafka-connect-debezium https://debezium.io/documentation/reference/1.7/configuration/signalling.html https://www.youtube.com/watch?v=mzho5QS6CSk https://github.com/debezium/oracle-vagrant-box https://github.com/confluentinc/demo-scene/blob/master/oracle-and-kafka/docker-compose.yml https://github.com/Azure/azure-event-hubs-for-kafka/issues/61 https://github.com/debezium/docker-images/blob/main/connect-base/1.8/Dockerfile https://medium.com/@lmramos.usa/debezium-cdc-oracle-931c8a62023b https://developers.redhat.com/blog/2021/04/19/capture-oracle-database-events-in-apache-kafka-with-debezium#setting_up_your_oracle_database https://github.com/confluentinc/demo-scene/tree/master/no-more-silos-oracle

近期下载者

相关文件


收藏者