この章では、様々なOracle Database for WindowsコンポーネントのWindowsレジストリの使用方法について説明します。ここでは、構成パラメータの推奨の値と範囲についても説明します。Windowsレジストリはこの章ではレジストリと呼ばれています。
この章の項目は次のとおりです。
Oracle Database for Windowsでは、構成パラメータを使用してファイルを検索し、すべてのOracle製品に共通のランタイム・パラメータを指定します。OracleプログラムまたはOracleアプリケーションで、ある特定の構成変数を変換する必要がある場合、Oracle Database for Windowsでは、関連するパラメータが使用されます。Oracleパラメータはすべてレジストリに格納されています。
Oracle Database for Windowsでは、構成情報はツリー構造に編成されたリポジトリ(レジストリ)に格納されます。ツリー構造は、レジストリのキーおよびそのキーのパラメータ値から構成されます。レジストリ エディタで、レジストリ・キーとパラメータ値を表示して変更できます。
キーとは、「レジストリ エディタ」ウィンドウの左のペインに表示されるフォルダです。キーには、サブキーまたはパラメータが含まれています。
|
注意: レジストリ エディタを使用すると、レジストリ・キーおよびパラメータ値を表示し、変更できますが、通常その必要はありません。実際、変更が適切でないとシステムが使用できなくなることがあります。したがって上級ユーザー以外は、レジストリを編集しないでください。レジストリに変更を加える場合は、その前にシステムをバックアップしてください。 |
レジストリ エディタのパラメータは、次のような3つの部分から構成された文字列として表示されます。
パラメータ名
値のクラスまたはエントリ・タイプ
値
たとえば、パラメータORACLE_SIDの場合、レジストリに次のエントリがあります。
ORACLE_SID:reg_sz:orcl1
Oracle Database for Windowsパラメータの値のクラスは次のとおりです。
文字列値。パラメータの値エントリをデータ文字列として識別する接頭辞REG_SZ、REG_EXPAND_SZ(展開可能文字列の場合)またはREG_MULTI_SZ(複数行文字列の場合)が付きます。
バイナリ値。値エントリをdwordまたはqword(16進データ)エントリとして識別する接頭辞REG_BINARY、REG_DWORDまたはREG_QWORDが付きます。
ほとんどのOracle Database for Windowsパラメータ値は文字列型です。型が指定されていない場合は、Oracle Universal Installerのデフォルトが使用されます。
この項では、次のキーのOracle Database for Windowsレジストリ・パラメータについて説明します。Oracle Enterprise Managerなどのその他の製品には、この章では説明されない追加のキーおよびパラメータがあります。
これらのレジストリ値を変更するには、「regeditによるレジストリ・パラメータの管理」を参照してください。
コンピュータの新規OracleホームにOracle製品をインストールするたびに、HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE\KEY_HOMENAMEが作成されます。このサブキーにはほとんどのOracle製品に対するパラメータ値が含まれます。
|
注意: 複数のOracleホームを操作する場合のPATH変数およびレジストリ値の詳細は、『Oracle Databaseインストレーション・ガイド for Microsoft Windows』の付録「Optimal Flexible Architecture」を参照してください。 |
HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE\KEY_HOMENAMEには、Oracleホーム・ディレクトリの次のパラメータが含まれます。インストールした製品によって、追加パラメータが作成されることもあります。Windowsの開発マニュアルを参照してください。
サポートされる言語、地域およびキャラクタ・セットを指定します。このパラメータでは、メッセージを表示する言語、地域およびその地域の週数と日数の計算規則、表示されるキャラクタ・セットを指定します。Oracle Universal Installerは、オペレーティング・システムの言語の設定に基づいて、インストール中にこの値を設定します。
NLS_LANGのデフォルト値は、指定のない場合、AMERICAN_AMERICA.US7ASCIIです。
NLS_LANGとともに設定することで、NLS_LANGにより暗黙的に決定されるいくつかの値を上書きできるその他のグローバリゼーション・パラメータが存在します。これらのパラメータは次のとおりです。
NLS_DATE_FORMAT NLS_TIMESTAMP_FORMAT NLS_TIMESTAMP_TZ_FORMAT NLS_DATE_LANGUAGE NLS_NUMERIC_CHARACTERS NLS_CURRENCY NLS_ISO_CURRENCY NLS_DUAL_CURRENCY NLS_SORT
次のパラメータも、NLS_LANGとともに設定してNLS_LANGの値には依存しないグローバリゼーション動作を指定できます。
NLS_CALENDAR NLS_COMP NLS_NCHAR_CONV_EXCP NLS_LENGTH_SEMANTICS
|
注意: NLS_LANGが設定されていない場合、データベース・クライアントの環境およびレジストリで設定しているすべてのグローバリゼーション・パラメータは、無視されます。 |
NLS_LANGとその他のグローバリゼーション・パラメータの詳細は、『Oracle Databaseグローバリゼーション・サポート・ガイド』を参照してください。
現在の作業ディレクトリを指定します。たとえば、このパラメータを設定してからORADIMを使用すると、oradim.logというログ・ファイルがこのディレクトリ内に作成されます。このパラメータは手動で設定する必要があります。
デフォルト値のtrueに設定した場合、このパラメータは、コントロール パネルまたはNet stopコマンドを使用してOracleServiceSIDを手動で停止したときに、SIDで指定されているOracle Databaseのインスタンスを停止します。
OracleServiceSIDを停止する際にOracle Databaseを停止するモードを指定します。有効な値はa(異常終了)、i(即時)およびn(通常)です。デフォルト値はiです。
タイムゾーン・ファイルの場所を指定します。各ファイルには、次の情報が含まれます。
有効なタイムゾーン名
UTCからのオフセット
標準時間の略称
サマータイムの略称
旧リリースでは、ORA_TZFILEのデフォルト値は次のとおりでした。
ORACLE_BASE\ORACLE_HOME\oracore\zoneinfo\timezlrg.dat
Oracle Database 11gリリース2 (11.2)から、デフォルト値は次のとおりです。
ORACLE_HOME\oracore\zoneinfo\timezlrg_11.dat
timezone_version_number.datデータ・ファイルには、一般的に使用されているタイムゾーンのほとんどが含まれ、データベース・パフォーマンスを向上させるために小さくされています。新しいデフォルト値timezlrg_version_number.datには、小さい方のファイルに定義されていないタイムゾーンが含まれています。
|
関連項目: 『Oracle Databaseグローバリゼーション・サポート・ガイド』 |
64 CPUを超えるシステムの複数のプロセッサ・グループでクラス・スレッドのスケジューリングを有効化します。
このパラメータは手動で追加する必要があります。このパラメータを変更する場合は、Oracleサポート・サービスに連絡することをお薦めします。形式は次のとおりです。
namen:[[processorgroup0][processorgroup1][..2][..3],]{cpumask0[ cpumask1 cpumask2 cpumask3] | ALL};
name1:[[0][1][2][3],]{cpumask0[ cpumask1 cpumask2 cpumask3] | ALL};
name2:[[0][1][2][3],]{cpumask0[ cpumask1 cpumask2 cpumask3] | ALL};
ここで、processorgroupはWindows CPUグループを指定するオプションのパラメータです。64以上の論理CPUを含むシステムでは、Windowsはすべての使用可能なCPUを4つのグループ(0、1、2、3)に分割し、それぞれのグループに64を超える論理CPUが含まれないようにします。デフォルトでは、プロセスは単一のプロセッサ・グループを利用します。processorgroupパラメータにより、Oracleは64を超える論理CPUを使用できます。有効なプロセッサ・グループを決定するには特定のハードウェア構成を参照してください。
|
注意: 64論理コアより少ないシステムの複数のプロセッサ・グループとともにORACLE_AFFINITYパラメータを使用しないでください。本番サーバーで、64論理CPUより少ないシステムでは、1つのプロセッサ・グループのみ使用できます。 |
各namenは、バックグラウンド・スレッドの名前に設定する必要があります。非バックグラウンド(シャドウ)・スレッドにはUSERを、特に処理のない他のスレッド・タイプにはDEFを指定します。有効なバックグラウンド・スレッド名には、DBW0、LGWR、PMON、SMON、ARCH、RECO、CKPT、TRWR、J000からJ999、P000からP481、およびv$bgprocessデータ・ディクショナリ・ビューのNAME列にあるその他の名前があります。
cpumaskはOracle Databaseプロセスのアフィニティ・マスクを設定します。各アフィニティ設定は、対応するスレッド名の有効なアフィニティ・マスクまたはこれに相当する数値である必要があります。プロセスのアフィニティ・マスクは、Oracle Servicesを最初に起動したときにのみ使用されます。各スレッドのアフィニティは、個々のスレッドが起動するとき(たとえば、バックグラウンド・スレッドの場合にはデータベースの起動時)のみ設定されます。
たとえば、160論理CPUを含むシステムで複数のプロセッサ・グループを使用するには、HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE\KEY_HOMENAMEのORACLE_AFFINITYレジストリ・キーは次のように定義できます。
次の例では、160論理CPUを含むシステムで複数のプロセッサ・グループを使用するためにHKEY_LOCAL_MACHINE\SOFTWARE\ORACLE\KEY_HOMENAMEのORACLE_AFFINITYレジストリ・キーを設定する方法を示します。次の例で、USER, DEFはスレッド・クラス名、0,1,2,3はシステム内の有効なCPUグループ、4294967295は対応するCPUグループ内の有効なアフィニティ・マスクとします。
USER (フォアグラウンド)スレッドのアフィニティを、processorgroup1内のすべてのCPU、processorgroup2内のすべてのCPU、またはprocessorgroup3内のすべてのCPUに、それぞれの新しいフォアグラウンド・スレッドのプロセッサ・グループ間で交互に設定します。また、DEFクラス・スレッドのアフィニティを、processorgroup0内のCPU 0-31に設定します。
USER:123,ALL;DEF:0,4294967295;
USERクラス・スレッドのアフィニティを、processorgroup0内のCPU 0-19、またはprocessorgroup2内のCPU 16-31に設定します。また、DEFクラス・スレッドのアフィニティを、processorgroup1内のCPU 0-19に設定します。
USER:02,1048575 4294901760;DEF:1,1048575;
USERクラス・スレッドのアフィニティを、すべてのプロセッサ・グループのすべてのCPUに、それぞれの新しいフォアグラウンド・スレッドのプロセッサ・グループ間で交互に設定します。また、DEFクラス・スレッドのアフィニティを、すべてのプロセッサ・グループのCPU 0-31に、それぞれの新しいDEFクラス・スレッドのプロセッサ・グループ間で交互に設定します。
USER:0123,ALL;DEF:0123,4294967295;
USERクラス・スレッドのアフィニティを、processorgroup0内のCPU 0-31、processorgroup1内のCPU 0-19、およびprocessorgroup2内のCPU 0-19に、それぞれの新しいフォアグラウンド・スレッドのプロセッサ・グループ間で交互に設定します。
USER:012,4294967295 1048575 1048575;
ORACLE_HOME、adminおよびoradataを含む最上位のOracleディレクトリ(C:\app\username\product\12.1.0など)を指定します。デフォルトは、ORACLE_BASEです。
インストール済Oracle製品のアイコンを含むグループの名前を指定します。インストールしたOracle製品のプログラム・グループがOracle Universal Installerによって作成されない場合でも(Oracle Netソフトウェアのみインストールした場合など)、最初にOracle製品をインストールした時点で、パラメータはレジストリに追加されます。デフォルト値は、Oracle - HOMENAMEです。
Oracle製品がインストールされるOracleホーム・ディレクトリを指定します。このディレクトリはOracleディレクトリ階層のOracleベース・ディレクトリのすぐ下に置かれます。デフォルト値は、インストール中に指定するドライブ文字および名前です。
Oracleホーム・ユーザーの値を保持する文字列タイプのエントリ。Windowsの組込みアカウントをOracleホーム・ユーザーとして使用する場合、文字列にはNT Authority\Systemが保持され、ユーザーが明示的に指定する必要がありません。
Oracle Database管理システム・プロセス内での、スレッドのWindowsスケジューリングの優先順位を指定します。形式は次のとおりです。
name1:priority1;name2:priority2 . . .
nameクラスには、Oracle Databaseプロセスのpriorityクラスを設定します。スレッドの優先度は、一括で割り当てることも個別に割り当てることもできます。一括指定の名前userを使用すると、バックグラウンドでないスレッド(シャドウ・スレッド)が指定されます。また、一括指定の名前defを使用すると、具体的な処理内容が決まっていない任意のスレッド・タイプが指定されます。有効なバックグラウンド・スレッドの名前にはそれぞれ、DBW0、LGWR、PMON、SMON、ARCH0、RECO、CKPT、TRWR、SNP0からSNP9、およびv$bgprocessデータ・ディクショナリ・ビューのNAME列にあるその他の名前が付きます。
デフォルト値は、class:normal; def:normalです。
|
注意: ORACLE_PRIORITYは、レジストリに自動的には作成されません。レジストリで定義されていない場合は、Windowsのデフォルト値がスレッドの優先順位として使用されます。 |
ホスト・コンピュータ上のOracle Databaseインスタンスの名前を指定します。インスタンスのSIDがこのパラメータの値です。デフォルト値は、Oracle Universal Installerのデータベース識別情報ウィンドウのエントリです。
ユーザー認証を有効にします。trueに設定すると、サーバーで、ローカル・ユーザー、ドメイン・ユーザー、またはネットワーク内の別のドメインのドメイン・ユーザーであるかどうかに関係なく、1つのユーザー名を別のユーザー名と区別できます。falseに設定するとドメインは無視され、ローカル・ユーザーが、サーバーに返されるオペレーティング・システム・ユーザーのデフォルト値となります。デフォルト値はtrueです。
このサブキーには、次のパラメータが含まれています。
\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSetには、次の4つのキーが含まれています。
Control
Enum
HardwareProfiles
サービス
最初の3つはオペレーティング・システムによって使用されます。Servicesサブキーのみ編集できます。これにはOracle Databaseサービスのパラメータが含まれています。
\HKEY_LOCAL_MACHINE\SYSTEM\CURRENTCONTROLSET\SERVICESサブキーには、各Oracle Databaseサービスに対応する追加のサブキーが含まれています。
各サービス・サブキーには、次のパラメータが含まれています。
Oracle RACのレジストリ値は、クラスタウェアに基づいています。クラスタウェアを使用していない場合、この情報の一部は、ご使用のクラスタ環境に該当しないことがあります。
|
注意: Oracle RACは64ビットWindowsサーバー・オペレーティング・システムでのみサポートされています。 |
このサブキーには、次の値が含まれています。
Oracle Cluster Registryファイルを指すOCRROOT
クラスタ・インストールに対してFalseに設定され、単一インスタンス・データベース・インストールに対してTrueに設定されたLOCAL_ONLY
|
注意: 必要な場合を除き、レジストリは編集しないでください。レジストリにエラーが発生した場合、Oracle Database for Windowsが動作しなくなり、レジストリ自体も使用できなくなることがあります。 |
Oracleに関連した設定を編集するには、次のようにします。
次のどちらかの方法でレジストリ エディタを起動します。
コマンド・プロンプトから次のように入力します。
C:\> regedit
「スタート」メニュー→「ファイル名を指定して実行」を選択し、「名前」フィールドにregeditと入力して、「OK」をクリックします。
「レジストリ エディタ」ウィンドウが表示されます。
該当するキーをダブルクリックして、表示または変更する値に移動します。
ウィンドウの左側には、レジストリ・キーの階層構造が表示されます。また、ウィンドウの右側には、レジストリ・キーに関連付けられている値が表示されます。
パラメータをダブルクリックして、値のデータを新しいSIDに変更します。
「文字列の編集」ダイアログが表示されます。

必要な編集を行います。
「OK」をクリックします。
「レジストリ エディタ」メニューから「終了」を選択します。
次のどちらかの方法で「レジストリ エディタ」を起動します。
コマンド・プロンプトから次のように入力します。
C:\> regedit
「スタート」メニュー→「ファイル名を指定して実行」を選択し、「名前」フィールドにregeditと入力して、「OK」をクリックします。
「レジストリ エディタ」ウィンドウが表示されます。
新しい値を追加するレジストリ・キーに移動します。
「編集」メニューから「新規」を選択します。
文字列値
バイナリ値
DWORD (32ビット)値
QWORD (64ビット)値
複数文字列値
拡張可能文字列値
「新しい値 #1」文字列値の名前が、選択したデータ型のレジストリ・エディタ・ウィンドウの右側のペインに作成されます。たとえば、REG_EXPAND_SZなどです。
パラメータを右クリックして、「名前の変更」を選択し、[Enter]を押して、名前を変更します。
パラメータをダブルクリックして、値のデータを新しいSIDに変更します。
「OK」をクリックします。
「文字列の編集」ダイアログが表示されます。

パラメータの値を入力します。
「OK」をクリックします。
レジストリ エディタによりそのパラメータが追加されます。
「レジストリ」メニューから「レジストリ エディタの終了」を選択します。
使用してOracleホーム・パラメータを追加、編集および削除するかわりに、Oracle Administration Assistant for Windowsに含まれるスナップインの1つ、Oracleホーム構成スナップインを使用できます。この製品を使用するには、コンピュータにMicrosoft管理コンソールをインストールする必要があります。
Oracleホーム・パラメータの詳細は、「HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE\KEY_HOMENAMEについて」を参照してください。
Oracle Administration Assistant for Windowsを起動するには、次のようにします。
「スタート」メニューから、「すべてのプログラム」、「Oracle - HOMENAME」、「Configuration and Migration Tools」、「Administration Assistant for Windows」の順に選択します。
Oracle Administration Assistant for Windowsが起動します。
Oracleホームを展開します。
変更するOracleホームを右クリックします。

「プロパティ」をクリックします。「プロパティ」ダイアログが表示されます。

Oracleホーム・パラメータを追加するには、次のようにします。
「プロパティ」ダイアログで「追加」をクリックします。
「値の追加」ダイアログが表示されます。

「パラメータ名」フィールドに名前を入力します。
「パラメータ値」フィールドに値を入力します。
「OK」をクリックします。
「適用」をクリックします。
デフォルトのSIDを変更するには、「プロパティ」ダイアログの「デフォルトSID」リストから「SID」を選択します。他のパラメータを編集するには、次のようにします。
「プロパティ」ダイアログの「その他の設定」リストでパラメータを選択します。
「編集」をクリックします。

「値の編集」ダイアログが表示されます。

値を変更します。
「OK」をクリックします。
「適用」をクリックします。