この章では、様々な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コマンドを使用してOracleService
SIDを手動で停止したときに、
SID
で指定されているOracle Databaseのインスタンスを停止します。
OracleService
SID
を停止する際に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つのプロセッサ・グループのみ使用できます。 |
各name
n
は、バックグラウンド・スレッドの名前に設定する必要があります。非バックグラウンド(シャドウ)・スレッドには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」をクリックします。
「適用」をクリックします。