TL

Cloud Service

OCI Database Tools

DB 接続情報を一元管理し、ブラウザだけで SQL を実行できるマネージドな運用ツール群。クライアント導入なしで接続定義・資格情報・SQL ワークシートを扱える。AWS の RDS Query Editor に近い位置づけ。

基礎運用上の優秀性セキュリティ
最終更新: 2026-06-28公式ドキュメント ↗
TL;DR要点だけ先に
  • 1.DB 接続定義を一元管理し、資格情報は OCI Vault のシークレットで安全に扱う。
  • 2.ブラウザの SQL ワークシートでクライアント導入なしに SQL を実行できる。
  • 3.プライベートエンドポイントで VCN 内のプライベート DB にも到達できる。

解決する課題

  • 開発・運用のたびに DB の接続情報(ホスト・ポート・資格情報・ウォレット)を各人が持ち回るのをやめたい
  • DB へ接続するために 手元へ SQL クライアントやドライバを導入・管理する手間をなくしたい
  • ウォレットやパスワードを コードや設定ファイルに直書きせず、安全に保管したい
  • プライベートサブネットに置いた DB へ、踏み台を立てずに簡単に到達したい
  • AWS の RDS Query Editor のように、コンソールから直接 SQL を試したい

主要概念と用語

  • 接続(Connection): DB への接続定義を OCI 上のリソースとして保存したもの。接続先・ユーザー名・資格情報・ウォレットなどをまとめて管理する
  • SQL ワークシート(SQL Worksheet): OCI コンソール上で動くブラウザ型の SQL エディタ。保存した接続を選んでクエリを実行できる
  • プライベートエンドポイント(Private Endpoint): VCN 内のプライベートな DB へ到達するための接続点。Database Tools 側に作成し、接続から参照する
  • シークレット(Secret): パスワードやウォレットを保管する OCI Vault(KMS)のリソース。接続はこのシークレットを参照して資格情報を取得する
  • ウォレット(Wallet): Autonomous Database などへ mTLS 接続する際に必要な資格情報一式。シークレットとして保管できる
  • コンパートメント(Compartment): 接続やプライベートエンドポイントを論理分離して管理する OCI の枠組み(IAM の単位)
  • Work Request(作業リクエスト): 接続やプライベートエンドポイントの作成・更新を非同期ジョブとして実行する仕組み

仕様・制限・クォータ

  • 接続定義は Oracle Database(Autonomous Database / Base Database / Exadata) を主対象とし、JDBC で到達できる外部 DB(MySQL など)も扱える
  • 資格情報は接続に直書きせず、OCI Vault のシークレットを参照する形で保管する
  • プライベートサブネットの DB へは プライベートエンドポイントを作成して到達する。パブリック到達のみで完結はしない
  • SQL ワークシートはブラウザ動作のため、手元へのクライアント導入は不要。一方で大量データの一括処理など重い用途には向かない
  • 1 テナンシ/コンパートメントあたりの接続数・プライベートエンドポイント数などに サービス上限(クォータ) があり、必要に応じて引き上げ申請ができる
  • 具体的な上限値や対応バージョンは変動するため、要件確定時に公式ドキュメントで最新値を確認する

内部の仕組み

OCI Database Tools は、接続定義・資格情報・SQL 実行環境をマネージドに束ねるサービスです。利用者は DB ごとに「接続」を作成し、接続先情報とともに 資格情報を OCI Vault のシークレットとして紐づけます。実際の接続時にはサービスがシークレットから資格情報を取り出すため、パスワードやウォレットを利用者が直接持ち回る必要がありません。

DB がプライベートサブネットにある場合は、Database Tools に プライベートエンドポイントを作成し、接続からそれを参照します。これにより、踏み台サーバーや個別の VPN を用意しなくても、VCN 内のプライベートな DB へ到達できます。

SQL ワークシートは OCI コンソール内で動くブラウザ型のエディタで、保存した接続を選ぶだけで SQL を実行できます。クライアントやドライバを手元に導入する必要がなく、権限を持つ利用者であれば同じ接続定義を共有して使えます。

どんな場面で効くか

ちょっとした確認クエリやスキーマ調査、運用時のアドホックな SQL 実行に向きます。SQL Developer などの本格的なクライアントを各自に配るほどではないが、コンソールから安全に DB を触りたい、という運用のすき間を埋めるサービスです。

設計パターン / ベストプラクティス

  • 資格情報はシークレットに集約: パスワードやウォレットは OCI Vault のシークレットに保管し、接続からは参照だけにする
  • プライベート接続を基本にする: DB はプライベートサブネットに置き、プライベートエンドポイント経由で到達する
  • 接続をコンパートメントで分離: 環境(開発/本番)や用途ごとにコンパートメントを分け、IAM で権限を最小化する
  • 専用ユーザーで接続: 強権限の管理者ではなく、用途に応じた最小権限の DB ユーザーで接続定義を作る
  • 共有して属人化を防ぐ: 接続定義を共有資産として整備し、各人が独自に接続情報を持つ状態をなくす
  • 重い処理は別手段で: 大量データの移行や一括処理は Data Pump など専用手段に回し、ワークシートはアドホック用途に留める

運用・監視

  • 接続やプライベートエンドポイントの作成・更新は Work Request(非同期ジョブ) として実行され、進捗と結果を追跡できる
  • 接続の有効性は、コンソールやテスト機能で 接続テストを行って確認する
  • 操作は OCI Audit に記録され、誰がいつ接続を作成・変更したかを後から追跡できる
  • 資格情報を更新したら、対応する シークレットのバージョンを切り替えて接続へ反映する
  • プライベートエンドポイントが参照するサブネットの セキュリティリスト / NSG を見直し、DB への経路を保つ

コスト

OCI Database Tools 自体は、接続定義や SQL ワークシートの利用そのものに大きな課金が乗るタイプのサービスではありません。コストの中心は、プライベートエンドポイントが利用するネットワーク資源や、資格情報を保管する OCI Vault のシークレットなど、周辺リソース側に現れます。具体的な単価は変動するため、ここでは考え方を整理します。

コスト要素増減の要因最適化の方向性
プライベートエンドポイント到達したい VCN/サブネットの数必要な範囲に絞り過剰に作らない
OCI Vault シークレット保管する資格情報やウォレットの数不要なシークレットを整理する
接続・ワークシート定義数や利用頻度用途に応じて必要な接続だけ維持する

セキュリティ

  • 資格情報は接続へ直書きせず、OCI Vault のシークレットとして暗号化保管し、接続からは参照だけにする
  • DB は プライベートサブネットに置き、プライベートエンドポイント経由でのみ到達する構成を基本にする
  • OCI IAM ポリシーで、接続やプライベートエンドポイントの作成・利用権限をコンパートメント単位に最小化する
  • DB 側は 最小権限のユーザーで接続し、強権限の管理者アカウントを常用しない
  • 操作は OCI Audit に残るため、接続の作成・変更・利用を後から監査できる
アンチパターン

パスワードやウォレットを接続定義やコードに直書きするのは厳禁です。資格情報は必ず OCI Vault のシークレットに保管し、DB はプライベートエンドポイント経由で到達してください。強権限の管理者ユーザーを共有接続にそのまま使うのも避けます。

関連サービス・比較

DB へ SQL を投げる手段としては、デスクトップアプリの SQL Developer が代表的です。両者は競合ではなく、用途で使い分けます。

観点OCI Database Tools(SQL ワークシート)Oracle SQL Developer
形態ブラウザ型(コンソール内)デスクトップアプリ
導入手元への導入不要各自の端末にインストール
資格情報OCI Vault のシークレットで管理端末側で保持
プライベート到達プライベートエンドポイントで対応VPN や踏み台などを別途用意
主用途アドホックな確認・運用クエリ本格的な開発・大規模操作
権限管理OCI IAM と統合DB ユーザー権限が中心

ハンズオン / CLI例

# DB への接続定義を作成(資格情報は OCI Vault のシークレットを参照)
oci database-tools connection create-connection-oracle-database \
  --compartment-id "$COMPARTMENT_OCID" \
  --display-name "adb-app-conn" \
  --connection-string "tcps://adb.region.oraclecloud.com:1522/service" \
  --user-name "APP_USER" \
  --user-password-secret-id "$PASSWORD_SECRET_OCID"

# プライベート DB へ到達するためのプライベートエンドポイントを作成
oci database-tools private-endpoint create \
  --compartment-id "$COMPARTMENT_OCID" \
  --display-name "db-tools-pe" \
  --subnet-id "$SUBNET_OCID"

# 作成した接続の一覧を確認
oci database-tools connection list \
  --compartment-id "$COMPARTMENT_OCID" \
  --output table

# 接続が到達可能かを検証する
oci database-tools connection validate \
  --database-tools-connection-id "$CONNECTION_OCID"

OCI Service

OCI Database Toolsを実務で読む

TL;DRは入口です。実際に選ぶ・使う段階では、何を解決するか、何と比較するか、導入後にどこで詰まるかまで見る必要があります。

解決すること

データベース

比較で見る軸

クラウド: OCI / カテゴリ: データベース / 難易度: basic

導入後に効く点

ブラウザの SQL ワークシートでクライアント導入なしに SQL を実行できる。

先に潰すリスク

サービス単体ではなく、権限、ネットワーク、監視、課金、バックアップを含めて設計する必要がある。

数字・仕様の読み方
クラウド
OCI
カテゴリ
データベース
難易度
basic
関連資格
設計柱
operational / security

判断チェックリスト

  • 自社の用途が「データベース / operational」に近いか確認する。
  • 強みである「DB 接続定義を一元管理し、資格情報は OCI Vault のシークレットで安全に扱う。」が本当に評価軸になるか確認する。
  • 注意点の「サービス単体ではなく、権限、ネットワーク、監視、課金、バックアップを含めて設計する必要がある。」を運用で吸収できるか確認する。
  • 公開値や仕様値は、対象プラン・対象機種・対象リージョンまで確認する。
  • 既存システム、ID、ネットワーク、監視、バックアップとの接続方法を先に洗い出す。
  • 小さく試してから、本番移行、権限設計、障害時手順、コスト監視を決める。

次に確認する観点

データベースoperationalsecurity