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

前
 
次
 

E Oracle DatabaseのWindowsとUNIXでの相違点

この付録では、Oracle DatabaseのWindowsとUNIX上での主な相違点について説明します。UNIXプラットフォームからWindowsへ移行するOracle Database開発者およびデータベース管理者にとって、この情報は、Oracle Databaseに関連するWindowsの機能を理解するうえで役立ちます。

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

自動起動および停止

UNIXでは、インスタンスを自動的に起動するには、異なるディレクトリの複数のファイルおよびスクリプトを使用します。コンピュータを停止するときは、別のスクリプトを使用して、Oracle Databaseなどのアプリケーションを完全に停止します。

Windowsで自動起動を行うには、ORADIMなどのOracle Databaseツールを使用して、レジストリ・パラメータORA_SID_AUTOSTARTtrueに設定します。コマンド・プロンプトに、パラメータを含めて次のように入力します。

C:\> oradim options

リスナーを自動的に起動するには、サービスの起動の種類を「自動」に設定します。

Windowsで自動停止を行うには、レジストリ・パラメータORA_SHUTDOWNおよびORA_SID_SHUTDOWNを、関連するOracleServiceSIDを停止し、データベースを停止するように設定します。レジストリ・パラメータORA_SID_SHUTDOWNTYPEを設定して、停止モードを制御します(デフォルトはi、つまりimmediateです)。


関連項目:


バックグラウンド処理およびバッチ・ジョブ

UNIXには、バックグラウンド処理およびバッチ・ジョブ用の高度な制御メカニズムがあります。

Windowsで同様の機能を使用するには、ATコマンドまたはMicrosoftリソース キットのGUIバージョンを使用します。

診断およびチューニング・ユーティリティ

UNIXでは、sarvmstatなどのユーティリティを使用して、Oracle Databaseのバックグラウンド・プロセスおよびシャドウ・プロセスを監視します。これらのユーティリティは、Oracle Databaseとは統合されていません。

Windowsで使用可能なパフォーマンス・ユーティリティには、タスク マネージャ、コントロール パネル、イベント ビューアおよびMicrosoft管理コンソールがあります。

Oracle Databaseは、これらのいくつかのツールと統合されています。次に例を示します。

  • イベント ビューアには、Oracle Databaseの起動/停止メッセージ、監査証跡などのシステムの警告メッセージが表示されます。

  • Windowsのタスク マネージャには、UNIXのps -efコマンドやHP OpenVMSのSHOW SYSTEMと同様、現在実行中のプロセスおよびリソース使用量が表示されます。ただし、タスク マネージャの方がわかりやすく、また列をカスタマイズできます。

ディスクへの直接書込み

UNIXおよびWindowsの両プラットフォームとも、ファイル・システムのバッファ・キャッシュを使用しない場合、データはディスクに書き込まれます。

UNIXの場合、ファイル・システムのバッファ・キャッシュの使用を避けるために、Oracle DatabaseではO_SYNCフラグを使用します。フラグ名は、UNIXポートによって決まります。

Windowsの場合、Oracle Databaseではファイル・システムのバッファ・キャッシュはまったく使用されません。

Dynamic Link Library(DLL)

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アカウントを手動で作成する必要があります。


関連項目:

『Oracle Databaseインストレーション・ガイド』

Windowsの場合は、管理者グループに所属しているWindowsユーザー名でOracle Databaseをインストールする必要があります。ユーザー名は自動的にWindowsのローカル・グループORA_DBAに追加されます。このグループにはSYSDBA権限が付与されます。これにより、ユーザーはパスワードの入力要求を受けることなく、CONNECT / AS SYSDBAを使用してデータベースにログインできます。

ORA_OPERグループを作成し、SYSOPER権限を他のWindowsユーザーに付与することもできます。

パスワード・ファイルは、ORACLE_HOME\databaseディレクトリにあり、pwdSID.oraという名前が付けられています。SIDはOracle Databaseインスタンスを示します。

インストール

次の手動設定作業は、UNIXではすべて必須ですが、Windowsでは必須ではありません

  • 環境変数の設定

  • データベース管理者用DBAグループの作成

  • Oracle Universal Installerを実行するユーザー・グループの作成

  • Oracle Databaseコンポーネントのインストールおよびアップグレード専用アカウントの作成


関連項目:

『Oracle Databaseインストレーション・ガイドfor Microsoft Windows』

メモリー・リソース

UNIXのデフォルト・カーネルが提供するリソースは、Oracle Databaseの中規模または大規模インスタンスには不十分な場合があります。共有メモリー・セグメントの最大サイズ(SHMMAX)および使用可能なセマフォの最大数(SEMMNS)が、Oracle Databaseの推奨値より低すぎることがあります。

Windowsでは、Oracle Databaseリレーショナル・データベース管理システムがプロセスベースではなくスレッド・ベースであるため、プロセス間通信(IPC)ではリソースはほとんど必要ありません。ユーザーが、共有メモリーとセマフォを含むこれらのリソースを調整することはできません。

Microsoft Transaction Server

WindowsはMicrosoft Transaction Serverのコンポーネントの1つであるMicrosoft分散トランザクション・コーディネータ(DTC)を介して分散トランザクションを調整します。Oracle Services for Microsoft Transaction Serverを使用すると、.NET、COMまたはCOM+を使用する分散トランザクション・アプリケーションを開発およびデプロイでき、Oracle DatabaseはDTCトランザクションのリソース・マネージャとなることができます。

Microsoft Transaction ServerはWindowsのコンポーネントで、UNIXでは動作しません。ただし、UNIXでのOracle Databaseは、WindowsでのMicrosoft DTCトランザクションに参加できます。


関連項目:

『Oracle Services for Microsoft Transaction Server開発者ガイド』

複数のOracleホームおよびOFA

OFAの目的は、すべてのOracle Databaseソフトウェアを1つのORACLE_HOMEディレクトリの下に置き、データベースのサイズが大きくなるに従い、異なる物理ドライブにデータベース・ファイルを分散させることにあります。OFAはWindowsでもUNIXでも同じ方法で実装され、主要なサブディレクトリ名とファイル名は、どちらのオペレーティング・システムでも同じです。ただし、OFAディレクトリ・ツリーのトップレベルの名前と、変数の設定方法は、WindowsとUNIXでは異なります。

UNIXでは、ORACLE_BASEはユーザーの環境に関連付けられます。ORACLE_HOMEおよびORACLE_SIDは、システムまたはユーザーのログイン・スクリプトで設定する必要があります。シンボリック・リンクがサポートされています。すべてのファイルは同じハード・ディスク・ドライブの1つのディレクトリ内にあるように見えますが、ハード・ディスク・ドライブがシンボリックにリンクしているか、またはディレクトリがマウント・ポイントである場合には、ファイルが異なるハード・ディスク・ドライブに配置されていることがあります。

Windowsでは、ORACLE_BASEはレジストリ(たとえば\HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE\HOME0)で定義します。ORACLE_HOMEおよびORACLE_SIDは、レジストリで定義する変数です。UNIXにおけるシンボリック・リンクはサポートされません。


関連項目:

Oracle Databaseのインストレーション・ガイドの付録B「Optimal Flexible Architecture」

Oracleホーム・ユーザーおよびOracleユーザー

LinuxおよびUNIXシステムで、ソフトウェア所有者のユーザー・アカウント(oracle)を作成および使用する必要があり、このユーザーはOracle Inventoryグループ(oinstall)に属し、適切なOSDBA、OSOPER、OSBACKUPDBA、OSDGDBAおよびOSKMDBAグループのメンバーである必要もあります。

Windowsでは、Oracleホーム・ユーザーとして、既存のWindowsユーザー・アカウントを使用するか、新しい標準のWindowsユーザー・アカウント(管理者アカウント以外)を作成する必要があります。Windowsでの様々なOracleサービスは、Oracleホーム・ユーザーの権限を使用して実行されます。このユーザーは必要に応じて各種グループに自動的に追加されます。

詳細は、第3章「WindowsでのOracleホーム・ユーザーのサポート」を参照してください。

プロセスおよびスレッド

UNIXでは、Oracle Database 12cリリース1 (12.1)以降、Oracle Databaseはオペレーティング・システム・プロセスまたはオペレーティング・システム・スレッドを使用して、データベース・ライター(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 - HOMENAME」、「Configuration and Migration Tools」「Administration Assistant for Windows」の順に選択します。SIDを右クリックし、「プロセス情報」を選択します。


注意:

Microsoft管理コンソール(MMC)は、Oracle Administration Assistant for Windowsの起動時に起動されます。Oracle Databaseでは、複数のデータベース管理スナップインがMicrosoft管理コンソールに統合されています。


関連項目:


RAWパーティション

表領域のデータ・ファイルは、ファイル・システムまたはRAWパーティションに格納できます。RAWパーティションは、最下位レベルでアクセスされる物理ディスクの一部です。

UNIXではRAWパーティション(論理ドライブ)がサポートされています。ディスク・ドライブ数に制限はありません。

Windowsでは、ドライブ文字の使用はAからZに制限されていますが、RAWパーティションを作成することにより、ディスク・ドライブの制限を回避し、ディスクを小さなセクションに分割できます。

Windowsディスク管理ツールを使用すると、物理ドライブ上に拡張パーティションを作成できます。拡張パーティションとは、データベース・ファイル用の複数の論理パーティションを割り当てられる、ディスク上のRAW領域を示します。

拡張パーティションにより、論理パーティションを大量に定義して、Oracle Databaseを使用するアプリケーションに対応できるようになり、4つまでというWindowsのパーティションの制限を回避できます。また、論理パーティションには、ドライブ文字を使用しなくてすむようにシンボリック・リンク名を付けることができます。

サポートしているWindowsオペレーティング・システムの場合は、プライマリ・パーティションと、「新しいシンプル ボリューム」オプションを選択して拡張パーティションの論理ドライブを作成します。RAWデバイスを作成するには、「ドライブ文字またはドライブ パスを割り当てない」を選択します。RAWデバイスをマウントするには、ドライブ文字を割り当てて削除します。スパン・ボリュームやストライプ・ボリュームは使用しないでください。これらのオプションは、ボリュームをダイナミック・ディスクに変換します。Oracle Automatic Storage Managementでは、ダイナミック・ディスクはサポートされていません。


注意:

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

サービス

Windowsのサービスは、UNIXのデーモンに似ています。

Oracle Databaseでは、データベース・インスタンスはサービス(OracleServiceSID)として登録されます。サービスはバックグラウンド・プロセスとして起動されます。

Oracle Databaseインスタンスに接続して、そのインスタンスを使用するには、データベースの作成中にOracle Databaseサービスを作成し、Oracle Databaseに関連付けます。Oracle Databaseにサービスが作成されると、ユーザーが誰もログオンしていない間でもサービスが実行されます。

「スタート」メニューから、「コントロール パネル」「管理ツール」「サービス」の順に選択して、「サービス」ダイアログにアクセスします。