16 Configuration Parameters and the Registry

This chapter describes the use of Windows Registry for various Oracle Database for Windows components. It also lists recommended values and ranges for configuration parameters. Note that Windows Registry is referred to as registry in the chapter.

This chapter contains these topics:

About Configuration Parameters

Oracle Database for Windows uses configuration parameters to locate files and specify run-time parameters common to all Oracle products. When an Oracle program or application requires a translation for a particular configuration variable, Oracle Database for Windows uses the associated parameter. All Oracle parameters are stored in the registry.

Registry Overview

Oracle Database for Windows stores its configuration information in a repository (the registry) that is organized in a tree format. The tree format consists of keys in the registry and parameter values for the keys. Keys and parameter values can be viewed and modified in Registry Editor.

Keys are folders that appear in the left pane of a Registry Editor window. A key contains subkeys or parameters.

Caution:

Although Registry Editor lets you view and modify registry keys and parameter values, you typically are not required to do so. In fact, you can render your system useless if you make incorrect changes. Therefore, only advanced users should edit the registry. Back up your system before making any changes in the registry.

Parameters in Registry Editor appear as a string, consisting of three components:

  • Parameter name

  • Value class or type of entry

  • Value itself

For example, parameter ORACLE_SID can have the following entry in the registry:

ORACLE_SID:reg_sz:orcl1

Value classes for Oracle Database for Windows parameters are:

  • String value with a REG_SZ, REG_EXPAND_SZ (for an expandable string), or a REG_MULTI_SZ (for multiple strings) prefix to identify a parameter value entry as a data string

  • Binary value with a REG_BINARY, REG_DWORD or REG_QWORD prefix to identify a value entry as a dword or qword (hexadecimal data) entry

Most Oracle Database for Windows parameter values are string types. Use Oracle Universal Installer defaults when a type is not given.

Registry Parameters Overview

This section describes Oracle Database for Windows registry parameters for the following keys. Other products, such as Oracle Enterprise Manager, have additional keys and parameters that are not described in this chapter.

To modify these registry values, see "Managing Registry Parameters with regedit".

About HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE\KEY_HOMENAME

Each time you install Oracle products into a new Oracle home on your computer, HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE\KEY_HOMENAME is created. This subkey contains parameter values for most Oracle products.

Note:

See Appendix B, "Optimal Flexible Architecture", in Oracle Database Installation Guide for Microsoft Windows for details on the PATH variable and registry values when you are working with multiple Oracle homes.

HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE\KEY_HOMENAME includes the following parameters for an Oracle home directory. Depending on products you install, additional parameters can also be created. See your Windows development manuals.

MSHELP_TOOLS

Specifies the location of Windows help files. The default value is

ORACLE_HOME\mshelp

NLS_LANG and Other Globalization Parameters

Specifies supported language, territory, and character set. This parameter specifies the language in which messages appear, the territory and its conventions for calculating week and day numbers, and the character set displayed. Oracle Universal Installer sets this value during installation based on the language setting of the operating system.

The default value for NLS_LANG, if not set, is AMERICAN_AMERICA.US7ASCII.

There are other globalization parameters that can be set along NLS_LANG to override some values implicitly determined by NLS_LANG. These parameters are:

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

The following parameters can also be set along NLS_LANG to determine globalization behavior that is independent from the value of NLS_LANG:

NLS_CALENDAR
NLS_COMP
NLS_NCHAR_CONV_EXCP
NLS_LENGTH_SEMANTICS

Note:

All globalization parameters set in the environment and Registry for a database client are ignored if NLS_LANG is not set.

See Oracle Database Globalization Support Guide for more information about NLS_LANG and other globalization parameters

ORA_CWD

Specifies current working directory. For example, if you set this parameter and then use ORADIM, a log file called oradim.log is created in this directory. This parameter must be manually set.

ORA_SID_AUTOSTART

Starts Oracle Database when OracleServiceSID service is started. The default value is true.

ORA_SID_PFILE

Specifies full path to initialization parameter file. The default value is ORACLE_BASE\admin\DB_NAME\pfile\init.ora

ORA_SID_SHUTDOWN

When set to true, the default value, this parameter shuts down the instance of Oracle Database identified by SID when OracleServiceSID is stopped manually—using either the Control Panel or Net stop command.

ORA_SID_SHUTDOWN_TIMEOUT

Sets maximum time (in seconds) to wait for shutdown to complete before the service for a particular SID stops. The default value is 30.

ORA_SID_SHUTDOWNTYPE

Specifies mode in which Oracle Database is shut down when you stop OracleServiceSID. Valid values are a (abort), i (immediate), and n (normal). The default value is i.

ORA_TZFILE

Specifies location of time zone file. Each file contains:

  • Valid time zone names

  • Offset from UTC

  • Abbreviation for standard time

  • Abbreviation for daylight savings time

In previous releases, the default value for ORA _TZFILE was

ORACLE_BASE\ORACLE_HOME\oracore\zoneinfo\timezlrg.dat

Starting with Oracle Database 11g Release 2 (11.2), the default value is

ORACLE_HOME\oracore\zoneinfo\timezlrg_11.dat

The timezone_version_number.dat data files contain most commonly used time zones and are smaller for better database performance. The new default, timezlrg_version_number.dat, includes time zones not defined in the smaller file.

See Also:

Oracle Database Globalization Support Guide for additional details about time zone files

ORACLE_AFFINITY

Specifies Windows processor affinity of each thread within the Oracle Database process. This parameter must be manually added. Oracle recommends consulting Oracle Support Services before changing this parameter. The format is:

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};

Where, processorgroup is an optional parameter designating Windows CPU group. On systems with 64+ logical CPUs, Windows divides all available CPUs into 4 groups (0,1,2,3) with each group containing no more than 64 logical CPUs. By default, a process utilizes single processor group. The processorgroup parameter enables Oracle to use more than 64 logical CPUs. Refer to the specific hardware configuration to determine the valid processor groups.

Each namen setting must be the name of a background thread, USER for non-background (shadow) threads, or DEF for any thread type not handled specifically. Valid background thread names include DBW0, LGWR, PMON, SMON, ARCH, RECO, CKPT, TRWR, J000 through J999, P000 through P481, and any other name found in the NAME column of the v$bgprocess data dictionary view.

The cpumask sets the affinity mask of the Oracle Database process. Each affinity setting must be a valid affinity mask or its numeric equivalent for the corresponding thread name. Process affinity masks are used only when Oracle Services are first started. Each thread's affinity is set only when the individual thread is started (for example, at database startup time for the background threads).

Few examples, to use multiple processor groups in a system with 160 logical CPUs, ORACLE_AFFINITY registry key in HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE\KEY_HOMENAME may be defined as follows:

USER:123,ALL;DEF:0,4294967295;

Where, USER, DEF are thread class names; 0,1,2,3 are valid CPU groups in the system, and 4294967295 is a valid affinity mask in the corresponding CPU group.

Affinitizes USER (foreground) threads to all CPUs in processorgroup1 or to all CPUs in processorgroup2 or to all CPUs in processorgroup3 while alternating between the processor groups for each new foreground thread. Affinitizes DEF class threads to CPUs 0-31 in processorgroup0.

USER:02,1048575 4294901760;DEF:1,1048575;

Affinitizes USER class threads either to CPUs 0-19 in processorgroup0 or to CPUs 16-31 in processorgroup2. Affinitizes DEF class threads to CPUs 0-19 in processorgroup1.

USER:0123,ALL;DEF:0123,4294967295;

Affinitizes USER class threads to all the CPUs of all processor groups while alternating between the processor groups for each new foreground thread. Affinitizes DEF class threads to CPUs 0-31 in all the processor groups while alternating between the processor groups for each new DEF class thread.

USER:012,4294967295 1048575 1048575;

Affinitizes USER class threads to CPUs 0-31 in processorgroup0, CPUs 0-19 in processorgroup1 and CPUs 0-19 in processorgroup2 while alternating between the processor groups for each new foreground thread.

ORACLE_BASE

Specifies the top-level Oracle directory (for example, C:\app\username\product\12.1.0) that contains ORACLE_HOME, admin, and oradata. The default is ORACLE_BASE.

ORACLE_GROUP_NAME

Specifies the name of the group containing icons of the Oracle products installed. The parameter is added to your registry when you first install Oracle products, even if Oracle Universal Installer does not create a program group for Oracle products you have installed (for example, if you have installed only Oracle Net software). The default value is Oracle - HOMENAME.

ORACLE_HOME

Specifies Oracle home directory in which Oracle products are installed. This directory is immediately beneath the Oracle base directory in the Oracle directory hierarchy. The default value is the drive letter and name that you specify during installation.

ORACLE_HOME_KEY

The HKEY_LOCAL_MACHINE location of Oracle parameters. The default value is software\oracle\HOMEID.

ORACLE_HOME_USER

A string type entry that holds the Oracle Home User value. If Windows built-in account is used as the Oracle Home User, then the string holds NT Authority\System and the user is not supposed to specify it explictly.

ORACLE_HOMENAME

Specifies home name of Oracle home directory in which Oracle products are installed. The default value is the name that you specify during installation.

ORACLE_PRRITY

Determines Windows scheduling priorities of threads within the Oracle Database management system process. The format is:

name1:priority1;name2:priority2 . . .

The name class sets the priority class of the Oracle Database process. Threads can be assigned priority either collectively or individually. The collective name user designates non-background (shadow) threads; the collective name def designates any thread type not handled specifically. Valid individual background thread names include DBW0, LGWR, PMON, SMON, ARCH0, RECO, CKPT, TRWR, SNP0 through SNP9, and any other name found in the NAME column of the v$bgprocess data dictionary view.

The default value is class:normal; def:normal.

Note:

ORACLE_PRRITY is not automatically created for you in the registry. When it is not defined in the registry, Windows default values are used for thread priorities.

ORACLE_SID

Specifies the name of the Oracle Database instance on the host computer. The value of this parameter is the SID for the instance. The default value is specified by the entry in the Database Identification window of Oracle Universal Installer.

OSAUTH_PREFIX_DOMAIN

Enables user authentication. When it is set to true, it enables the server to differentiate between one username and another, whether they are local users, domain users, or domain users on another domain in your network. When it is set to false, the domain is ignored, and the local user becomes the default value of the operating system user returned to the server. The default value is true.

RDBMS_ARCHIVE

Specifies the location of backup database files. The default value is ORACLE_HOME\database\archive.

RDBMS_CONTROL

Specifies the location of backup database control files. The default value is ORACLE_HOME\database.

SQLPATH

Specifies the location of SQL scripts. The default value is ORACLE_HOME\dbs.

About HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE

This subkey contains the following parameter:

INST_LOC

Specifies the location of Oracle Universal Installer files. The default value is System Drive:\program files\oracle\inventory.

About HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet contains four keys:

  • Control

  • Enum

  • HardwareProfiles

  • Services

The first three are used by the operating system. You can edit only the Services subkey, which contains Parameters for Oracle Database Services.

Parameters for Oracle Database Services

HKEY_LOCAL_MACHINE\SYSTEM\CURRENTCONTROLSET\SERVICES subkey contains additional subkeys that correspond to each Oracle Database service.

Each service subkey contains the following parameters:

  • DisplayName specifies the service name of the instance whose SID is SID. The default value is the name of the service. For example, OracleServiceORCL1, where ORCL1 is the SID.

  • ImagePath specifies the fully qualified path name of the executable started by the service and any command-line arguments passed into the executable at run time. The default value is the path to the executable file of the product.

  • ObjectName specifies the logon user account and computer to which the service should log on. The default value is LocalSystem.

Overview of Oracle RAC Registry Parameters

Oracle RAC registry values are based on the clusterware. If you are not using the clusterware, then some of this information may not be applicable to your particular cluster environment.

Note:

Oracle RAC is only supported on 64-bit Windows server operating systems.

About HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE\OCR

This subkey contains the following values:

  • OCRROOT points to the location of the Oracle Cluster Registry file

  • LOCAL_ONLY which is set to False for a cluster installation and True for a single-instance database installation

Managing Registry Parameters with regedit

Caution:

Do not edit your registry unless absolutely necessary. If an error occurs in your registry, then Oracle Database for Windows can stop functioning, and the registry itself can become unusable.

Modifying a Parameter Value with regedit

To edit Oracle-related settings:

  1. Start Registry Editor in one of two ways:

    • From the command prompt, enter:

      C:\> regedit
      
    • From the Start menu, select Run, enter regedit in the Open field, and click OK.

    The Registry Editor window appears.

  2. Navigate to the values you want to view or modify by double-clicking appropriate keys.

    The left-hand side of the window shows the hierarchy of registry keys, and the right-hand side of the window shows various values associated with a key.

  3. Double-click the parameter to change the value data to the new SID.

    The Edit String dialog appears:

    Description of stringre.gif follows
    Description of the illustration stringre.gif

  4. Make any necessary edits.

  5. Click OK.

  6. Choose Exit from the Registry Editor menu.

Adding a Registry Parameter with regedit

To add a parameter to the registry:

  1. Start Registry Editor in one of the two ways:

    • From the command prompt, enter:

      C:\> regedit
      
    • From the Start menu, select Run, enter regedit in the Open field, and click OK.

    The Registry Editor window appears.

  2. Navigate to the registry key to which you want to add the new value.

  3. Choose New from the Edit menu.

  4. From the list, select the data type that you want to edit:

    • String Value

    • Binary value

    • DWORD (32-bit) Value

    • QWORD (64-bit) Value

    • Multi-String Value

    • Expandable String Value

  5. A New Value #1 string value name is created on the right pane of the Registry Editor window of the chosen data type. Example, REG_EXPAND_SZ and so on.

  6. Right-click the parameter, select Rename and press Enter to rename it.

  7. Double-click the parameter to change the value data to the new SID.

  8. Click OK.

    The Edit String dialog appears:

    Description of stringre.gif follows
    Description of the illustration stringre.gif

  9. Type the value for the parameter.

  10. Click OK.

    Registry Editor adds the parameter.

  11. Choose Exit from the Registry menu.

About Managing Registry Parameters with Oracle Administration Assistant for Windows

Instead of using to add, edit, and delete parameters for an Oracle home, you can use the Oracle Home Configuration snap-in, one of several snap-ins included as part of Oracle Administration Assistant for Windows. You must have Microsoft Management Console on your computer to use this product.

See "About HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE\KEY_HOMENAME" for more information about Oracle home parameters.

Starting Oracle Administration Assistant for Windows

To start Oracle Administration Assistant for Windows:

  1. From the Start menu, select All Programs, then select Oracle - HOMENAME, then select Configuration and Migration Tools, and then select Administration Assistant for Windows.

    Oracle Administration Assistant for Windows starts.

  2. Expand Oracle Homes.

  3. Right-click the Oracle home that you want to modify.

    Description of admin1.gif follows
    Description of the illustration admin1.gif

  4. Click Properties. The Properties dialog appears.

    Description of admin2.gif follows
    Description of the illustration admin2.gif

Adding Oracle Home Parameters

To add an Oracle home parameter:

  1. Click Add in the Properties dialog.

    The Add Value dialog appears.

    Description of admin3.gif follows
    Description of the illustration admin3.gif

  2. Enter the name in the Parameter Name field.

  3. Enter the value in the Parameter Value field.

  4. Click OK.

  5. Click Apply.

Editing Oracle Home Parameters

To change the default SID, select the SID from the Default SID list in the Properties dialog. To edit one of the other parameters:

  1. Select the parameter in the Other Settings list in the Properties dialog.

  2. Click Edit.

    Description of admin4.gif follows
    Description of the illustration admin4.gif

    The Edit Value dialog appears.

    Description of admin5.gif follows
    Description of the illustration admin5.gif

  3. Modify the value.

  4. Click OK.

  5. Click Apply.

Deleting Oracle Home Parameters

To delete an Oracle home parameter:

  1. Select the parameter in the Other Settings list in the Properties dialog.

  2. Click Delete.