Oracle Database コネクタ
カテゴリ: データベースコネクタ
はじめに
本書は、mindzieDataDesigner の Oracle Database コネクタのセットアップを支援するために作成されました。mindzieDataDesigner は、mindzieStudio によって使用される ETL ツールで、データベーステーブルをプロセスマイニングのイベントログに変換します。本書の目的は、接続文字列の作成および必要に応じてファイアウォールのポート開放の支援です。
概要
Oracle コネクタは、Oracle Managed Data Access (ODP.NET) を用いて Oracle Database インスタンスへのネイティブ接続を提供します。このコネクタは、高性能で Oracle の全機能対応、グローバル企業向けの最適化されたタイムゾーン処理を実現します。
システム要件
- データベースシステム: Oracle Database 11g Release 2 以降(19c 推奨)
- サポートエディション: Express Edition (XE)、Standard Edition、Enterprise Edition
- プラットフォームサポート: Windows、Linux、Unix
- クラウドサポート: Oracle Cloud Infrastructure (OCI)、Amazon RDS for Oracle、Oracle Autonomous Database
- 依存関係: Oracle Managed Data Access (ODP.NET) - コネクタに含まれる
接続文字列フォーマット
基本フォーマット(Easy Connect)
Data Source=hostname:port/service_name;User Id=username;Password=password;
TNS Names フォーマット
Data Source=tns_alias;User Id=username;Password=password;
接続パラメータ
| パラメータ | 説明 | 必須 | 例 |
|---|---|---|---|
Data Source |
サーバー接続情報 | はい | oracle-server:1521/ORCL |
User Id |
Oracle ユーザー名 | はい | PROCESS_MINING |
Password |
Oracle パスワード | はい | SecurePassword123 |
Connection Timeout |
接続タイムアウト(秒) | いいえ | 60 |
Command Timeout |
コマンドタイムアウト(秒) | いいえ | 600 |
Pooling |
コネクションプーリングの有効化 | いいえ | true |
Min Pool Size |
最小プール接続数 | いいえ | 1 |
Max Pool Size |
最大プール接続数 | いいえ | 100 |
DBA Privilege |
管理者権限 | いいえ | SYSDBA |
Persist Security Info |
資格情報の保持 | いいえ | false |
接続例
ローカル Oracle Express Edition (XE)
Data Source=localhost:1521/XE;User Id=MINDZIE_USER;Password=password;
Oracle Enterprise データベース
Data Source=oracle-prod.company.com:1521/PRODDB;User Id=PROCESS_MINING;Password=SecurePassword123;Connection Timeout=60;
TNS Names 使用例
Data Source=PROD_ORACLE;User Id=MINDZIE_USER;Password=SecurePassword123;
Oracle Autonomous Database(クラウド)
Data Source=mydb_high;User Id=ADMIN;Password=CloudPassword123;
高度な設定での接続
Data Source=oracle-server:1521/ORCL;User Id=MINDZIE_USER;Password=password;
Pooling=true;Min Pool Size=5;Max Pool Size=50;Connection Timeout=30;
プラガブルデータベース (PDB) 接続
Data Source=oracle-server:1521/PDB1;User Id=PROCESS_USER;Password=password;
認証方式
データベース認証
- 標準的な Oracle のユーザー名/パスワード認証
CREATE USER文で作成されたユーザー- 最も一般的な認証方式
OS 認証
Data Source=oracle-server:1521/ORCL;Integrated Security=yes;
プロキシ認証
Data Source=oracle-server:1521/ORCL;User Id=app_user;Password=password;Proxy User Id=end_user;
トラブルシューティング
一般的な接続問題
"ORA-12154: TNS:could not resolve the connect identifier" エラー
- tnsnames.ora の TNS 名前設定を確認
- ORACLE_HOME と TNS_ADMIN 環境変数を確認
- 代替として Easy Connect 構文を使用
- サービス名とホスト名を検証
"ORA-01017: invalid username/password" エラー
- 資格情報が正しいか、ユーザーが存在するか確認
- アカウントのロックを解除:
ALTER USER username ACCOUNT UNLOCK; - ユーザーに CREATE SESSION 権限があることを確認
- パスワードの有効期限切れを確認
"ORA-12505: TNS:listener does not currently know of SID given" エラー
- サービス名と SID の使用を検証
- Oracle リスナーの状態確認:
lsnrctl status - 最新の Oracle では SID ではなくサービス名を使用
- データベースのサービス登録を検証
"ORA-00257: archiver error" エラー
- Oracle アーカイブログ領域を確認
- Oracle DBA にメンテナンスを依頼
- 利用可能であれば読み取り専用接続の使用を検討
mindzie サーバーアクセス: セキュリティ強化のため、使用する mindzie サーバーの特定 IP アドレスのみを許可するホワイトリストをファイアウォールに設定可能です。mindzie サポートに連絡して、利用中の mindzie サーバーの現在の IP アドレスを取得してください。
Oracle クラウドの問題
"ORA-28040: No matching authentication protocol" エラー
- Oracle クライアントを互換性のあるバージョンにアップデート
- Oracle Cloud の認証要件を確認
- SSL/TLS 設定を確認
Oracle Autonomous Database セットアップ
前提条件
- ウォレットのダウンロード: Oracle Cloud コンソールから接続ウォレットを取得
- ウォレットの展開: ファイルをアクセス可能なディレクトリに配置
- TNS_ADMIN の設定: ウォレットディレクトリを指すよう設定
- 接続文字列: tnsnames.ora のサービス名を使用
Autonomous Database 接続
Data Source=mydb_high;User Id=ADMIN;Password=WalletPassword123;
ウォレット設定
- wallet.zip をセキュアなディレクトリに展開
- TNS_ADMIN 環境変数を設定
- 事前定義されたサービス名(HIGH, MEDIUM, LOW)を使用
関連情報
- 公式ドキュメント: Oracle Database Documentation
- ODP.NET ガイド: Oracle Data Provider for .NET
- 接続文字列: Oracle Connection String Reference
- Oracle Cloud: Oracle Autonomous Database
- パフォーマンスチューニング: Oracle Performance Tuning Guide
💡 ヒント: エンタープライズの Oracle 展開では、高可用性および負荷分散のために複数ホストを持つ Oracle Real Application Clusters (RAC) の接続文字列の使用を検討してください。