37
Oracle Rdbでのクライアント接続機能 浅野 哲 Oracle Rdb Engineering エンジニアリング 東京 200643大阪 200645©2005-2006, Oracle Corporation Day1-4

Oracle Rdb: Client Connectivity for Oracle · PDF file– Oracle Reports. 17 OCI ... – Oracle JDeveloper – Oracle Forms – Oracle Designer – Oracle Developer ... – Oracle

  • Upload
    vankiet

  • View
    273

  • Download
    12

Embed Size (px)

Citation preview

Page 1: Oracle Rdb: Client Connectivity for Oracle · PDF file– Oracle Reports. 17 OCI ... – Oracle JDeveloper – Oracle Forms – Oracle Designer – Oracle Developer ... – Oracle

Oracle Rdbでのクライアント接続機能

浅野哲Oracle Rdb Engineering

エンジニアリング

東京 2006年 4月 3日大阪 2006年 4月 5日

©2005-2006, Oracle Corporation

Day1-4

Page 2: Oracle Rdb: Client Connectivity for Oracle · PDF file– Oracle Reports. 17 OCI ... – Oracle JDeveloper – Oracle Forms – Oracle Designer – Oracle Developer ... – Oracle

2

クライアント接続機能

• Rdbに対するクライアント接続について

…Oracle SQL/Servicesfor Rdb

Page 3: Oracle Rdb: Client Connectivity for Oracle · PDF file– Oracle Reports. 17 OCI ... – Oracle JDeveloper – Oracle Forms – Oracle Designer – Oracle Developer ... – Oracle

3

SQL/Servicesの歴史

• 1992:最初のリリース– SQL/ServicesクライアントAPIの実装– ODBC for Oracle Rdbドライバの実装。これにより、業界標準

ODBCアプリケーションはバックエンドのRdbを使用可能になる

• 1994:SQL/Servicesをオラクルが買収• 1995: RMUクライアント/サーバ機能の追加

Page 4: Oracle Rdb: Client Connectivity for Oracle · PDF file– Oracle Reports. 17 OCI ... – Oracle JDeveloper – Oracle Forms – Oracle Designer – Oracle Developer ... – Oracle

4

SQL/Servicesの歴史

• 1996:OCI (Oracle Call Interface)サポートの実装– 現在、OCIアプリケーションをRdbデータベースに対してほぼ透過的に実行可能

– 新しく登場する業界標準に対応して、互換性のあるOCIドライバ(JDBCや.NETなど)を提供し、バックエンドのOracleデータベースやRdbデータベースと連携

• 2003: Oracle Rdb JDBCサーバ・マネジメントの追加

Page 5: Oracle Rdb: Client Connectivity for Oracle · PDF file– Oracle Reports. 17 OCI ... – Oracle JDeveloper – Oracle Forms – Oracle Designer – Oracle Developer ... – Oracle

5

SQL/Servicesアーキテクチャクライアント サーバ

デスクトップ・システム

クライアント・アプリケーション

Monitor構成ファイル

Dispatcher

SQLSRV ServiceRMU Service

OCI Service

ExecutorSQLSRV_MANAGE

SQL/Services Manager GUI

Rdbデータベース

Page 6: Oracle Rdb: Client Connectivity for Oracle · PDF file– Oracle Reports. 17 OCI ... – Oracle JDeveloper – Oracle Forms – Oracle Designer – Oracle Developer ... – Oracle

6

SQL/Servicesプロトコル

• SQLSRV – ODBCやSQL/ServicesクライアントAPIをベースにするアプリケーションが使用

• OCI – OCI (Oracle Call Interface)プロトコルで通信するOracleアプリケーションが使用

• RMU –パラレル・バックアップやリモートコマンド実行で、Oracle Rdb RMUユーティリティが使用

• JDBC – JDBC for Oracle Rdb Thinサーバの起動と停止に使用

Page 7: Oracle Rdb: Client Connectivity for Oracle · PDF file– Oracle Reports. 17 OCI ... – Oracle JDeveloper – Oracle Forms – Oracle Designer – Oracle Developer ... – Oracle

7

SQLSRVクライアント・アーキテクチャ

SQL/ServicesクライアントAPIを直接使用するクライアント

ODBC for Oracle Rdbを使用するクライアント

クライアントアプリケーション

SQL/ServicesクライアントAPI

サーバクライアントアプリケーション

ODBC forOracle Rdb

SQL/ServicesクライアントAPI

Page 8: Oracle Rdb: Client Connectivity for Oracle · PDF file– Oracle Reports. 17 OCI ... – Oracle JDeveloper – Oracle Forms – Oracle Designer – Oracle Developer ... – Oracle

8

SQLSRVクライアント

• SQL/ServicesクライアントAPI– Windows、Tru64 UNIX、OpenVMS、Red Hat Linux、

HP-UX(開発中)で提供Red Hat Linux (V2.1以降)は、Oracle SQL/Services release 7.1.6向けの新しいプラットフォームHP-UXは開発中、HP-UX 11i v2以降

– クライアント・アプリケーションのコールによるSQL/Services関数へのアクセスを可能にするルーチン・ライブラリを提供

– クライアント・アプリケーションは、Oracle RdbのDynamic SQL文をRdbデータベースに対して実行可能になる

Page 9: Oracle Rdb: Client Connectivity for Oracle · PDF file– Oracle Reports. 17 OCI ... – Oracle JDeveloper – Oracle Forms – Oracle Designer – Oracle Developer ... – Oracle

9

SQLSRVクライアント

• ODBC for Oracle Rdb– クライアントAPI上で、Rdbへの業界標準ODBCアクセスを提供

– 現在のバージョンは3.1.0.2– 旧バージョンの機能を大幅に拡張

パフォーマンスを向上

ODBC仕様への準拠を強化新しいAPIコールとプリフェッチ機能

Page 10: Oracle Rdb: Client Connectivity for Oracle · PDF file– Oracle Reports. 17 OCI ... – Oracle JDeveloper – Oracle Forms – Oracle Designer – Oracle Developer ... – Oracle

10

SQLSRVクライアント

• ODBC for Oracle Rdb (続き)– すべてのODBC互換アプリケーションで機能

ADO、ブリッジ経由の.NETベンダ各社が、ソフトウェア開発、オフィス生産性、データ分析などの分野でODBC互換アプリケーションをリリース

– 各種データベースへの移植が可能

– 3.5.2へのアップグレードを予定

Page 11: Oracle Rdb: Client Connectivity for Oracle · PDF file– Oracle Reports. 17 OCI ... – Oracle JDeveloper – Oracle Forms – Oracle Designer – Oracle Developer ... – Oracle

11

SQLSRVサーバ・アーキテクチャ

クライアント

SQLSRV_MONモニタ

SQLSRV_DISPディスパッチャ

SQLSRV_EXECエグゼキュータ

Rdbデータベース

Page 12: Oracle Rdb: Client Connectivity for Oracle · PDF file– Oracle Reports. 17 OCI ... – Oracle JDeveloper – Oracle Forms – Oracle Designer – Oracle Developer ... – Oracle

12

SQLSRVサーバ

• モニタ (SQLSRV_MON)– サーバの全体的なマネジメントと制御を実行

• ディスパッチャ (SQLSRV_DISP)– クライアントのネットワーク通信の処理と、サーバのエグゼキュータに対するクライアント要求のルーティングおよびスケジューリングを実行

– 通常は、1つのディスパッチャが複数のネットワーク・プロトコルをサポートするが、サポート可能なのは1つのプロトコルのみ

• エグゼキュータ (SQLSRV_EXEC)– ディスパッチャからのクライアント要求を受信し、処理して結果を返す

– サーバごとにエグゼキュータ・プロセスのプールがある

Page 13: Oracle Rdb: Client Connectivity for Oracle · PDF file– Oracle Reports. 17 OCI ... – Oracle JDeveloper – Oracle Forms – Oracle Designer – Oracle Developer ... – Oracle

13

OCIクライアント・アーキテクチャ

クライアント

サーバ

OCIクライアントアプリケーション

Oracle Net

Page 14: Oracle Rdb: Client Connectivity for Oracle · PDF file– Oracle Reports. 17 OCI ... – Oracle JDeveloper – Oracle Forms – Oracle Designer – Oracle Developer ... – Oracle

14

OCIサーバ・アーキテクチャ

クライアント SQLSRV_SQLNETSHR

(Oracle RDBMSライブラリ)

Rdbデータース

SQLSRV_MONOCI_DISPディスパッチャ

SQLSRV_NATCONN

RDB$NATCONN(OCI Services)

Page 15: Oracle Rdb: Client Connectivity for Oracle · PDF file– Oracle Reports. 17 OCI ... – Oracle JDeveloper – Oracle Forms – Oracle Designer – Oracle Developer ... – Oracle

15

OCIプロトコル

• Oracleデータディクショナリのエミュレーションにより、RdbデータベースのOracle RDBMSビューを提示

• Oracleカーソルを管理• OracleからRdbデータタイプへの変換を管理• Oracle RDBMS埋め込み関数のエミュレーションを行う関数を提供

Page 16: Oracle Rdb: Client Connectivity for Oracle · PDF file– Oracle Reports. 17 OCI ... – Oracle JDeveloper – Oracle Forms – Oracle Designer – Oracle Developer ... – Oracle

16

OCIプロトコル

• OCIを使用する製品…– Oracle JDBC– Oracle ODBC– Oracleデータベースリンク– Oracle Data Provider for .NET– Oracle Reports

Page 17: Oracle Rdb: Client Connectivity for Oracle · PDF file– Oracle Reports. 17 OCI ... – Oracle JDeveloper – Oracle Forms – Oracle Designer – Oracle Developer ... – Oracle

17

OCIプロトコル

• OCIを使用する製品…– Oracle JDeveloper– Oracle Forms– Oracle Designer– Oracle Developer– Oracle SQLPLUSユーティリティ– 他にも多数…

Page 18: Oracle Rdb: Client Connectivity for Oracle · PDF file– Oracle Reports. 17 OCI ... – Oracle JDeveloper – Oracle Forms – Oracle Designer – Oracle Developer ... – Oracle

18

OCIプロトコルJavaからの接続

Page 19: Oracle Rdb: Client Connectivity for Oracle · PDF file– Oracle Reports. 17 OCI ... – Oracle JDeveloper – Oracle Forms – Oracle Designer – Oracle Developer ... – Oracle

19

RMUプロトコル・アーキテクチャ

クライアント

RMUコマンドライン

ユーティリティ

SQLSRV_MONRMU_DISPディスパッチャ

RMUEXEC

RMUSHR

Rdbデータベース

サーバクライアント

Page 20: Oracle Rdb: Client Connectivity for Oracle · PDF file– Oracle Reports. 17 OCI ... – Oracle JDeveloper – Oracle Forms – Oracle Designer – Oracle Developer ... – Oracle

20

RMUプロトコル

• RMU/BACKUP/PARALLEL– BACKUPコマンドは、RMUクライアントからSQL/Services経由でサーバノードに送信され、RMU Executorがバックアップを実行

– 各RMU Executorプロセスは、複数のバックアップ・スレッドで実行可能

• RMUコマンドのリモート実行– ユーザーが指定した論理定義に基いて、RMUコマンドをリモート実行

Page 21: Oracle Rdb: Client Connectivity for Oracle · PDF file– Oracle Reports. 17 OCI ... – Oracle JDeveloper – Oracle Forms – Oracle Designer – Oracle Developer ... – Oracle

21

SQL/ServicesのマネジメントSQLSRVコマンドライン

Page 22: Oracle Rdb: Client Connectivity for Oracle · PDF file– Oracle Reports. 17 OCI ... – Oracle JDeveloper – Oracle Forms – Oracle Designer – Oracle Developer ... – Oracle

22

SQL/ServicesのマネジメントGUIベースのマネージャ

Page 23: Oracle Rdb: Client Connectivity for Oracle · PDF file– Oracle Reports. 17 OCI ... – Oracle JDeveloper – Oracle Forms – Oracle Designer – Oracle Developer ... – Oracle

23

SQL/ServicesのマネジメントEnterprise Manager 10g

Page 24: Oracle Rdb: Client Connectivity for Oracle · PDF file– Oracle Reports. 17 OCI ... – Oracle JDeveloper – Oracle Forms – Oracle Designer – Oracle Developer ... – Oracle

24

SQL/Services 7.1.6

• 2005年6月に製品化• 主要機能

– アップグレードによりOracle 9.2.0.4ライブラリを使用– 2pcのサポート– 新しいユーティリティの追加と既存ユーティリティの更新

– パフォーマンスの向上

– Linux向けSQL/ServicesクライアントAPIRed Hat Enterprise Linux V2.1以降

Page 25: Oracle Rdb: Client Connectivity for Oracle · PDF file– Oracle Reports. 17 OCI ... – Oracle JDeveloper – Oracle Forms – Oracle Designer – Oracle Developer ... – Oracle

25

SQL/Services 7.1.6Oracle 9.2.0.4へのアップグレード

• アップグレードしたOCI Services• 新しいOracle 9iデータ型のサポート

– TIMESTAMP、INTERVAL YEAR TO MONTH、INTERVAL DAY TO SECONDなど

• Oracle 9iからの接続時の制約をいくつか削除

Page 26: Oracle Rdb: Client Connectivity for Oracle · PDF file– Oracle Reports. 17 OCI ... – Oracle JDeveloper – Oracle Forms – Oracle Designer – Oracle Developer ... – Oracle

26

SQL/Services 7.1.62pcのサポート

• 現在、Oracle Rdbデータベースは、Oracle RDBMSで管理している分散トランザクションに完全に参加可能

• Rdbデータベースに対する複数のOracle Server DBLINKは、トランザクションに参加可能

• DECdtm XA Gatewayを使って、Oracle分散トランザクション・プロトコルとDECdtm分散トランザクション・プロトコルのインタフェースを提供

Page 27: Oracle Rdb: Client Connectivity for Oracle · PDF file– Oracle Reports. 17 OCI ... – Oracle JDeveloper – Oracle Forms – Oracle Designer – Oracle Developer ... – Oracle

27

SQL/Services 7.1.6ユーティリティ

• RDB$NATCONN_DICユーティリティ– 7.1.6の新しいユーティリティ

旧バージョンで必要だった.SQLスクリプトの使用を置き換える

– Rdbデータベースにおいて、データベースの準備、アップグレード、Oracleデータ・ディクショナリ定義の削除を行うことにより、OCIアクセスを可能にする

– OCI Servicesの旧バージョンからのアップグレードが可能(暫定的なアップグレードは不要)

– SYS$LIBRARY:RDB_NATCONN.COMで起動

Page 28: Oracle Rdb: Client Connectivity for Oracle · PDF file– Oracle Reports. 17 OCI ... – Oracle JDeveloper – Oracle Forms – Oracle Designer – Oracle Developer ... – Oracle

28

SQL/Services 7.1.6ユーティリティ

• RDB$NATCONN_CUPPユーティリティ– 7.1.6で更新されたユーティリティ

ユーザーを追加するRDB_NATCONNプロシージャを置き換え– OCIアクセスが許可されたユーザーの追加、変更、削除、表示に使用ほとんどのOCIアプリケーションでは、アプリケーションを実行するには、ユーザーをデータベースで定義する必要がある

– SYS$LIBRARY:RDB_NATCONN.COMで起動

• 新しいユーザーはOEM Consoleで表示可能

Page 29: Oracle Rdb: Client Connectivity for Oracle · PDF file– Oracle Reports. 17 OCI ... – Oracle JDeveloper – Oracle Forms – Oracle Designer – Oracle Developer ... – Oracle

29

SQL/Services 7.1.6パフォーマンスの向上

• SQLSRV_SQLNETSHR71.EXE– Oracle SQLNETとOCIの両方のライブラリをインクルード– 共有可能なので、メモリ使用量を節約し、パフォーマンスを向上

– Oracle OCIライブラリは、OCI Servicesイメージに組み込まれていない:各イメージのサイズは7.1.5.9.1よりも最大9,000ブロック小さい

– その結果、OCIエグゼキュータプロセスの実行でフットプリントが小さくなる

Page 30: Oracle Rdb: Client Connectivity for Oracle · PDF file– Oracle Reports. 17 OCI ... – Oracle JDeveloper – Oracle Forms – Oracle Designer – Oracle Developer ... – Oracle

30

SQL/Services 7.1.6パフォーマンスの向上

• OCI Servicesのメタデータ・クエリーを効率化– クエリーの実行時に毎回準備するのではなく、最初の使用時に1度だけ準備するだけで何度も実行できる

• SQL/Servicesによる共有メモリの使用を効率化することで、メモリーリークを解消

Page 31: Oracle Rdb: Client Connectivity for Oracle · PDF file– Oracle Reports. 17 OCI ... – Oracle JDeveloper – Oracle Forms – Oracle Designer – Oracle Developer ... – Oracle

31

SQL/Services 7.1.6その他の新機能

• LISTENER.ORAファイルが存在しない場合、インストール時に自動生成

• プログラム機能を検証し、ユーザー指定のプログラムによるアクセスを制限

• JDBC Dispatcher、JDBC for Oracle Rdb Thinサーバの起動と停止

• OCI Servicesバグチェック・ダンプ機能• ドキュメントの更新と再編成

– インストール・ガイド– 構成ガイド– リリースノート

Page 32: Oracle Rdb: Client Connectivity for Oracle · PDF file– Oracle Reports. 17 OCI ... – Oracle JDeveloper – Oracle Forms – Oracle Designer – Oracle Developer ... – Oracle

32

SQL/Services 7.2

• 2006年1月に製品化• 主な特徴

– ItaniumのサポートOpen VMS 8.2-1以降 (Itanium)Open VMS 8.2以降 (Alpha)

Page 33: Oracle Rdb: Client Connectivity for Oracle · PDF file– Oracle Reports. 17 OCI ... – Oracle JDeveloper – Oracle Forms – Oracle Designer – Oracle Developer ... – Oracle

33

SQL/Services今後の予定

• SQL/Services– サイズの大きな構成ファイルでのパフォーマンスを向上

– 外部認証のサポート

– SYSUAFに対する非対話型のログインについて、SQS使用状況をログに記録

– TCPIPでの"DECNet Proxy"型をサポート

SQL/Servicesサービスにアクセス可能なPCとアプリケーションを制限- SQL/Servicesバグチェックで更に詳細な情報を提供

• SQLSRV_MANAGE– SHOWコマンドの連続実行– COPYコマンド

Page 34: Oracle Rdb: Client Connectivity for Oracle · PDF file– Oracle Reports. 17 OCI ... – Oracle JDeveloper – Oracle Forms – Oracle Designer – Oracle Developer ... – Oracle

34

SQL/Services今後の予定

• OCI – Oracle 10gへのアップグレード– Oracle FAILOVER_MODE機能– OCIトランザクションの再利用可能なサービス– VMS外部認証のサポート– 新しいOracleパッケージのサポート– ユーザー定義パッケージ

• SQL/ServicesクライアントAPI– HP-UX向けSQL/Servicesクライアント

• ODBC– ODBC 3.52‒ テスト接続ボタンのサポート‒ ODBCでのクラスタ・フェイルオーバのサポート

Page 35: Oracle Rdb: Client Connectivity for Oracle · PDF file– Oracle Reports. 17 OCI ... – Oracle JDeveloper – Oracle Forms – Oracle Designer – Oracle Developer ... – Oracle

35

SQL/Services今後の予定 – EMの次のバージョン

Page 37: Oracle Rdb: Client Connectivity for Oracle · PDF file– Oracle Reports. 17 OCI ... – Oracle JDeveloper – Oracle Forms – Oracle Designer – Oracle Developer ... – Oracle

www.oracle.com/rdb