Blog

Dory が Oracle に対応しました

Dory は Oracle Database に接続できるようになりました。

コア業務データ、財務データ、ERP データ、受注システム、レポート基盤、長年運用されているエンタープライズアプリケーションが Oracle 上にある場合でも、Oracle を Dory に直接接続し、同じモダンなデータワークスペースで閲覧、クエリ、分析できます。

今回の対応は、単に Oracle という接続タイプを追加しただけではありません。Oracle は Dory の中核的なデータワークフローに組み込まれました。接続作成、Oracle サービスの解決、schema の閲覧、テーブルとビューの確認、関数とプロシージャの探索、データプレビュー、Oracle SQL の実行、そして Oracle の文脈を理解した AI 支援まで利用できます。

Oracle 対応が重要な理由

Oracle は今も多くのエンタープライズシステムにとって重要なデータベースです。長年安定して稼働している本番データを保持していることが多く、財務、サプライチェーン、顧客管理、社内業務、監査レポートなど、高価値な業務と深く結びついています。

一方で、Oracle を日常的に扱う作業は必ずしも軽量ではありません。アナリストは service name、schema、識別子の大文字小文字、システム catalog view を理解する必要があります。エンジニアはテーブル、ビュー、インデックス、主キー、シーケンス、ストアドプロシージャを確認する必要があります。クエリが失敗したときには、Oracle と他の SQL データベースの方言差も重要になります。

Dory が Oracle に対応したことで、こうした文脈を 1 つのワークスペースに集約できます。正しいオブジェクトを探すためだけに複数のツールを行き来する必要はありません。Oracle を汎用 SQL ソースとして扱い、構文を推測する必要もありません。

できること

Oracle に接続する

Dory の Connections ページから Oracle 接続を作成できます。

Dory は Oracle ユーザーが期待する接続情報に対応しています。

  • Host と port。デフォルト port は 1521
  • ORCLPDB1 などの Oracle service name
  • oracle://db.example.com:1521/ORCLPDB1 のような Easy Connect 形式の host 入力
  • 複雑な listener やデプロイ構成向けの任意の Connect String
  • ユーザー名、パスワード、既存の接続テストと保存フロー

保存後、Oracle は他のデータソースと並んでワークスペースに表示されます。Dory は Oracle を Postgres、MySQL、SQL Server の代替ではなく、独立したデータベースタイプとして認識します。

Schema、テーブル、ビュー、関数、シーケンスを閲覧する

接続後、Oracle は Dory Explorer と SQL Console のサイドバーで利用できます。

閲覧できるものは次のとおりです。

  • Schemas
  • Tables
  • Views
  • Functions
  • Procedures
  • Sequences

Dory は一般的な Oracle のシステム schema をフィルタし、ユーザーが管理する業務オブジェクトに集中できるようにします。オブジェクト階層が多く、長い履歴を持つ Oracle データベースではこれは重要です。接続を開いたときに見るべきなのは、作業対象のデータであり、システムオブジェクトの山ではありません。

SQL Console のサイドバーも、現在の接続 ID に対応する schema を優先するため、より早く適切なクエリ文脈に入れます。

テーブル詳細を確認する

Oracle のテーブルとビューについて、Dory は実用的なオブジェクト単位の情報を表示できます。

  • カラムとデータ型
  • デフォルト式
  • カラムコメント
  • 主キー
  • テーブルまたはビューのコメント
  • テーブルサイズと行数推定
  • インデックス
  • データプレビュー
  • テーブルまたはビューの DDL

SQL を書く前に必要な文脈を確認できます。構造を知るためだけに大きなクエリを実行するのではなく、カラム型、主キー、インデックス、テーブル規模を確認してからクエリ方法を決められます。

データプレビューでは、Dory は他のデータベースの LIMIT ではなく、Oracle の FETCH FIRST n ROWS ONLYOFFSET ... FETCH NEXT ... 構文を使用します。

関数とストアドプロシージャを探索する

多くの Oracle データベースでは、重要な業務ロジックが関数やストアドプロシージャに置かれています。Dory はこれらのオブジェクトを探索可能なデータベースリソースとして扱います。

関数またはプロシージャを開くと、次の情報を確認できます。

  • 所有 schema
  • オブジェクトタイプ
  • パラメータ
  • パラメータの方向
  • 作成日時と更新日時
  • サンプル呼び出し SQL

プロシージャの場合、Dory は BEGIN ... END; 形式のサンプル呼び出しを生成します。関数の場合は dual から呼び出すサンプルを生成します。これにより既存のデータベースロジックを理解しやすくなり、呼び出し時の試行錯誤も減らせます。

SQL Console で Oracle SQL を実行する

SQL Console は Oracle を独立した SQL 方言として扱うようになりました。

これにより、Dory は Oracle の構文をより自然に扱えます。

  • FETCH FIRST n ROWS ONLY または ROWNUM による行数制限
  • Oracle クエリへの LIMIT 付与の回避
  • Oracle 形式の名前付きパラメータ
  • Oracle が 1 行ソースを必要とする場合の dual 利用
  • Oracle の識別子の大文字小文字とクォート規則の尊重

Oracle と他のリレーショナルデータベースはいずれも SQL を使いますが、小さな方言差だけでクエリは失敗します。Dory は Oracle を単純化された汎用 SQL テンプレートではなく、Oracle として扱います。

Oracle の文脈を理解した AI 支援を使う

Dory の AI 支援は Oracle のクエリ慣習も理解するようになりました。

Dory に SQL の生成、SQL の修正、クエリの説明を依頼すると、Oracle 固有のルールを反映できます。

  • Oracle SQL 構文を使う
  • FETCH FIRST n ROWS ONLY または ROWNUM で結果数を制限する
  • メタデータが必要な場合は ALL_*USER_* catalog view を優先する
  • Oracle が 1 行ソースを必要とする場合のみ dual を問い合わせる
  • PostgreSQL、SQL Server、MySQL 固有の構文を避ける

これは実際のワークフローで重要です。AI が Oracle ユーザー向けに LIMIT を生成すべきではありません。Oracle のメタデータを調べるために PostgreSQL の pg_catalog や SQL Server の sys catalog view を使うべきでもありません。

エンタープライズデータベース環境により適したワークスペース

Oracle 対応により、Dory は実際のマルチデータベース環境により適したワークスペースになります。

多くのチームは 1 種類のデータベースだけを使っているわけではありません。本番システムは Oracle、分析サービスは Postgres や ClickHouse、社内ツールは MySQL や SQL Server、ローカル分析は DuckDB、SQLite、ファイルデータに依存していることがあります。

アナリストにとっては、Oracle 内の業務データをより早く見つけ、分析を始められるということです。
エンジニアにとっては、schema、テーブル、ビュー、インデックス、関数、プロシージャをより明確に確認できるということです。
データチームやオペレーションチームにとっては、Oracle を他のデータソースと同じワークスペースで管理し、利用できるということです。

Dory の目標は、すべてのデータベースを同じ体験に押し込むことではありません。統一されたワークスペースの中で、それぞれのデータベースの振る舞いを尊重することです。

はじめ方

次の手順で試せます。

  1. Dory を開きます。
  2. Connections に移動します。
  3. 新しい Oracle 接続を作成します。
  4. host、port、ユーザー名、パスワード、service name を入力します。
  5. 環境で必要な場合は Connect String を入力します。
  6. 接続をテストして保存します。
  7. Explorer または SQL Console を開き、Oracle データの閲覧やクエリを始めます。

その後、schema の閲覧、テーブルとビューの確認、データプレビュー、関数とプロシージャの探索、Oracle SQL の作成や修正の支援を Dory に依頼できます。

次に向けて

Oracle 対応は、Dory が実際のエンタープライズデータ環境を支えるための重要な一歩です。

今後も schema 探索、クエリ支援、データベースオブジェクト理解、複数データソースをまたぐワークフローを改善し、複雑なデータシステムでもチームがよりスムーズに作業できるようにしていきます。

Oracle があなたのデータスタックの一部であるなら、Dory はもう Oracle と一緒に使えます。