Oracleをデータパイプラインソースとして設定
SuiteAnalytics Connectサービスを使用してレコードを抽出し、宛先に同期するために、Oracleをデータパイプラインソースとして設定します。 このガイドには、NetSuite2をソースとして使用するためのコネクション設定、パイプライン構成、主要な動作が含まれています。
サポートされている機能
Oracleをデータパイプラインソースとして使用する場合、次の機能がサポートされます。
- Oracleデータベーステーブルからのデータ抽出
- 完全同期および増分同期のサポート
- テーブル抽出のフィールドレベル選択
- スキーマドリフトの検出と処理
- フィールドレベルのデータマスキング
前提条件
Oracleコネクションを作成する前に、次の設定があることを確認してください。
Oracleデータベースインスタンスへのアクセス
パイプラインで使用されるテーブルへの読み取りアクセス権を持つデータベースユーザー
次のコネクション詳細:
- データベースホスト
- データベースポート(通常は
1521) - データベース名(SIDまたはサービス名)
- データベースのユーザー名とパスワード
Oracleデータベースがプライベートネットワーク内で実行されている場合は、オンプレミスエージェントが設定され、アクティブであることを確認してください。
接続方法
Oracleコネクションを作成するには、次の手順を実行します。
ステップ1: Oracleデータベースユーザーを設定する
最低限、データベースユーザーアカウントには、コネクション設定で指定されたデータベースに対するSELECT権限が必要です。 権限を設定するには、次の例を参照してください。
権限の設定方法を確認するには、ここをクリックしてください
Oracleインスタンス内の名前付きスキーマ(
HR_PROD)に、新しいデータベースユーザーWORKATOを使用して接続する場合、次のサンプルクエリを使用できます。まず、Workatoでの連携ユースケース専用の新しいユーザーを作成します。
CREATE USER WORKATO IDENTIFIED BY password次に、このユーザーに
CONNECTを付与します。GRANT CONNECT TO WORKATO;これにより、ユーザーはOracleインスタンスへのログインアクセス権を持つことができます。 ただし、このユーザーはどのテーブルにもアクセスできません。
次のステップでは、
HR_PRODスキーマのSUPPLIERテーブルへのアクセス権を付与します。 この例では、SELECT権限とINSERT権限のみを付与します。GRANT SELECT,INSERT ON HR_PROD.SUPPLIER TO WORKATO;最後に、このユーザーに必要な権限があることを確認します。 すべての権限付与を確認するクエリを実行します。
SELECT * FROM DBA_ROLE_PRIVS WHERE GRANTEE = 'WORKATO'; SELECT * FROM DBA_TAB_PRIVS WHERE GRANTEE = 'WORKATO';これにより、WorkatoでOracleコネクションを作成するための次の最小権限が返されます。
+---------+--------------+--------------+--------------+ | GRANTEE | GRANTED_ROLE | ADMIN_OPTION | DEFAULT_ROLE | +---------+--------------+--------------+--------------+ | WORKATO | CONNECT | NO | YES | +---------+--------------+--------------+--------------+> +---------+---------+------------+---------+-----------+-----------+-----------+ | GRANTEE | OWNER | TABLE_NAME | GRANTOR | PRIVILEGE | GRANTABLE | HIERARCHY | +---------+---------+------------+---------+-----------+-----------+-----------+ | WORKATO | HR_PROD | SUPPLIER | ROOT | SELECT | NO | NO | | WORKATO | HR_PROD | SUPPLIER | ROOT | INSERT | NO | NO | +---------+---------+------------+---------+-----------+-----------+-----------+ 3 rows in set (0.61 sec)
ステップ2: OracleをWorkatoに接続する
OracleをWorkatoに接続するには、次の手順を実行します。
Workatoは次のOracleコネクションタイプをサポートしています:
- クラウドコネクション:Oracleデータベースがパブリックインターネット経由でアクセス可能な場合は、このオプションを使用します。
- オンプレミスエージェントコネクション:Oracleデータベースがプライベートネットワークで実行されており、接続を確立するためにオンプレミスエージェント(OPA)が必要な場合は、このオプションを使用します。
クラウドコネクション
Cloudコネクションを使用してに接続するには、次の手順を実行します:
作成 > コネクションをクリックします。
新規コネクションページで を検索して選択します。
コネクション名フィールドにコネクションの名前を入力します。
ロケーションドロップダウンメニューを使用して、コネクションを保存するプロジェクトを選択します。
Connection typeフィールドでCloudを選択します。
Database hostフィールドにデータベースホストアドレスを入力します。
サーバーが実行されているDatabase portの番号(通常は1521)を入力します。
Step 1で作成したデータベースユーザーのUser nameを入力します。
データベースユーザーのPasswordを入力します。
任意です。 Schemaフィールドにデータベーススキーマを入力します。
任意です。 Advanced settingsを展開して、追加のコネクションオプションを設定します。
接続をクリックします。
オンプレミスエージェントコネクション
Oracleデータベースがインターネットから直接アクセスできないプライベートネットワークに配置されている場合は、オンプレミスエージェントコネクションを使用します。
オンプレミスエージェント(OPA)を使用してに接続するには、次の手順を実行します:
作成 > コネクションをクリックします。
新規コネクションページで を検索して選択します。
コネクション名フィールドにコネクションの名前を入力します。
ロケーションドロップダウンメニューを使用して、コネクションを保存するプロジェクトを選択します。
Connection typeフィールドでon-prem groupを選択します。
Database typeを選択します。 使用可能なオプションには、Service name、SID、TNSがあります。
SIDおよびTNSデータベースタイプには、オンプレミスエージェントバージョン27.1以降が必要です。
詳細については、Database typesセクションを参照してください。
選択したDatabase typeに基づいて、次のフィールドを指定します:
Database typeとしてService nameまたはSIDを選択した場合は、次のフィールドに入力します:
Database hostフィールドにデータベースホストアドレスを入力します。
サーバーが実行されているDatabase portの番号(通常は1521)を入力します。
Step 1で作成したデータベースユーザーのUser nameを入力します。
データベースユーザーのPasswordを入力します。
任意です。 Schemaフィールドにデータベーススキーマを入力します。
任意です。 Advanced settingsを展開して、追加のコネクションオプションを設定します。
任意です。 Pooling settingsを展開して、Oracleデータベースコネクションプーリングを設定します。
任意です。 Additional properties for Oracle connectionを展開して、カスタムOracleコネクションパラメータを追加します。
接続をクリックします。
データベースタイプ
Workatoは、Oracleコネクションの作成時にコネクションタイプフィールドでオンプレミスグループを選択した場合にのみ、データベースタイプフィールドを表示します。
コネクションの設定手順については、ステップ2:OracleをWorkatoに接続するを参照してください。
オンプレミスエージェント(OPA)経由で接続する場合は、次のデータベースタイプオプションのいずれかを選択します。
サービス名
サービス名を使用して、Oracleインスタンス内のデータベースサービスに接続します。 例:ORCLPDB1。
ORACLE 12C+ PDB Environment
マルチテナントアーキテクチャ(CDB/PDB)を使用するOracle 12c以降のEnvironmentでは、SIDではなくサービス名を使用することをお勧めします。
これらのEnvironmentでは:
- SIDコネクションはCDBルートコンテナーに接続する場合があります
- サービス名コネクションは、特定のプラガブルデータベース(PDB)に接続できます
データベースユーザーがPDBに存在する場合、ユーザー名とパスワードが正しくても、CDBルート経由で接続すると認証に失敗することがあります。
サービス名を使用して、コネクションが正しいPDBを対象にするようにします。
サービス名には次の特徴があります:
- Oracleリスナーに登録されているデータベースサービスにマッピングする
- Real Application Clustersおよびロードバランシングをサポートする
- 特定のインスタンスではなく論理データベースサービスを識別する
ほとんどの最新のOracleデプロイメントでは、このオプションを使用します。
SID
SID(System Identifier)を使用して、特定のOracleデータベースインスタンスに接続します。 例:ORCL。
SIDには次の特徴があります:
- 単一のOracleデータベースインスタンスを識別する
- ロードバランシングをサポートしない
- 古いOracleデプロイメントで一般的に使用される
DBAがサービス名ではなくSIDを提供する場合は、このオプションを使用します。
TNS
TNSは、完全なOracle Net接続記述子がある場合に使用します。
TNS定義には次の特徴があります:
tnsnames.oraファイルで定義されたコネクションエントリを参照する- 基盤となるコネクションの詳細を抽象化する
- 内部でSIDまたはサービス名を使用する場合がある
- ロードバランシングや高可用性などの高度な設定をサポートする
TNS定義フィールドに完全なTNS記述子を入力します。 例:
(DESCRIPTION=
(ADDRESS=(PROTOCOL=TCP)(HOST=db.example.com)(PORT=1521))
(CONNECT_DATA=
(SERVICE_NAME=ORCLPDB1)
)
)パイプラインの設定
Oracleをデータパイプラインソースとして設定するには、次の手順を実行します。
Workatoアカウントに戻ります。
作成 > データパイプラインを選択します。
データパイプラインの名前を指定します。
データパイプライン設定
ロケーションドロップダウンメニューを使用して、データパイプラインを保存するプロジェクトを選択します。
ビルドを開始をクリックします。
ソースアプリから新規/更新済みレコードを抽出トリガーをクリックします。 このトリガーは、パイプラインがソースアプリケーションからデータを取得する方法を定義します。
Extract new/updated records from source appトリガーを設定
接続済みのソースアプリドロップダウンメニューを使用して、Oracleを選択します。
このパイプラインに使用するOracleコネクションを選択します。 または、+ 新規コネクションをクリックして新しいコネクションを作成します。
Oracleコネクションを選択
オブジェクトを追加をクリックして、オブジェクトモーダルを開きます。
Add object(オブジェクトを追加)
使用可能なOracleテーブルのリストを検索または参照し、同期するテーブルを選択します。
Addをクリックします。
選択した各テーブルのスキーマを確認し、カスタマイズします。 パイプラインは、選択した各テーブルのスキーマを自動的に取得し、宛先がソースと一致するようにします。
オブジェクトを展開
テーブルを展開して、そのフィールドを表示できます。 使用可能なすべてのデータを抽出するには、すべてのフィールドを選択したままにします。特定のフィールドを抽出およびスキーマレプリケーションから除外するには、そのフィールドの選択を解除します。
各テーブルの同期設定を構成します。
テーブルの横にある設定(歯車)アイコンをクリックします。
同期設定を構成
同期モードを選択します:
同期設定の変更による影響を確認します。
完全な再同期の動作
同期モードまたは変更追跡列を変更すると、次回のパイプライン実行時に影響を受けるテーブルの完全な再同期がトリガーされます。
完全な再同期中、パイプラインはそのテーブルのすべてのレコードを再読み込みします。 このプロセスにより、実行時間が長くなり、宛先にある既存のデータが再処理される可能性があります。
同じフローを使用して追加のテーブルを追加するには、もう一度オブジェクトを追加をクリックします。
スキーマ変更の処理方法を選択:
- スキーマ変更を自動的に検出して適用するには、新しいフィールドを自動同期を選択します。
- スキーマ変更を手動で管理するには、新しいフィールドをブロックを選択します。 このオプションを使用すると、ソーススキーマが更新された場合に宛先が同期されなくなる可能性があります。
同期されていないスキーマ変更は、スキーマドリフトとも呼ばれ、管理しないと問題が発生する可能性があります。 詳細については、スキーマドリフトセクションを参照してください。
頻度フィールドで、パイプラインがソースから宛先にデータを同期する頻度を設定します。 標準の時間ベースのスケジュールを選択するか、カスタムcron式を定義します。
サポートされるOracleテーブル
Oracleコネクターは、接続済みのOracleデータベースインスタンスで使用可能なほとんどのテーブルをサポートしています。 Workatoは、パイプライン設定中に使用可能なオブジェクトを入力するために、Oracleデータベースからテーブルメタデータとスキーマ情報を取得します。
選択可能なテーブルは、次によって異なります。
- Oracleデータベースで設定されているスキーマ
- コネクションに使用されるデータベースユーザーに付与された権限
Last updated:
同期設定を構成
同期設定を構成
同期頻度を構成
同期頻度を設定