技術ブログ
目次
本記事では、CData Sync を用いて、Oracle DatabaseからMySQLへのニアリアルタイム データ連携(論理レプリケーション)を構成する手順についてご説明します。
なお、弊社コーソルはCData パートナーであり、CData Syncの販売および導入、運用やトライアルの支援が可能です。
CData Syncは、非常に多くのデータベース製品、SaaS、アプリケーション、APIに対応したデータ連携ツールです。
以下の特徴を持ちます。
以下の記事でご紹介しているため、こちらをご覧ください。
ソースOracleについて、以下の作業を実行する必要があります。
上記作業の詳細については、以下の記事をご覧ください。
ターゲットデータベース側で、データの連携先となるデータベースとユーザーを準備します。 ここでは、データベースdb1およびユーザーu1を作成しています。
# mysql -uroot -p
Enter password:
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 9
Server version: 8.0.37 MySQL Community Server - GPL
Copyright (c) 2000, 2024, Oracle and/or its affiliates.
Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
mysql> CREATE DATABASE db1;
Query OK, 1 row affected (0.04 sec)
mysql> CREATE USER u1@'%' identified by 'Pass123-';
Query OK, 0 rows affected (0.03 sec)
mysql> GRANT ALL ON db1.* TO u1@'%';
Query OK, 0 rows affected (0.02 sec)
mysql> exit
Bye
#
CData Syncの管理コンソールで、ターゲットMySQLへの接続「tgt_my」を構成します。
CData Syncの管理コンソールで、ジョブ(レプリケーションジョブ)とタスクを作成します。
作成したジョブを実行します。
初回実行であるため、ターゲットMySQLに対してテーブルが作成され、ソースOracleのデータが連携されます(レプリケーションされます)。
# mysql -D db1 -u u1 -pPass123-
mysql: [Warning] Using a password on the command line interface can be insecure.
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 16
Server version: 8.0.37 MySQL Community Server - GPL
Copyright (c) 2000, 2024, Oracle and/or its affiliates.
Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
mysql> SELECT * FROM T1;
+---+------+----------------------------------------+
| N | S | _cdatasync_deleted |
+---+------+----------------------------------------+
| 1 | AAA | 0x00 |
| 2 | BBB | 0x00 |
| 3 | CCC | 0x00 |
+---+------+----------------------------------------+
3 rows in set (0.00 sec)
mysql>
なお、_cdatasync_deleted列は、ソースデータベースにおけるデータの削除状況を示すフラグのような役割をする列です。
ソースOracleのデータにデータを追加してから、ジョブを実行します。 ジョブの実行手順は初回実行と同じです。 2回目の実行であるため、前回のジョブ実行からの差分だけがデータ連携(レプリケーション)されます。
ソースOracleのデータにデータを追加
SQL> insert into u1.t1 VALUES(4,'DDD');
1 row created.
SQL> insert into u1.t1 VALUES(5,'EEE');
1 row created.
SQL> commit;
Commit complete.
SQL> SELECT * FROM u1.t1;
N S
---------- ----------------
1 AAA
2 BBB
3 CCC
4 DDD
5 EEE
SQL>
ジョブ実行後、ターゲットMySQLでデータを確認
mysql> SELECT * FROM T1;
+---+------+----------------------------------------+
| N | S | _cdatasync_deleted |
+---+------+----------------------------------------+
| 1 | AAA | 0x00 |
| 2 | BBB | 0x00 |
| 3 | CCC | 0x00 |
| 4 | DDD | 0x00 |
| 5 | EEE | 0x00 |
+---+------+----------------------------------------+
5 rows in set (0.00 sec)
mysql>
スケジュールを設定して、ジョブ実行を自動化することも可能です。 作業の詳細については、以下の記事をご覧ください。
弊社コーソルはCData パートナーであり、CData Syncの製品販売を行います。加えて、コーソルが得意とするデータベース技術領域を含めたCData Syncの導入、技術支援、サポートを行います。
CData Syncを用いたデータ連携をご検討されている場合は、ぜひコーソルへご相談いただければとと思います。
データベースのレプリケーションにおいては、データベース製品およびレプリケーション製品の両方の知識が必要です。このような知識を持つエンジニアの確保は一般に困難です。弊社のサービスがこの問題のお役に立てると考えております。
また、弊社からCData Syncを見積/購入いただくと、以下のサービスを無償でご提供いたします。
コーソルからデータベース関連製品をご購入いただくと、ORACLE MASTER Platinum 単年取得者数7年連続No.1、2016年6月以降 累計保持者数No.1という指標に裏付けされた高い技術力により、安心して製品を導入/利用いただけます。
ORACLE MASTER Platinumとは、2日間にわたる実技試験により認定されるOracle Database最高難度の資格です。 グローバルで有効な資格であり、海外では"Oracle Certified Master"と呼ばれます。
ORACLE MASTER Platinumとは何か / コーソルはPlatinum取得者数No.1!
Oracle Databaseについても製品販売、製品サポート、製品の導入を行います。また、リモート回線経由でスポット的なDBA実務を行うリモートDBAサービス、コンサルティングやベンダコントロールを含めたOracle Databaseプロフェッショナルサービスを時間制で提供する時間制コンサルサービスも提供しています。
データベース運用保守なら常駐しないリモートDBA
基幹系DB運用支援および製品サポートについては、3拠点体制による24時間365日対応が可能です。
コーソルは、Oracle Databaseをはじめとするデータベース製品に関する深い知識を活かし、多数のデータベース関連製品を取り扱っております。
これらの製品について、販売・導入・運用を様々な形でご支援します。お困りの際はぜひ弊社にお声がけくださいませ。