23 Mayıs 2023 Salı

Oracle Cloud Infrastructure - OCI

SDK
Oracle Cloud Infrastructure altyapıya erişim için aynı AWS gibi SDK sağlıyor

Maven
Şu satırı dahil ederiz
<dependency>
  <groupId>com.oracle.oci.sdk</groupId>
  <artifactId>oci-java-sdk-common</artifactId>
  <version>3.2.0</version>
</dependency>
<dependency>
  <groupId>com.oracle.oci.sdk</groupId>
  <artifactId>oci-java-sdk-common-httpclient-jersey</artifactId>
  <version>3.2.0</version>
</dependency>
<dependency>
  <groupId>com.oracle.oci.sdk</groupId>
  <artifactId>oci-java-sdk-identity</artifactId>
  <version>3.2.0</version>
</dependency>
Burada bir örnek var

OCI GoldenGate
Açıklaması şöyle. Change Data Capture (CDC) içindir.
OCI offers a fully managed NoSQL Cloud Database, a robust alternative to Amazon DynamoDB, and a comprehensive Change Data Capture tool known as OCI GoldenGate. 

8 Mart 2023 Çarşamba

Kafka Connect OracleCdcSourceConnector

Bir yazı burada

Oracle LogMiner

Giriş
Hem Kafka Connect hem de Debezium bu arayüzü kullanııyor

Kafka Connect 
Kafka Connect için açıklaması şöyle
This connector uses the Oracle LogMiner interface to query online and archived redo log files. That’s an Oracle specific way to stream both the DML and DDL directly from the redo of the database. This is similar to how the Debezium project reads the Postgres write-ahead log or the MySQL binlog.

Debezium 
Debezium için açıklaması şöyle
Debezium ingests change events using Oracle’s native LogMiner database package. Oracle LogMiner is part of the Oracle Database utilities and provides a well-defined, easy-to-use, and comprehensive interface for querying online and archived redo log files.

The first time the Debezium Oracle connector starts, it performs an initial consistent snapshot of the database to see its entire history. You can change this behavior by setting the snapshot.mode. After the connector completes its initial snapshot, the Debezium connector continues streaming from the position it reads from the current system change number (SCN) position in the redo log. The initial snapshot ensures that the connector has a complete and consistent data set.

The Debezium connector for Oracle Databases supports the following database versions:
Oracle Database 12.2 EE
Oracle Database 19.3 EE
Oracle Database 21.3 EE

The Oracle connector used with Oracle Real Application Clusters (RAC) is in Technology Preview (TP) for this release.

26 Ocak 2023 Perşembe

Oracle Goldengate

Kafka'dan Oracle NoSQL Veri Tabanına
Açıklaması şöyle
Oracle’s GoldenGate seamlessly orchestrates data replication from source to sink through remote capture processes, known as Extract and Replicat. The Extract process captures the data and records it to trail files. These trail files are then leveraged to create a Replicat process, effectively applying the records to the sink.
Şeklen şöyle


PostgreSQL Veri Tabanından Oracle Veri Tabanına
Şeklen şöyle Burada iki tane ürün var
1. Goldengate 21c OCI Marketplace for PostgreSQL
2. OCI Goldengate for Oracle




13 Aralık 2022 Salı

Oracle APEX

Giriş
Açıklaması şöyle
In a way, Oracle Forms can be considered the grand-grand-grandfather of Oracle APEX. The basic idea behind these technologies is the same — easy creation of data-driven web applications with a minimal amount of coding required. Oracle APEX takes this philosophy much further, however, and is a much more evolved and modern technology. Also, most (if not all) Forms modules have their APEX counterparts.

The history of Oracle APEX dates back to 1999 when it was known as Oracle HTML DB (there were also other names, such as Flows and Project Marvel). Over the years, many versions of this technology have been released, and a few groundbreaking features have been introduced — such as plug-ins, Interactive Grid, or REST and PWA support.

Just like Forms, Oracle APEX uses the PL/SQL programming language. However, in APEX, a simple data-driven application can be created entirely — or almost entirely — through the use of specialized Wizards that allow you to connect various ready-made elements and make them work together. You can set up basic business logic, create a layout and interface, and get things working without writing a single line of code. Of course, if you’re not afraid of the command line and have the necessary coding skills (or team up with someone skilled), you can still use them to deliver more complex and powerful solutions.

It’s also worth noting that APEX uses the same database that Forms does (Oracle DB), so it’s equally scalable, safe, and stable. You also retain access to important features, ML/AI modules, Spatial, and so on. The main difference is that, unlike Forms, APEX works in the cloud.

There are no plans to abandon the development of Oracle APEX. It’s quite the opposite: APEX is becoming popular in the world of low-code development and, thus, is actively developed and supported by Oracle – which is great news for your software. The current version of Oracle Application Express is 22.1, and it was released in May 2022.

Oracle Forms

Giriş
Açıklaması şöyle. Oracle Forms yerine APEX kullanılmalı
A Little Bit of History
Oracle Forms is a Rapid Application Development (RAD) tool that allows you to create data entry systems that use database objects (mostly information) from the Oracle Database. It uses the popular PL/SQL language. While originally Forms was a standalone product, currently, it’s a component of Oracle Fusion Middleware.

The first version of Oracle Forms was known by a different name — Interactive Application Facility (IAF) — and saw the light of day in 1981 (along with the second iteration of the Oracle Database). IAF was later renamed to FastForms and then SQL*Forms, which is where the current name comes from (it came along with version 4.0). The very first variant of this technology was only comprised of a compiler and a runtime interpreter, but it quickly grew and evolved.

The main reason Forms got popular is the relative simplicity and ease of use. Creating Oracle Forms applications is a very natural process — anyone with basic SQL and PL/SQL knowledge can handle it. The work usually comes down to modifying so-called triggers, which are event-handling functions used to generate specific effects (i.e., opening a form after a button is pressed, etc.). Because of this, many things can be done without or with minimal coding. You can also change the form layouts using object libraries.

The newest “big” version of Oracle Forms was delivered along with Fusion Middleware 12c and was released in October 2015. It’s commonly known as Oracle Forms 12c, but it’s worth pointing out that it has received several updates since its release — the current Forms version is 12.2.1.4.0 (dated September 2019).

In the Oracle Forms Statement of Direction from a year ago, the company openly states it has no plans for completely dropping support for Oracle Forms. However, the level of the provided support is another matter. Premier Support for Fusion Middleware 12c (and, thus, Oracle Forms 12c) will end in December 2023 (and Extended Support is next in line, ending in August 2025).

What’s more, Oracle Forms isn’t a future-proof technology. It won’t provide you with functionalities and features typical for current, cutting-edge web apps. It’s also hard to find people who can work with it effectively since young developers concentrate on other solutions for obvious reasons.

All of the above means that if you want your Oracle Forms-based software to stay stable and useful, you should start thinking about moving to another, more up-to-date technology now.

2 Aralık 2022 Cuma

Debezium Connector

Giriş
Eğer Oracle, Debezium için hazır değilse ayarları yapmak için bir yazı burada.

Oracle LogMiner Paketi
Oracle LogMiner Paketi yazısına bakabilirsiniz

Örnek
Şöyle yaparız
curl -i -X POST -H “Accept:application/json” -H “Content-Type:application/json” http://ip_kafka_connect:8083/connectors/ -d ‘
{
 “name”:”debezium-ora-001",
 “config”: {
   “connector.class”:”io.debezium.connector.oracle.OracleConnector”,
   “db_type”:”oracle”,
   “tasks.max”:”1",
   “database.server.name”:”hostname_of_database",
   “database.tablename.case.insensitive”:”true”,
   “database.oracle.version”:”12+”,
   “database.hostname”:”10.23.131.132",
   “database.port”:”1522",
   “database.user”:”c##xstrm”,
   “database.password”:”xs”,
   “database.dbname”:”dbz”,
   “database.pdb.name”:”dbz1",
   “database.out.server.name”:”dbzxout”,
   “database.history.kafka.bootstrap.servers”:”10.23.131.131:9092",
   “database.history.kafka.topic”:”debezium.oracle”,
   “database.history.skip.unparseable.ddl”:”true”,
   “include.schema.changes”:”true”,
   “table.whitelist”:”DEBEZIUM.CUSTOMERS”,
   “errors.log.enable”:”true”
   }
 }’