株式会社コーソル

コーソルDatabaseエンジニアのブログ

技術ブログ

CData SyncによるOracle→ CSVファイル 全件エクスポート

Oracle ACE Proの渡部です。

本記事では、CData Sync を用いて、Oracle DatabaseのデータをCSVファイルとして全件エクスポートする構成をセットアップする手順について、ご説明します。

なお、弊社コーソルはCData パートナーであり、CData Syncの販売および導入、運用やトライアルの支援が可能です。

CData Syncとは

CData Syncは、非常に多くのデータベース製品、SaaS、アプリケーション、APIに対応したデータ連携ツールです。

以下の特徴を持ちます。

  • 同期元として400種以上の製品およびサービスに、同期先として30種程度のデータベース製品に対応
  • データベースからのChange Data Captureと、異種データベース間のロジカルレプリケーションに対応した製品としては、とても低価格
  • オンプレミス環境およびクラウド環境に対応
  • WebベースのGUI管理コンソールを用いて、お客様自身でデータレプリケーションを簡単に構成可能
  • 差分レプリケーション機能を持ち、サイズが非常に大きいデータでもデータレプリケーション可能。
  • Oracle Database、Microsoft Snowflake、MySQL、MySQL、MariaDB、IBM Db2、IBM InformixからのChange Data Captureに対応
  • エージェントレス構成であるため、既存システムへ最小限の影響で導入可能
  • 方式がロジカルレプリケーションであるため、レプリケーション中にデータを変換したり特定のSQLを伝搬対象から除外したりすることが可能
  • 組込みスケジュール機能によるレプリケーションの自動化が可能

対象ソフトウェアおよび環境

  • CData Sync
    • v25.1 (25.1.9242.0)
    • クロスプラットフォーム版(Java版、オンプレミス / セルフホスティング)
    • 稼働ホスト: Oracle Linux 8
    • systemdサービスとしてCData Syncを起動・運用
  • ソース データベース(同期元データベース)
    • Oracle Database 19c Standard Edition 2 (19.22)
    • データベース: 非CDB構成 / サービス名: n1922a
    • 稼働ホスト: Oracle Linux 8
    • CData Syncコネクタ: Oracle Connector 24.0.9210.0
  • ターゲット(同期先)
    • Local File Storage
    • 出力ファイル形式: CSV

CData Syncのインストール

以下の記事でご紹介しているため、こちらをご覧ください(CData Syncのバージョンは違いますが、おおむね同等です)。

ソースOracle関連の作業

ソースOracleについて、以下の作業を実行する必要があります。

  • CData SyncのOracle Connectorを導入
  • 導入したOracle Connectorをcdatasyncサービスがロードするように設定
  • ソースOracleの設定
  • CData SyncでソースOracleへの接続を構成
  • ソースOracleのユーザー/データの準備

上記作業の詳細については、以下の記事をご覧ください(CData Syncのバージョンは違いますが、おおむね同等です)。

ターゲットCSVファイル出力先ディレクトリの準備

CData Syncが稼働しているホストで、CSVファイルの出力先となるディレクトリを作成します。 CData Syncが稼働するOSユーザーで書き込み可能である必要があります。

ここでは、ディレクトリ /home/cdatasync/out を作成しています。

$ id
uid=1000(cdatasync) gid=1001(cdatasync) groups=1001(cdatasync)
$ mkdir /home/cdatasync/out

CData SyncでLocal File Storageターゲットへの接続を構成

CData Syncの管理コンソールで、Local File Storageターゲットへの接続「tgt_lfs」を構成します。

  1. 「接続」をクリック

  1. 「接続を追加」をクリック

  1. 「同期先」をクリック

  1. 検索ボックスに"Local"などと入力しENTER →「Local File Storage」が表示されるので、「接続を設定」をクリック

  1. Local File Storageターゲットに関する項目を入力し、「作成およびテスト」をクリック

  1. 「接続」をクリックすると、構成済みの接続一覧を確認できます。

CData Syncでジョブ(レプリケーションジョブ)とタスクを作成

CData Syncの管理コンソールで、でジョブ(レプリケーションジョブ)とタスクを作成します。

  1. 「ジョブ」をクリック

  1. 「ジョブを追加」→ 「新しいジョブを追加」をクリック

  1. 「名前」にジョブ名「ora2lfs_csv」を入力し、データソースにソースOracleに対応する接続「src_ora」を選択

  1. 「標準」を選択し、同期先にLocal File Storageターゲットに対応する接続「dst_lfs」を選択

  1. 「ジョブを追加」をクリック。ジョブが作成されました。

  1. 「タスク」をクリック

  1. 「タスクを追加」をクリック

  1. 検索欄に「t1」を入力してテーブルを絞り込み、表示された「[U1].[T1]」をターゲット表として選択し、「タスクを追加」をクリックします。

ジョブの初回実行

作成したジョブを実行します。

  1. ジョブ「ora2lfs_csv」の画面で「実行」をクリックします。

Local File StorageターゲットのURIで指定したディレクトリ以下に、ソースOracleの全件データを含むCSVファイルが作成されます(レプリケーションされます)。

$ find /home/cdatasync/out -type f
/home/cdatasync/out/T1/20250602125326995_1.csv
$ cat /home/cdatasync/out/T1/20250602125326995_1.csv
N,S
"1","AAA"
"2","BBB"
"3","CCC"
"4","DDD"
"5","EEE"
$

ソースOracleのデータを変更

ソースOracleのデータを変更します。

SQL> SELECT * FROM t1;

         N S
---------- ----------------
         1 AAA
         2 BBB
         3 CCC
         4 DDD
         5 EEE

SQL> INSERT INTO t1 VALUES( 6, 'FFF');

1 row created.

SQL> UPDATE t1 SET s = 'XXX' WHERE n = 2;

1 row updated.

SQL> DELETE t1 WHERE n = 3;

1 row deleted.

SQL> COMMIT;

Commit complete.

SQL> SELECT * FROM t1;

         N S
---------- ----------------
         1 AAA
         2 XXX
         4 DDD
         5 EEE
         6 FFF

SQL>

ジョブの2回目実行

ジョブを実行します(2回目)。ジョブの実行手順は初回実行と同じです。

Local File StorageターゲットのURIで指定したディレクトリ以下に、ソースOracleの全件データを含むCSVファイルが作成されます(レプリケーションされます)。 ジョブの種類に「標準」を選択したため、データ全件がデータ連携(レプリケーション)されます。

$ find /home/cdatasync/out -type f
/home/cdatasync/out/T1/20250602125326995_1.csv
/home/cdatasync/out/T1/20250602125636887_1.csv
$ cat /home/cdatasync/out/T1/20250602125636887_1.csv
N,S
"1","AAA"
"2","XXX"
"4","DDD"
"5","EEE"
"6","FFF"
$

ジョブ実行の自動化

スケジュールを設定して、ジョブ実行を自動化することも可能です。 作業の詳細については、以下の記事をご覧ください。

なぜコーソルからCData Syncを購入すべきなのか

弊社コーソルはCData パートナーであり、CData Syncの製品販売を行います。加えて、コーソルが得意とするデータベース技術領域を含めたCData Syncの導入、技術支援、サポートを行います。

CData Syncを用いたデータ連携をご検討されている場合は、ぜひコーソルへご相談いただければとと思います。

  • 製品販売 : CData Syncの販売
  • 製品導入 : CData Syncの設計および導入
  • 製品サポート: CData Syncの製品サポート
  • 技術支援 : トライアル支援、運用支援

コーソルからCData Syncを購入いただくと

データベースのレプリケーションにおいては、データベース製品およびレプリケーション製品の両方の知識が必要です。このような知識を持つエンジニアの確保は一般に困難です。弊社のサービスがこの問題のお役に立てると考えております。

また、弊社からCData Syncを見積/購入いただくと、以下のサービスを無償でご提供いたします。

  • お客様構成にあわせた簡易導入手順書の提供
  • CData Sync 30日間トライアルライセンスを使用したトライアルの支援
  • トライアル実施時に参考となるチェックリストの提供
  • CData Sync導入後の運用支援(各種Q&A、Web会議、設定変更作業など)

多数のOracle関連書籍を執筆

コーソルはORACLE MASTER Platinum 累計取得者数No.1

コーソルからデータベース関連製品をご購入いただくと、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サービスを提供可能

Oracle Databaseについても製品販売、製品サポート、製品の導入を行います。また、リモート回線経由でスポット的なDBA実務を行うリモートDBAサービス、コンサルティングやベンダコントロールを含めたOracle Databaseプロフェッショナルサービスを時間制で提供する時間制コンサルサービスも提供しています。

データベース運用保守なら常駐しないリモートDBA

基幹系DB運用支援および製品サポートについては、3拠点体制による24時間365日対応が可能です。

コーソルは多数のデータベース関連製品を取り扱っています

コーソルは、Oracle Databaseをはじめとするデータベース製品に関する深い知識を活かし、多数のデータベース関連製品を取り扱っております。

  • オラクル製品全般 (Oracle Database, Oracle Cloud, Oracle GoldenGate, Oracle WebLogic Serverなど)
  • Dbvisit Standby
  • SharePlex for Oracle
  • CData Sync
  • Qlik Replicate
  • Solarwinds Database Performance Analyzer (DPA)
  • Toad for Oracle / Toad for Snowflake
  • MaxGuage
  • Spotlight for Oracle / Spotlight for Snowflake
  • SIOS LifeKeeper
  • Delphix
  • PISO
  • D'amo
  • Nutanix Database Service (NDB)

これらの製品について、販売・導入・運用を様々な形でご支援します。お困りの際はぜひ弊社にお声がけくださいませ。

プロフィール

On7tWW6m1Ul4

渡部 亮太

・Oracle ACE
・AWS Certified Solutions Architect - Associate
・ORACLE MASTER Platinum Oracle Database 11g, 12c 他多数

カテゴリー

アーカイブ