Windows上のOracle Databaseは、アプリケーションを構築するシステムとして、安定性、信頼性および高いパフォーマンスを提供します。データベースの各リリースでは、Windowsでのパフォーマンスを高めるために、プラットフォーム固有の新しい機能が提供されています。
Oracle Databaseは、Windows上でも他のプラットフォームと同じように動作します。
SYSDBA
として接続する特定のOracle ASMクライアントに制約されます。 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 Databaseインストレーション・ガイド
Oracle ASMファイル・アクセス制御は、ファイルへのアクセスをSYSDBA
として接続する特定のOracle ASMクライアントに制限します。
Oracle ASMクライアントはデータベースで、データベース・インスタンス・ホームを所有するユーザーの名前で識別されます。Oracle ASMファイル・アクセス制御では、データベースの識別にこのユーザー名を使用します。Oracle ASMファイル・アクセス制御は、データベース所有者のオペレーティング・システムおよび有効ユーザー識別番号に基づいてアクセスを制御します。
Oracle Database 18cではWindowsでロールを分離するためのアクセス制御が提供されます。
Oracle Databaseサービスがローカル・システム・アカウントではなくOracleホーム・ユーザー・アカウントで実行中の場合、Windowsでロールの分離をサポートするには、Oracle ASMアクセス制御機能を有効化する必要があります。以前のリリースでは、すべてのOracle DatabaseサービスがWindowsの組込みローカル・システム・アカウントで実行されたため、Windowsのこの機能は無効になりました。
追加された新しいユーザー・グループはORA_
HOMENAME
_DBA
、ORA_
HOMENAME
_OPER
、ORA_
HOMENAME
_SYSBACKUP
などです。Oracle ASM管理で、新しいグループORA_ASMADMIN
、ORA_ASMDBA
およびORA_ASMOPER
がOracle Databaseのインストール中に自動的に作成および入力されます。Oracle ASM管理者はこれらのWindowsグループをWindowsツールを使用して管理できるので、必要なユーザー名がこれらのグループから削除されていないことを確認する必要があります。
関連トピック
関連項目:
『Oracle Databaseインストレーション・ガイド
Oracle Grid Infrastructureインストレーションおよびアップグレード・ガイドfor Microsoft Windows x64 (64ビット)
あるオペレーティング・システム・ユーザーから別のオペレーティング・システム・ユーザーに、Oracle ASMユーザーのアイデンティティを変更できます。
これにより、エンド・ユーザーがOracle ASMユーザーのIDを変更でき、ユーザーを削除して再作成する必要はありません(この場合、ユーザーが所有するすべてのファイルを削除する必要があります)。この機能により、Oracle ASMのユーザーおよびユーザーが所有するファイルの管理性が向上します。SQL文ALTER, DISKGROUP, REPLACE, USER
および新しいASMCMDコマンド(rpusr
)が追加され、ディスク・グループでのユーザー置換をサポートします。
関連項目:
Oracle Automatic Storage Management管理者ガイド
Oracle Database 18cでは、ユーザーはファイルが開いているときでもファイルの所有権、権限、またはグループ・メンバーシップを変更できます。
このリリース以降、chgrp
、chmod
および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アーキテクチャを「WindowsでのOracle Databaseアーキテクチャ」に示します。WindowsでのOracle Databaseに必須のスレッドの例を「Oracle Databaseスレッド」に示します。
表1-1 Oracle Databaseスレッド
Oracle Databaseスレッド | 説明 | 必須/オプション |
---|---|---|
|
データベース・ライター |
必須 |
|
ログ・ライター |
必須 |
|
メモリー・マネージャ・プロセス |
必須 |
|
プロセス・モニター |
必須 |
|
プロセス起動プロセス |
必須 |
|
システム・モニター |
必須 |
|
Windows上でデフォルトで動作するチェックポイント・プロセス(Windowsのスレッド) |
必須 |
|
アーカイブ・プロセス(またはWindowsのスレッド) |
必須 |
|
分散リカバリ・バックグラウンド・プロセス |
必須 |
Oracle Database for Windowsは、一連の実行可能ファイルおよびDynamic Link Library(DLL)として提供されます。ORASTACK
を使用して実行可能ファイルのイメージを変更し、Oracle Databaseプロセスのスレッドで使用されるスタックのサイズを変更できます。このツールは、必ずOracleサポート・サービスの指示に従って使用してください。
Oracle Databaseでは、64ビットのファイルI/Oをサポートするため、4GBを超えるサイズのファイルを使用できます。
さらに、Windows上でOracle Real Application Clusters(Oracle RAC)をサポートし、最大限のパフォーマンスが必要な場合に備え、データファイル、ログ・ファイルおよび制御ファイルとして物理および論理RAWファイルがサポートされています。
オペレーティング・システム・カーネルのNFSクライアントを使用するかわりに、Oracle内部のDirect NFSクライアントを使用して直接NFS V3サーバーにアクセスするようOracle Databaseを構成できます。この統合を通じて、OracleとNFSサーバー間のI/Oパスが最適化されるため、パフォーマンスが大幅に向上します。また、ダイレクトNFSクライアントにより、データベース・ワークロード用のNFSクライアント構成が簡素化および最適化されます。
Direct NFSクライアントは、WindowsスタイルとUNIXスタイル両方のNFSパスも含め、広く普及しているすべてのNFSパス形式をサポートします。
ダイレクトNFSクライアントを構成せずに、CIFSによってマウントされたボリュームをOracle Databaseファイルの保存に使用することはできません。データベース書込みに必要なアトミック書込み要件は、CIFSプロトコルでは保証されていません。したがって、CIFSは、コピーや移動などのオペレーティング・システム・レベルのコマンド用にのみ使用できます。
現在、ダイレクトNFSクライアントでは、スケーラビリティと高可用性を実現するために最大4つのパラレル・ネットワーク・パスがサポートされます。ダイレクトNFSクライアントにより、指定したすべてのパスでリクエストが自動的に負荷分散され、パフォーマンスが最適化されます。いずれかのネットワーク・パスに障害が発生すると、ダイレクトNFSクライアントにより残りのパスを通じてコマンドが再送信されるため、フォルト・トレランスと高可用性が保証されます。
Direct NFSクライアントが有効な場合にOracleプロセスによってキューに入れることができる非同期I/O操作の数を制御するために、dnfs_batch_size
という新しいパラメータが追加されました。このパラメータは、ダイレクトNFSクライアントがNFSサーバーまたはネットワークで過剰である場合にのみ設定します。このパラメータにより、ユーザーはダイレクトNFSクライアントを生成できる負荷を管理できます。通常の環境では、このパラメータを設定する必要はありません。このパラメータのデフォルト値は4096です。ダイレクトNFSクライアントの負荷を軽減するために、128の値を推奨しますが、NFSサーバーのパフォーマンスに基づいて変更できます。
関連項目:
NFSの構成とマウントの詳細は、各ベンダーのドキュメントを参照