プライマリ・コンテンツに移動
Oracle® Databaseプラットフォーム・ガイド
12cリリース1 (12.1) for Microsoft Windows
B72962-10
  ドキュメント・ライブラリへ移動
ライブラリ
製品リストへ移動
製品
目次へ移動
目次
索引へ移動
索引

前
 
次
 

1 WindowsでのOracle Databaseアーキテクチャ

この章では、Oracle DatabaseアーキテクチャでMicrosoft Windowsオペレーティング・システムのより高度なサービスがどのように利用されているかを説明します。

この章の項目は次のとおりです。

WindowsアーキテクチャでのOracle Databaseの概要

Windows上のOracle Databaseは、アプリケーションを構築するシステムとして、安定性、信頼性および高いパフォーマンスを提供します。データベースの各リリースでは、Windowsでのパフォーマンスを高めるために、プラットフォーム固有の新しい機能が提供されています。

Oracle Databaseは、Windows上でも他のプラットフォームと同じように動作します。このアーキテクチャは、Windowsで次のような利点を提供します。

Oracle Automatic Storage Management

Oracle Automatic Storage Management(Oracle ASM)は、Oracle Databaseファイル専用に構築されたファイル・システムおよびボリュームの統合マネージャです。Oracle ASMは、RAW I/Oのパフォーマンスの高さに加えて、ファイル・システムの管理の容易さも備えています。何千もの数になる可能性があるOracle Databaseファイルを直接的に管理する必要がなくなり、データベース管理が簡素化されます。これにより、使用可能なすべての記憶域をディスク・グループに分割できます。ディスク・グループの小セットを管理し、Oracle ASMがこのディスク・グループ内のデータベース・ファイルの配置を自動化します。

データ・ファイルの格納には、RAWファイルのかわりに、Oracle ASMを使用することをお薦めします。これにより、RAWファイルのパフォーマンスの利点を活かしつつ、管理しやすさを飛躍的に向上させることができます。Oracle ASMは単一インスタンスおよびOracle Real Application Clusters (Oracle RAC)データベースの両方で使用できます。

Oracle Cluster Registry(OCR)および投票ファイルは、Oracle ASMディスク・グループに格納でき、データベースのデータ・ファイルはdataディスク・グループに格納できます。投票ファイルおよびOracle Cluster Registryは、Oracle Clusterwareの2つの重要なコンポーネントです。


注意:

  • 管理者としてログオンするか、管理者グループのメンバーであるユーザー名を使用してログオンする必要があります。

  • ディスク管理コンソールを起動するには、「スタート」「ファイル名を指定して実行」の順にクリックし、diskmgmt.mscと入力します。

  • データ・ファイルのRAWデバイスへの格納はサポートされなくなりました。ファイル・システムまたはOracle Automatic Storage Managementを使用する必要があります。

  • NFSまたはDirect NFSは、Oracle Clusterwareファイルには使用できません。



関連項目:


Oracle Automatic Storage Managementのファイル・アクセス制御

Oracle ASMファイル・アクセス制御は、ファイルへのアクセスをSYSDBAとして接続する特定のOracle ASMクライアントに制限します。Oracle ASMクライアントはデータベースで、データベース・インスタンス・ホームを所有するユーザーの名前で識別されます。Oracle ASMファイル・アクセス制御では、データベースの識別にこのユーザー名を使用します。Oracle ASMファイル・アクセス制御は、データベース所有者のオペレーティング・システムおよび有効ユーザー識別番号に基づいてアクセスを制御します。

データベース管理業務の分離のための新しいユーザー・グループおよびユーザーの作成

Oracle Database 12cリリース1 (12.1)ではWindowsでロールを分離するためのアクセス制御が提供されます。Oracle Databaseサービスがローカル・システム・アカウントではなくOracleホーム・ユーザー・アカウントで実行中の場合、Windowsでロールの分離をサポートするには、Oracle ASMアクセス制御機能を有効化する必要があります。以前のリリースでは、すべてのOracle DatabaseサービスがWindowsの組込みローカル・システム・アカウントで実行されたため、Windowsのこの機能は無効になりました。

Oracle Database 12cリリース1 (12.1)に追加された新しいユーザー・グループは、ORA_HOMENAME_DBAORA_HOMENAME_OPERORA_HOMENAME_SYSBACKUPなどです。Oracle ASM管理で、新しいグループORA_ASMADMINORA_ASMDBAおよびORA_ASMOPERがOracle Databaseのインストール中に自動的に作成および入力されます。Oracle ASM管理者はこれらのWindowsグループをWindowsツールを使用して管理できるので、必要なユーザー名がこれらのグループから削除されていないことを確認する必要があります。


関連項目:


ディスク・グループ・ユーザーの置換について

Oracle Database 12cリリース1 (12.1)から、あるオペレーティング・システム・ユーザーから別のオペレーティング・システム・ユーザーに、Oracle ASMユーザーのアイデンティティを変更できます。これにより、エンド・ユーザーがOracle ASMユーザーのIDを変更でき、ユーザーを削除して再作成する必要はありません(この場合、ユーザーが所有するすべてのファイルを削除する必要があります)。この機能により、Oracle ASMのユーザーおよびユーザーが所有するファイルの管理性が向上します。新しいSQL文(ALTER DISKGROUP REPLACE USER)および新しいASMCMDコマンド(rpusr)が追加され、ディスク・グループでのユーザー置換をサポートします。


関連項目:

『Oracle Automatic Storage Management管理者ガイド』

ファイルが開いているときのファイル・アクセス制御の変更について

Oracle Database 12cリリース1 (12.1)では、ユーザーはファイルが開いているときでもファイルの所有権、権限、またはグループ・メンバーシップを変更できます。このリリース以降、chgrpchmodおよびchownなどのASMCMDファイル・アクセス制御コマンドは、ファイルが開いているときでも実行できます。ALTER DISKGROUP MODIFY USERGROUPコマンドなどのSQL文も、これらのASMCMDコマンドをサポートするように変更されました。


関連項目:

『Oracle Automatic Storage Management管理者ガイド』

スレッドベースのアーキテクチャ

Oracle Databaseの内部プロセスのアーキテクチャは、スレッド・ベースです。スレッドは、プロセス内のプログラム命令を実行するオブジェクトです。スレッドにより、1つのプロセス内での同時処理が可能になり、プロセスが、異なるプロセッサ上でプログラムの異なる部分を同時に実行できます。スレッドベースのアーキテクチャには、次の利点があります。

  • コンテキストのスイッチングが高速

  • 共有メモリーを使用する必要がないため、システム・グローバル領域割当てルーチンがシンプル

  • スレッドはプロセスよりも速く作成できるため、新規接続の高速な作成が可能

  • スレッドはプロセスよりも多くのデータ構造を共有するため、メモリー使用量が減少

内部的には、スレッド・モデルを実装するコードはコンパクトで、Oracle Databaseコードの本体から分離されています。例外ハンドラおよびルーチンは、リソースを追跡し、割当てを解除します。これにより、リソース・リークまたはプログラムの誤動作による停止時間が生じず、堅牢性が増します。

Oracle Databaseは、一般的なWindowsプロセスではありません。Windowsでは、Oracle DatabaseまたはOracle Automatic Storage Managementインスタンス(スレッドおよびメモリー構造)はWindowsのサービス、つまりオペレーティング・システムに登録されるバックグラウンド・プロセスです。サービスはWindowsによって起動されるため、ユーザーによる起動操作は必要ありません。このため、コンピュータの起動時にデータベースを自動的にオープンできます。

Windows上で複数のOracle DatabaseまたはOracle Automatic Storage Managementインスタンスを実行する場合、各インスタンスでは、複数のコンポーネント・スレッドを持つ独自のWindowsサービスを実行します。スレッドには、データベースの使用に必須のスレッドと、特定のプラットフォームに固有のオプションのスレッドがあります。バックグラウンド・プロセスは、構成に応じて様々なデータ・ファイルから読取りおよび書込みを行います。WindowsでのOracle Databaseアーキテクチャを図1-1に示します。WindowsでのOracle Databaseに必須のスレッドの例を表1-1に示します。

図1-1 WindowsでのOracle Databaseアーキテクチャ

図1-1の説明が続きます
「図1-1 WindowsでのOracle Databaseアーキテクチャ」の説明

表1-1 Oracle Databaseスレッド

Oracle Databaseスレッド 説明 必須/オプション

DBWO

データベース・ライター

必須

LGWR

ログ・ライター

必須

MMAN

メモリー・マネージャ・プロセス

必須

PMON

プロセス・モニター

必須

PSPO

プロセス起動プロセス

必須

SMON

システム・モニター

必須

CKPT

Windows上でデフォルトで動作するチェックポイント・プロセス(Windowsのスレッド)

必須

ARCO

アーカイブ・プロセス(またはWindowsのスレッド)

必須

RECO

分散リカバリ・バックグラウンド・プロセス

必須



注意:

次の問合せを入力して、実行中のバックグラウンド・プロセスを表示できます。
SQL> select * from v$bgprocess where paddr <> '00'; 

Oracle Database for Windowsは、一連の実行可能ファイルおよびDynamic Link Library(DLL)として提供されます。ORASTACKを使用して実行可能ファイルのイメージを変更し、Oracle Databaseプロセスのスレッドで使用されるスタックのサイズを変更できます。このツールは、必ずOracleサポート・サービスの指示に従って使用してください。

ファイルI/Oの拡張

Oracle Databaseでは、64ビットのファイルI/Oをサポートするため、4GBを超えるサイズのファイルを使用できます。さらに、Windows上でOracle Real Application Clusters(Oracle RAC)をサポートし、最大限のパフォーマンスが必要な場合に備え、データファイル、ログ・ファイルおよび制御ファイルとして物理および論理RAWファイルがサポートされています。

Oracle Database 11g以降では、オペレーティング・システム・カーネルのNFSクライアントを使用するかわりに、Oracle Databaseを構成し、Oracle内部のダイレクトNFSクライアントを直接使用してNFS V3サーバーにアクセスできます。この統合を通じて、OracleとNFSサーバー間のI/Oパスが最適化されるため、パフォーマンスが大幅に向上します。また、ダイレクトNFSクライアントにより、データベース・ワークロード用のNFSクライアント構成が簡素化および最適化されます。

ダイレクトNFSクライアントを構成せずに、CIFSによってマウントされたボリュームをOracle Databaseファイルの保存に使用することはできません。データベース書込みに必要なアトミック書込み要件は、CIFSプロトコルでは保証されていません。したがって、CIFSは、コピーや移動などのオペレーティング・システム・レベルのコマンド用にのみ使用できます。

現在、ダイレクトNFSクライアントでは、スケーラビリティと高可用性を実現するために最大4つのパラレル・ネットワーク・パスがサポートされます。ダイレクトNFSクライアントにより、指定したすべてのパスでリクエストが自動的に負荷分散され、パフォーマンスが最適化されます。いずれかのネットワーク・パスに障害が発生すると、ダイレクトNFSクライアントにより残りのパスを通じてコマンドが再送信されるため、フォルト・トレランスと高可用性が保証されます。

dnfs_batch_sizeと呼ばれる新しいパラメータがOracle Database 12cリリース1 (12.1)から追加され、ダイレクトNFSクライアントが有効な場合に、Oracleプロセスでキューに入れることができる非同期I/O操作の数を制御します。このパラメータは、ダイレクトNFSクライアントがNFSサーバーまたはネットワークで過剰である場合にのみ設定します。このパラメータにより、ユーザーはダイレクトNFSクライアントを生成できる負荷を管理できます。通常の環境では、このパラメータを設定する必要はありません。このパラメータのデフォルト値は4096です。ダイレクトNFSクライアントの負荷を軽減するために、128の値を推奨しますが、NFSサーバーのパフォーマンスに基づいて変更できます。


関連項目:

NFSの構成とマウントの詳細は、各ベンダーのドキュメントを参照

WindowsでのOracle Databaseのスケーラビリティの概要

Oracle Databaseの機能とWindowsオペレーティングシステムの機能が連携することで、スケーラビリティ、スループットおよびデータベースの容量が向上します。機能のうちの1つを次で説明します。

多数のユーザーのサポート

いくつかの新機能により、Oracle Databaseは、Windows上でより多くのデータベース接続をサポートできます。

  • 共有サーバー・プロセスは、Oracle Databaseプロセスで必要なスレッド数を制限しますが、1つのデータベース・インスタンスに対して10,000を超える同時接続をサポートします。

  • Oracle Netの多重化および接続プーリング機能により、大規模構成でより多くのユーザーを1つのデータベース・インスタンスに接続できます。

  • Oracle RACは、スループットを向上させるとともに、複数のサーバー・コンピュータが同じデータベース・ファイルにアクセスできるようにしてユーザー接続数を数万単位で増やし、接続数を大幅に増大します。


    注意:

    Oracle RACは64ビットWindowsサーバー・オペレーティング・システムでのみサポートされています。

Oracle DatabaseとWindowsとの統合

Oracle DatabaseはWindowsとの統合を強化することにより、メンテナンスを容易にし、セキュリティ、ディレクトリ、トランザクション・サービスにおけるエンタープライズレベルでのデプロイメントを改善しています。Oracle Databaseの統合機能は次のとおりです。

Oracle PKIとWindowsとの統合

Oracle Advanced Securityには、認証およびシングル・サインオンのためのOracle PKI(公開鍵インフラストラクチャ)が統合されています。Oracle Wallet Managerを使用して、OracleベースのアプリケーションとPKI認証および暗号化フレームワークを統合できます。

Microsoftトランザクション・サーバー用のOracleサービス

Microsoft Transaction Server(MTS)は、分散環境におけるCOMオブジェクトおよびトランザクション用のアプリケーション・サーバーとして中間層で使用されます。Oracle Services for Microsoft Transaction Serverを使用すると、Microsoft Transaction Server独自の形式に調整されたトランザクションのリソース・マネージャとしてOracle Databaseを使用できるため、OracleのソリューションとMicrosoft Transaction Serverとの連携が強力になります。オペレーティング・システムの種類を問わず、Oracle Services for Microsoft Transaction ServerとOracle Databaseを連携させることができます。

Oracle Databaseではシステム固有の実装を利用し、リカバリ情報をOracle Databaseそのものに格納します。Oracle Services for Microsoft Transaction Serverにより、Oracle Call Interface(OCI)、ActiveX Data Objects(ADO)、OLE DB、Open Database Connectivity(ODBC)など、業界全体で使用されているすべてのデータ・アクセス・インタフェースでの開発が可能になります。Oracle API、Oracle Data Provider for .NETおよびOCIは、効率的に最も優れています。

Oracle Fail SafeとWindowsとの統合

Oracle Fail Safeを使用すると、Oracle Database(および他のOracleアプリケーションとサード・パーティ・アプリケーション)を、Windowsクラスタで高可用性を提供できるように構成および管理できます。インスタンスは、一度に1つのノードでのみ実行されます。

クラスタは、1つの仮想システムとして機能する独立したコンピュータ・システムのグループで、障害の発生箇所となった個々のホスト・システムを排除します。Oracle Fail Safeは、Microsoft Windows Failover Clustersと連動して、1つのクラスタ・システムで障害が発生した場合に、そのシステムで動作しているワークロードを正常なシステムへ、迅速かつ自動的にフェイルオーバーします。Windowsクラスタ上でOracle DatabaseとOracle Fail Safeを組み合せることにより、ハードウェアおよびソフトウェア双方の障害からシステムを保護できます。

優れたソリューションにより、Oracle Fail Safeは、使用頻度の高いデータベースの場合も正常なシステムを即座に使用できるようにしています。


注意:

Windows Serverオペレーティング・システムはクラスタリング技術をサポートします。Oracle Fail Safe Managerクライアントは、Windows Serverオペレーティング・システム(Windows Server 2008、Windows Server 2008 R2、Windows Server 2012およびWindows Server 2012 R2 x64)およびクライアント・システム(Windows 7、Windows 8およびWindows 8.1)にインストールできます。


関連項目:

Oracle Fail Safeのドキュメント・セット(Oracle Databaseメディア・パックの個別のメディアで提供)

その他の参考資料

追加情報は、次のドキュメントを参照してください。