はじめに
Salesforce は多くの企業で基幹システムのフロントとして利用されていますが、以下のような要件を持つケースも増えています。
- 他の業務システムと横断的にデータを扱いたい
- SQL ベースで活用したい
- データ退避や長期保管のために別DBへ移したい
こうした背景から、Salesforce を単体の業務アプリケーションとしてではなく、データ基盤の一部として活用したい というニーズが高まっています。
Autonomous AI Database は異機種間接続をサポートしており、Oracle 以外のデータソースに対しても データベース・リンク(DB Link)を簡単に構成することができます。
本記事では、Autonomous AI Database と Salesforce を DB Link で連携し、
Oracle SQL から直接 Salesforce のデータを参照する方法について紹介します。
Oracle 管理の異種間接続による Oracle 以外のデータベースへのデータベース・リンクの作成
構成イメージ
Autonomous AI Database (OCI)
|
| DB LINK
|
Salesforce
※注意点
Autonomous AI Database の DB Link を利用して Salesforce にアクセスした場合、参照は出来ますが、更新はできません。
セットアップ手順
以下のリンクを参考に、Autonomous AI Database の準備をしてください
Oracle AI Database編 - Autonomous AI Database (ADB)を使ってみよう
① Salesforce 側の準備
Salesforce環境の以下を情報確認します。
- ログインURL
- ユーザー名
- パスワード
- セキュリティトークン
② OCIにてクレデンシャルの作成(Salesforceのログイン情報)
Autonomous AI Database の データベース・アクション のSQLを立ち上げ、以下のSQLを実行します
BEGIN
DBMS_CLOUD.CREATE_CREDENTIAL(
credential_name => 'SALESFORCE_CRED', -- 作成するクレデンシャル名(任意)
username => 'xxxxxxx@force.com', -- Salesforceのログインユーザ名
password => 'xxxxxxx' --パスワード
);
END;
③ベース・リンクの作成
BEGIN
DBMS_CLOUD_ADMIN.CREATE_DATABASE_LINK(
db_link_name => 'SALESFORCE_LINK', -- 作成するデータベース・リンク名(任意)
hostname => 'xxxxxx.my.salesforce.com', --Salesforceのホスト名
port => '19937',
service_name => 'salesforce',
ssl_server_cert_dn => null,
credential_name => 'SALESFORCE_CRED', -- 使用するクレデンシャル名(②で指定した名前)
gateway_params => JSON_OBJECT(
'db_type' value 'salesforce',
'security_token' value 'XXXXXXXXXXXX' -- セキュリティトークン
)
);
END;
/
④Salesforceへの問い合わせを実行
SELECT * FROM テーブル名@SALESFORCE_LINK;
まとめ
本記事では、Autonomous AI Database と Salesforce を DB Link で接続し、Oracle SQL から Salesforce のデータを取得する方法を紹介しました。
DB Link を利用することで、ETL ツールや中間基盤を使うことなく、Oracle Database から外部データソースを「テーブルのように」扱える点は大きなメリットです。
特に、
- Salesforce のデータを他DBとJOINしたい
- SQLベースで分析・加工したい
- データ退避・長期保管用途で別DBに集約したい
といったニーズがある場合、有効なアーキテクチャになり得ます。
ただし、
- DB Link 経由での更新は不可
- 常時連携したい場合は別サービスも検討する必要があること(OCI GoldenGate や Oracle Integration Cloudなど)
といった運用上のポイントは、設計段階で考慮しておく必要があります。
これらを理解した上で活用すれば、 Autonomous AI Database を「単なるDB」ではなく 異種データ統合のハブ(Sidecar) として利用することが可能になります。