前提条件
このセクションでは、CData Sync でOracle 同期先コネクタを追加する前に完了しておく必要がある前提条件について説明します。サポートされているOracle のバージョンと、安全で信頼性の高いデータレプリケーションをサポートするための専用ユーザーアカウントの推奨作成方法について概説します。バージョンサポート
Sync は、Oracle 11g 以降への接続をサポートしています。ネイティブドライバーのインストール
Sync は、Java Database Connectivity(JDBC)ドライバーを使用してOracle Server に接続します。まだダウンロードしていない場合は、OracleJDBC and UCP Downloads ページからドライバーをダウンロードしてください。 JDBC ドライバーをlibs ディレクトリ(オペレーティングシステムによって異なります)にコピーし、サーバーを再起動します。
- Windows:
C:\ProgramData\CData\sync\libs - UNIX またはMac OS X:
~/cdata/sync/libs
Sync ユーザーの作成
十分な権限を持つ既存のデータベースユーザーを使用して、Oracle データベースに接続できます。ただし、ベストプラクティスとして、CData では、CData Sync 専用に使用する、最小限の権限を持つ新しいSync ユーザーとスキーマを作成することを推奨します。 Oracle SQL Developer で次のコマンドを送信して、新しいOracle ログインと、sync_user という名前の関連データベースユーザーを作成します。Oracle コネクタを追加
Oracle への認証
コネクタを追加したら、必要なプロパティを設定します。 CData Sync は、複数の方法でOracle への認証をサポートしています。以下から認証方法を選択して、認証の詳細が記載されている該当のセクションに進んでください。Security Identifier (SID)
SID を使用してOracle リソースに接続するには、次の設定を指定します。- User: Oracle データベースへの認証に使用するユーザー名を入力します。
- Password: Oracle データベースへの認証に使用するパスワードを入力します。
- Server: Oracle データベースをホストするサーバーのホスト名またはIP アドレスを入力します。デフォルトのサーバーはlocalhost です。
- Port: Oracle サーバーのポート番号を入力します。デフォルトのポートは1521 です。
- SID: Oracle データベースのSID を入力します。デフォルトのSID はORCL です。
Service Name
サービス名を使用してOracle リソースに接続するには、次の設定を指定します。- User: Oracle データベースへの認証に使用するユーザー名を入力します。
- Password: Oracle データベースへの認証に使用するパスワードを入力します。
- Server: Oracle データベースをホストするサーバーのホスト名またはIP アドレスを入力します。デフォルトのサーバーはlocalhost です。
- Port: Oracle サーバーのポート番号を入力します。デフォルトのポートは1521 です。
-
Service: Oracle データベースのサービス名を入力します。デフォルトのSID はORCL です。
サービス名を取得するには、Oracle SQL*PLUS コマンドラインから次のクエリを送信します。
SELECT * FROM global_name;Note: このクエリの結果はグローバルデータベース名を返します。これは、Oracle リスナーで定義されているサービス名と必ずしも一致するとは限りません。不明な点がある場合は、DBA に結果を確認するか、tnsnames.ora ファイルを確認して正しいサービス名を確認してください。
Data Source
データソースを使用してOracle リソースに接続するには、次の設定を指定します。- User: Oracle データベースへの認証に使用するユーザー名を入力します。
- Password: Oracle データベースへの認証に使用するパスワードを入力します。
- Data Source: Oracle データベースのデータソースを入力します。
接続を完了する
接続を完了するには:- 高度な設定 タブで詳細な接続設定を定義します。(ただし、ほとんどの場合、これらの設定は必要ありません。)
- 作成およびテストをクリックして接続を作成します。
Oracle Autonomous Database を同期先として設定
Oracle Autonomous Database は、OCI ドライバー経由でCData Sync のソースとして以前からサポートされています。Sync 21.0.8179.0 以降では、以下のセクションで説明するように、このデータベースを同期先としても設定できるようになりました。ステップ1:必要なDLL とライブラリの取得とインストール
最初のステップは、必要なDLL とライブラリを取得してインストールすることです。この手順は、Microsoft Windows(.NET)エディションを使用するか、Sync のJava エディションを使用するかによって異なります。 DLL とライブラリを取得してインストールするには:- お使いのバージョンのOracle Database 用のzip 形式のJDBC ドライバー(ojdbc8.jar)と付属のJAR ファイル(ojdbc8-full.tar.gz)をダウンロードします。
- ダウンロードしたojdbc8-full.tar.gz ファイルを展開します。
- 展開したファイルから次のファイルを、Sync のインストールディレクトリの
libsサブディレクトリにコピーします。- ojdbc8.jar
- oraclepki.jar
- osdt_core.jar
- osdt_cert.jar
- Sync を再起動します。
ステップ2:Oracle Autonomous Database をCData Sync の同期先として追加
これで、Oracle Autonomous Database をSync の同期先として追加できます。このステップでは、クライアント証明書認証を使用したMutual TLS(mTLS)で接続します。そのため、mTLS 用のウォレットをダウンロードして設定する必要があります。代わりにTLS 接続(クライアント証明書認証なし)を使用する場合は、ウォレットを設定する必要はありません。ただし、TLS 接続を使用するには、データベース設定のアクセス制御リスト(ACL)で接続元を制限する必要があります。 ステップ2では、次のタスクを実行する必要があります。- 接続情報を設定する。
- 同期先接続を追加する。
接続情報の設定
Oracle Autonomous Database 同期先の作成に必要な接続情報を取得するには:- Oracle Cloud で、接続先のデータベースのAutonomous Database 管理ウィンドウに移動します。
- Autonomous Database Information > Network> Access Control List を選択して、Sync をホストするマシンのIP アドレスをACL に追加します。
- Autonomous Database Details ウィンドウのDB Connection タブをクリックします。
- Wallet type フィールドでWallet instance を選択して、ウォレットファイルをダウンロードします。次に、Download wallet をクリックします。 秘密鍵を暗号化するためのパスワードの入力を求められます。Download Wallet モーダルで適切なパスワードを設定します。次に、Download をクリックして、ウォレットを含むZIP ファイルをダウンロードします。 Note: ここで設定したパスワードはSync では使用されません。 Download をクリックすると、Database Connection モーダルが表示されます。
- 接続先のTransparent Network Substrate(TNS)名の文字列(ダイアログボックスのConnection Strings セクション内)のコピーを保存します。この文字列は後の手順で必要になります。 この時点で、接続情報の準備は完了です。
Oracle 同期先コネクタを追加
Sync がOracle Autonomous データベースのデータを使用できるようにするには、まず次のようにコネクタを追加する必要があります。- Sync ダッシュボードの接続ページを開きます。
- 接続を追加をクリックしてコネクタを選択ページを開きます。
- 同期先タブをクリックし、Oracle (Native) 行を見つけます。
- その行の末尾にある接続を設定アイコンをクリックして、新しい接続ページを開きます。接続を設定アイコンが表示されない場合は、Download Connector アイコンをクリックしてOracle (Native) コネクタをインストールします。新しいコネクタのインストールの詳細については、接続を参照してください。
Oracle への認証
-
Connections Settings ページで次のプロパティの値を設定します。
- Name: 任意の接続名を入力します。
- Provider Class: Oracle.ManagedDataAccess.Client という値を入力します。
- Settings Format: Property List という値を入力します。
- Connection Type: ドロップダウンリストからData Source を選択します。
- User: Oracle Autonomous データベースへの認証に使用するユーザー名を入力します。
- Password: Oracle Autonomous データベースへの認証に使用するパスワードを入力します。
- Data Source: 「接続情報の設定」セクションの手順4でコピーした接続文字列を入力します。重要なのは、データソースに接続文字列を設定することです。この時点で、先ほどダウンロードしたウォレットのZIP ファイルを
C:\ProgramData\CData\sync\data\ディレクトリ(フォルダー)に解凍する必要があります。次に、そのパスを接続文字列で指定します。
-
作成およびテストをクリックして、接続が成功したことを確認します。
接続に成功しない場合は、Sync がウォレットファイルを読み取れないことが原因の可能性があります。MY_WALLET_DIRECTORY= パラメーターで指定するディレクトリ(フォルダー)に、Sync が実行されているプロセスのユーザーアカウントからアクセスできることを確認してください。
Note: ダウンロードしたウォレットのZIP ファイルには、さまざまなファイルが含まれています。ただし、Sync に接続するために必要なのはcwallet.sso ファイルのみです。ウォレット内のその他の主要ファイルでは、ダウンロード時に設定したパスワードで秘密鍵が暗号化されています。一方、cwallet.sso ファイルは秘密鍵が暗号化されない状態で保存されているため、パスワードを入力せずにクライアント証明書に接続できます。したがって、この例では、
C:\ProgramData\CData\sync\data\Wallet_XXX\cwallet.ssoディレクトリ(フォルダー)を指定するだけで接続できます。
データ型マッピング
CData Sync は、SQL Server データベースにデータをロードするときに、次のデータ型変換を使用します。
Note: Sync で利用できるほとんどの同期先では、カスタムカラムマッピングを使用できます。カラムマッピングの削除や調整、Sync のタスクへのさまざまな変換の適用については、カラムのマッピングを参照してください。
高度なジョブオプション
次の表に、Oracle 同期先接続で最も頻繁に使用される高度なジョブオプションを示します。使用可能なジョブオプションの完全な一覧については、高度なジョブオプションを参照してください。
Note: Sync のUI には表示されないStoresUppercaseIdentifiers オプションは、ジョブの高度な設定タブにあるレプリケートオプションカテゴリの追加オプションフィールドで設定します。
一般的な課題と解決方法
Oracle 同期先に接続すると、エラーが発生することがあります。一般的なエラーと問題は、次のカテゴリに分類されます。- インデックスの処理
- その他のエラーと問題