Coder Social home page Coder Social logo

debezium-incubator's Introduction

License Maven Central Build Status User chat Developer chat Google Group Stack Overflow

Copyright Debezium Authors. Licensed under the Apache License, Version 2.0.

Debezium Incubator

Debezium is an open source project that provides a low latency data streaming platform for change data capture (CDC).

Note, Dec. 2020: We're moving away from a model of a shared incubator repo, instead there'll be dedicated repos for each incubating and/or community-led connector. The Oracle connector is the last remaining connector in this repository, which will be renamed accordingly soon.

This repository contains incubating connectors and modules which are in an early stage of their development. You are encouraged to explore these connectors and test them, but typically they are not recommended yet for production usage. E.g. the format of emitted messages may change, specific features may not be implemented yet etc.

Once connectors are deemed mature enough, they may be promoted into the Debezium main repository.

Building Debezium Incubator Modules

Please see the README.md in the main repository for general instructions on building Debezium from source (prerequisites, usage of Docker etc).

Building the Oracle connector

Note: The Debezium Oracle connector currently exclusively uses the XStream API for ingesting change events from the Oracle database; using this API in production requires to have a license for the Golden Gate product. We're going to explore alternatives to XStream which may be friendly in terms of licensing.

In order to build the Debezium Oracle connector, the following prerequisites must be met:

  • Oracle DB is installed, enabled for change data capturing and configured as described in the README.md of the debezium-vagrant-box project (Running Oracle in VirtualBox is not a requirement, but we found it to be the easiest in terms of set-up)
  • The Instant Client is downloaded (e.g. from here for Linux) and unpacked
  • The xstream.jar from the Instant Client directory must be installed to the local Maven repository:
mvn install:install-file \
  -DgroupId=com.oracle.instantclient \
  -DartifactId=xstreams \
  -Dversion=12.2.0.1 \
  -Dpackaging=jar \
  -Dfile=xstreams.jar

Then the Oracle connector can be built like so:

$ mvn clean install -pl debezium-connector-oracle -am -Poracle -Dinstantclient.dir=/path/to/instant-client-dir

Oracle Log Miner

If the connector is to be built and tested using the Oracle Log Miner implementation, it can be built like so:

$ mvn clean install -pl debezium-connector-oracle -am -Poracle,logminer -Dinstantclient.dir=/home/to/instant-client-dir

For Oracle 11g

To run Debezium Oracle connector with Oracle 11g, add these additional parameters. If running with Oracle 12c+, leave these parameters to default. Note: The required configuration values will be determined automatically in a future version, making these parameters potentially obsolete.

"database.tablename.case.insensitive": "true"
"database.oracle.version": "11"

By default, Debezium will ignore some admin tables in Oracle 12c. But as those tables are different in Oracle 11g, Debezium will report an error on those tables. So when use Debezium on Oracle 11g, use table.include.list (remember to use lower case):

"table.include.list": "orcl\\.debezium\\.(.*)"

Making this configuration obsolete is tracked under DBZ-1045.

Contributing

The Debezium community welcomes anyone that wants to help out in any way, whether that includes reporting problems, helping with documentation, or contributing code changes to fix bugs, add tests, or implement new features. See this document for details.

debezium-incubator's People

Contributors

andreyig avatar ani-sha avatar ant0nk avatar debezium-builder avatar elgca avatar grantcooksey avatar grzegorz8 avatar gunnarmorling avatar jchipmunk avatar jgao54 avatar jpechane avatar krizhan avatar lga-zurich avatar naros avatar nielspardon avatar pradeepmvn avatar rk3rn3r avatar wangzheng422 avatar xuan616 avatar zrlurb avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.