CData Sync App は、Oracle データをデータベース、データレイク、またはデータウェアハウスに継続的にパイプライン化する簡単な方法を提供し、分析、レポート、AI、および機械学習で簡単に利用できるようにします。
Oracle OCI コネクタはCData Sync アプリケーションから使用可能で、Oracle OCI からデータを取得して、サポートされている任意の同期先に移動できます。
Sync App アプリケーションの接続 ページに移動し、接続の追加 パネルで対応するアイコンを選択して、Oracle OCI への接続を作成します。Oracle OCI アイコンが利用できない場合は、Add More アイコンをクリックしてCData サイトからOracle OCI コネクタをダウンロードおよびインストールします。
必須プロパティは[設定]タブにリストされています。[Advanced]タブには、通常は必要ない接続プロパティが表示されます。
Application Data-Source ウィザードを使用してOracle コネクタをダウンロードする場合は、ネイティブライブラリはOracle ドライバーと一緒にダウンロードされます。これらのライブラリはアプリケーションフォルダのwww/bin ディレクトリに配置されます。Oracle OCI ディレクトリを含めるように環境変数を編集するか、この環境変数の既存のパスにOracle OCI ディレクトリをコピーする必要があります。その後、アプリケーションを再起動してOracle ネイティブライブラリをロードします。
適切なライブラリをPATH に追加したのち、次を設定して接続します。
例:
DataSource='(DESCRIPTION=(ADDRESS=(protocol_address_information))(CONNECT_DATA= (SERVICE_NAME=service_name)))'
接続文字列は以下のようになります。
LDAPUri=ldap://myldap.com:389/SERVICE_EXMPL,cn=OracleContext,dc=example,dc=com; User=ORACLEUSER; Password=OracleUserPassword;この接続タイプは、Oracle とLDAP の両方のユーザー名とパスワードが必要であることに注意してください。ただしシステム管理者が匿名でのLDAP ログインを許可している場合は、LDAP のユーザー名とパスワードは必要ありません。
Oracle offers 2 different methods for tracking the changes from your source database:
Oracle Flashback is a lightweight solution that provides an efficient tracking mechanism for CData Sync. Once configured on your tables, Sync can execute Flashback queries on the source table to determine what changes have been made to the table since the previous run.
Oracle Logminer tracks changes in the redo logs allowing Sync to read those logs to determine the changes to a specfic table. The main difference vs. Orcale Flahsback is Sync does not interact with the source table. Instead, Sync reads directly from logs which has lower impact on the source database.
--Check if ArchiveLog is enabled already
SELECT LOG_MODE FROM V$DATABASE
--If LOG_MODE does not equal ARCHIVELOG
SHUTDOWN IMMEDIATE;
STARTUP MOUNT;
ALTER DATABASE ARCHIVELOG;
ALTER DATABASE OPEN;
RMAN> CONFIGURE RETENTION POLICY TO RECOVERY WINDOW OF 7 DAYS;
--Database level
ALTER DATABASE ADD SUPPLEMENTAL LOG DATA (ALL) COLUMNS
--Table level
ALTER TABLE <schema_name>.<table_name> ADD SUPPLEMENTAL LOG DATA (ALL) COLUMNS
In CData Sync, create a Job with you Oracle source and select the Use Change Data Capture option.
CREATE TABLESPACE <tablespace_name> DATAFILE SIZE 100M AUTOEXTEND ON MAXSIZE 200M;
CREATE FLASHBACK ARCHIVE <archive_name> TABLESPACE <tablespace_name> RETENTION 7 DAY;
RETENTION specifies the time period for which archive information is kept in your database. It is best to set a larger window to give Sync time to resolve conflicts and errors. If the last successful Job run is outside the retention period (i.e. RETENTION is set to 7 Days but the last successful sync was 8 days previous), Sync will automatically replicate the full table to ensure no changes were missed. ALTER TABLE <table_name> FLASHBACK ARCHIVE <archive_name>;
Note: To use Flashback, each table must have at least 1 Primary Key.In CData Sync, create a Job with you Oracle source and select the Use Oracle Flashback option.
このセクションでは、Oracle OCI Sync App の高度な機能を厳選して説明します。
SSL の設定 を使用して、Sync App が証明書のネゴシエーションをどのように扱うかを調整します。さまざまな証明書形式を選択できます。 詳しくは、接続文字列オプションにあるSSLServerCert プロパティを参照してください。
Windows プロキシを含むファイアウォールとプロキシ に合致するようSync App を設定します。トンネル接続を設定することもできます。
CData ログを調整するために使用可能な設定の概要については、ログ を参照してください。基本的なロギングでは、 次の2つの接続プロパティを設定するだけです。LogModules 接続プロパティを使用してログに記録する情報のサブセットを選択できる、 より洗練されたロギングをサポートする多数の機能があります。
デフォルトでは、Sync App はサーバーの証明書をシステムの信頼できる証明書ストアと照合してSSL / TLS のネゴシエーションを試みます。
別の証明書を指定するには、利用可能なフォーマットについてSSLServerCert プロパティを参照してください。
次のプロパティを設定します。
プロパティ | 説明 |
ConnectionType | Connection properties to use for authentication. Accepted entries are Server, OracleTNS, LDAP. |
Server | Oracle データベースをホスティングしているサーバーのホスト名またはIP アドレス。 |
Port | Oracle データベースをホスティングしているサーバーに接続する際のポート。 |
ServiceName | Oracle データベースのサービス名。 |
User | 認証で使用されるOracle OCI ユーザーアカウント。 |
Password | ユーザーの認証で使用されるパスワード。 |
DataSource | Oracle ネット・サービス名、接続記述子(TNS 接続文字列とも呼ばれます)、または接続先のデータベースを識別する簡易な接続名。 |
LDAPUri | LDAP uri to connect the LDAP server. |
LDAPUser | The User account for LDAP server. |
LDAPPassword | The password for the LDAP user. |
LDAPVersion | The LDAP version used to connect to and communicate with the server. |
プロパティ | 説明 |
LogModules | ログファイルに含めるコアモジュール。 |
プロパティ | 説明 |
Location | テーブル、ビュー、およびストアドプロシージャを定義するスキーマファイルを格納するディレクトリへのパス。 |
BrowsableSchemas | このプロパティは、使用可能なスキーマのサブセットにレポートされるスキーマを制限します。例えば、BrowsableSchemas=SchemaA,SchemaB,SchemaC です。 |
Tables | このプロパティは、使用可能なテーブルのサブセットにレポートされるテーブルを制限します。例えば、Tables=TableA,TableB,TableC です。 |
Views | 使用可能なテーブルのサブセットにレポートされるビューを制限します。例えば、Views=ViewA,ViewB,ViewC です。 |
IncludeSynonyms | Query meta data for synonyms as they are being the reqular tables. |
ShowMetadataDescriptions | Controls whether table and column descriptions are returned via the platform metadata APIs and sys_tables / sys_views / sys_tablecolumns. |
UseDBAMetadataViews | Query meta data from DBA_.. system views instead of ALL_.. system views. |
プロパティ | 説明 |
AllowPreparedStatement | クエリステートメントを実行前に準備します。 |
MaxLobSize | パラメータ化されていないSELECT クエリでクエリ可能なバイト数、もしくはUTF-8 キャラクタ数。 |
MaxRows | クエリで集計またはグループ化を使用しない場合に返される行数を制限します。これにより、設計時にパフォーマンスの問題を回避できます。 |
Other | これらの隠しプロパティは特定のユースケースでのみ使用されます。 |
QueryPassthrough | このオプションは、クエリをOracle OCI サーバーにas-is で渡します。 |
ReconnectTimeout | 最大アイドル時間超過エラーでサーバーに再接続を試みるまでのスリープ時間(秒)。 |
ReconnectTries | 最大アイドル時間超過エラーがサーバーから返された際に、サーバーへの接続を再試行する回数。 |
このセクションでは、本プロバイダーの接続文字列で設定可能なAuthentication プロパティの全リストを提供します。
プロパティ | 説明 |
ConnectionType | Connection properties to use for authentication. Accepted entries are Server, OracleTNS, LDAP. |
Server | Oracle データベースをホスティングしているサーバーのホスト名またはIP アドレス。 |
Port | Oracle データベースをホスティングしているサーバーに接続する際のポート。 |
ServiceName | Oracle データベースのサービス名。 |
User | 認証で使用されるOracle OCI ユーザーアカウント。 |
Password | ユーザーの認証で使用されるパスワード。 |
DataSource | Oracle ネット・サービス名、接続記述子(TNS 接続文字列とも呼ばれます)、または接続先のデータベースを識別する簡易な接続名。 |
LDAPUri | LDAP uri to connect the LDAP server. |
LDAPUser | The User account for LDAP server. |
LDAPPassword | The password for the LDAP user. |
LDAPVersion | The LDAP version used to connect to and communicate with the server. |
Connection properties to use for authentication. Accepted entries are Server, OracleTNS, LDAP.
Together with Password and User, this field is used to choose connection properties that are used to authenticate against the server. Server is the default option. Use the following options:
Oracle データベースをホスティングしているサーバーのホスト名またはIP アドレス。
Oracle データベースをホスティングしているサーバーのホスト名またはIP アドレス。
Oracle データベースをホスティングしているサーバーに接続する際のポート。
Oracle データベースをホスティングしているサーバーに接続する際のポート。
Oracle データベースのサービス名。
XE などのOracle データベースのサービス名。
この値はOracle SQL コマンドラインからglobal_name をクエリすることで取得できます。
Oracle ネット・サービス名、接続記述子(TNS 接続文字列とも呼ばれます)、または接続先のデータベースを識別する簡易な接続名。
Oracle ネット・サービス名、接続記述子(TNS 接続文字列とも呼ばれます)、または接続先のデータベースを識別する簡易な接続名。
LDAP uri to connect the LDAP server.
LDAP uri to connect the LDAP server and find out the Oracle's service name stored on LDAP server in the TNS record format.
The User account for LDAP server.
Use it when your LDAP server requires authorization to bind. Leave it empty otherwise.
The password for the LDAP user.
Use it when your LDAP server requires authorization to bind. Leave it empty otherwise.
The LDAP version used to connect to and communicate with the server.
Set this property to 2 or 3. The Sync App connects to a standard LDAP client as specified in RFC 1777, 2251, and other LDAP RFCs.
ログファイルに含めるコアモジュール。
指定された(';' で区切られた)モジュールのみがログファイルに含まれます。デフォルトではすべてのモジュールが含まれます。
概要はログ ページを参照してください。
このセクションでは、本プロバイダーの接続文字列で設定可能なSchema プロパティの全リストを提供します。
プロパティ | 説明 |
Location | テーブル、ビュー、およびストアドプロシージャを定義するスキーマファイルを格納するディレクトリへのパス。 |
BrowsableSchemas | このプロパティは、使用可能なスキーマのサブセットにレポートされるスキーマを制限します。例えば、BrowsableSchemas=SchemaA,SchemaB,SchemaC です。 |
Tables | このプロパティは、使用可能なテーブルのサブセットにレポートされるテーブルを制限します。例えば、Tables=TableA,TableB,TableC です。 |
Views | 使用可能なテーブルのサブセットにレポートされるビューを制限します。例えば、Views=ViewA,ViewB,ViewC です。 |
IncludeSynonyms | Query meta data for synonyms as they are being the reqular tables. |
ShowMetadataDescriptions | Controls whether table and column descriptions are returned via the platform metadata APIs and sys_tables / sys_views / sys_tablecolumns. |
UseDBAMetadataViews | Query meta data from DBA_.. system views instead of ALL_.. system views. |
テーブル、ビュー、およびストアドプロシージャを定義するスキーマファイルを格納するディレクトリへのパス。
Sync App のスキーマファイル(テーブルとビューの場合は.rsd ファイル、ストアドプロシージャの場合は.rsb ファイル)を含むディレクトリへのパス。このフォルダの場所は、実行ファイルの場所からの相対パスにすることができます。Location プロパティは、定義をカスタマイズしたり(例えば、カラム名を変更する、カラムを無視するなど)、新しいテーブル、ビュー、またはストアドプロシージャでデータモデルを拡張する場合にのみ必要です。
指定しない場合、デフォルトの場所は"%APPDATA%\\CData\\OracleOci Data Provider\\Schema" となり、%APPDATA% はユーザーのコンフィギュレーションディレクトリに設定されます:
このプロパティは、使用可能なスキーマのサブセットにレポートされるスキーマを制限します。例えば、BrowsableSchemas=SchemaA,SchemaB,SchemaC です。
スキーマをデータベースからリストすると、負荷がかかる可能性があります。接続文字列でスキーマのリストを提供すると、 パフォーマンスが向上します。
このプロパティは、使用可能なテーブルのサブセットにレポートされるテーブルを制限します。例えば、Tables=TableA,TableB,TableC です。
テーブルを複数のデータベースからリストすると、負荷がかかる可能性があります。接続文字列でテーブルのリストを提供すると、Sync App のパフォーマンスが向上します。
このプロパティは、作業したいビューがすでにわかっていて、ビューが多すぎる場合に、ビューを自動的にリストする代わりに使用することもできます。
カンマ区切りのリストで使用したいテーブルを指定します。各テーブルは、角かっこ、二重引用符、またはバッククオートを使用してエスケープされた特殊文字列を含む有効なSQL 識別子である必要があります。 例えば、Tables=TableA,[TableB/WithSlash],WithCatalog.WithSchema.`TableC With Space` です。
複数のスキーマまたはカタログを持つデータソースに接続する場合は、複数のカタログやスキーマに存在するテーブル間の曖昧さを避けるため、最後の例のように、このプロパティにテーブルの完全修飾名を指定する必要があることに注意してください。
使用可能なテーブルのサブセットにレポートされるビューを制限します。例えば、Views=ViewA,ViewB,ViewC です。
ビューを複数のデータベースからリストすると、負荷がかかる可能性があります。接続文字列でビューのリストを提供すると、Sync App のパフォーマンスが向上します。
このプロパティは、作業したいビューがすでにわかっていて、ビューが多すぎる場合に、ビューを自動的にリストする代わりに使用することもできます。
カンマ区切りのリストで使用したいビューを指定します。各ビューは、角かっこ、二重引用符、またはバッククオートを使用してエスケープされた特殊文字列を含む有効なSQL 識別子である必要があります。 例えば、Views=ViewA,[ViewB/WithSlash],WithCatalog.WithSchema.`ViewC With Space` です。
複数のスキーマまたはカタログを持つデータソースに接続する場合は、複数のカタログやスキーマに存在するテーブル間の曖昧さを避けるため、最後の例のように、このプロパティにテーブルの完全修飾名を指定する必要があることに注意してください。
Query meta data for synonyms as they are being the reqular tables.
By default, the Sync App maps synonyms to its parent tables and queries columns and primary/foreign key meta data for them like they are being the regular tables. If property is set to false, then the Sync App is only listing synonyms and is not mapping them to the regular tables.
Setting the property to false is increasing meta-data performance. Consider it if you don't need to request meta-data of synonyms automatically.
Controls whether table and column descriptions are returned via the platform metadata APIs and sys_tables / sys_views / sys_tablecolumns.
By default table and column descriptions are not shown, since the Oracle OCI requires an extra join in meta-query beyond what is usually required to read system views describing the object comments.
Enabling this option will show table and column descriptions. This can slow down metadata operations on large datasets.
Query meta data from DBA_.. system views instead of ALL_.. system views.
By default, the Sync App queries meta data for the objects accessible to the current user. If the UseDBAMetadataViews property is set to true, then the Sync App will query meta data for all respective objects in the database.
This option will not work if current user has insufficient privileges to access DBA_.. system views.
このセクションでは、本プロバイダーの接続文字列で設定可能なMiscellaneous プロパティの全リストを提供します。
プロパティ | 説明 |
AllowPreparedStatement | クエリステートメントを実行前に準備します。 |
MaxLobSize | パラメータ化されていないSELECT クエリでクエリ可能なバイト数、もしくはUTF-8 キャラクタ数。 |
MaxRows | クエリで集計またはグループ化を使用しない場合に返される行数を制限します。これにより、設計時にパフォーマンスの問題を回避できます。 |
Other | これらの隠しプロパティは特定のユースケースでのみ使用されます。 |
QueryPassthrough | このオプションは、クエリをOracle OCI サーバーにas-is で渡します。 |
ReconnectTimeout | 最大アイドル時間超過エラーでサーバーに再接続を試みるまでのスリープ時間(秒)。 |
ReconnectTries | 最大アイドル時間超過エラーがサーバーから返された際に、サーバーへの接続を再試行する回数。 |
クエリステートメントを実行前に準備します。
AllowPreparedStatement プロパティがfalse に設定されている場合は、ステートメントは実行されるたびにパースされます。たくさんの異なるクエリを一回だけ実行する場合は、このプロパティをfalse に設定すると便利です。
同じクエリを繰り返し実行する場合は、このプロパティをデフォルトのtrue のままにしておくとパフォーマンスが向上します。クエリを準備することで、同じクエリを何度も繰り返しコンパイルすることを避けられます。ただし、プリペアドステートメントの場合、ステートメントが準備される間Sync App の接続をアクティブかつオープンに保つ必要があります。
パラメータ化されていないSELECT クエリでクエリ可能なバイト数、もしくはUTF-8 キャラクタ数。
MaxLobSize プロパティが0または負の値に設定されている場合、デフォルト値の2000バイトが代わりに使用されます。
クエリで集計またはグループ化を使用しない場合に返される行数を制限します。これにより、設計時にパフォーマンスの問題を回避できます。
クエリで集計またはグループ化を使用しない場合に返される行数を制限します。これにより、設計時にパフォーマンスの問題を回避できます。
これらの隠しプロパティは特定のユースケースでのみ使用されます。
以下にリストされているプロパティは、特定のユースケースで使用可能です。通常のドライバーのユースケースおよび機能では、これらのプロパティは必要ありません。
複数のプロパティをセミコロン区切りリストで指定します。
DefaultColumnSize | データソースがメタデータにカラムの長さを提供しない場合に、文字列フィールドのデフォルトの長さを設定します。デフォルト値は2000です。 |
ConvertDateTimeToGMT | 日時の値を、マシンのローカルタイムではなくGMT グリニッジ標準時に変換するかどうかを決定します。 |
RecordToFile=filename | 基底のソケットデータ転送を指定のファイルに記録します。 |
このオプションは、クエリをOracle OCI サーバーにas-is で渡します。
これが設定されていると、クエリはOracle OCI に直接渡されます。
最大アイドル時間超過エラーがサーバーから返された際に、サーバーへの接続を再試行する回数。
この値を設定すると、Sync App はサーバーから'ORA-02396: exceeded maximum idle time' エラーを取得した場合に自動で再接続します。ReconnectTries のデフォルト値は0に設定されており、この場合リクエストは再試行されません。