Oracle Database プラットフォーム・ガイド
10gリリース2(10.2) for Microsoft Windows(x64) B25695-04 |
|
この付録では、Oracle DatabaseのWindowsとUNIX上での主な相違点について説明します。UNIXプラットフォームからWindowsへ移行するOracle Database開発者およびデータベース管理者にとって、この情報は、Oracle Databaseに関連するWindowsの機能を理解するうえで役立ちます。
この章の項目は次のとおりです。
UNIXでは、インスタンスを自動的に起動するには、異なるディレクトリの複数のファイルおよびスクリプトを使用します。コンピュータを停止するときは、別のスクリプトを使用して、Oracle Databaseなどのアプリケーションを完全に停止します。
Windowsで自動起動を行うには、ORADIMなどのOracle Databaseツールを使用して、レジストリ・パラメータORA_
SID
_AUTOSTART
をtrue
に設定します。コマンド・プロンプトに、パラメータを含めて次のように入力します。
C:¥> oradim options
リスナーを自動的に起動するには、サービスの起動の種類を「自動」に設定します。
Windowsで自動停止を行うには、レジストリ・パラメータORA_SHUTDOWN
およびORA_
SID
_SHUTDOWN
を、関連するOracleServiceSIDを停止し、データベースを停止するように設定します。レジストリ・パラメータORA_
SID
_SHUTDOWNTYPE
を設定して、停止モードを制御します(デフォルトはi
、つまりimmediate
です)。
UNIXには、バックグラウンド処理およびバッチ・ジョブ用の高度な制御メカニズムがあります。
Windowsで同様の機能を使用するには、ATコマンドまたはMicrosoftリソース キットのGUIバージョンを使用します。
UNIXでは、sar
やvmstat
などのユーティリティを使用して、Oracle Databaseのバックグラウンド・プロセスおよびシャドウ・プロセスを監視します。これらのユーティリティは、Oracle Databaseとは統合されていません。
Windowsで使用可能なパフォーマンス・ユーティリティには、Oracle Counters for Windows Performance Monitor、タスク マネージャ、コントロール パネル、イベント ビューア、ユーザー マネージャおよびMicrosoft管理コンソール(Windows 2000のみ)があります。
Oracle Databaseは、これらのいくつかのツールと統合されています。次に例を示します。
ps -ef
コマンドやHP OpenVMSのSHOW SYSTEM
と同様、現在実行中のプロセスおよびリソース使用量が表示されます。ただし、タスク マネージャの方がわかりやすく、また列をカスタマイズできます。 UNIXおよびWindowsの両プラットフォームとも、ファイル・システムのバッファ・キャッシュを使用しない場合、データはディスクに書き込まれます。
UNIXの場合、ファイル・システムのバッファ・キャッシュの使用を避けるために、Oracle DatabaseではO_SYNC
フラグを使用します。フラグ名は、UNIXポートによって決まります。
Windowsの場合、Oracle Databaseではファイル・システムのバッファ・キャッシュはまったく使用されません。
UNIXの共有ライブラリは、Windowsの共有DLLと似ています。オブジェクト・ファイルおよびアーカイブ・ライブラリがリンクされて、Oracle Database実行可能プログラムが生成されます。パッチのインストールなど、特定の操作後には再リンクが必要です。
Windowsでは、Oracle Database DLLは、実行時に実行可能ファイルの一部となるため、サイズは小さくなります。DLLは、複数の実行可能ファイルで共有できます。ユーザーによる再リンクはサポートされていませんが、実行可能ファイルのイメージは、ORASTACKを使用して変更できます。
Windowsで実行可能ファイルのイメージを変更すると、大規模なSGAを使用する場合や多数の接続をサポートする場合に、仮想メモリー不足が発生する可能性は低くなります。ただし、この変更は、必ずOracleサポート・サービスの指示に従って実行してください。
(手動)ホット・バックアップは、オフライン・バックアップ・モードの表領域をバックアップすることと同じです。
UNIXのバックアップ計画では、表領域をバックアップ・モードに設定し、ファイルをバックアップ先にコピーし、表領域のバックアップ・モードを解除します。
Windowsでも同じバックアップ計画がサポートされていますが、通常のWindowsユーティリティでは、使用中のファイルはコピーできません。オープン状態のデータベース・ファイルをディスクの別の場所にコピーするには、OCOPYを使用します。その後、ファイルをテープにコピーするユーティリティを使用します。
UNIXでは、初期化パラメータDB_WRITERS
を使用して、複数のデータベース・ライター・プロセスを指定できます。たとえば、UNIXポートが非同期I/Oをサポートしない場合は、複数のデータベース・ライターを使用すると便利です。
WindowsでもDB_WRITERS
はサポートされていますが、独自の非同期I/O機能が組み込まれているため、通常は必要ありません。
UNIXでは、DBAグループの概念を使用します。rootアカウントを使用して、Oracle Databaseをインストールすることはできません。別のOracle Databaseアカウントを手動で作成する必要があります。
Windowsでは、管理グループのWindowsユーザー名でOracle Databaseをインストールする必要があります。ユーザー名は、Windowsのローカル・グループORA_DBA
に自動的に追加され、SYSDBA権限が与えられます。これで、ユーザーは、CONNECT
/
AS SYSDBA
を使用してデータベースにログオンできます。パスワードの入力は求められません。
パスワード・ファイルはORACLE_BASE
¥
ORACLE_HOME
¥database
ディレクトリにあり、pwd
SID
.ora
という名前が付けられています。SID
はOracle Databaseインスタンスです。
UNIXで実行する必要がある次のすべての手動セットアップ・タスクは、Windowsでは必要ありません。
UNIXのデフォルト・カーネルが提供するリソースは、Oracle Databaseの中規模または大規模インスタンスには不十分な場合があります。共有メモリー・セグメントの最大サイズ(SHMMAX
)および使用可能なセマフォの最大数(SEMMNS
)が、Oracle Databaseの推奨値より低すぎることがあります。
Windowsでは、Oracle Databaseリレーショナル・データベース管理システムがプロセスベースではなくスレッドベースであるため、プロセス間通信(IPC)ではリソースはほとんど必要ありません。ユーザーが、共有メモリーとセマフォを含むこれらのリソースを調整することはできません。
UNIXでは、Microsoft Transaction Serverはサポートされていません。
Windowsでは、Oracle8以降でMicrosoft Transaction Serverがサポートされています。Oracle Services for Microsoft Transaction Serverを使用して、COM/COM+ベースのアプリケーションを開発し、配置できます。Microsoft Transaction Serverは、Oracle Databaseのアプリケーション・トランザクションを調整します。
OFAの目的はすべてのOracle Databaseソフトウェアを1つのORACLE_HOMEディレクトリ内に配置し、データベース・サイズの増加に応じて、異なる物理ドライブ間でデータベース・ファイルを分散することです。WindowsとUNIXでのOFAの実装方法は同じです。また両方のオペレーティング・システムにおいて主なサブディレクトリとファイル名は同じです。ただし、OFAディレクトリ・ツリーの最上位名と変数の設定方法は異なります。
UNIXでは、ORACLE_BASE
はユーザーの環境に関連付けられます。ORACLE_HOMEおよびORACLE_SID
は、システムまたはユーザーのログイン・スクリプトで設定する必要があります。シンボリック・リンクがサポートされています。すべてのファイルは同じハード・ディスク・ドライブの1つのディレクトリ内にあるように見えますが、ハード・ディスク・ドライブがシンボリックにリンクしているか、またはディレクトリがマウント・ポイントである場合には、ファイルが異なるハード・ディスク・ドライブに配置されていることがあります。
Windowsでは、ORACLE_BASE
はレジストリ(たとえば¥HKEY_LOCAL_MACHINE¥
)で定義します。
SOFTWARE¥ORACLE¥HOME0ORACLE_HOME
およびORACLE_SID
は、レジストリで定義する変数です。Microsoft社は、将来のリリースでUNIXで使用されているようなシンボリック・リンクをサポートする意向を発表していますが、現在のところはサポートされていません。
UNIXでは、プロセスを使用して、データベース・ライター(DBW0
)、ログ・ライター(LGWR
)、共有サーバー・プロセス・ディスパッチャおよび共有サーバーなどの各バックグラウンド・タスクを実装します。データベースへの各専用接続により、そのセッション用に別のオペレーティング・システム・プロセスが作成されます。
Windowsでは、各バックグラウンド・プロセスは、1つの大きなプロセス内のスレッドとして実装されます。Oracle Databaseインスタンスまたはシステム識別子のそれぞれには、対応するOracle Databaseのプロセスが1つあります。たとえば、UNIX上の1つのデータベース・インスタンスに対する100のOracle Databaseプロセスは、Windowsでは1つのプロセス内の100のスレッドとして処理されます。
すべてのOracle Databaseバックグラウンド、専用サーバーおよびクライアント・プロセスは、マスターであるOracle Database Windowsプロセスのスレッドであり、Oracle Databaseプロセスのすべてのスレッドでリソースは共有されます。このマルチスレッド・アーキテクチャは非常に効率的で、低いオーバーヘッドでコンテキストのスイッチングを高速に実行できます。
プロセスの表示、各スレッドの終了には、Oracle Administration Assistant for Windowsを使用します。「スタート」→「プログラム」→「Oracle - HOME_NAME」→「Configuration and Migration Tools」→「Administration Assistant for Windows」を選択します。SID
を右クリックし、「プロセス情報」を選択します。
注意 Microsoft管理コンソール(MMC)は、Oracle Administration Assistant for Windowsの起動時に起動されます。Oracle Databaseでは、複数のデータベース管理スナップインがMMCに統合されています。 |
表領域のデータファイルは、ファイル・システムまたはRAWパーティションに格納できます。RAWパーティションは、最下位レベルでアクセスされる物理ディスクの一部です。
UNIXではRAWパーティション(論理ドライブ)がサポートされています。ディスク・ドライブ数に制限はありません。
Windowsでは、ドライブ文字の使用はA〜Zに制限されていますが、RAWパーティションを作成することにより、ディスク・ドライブの制限を回避し、ディスクを小さなセクションに分割できます。
Windowsディスク管理ツールを使用すると、物理ドライブ上に拡張パーティションを作成できます。拡張パーティションとは、データベース・ファイル用の複数の論理パーティションを割り当てられる、ディスク上のRAW領域を示します。
拡張パーティションにより、論理パーティションを大量に定義して、Oracle Databaseを使用するアプリケーションに対応できるようになり、4つまでというWindowsのパーティションの制限を回避できます。また、論理パーティションには、ドライブ文字を使用しなくてすむようにシンボリック・リンク名を付けることができます。
Windows VistaおよびWindows Server 2008では、ディスクの未割当ての領域を右クリックし、「新しいシンプル ボリューム」オプションを選択して、プライマリ・パーティションおよび拡張パーティションの論理ドライブを作成します。RAWデバイスを作成するには、「ドライブ文字またはドライブ パスを割り当てない」を選択します。RAWデバイスをマウントするには、ドライブ文字を割り当てて削除します。スパン・ボリュームまたはストライプ・ボリュームは使用しないでください。これらのオプションを使用すると、ボリュームが動的ディスクに変換されます。自動ストレージ管理は動的ディスクをサポートしません。
Windowsのサービスは、UNIXのデーモンに似ています。
Oracle Databaseでは、データベース・インスタンスはサービス(OracleServiceSID)として登録されます。サービスはバックグラウンド・プロセスとして起動されます。
Oracle Databaseインスタンスに接続して、そのインスタンスを使用するには、データベースの作成中にOracle Databaseサービスを作成し、Oracle Databaseに関連付けます。Oracle Databaseにサービスが作成されると、ユーザーが誰もログオンしていない間でもサービスが実行されます。
デフォルトでは、サービスはSYSTEMアカウントで実行されます。「スタート」→「設定」→「コントロール パネル」→「サービス」を選択して、「サービス」ダイアログにアクセスします。
|
Copyright © 1996, 2008 Oracle Corporation. All Rights Reserved. |
|