Oracle7 Parallel Server Concepts and Administrator's Guide Go to Product Documentation Library
Library
Go to books for this product
Product
Go to Contents for this book
Contents
Go to Index
Index



Go to previous file in sequence Go to next file in sequence

Initialization Parameters


This appendix describes initialization parameters relevant to running a parallel server. Parameters that are specific to a parallel server are described in detail; parallel server specific considerations of generic Oracle parameters are also described.


List of Parameters

Table B - 1 is an alphabetical list of the initialization parameters relevant to a parallel server. For a list of parameters that are no longer valid, see "Obsolete Parameters" [*].

Initialization Parameter Parallel Server Specific Value for Multiple Instances Available
CACHE_SIZE_THRESHOLD NO SAME 7.1
CHECKPOINT_PROCESS NO CAN DIFFER; SAME IS RECOMMENDED 7.0
CONTROL_FILES NO SAME 7.0
DB_BLOCK_SIZE NO DIFFERENT 7.0
DB_FILES NO SAME 7.0
DB_NAME NO SAME 7.0
DELAYED_LOGGING_BLOCK_CLEANOUTS YES DIFFERENT 7.3
GC_DB_LOCKS YES SAME 7.0
GC_FILES_TO_LOCKS YES SAME 7.0
GC_FREELIST_GROUPS YES SAME 7.3
GC_LCK_PROCS YES SAME 7.0
GC_RELEASABLE_LOCKS YES DIFFERENT 7.3
GC_ROLLBACK_LOCKS YES SAME 7.0
GC_ROLLBACK_SEGMENTS YES SAME 7.0
GC_SAVE_ROLLBACK_LOCKS YES SAME 7.0
GC_SEGMENTS YES SAME 7.0
GC_TABLESPACES YES SAME 7.0
INIT_SQL_FILES NO DIFFERENT 7.0
INSTANCE_NUMBER YES DIFFERENT 7.0
LOG_ARCHIVE_DEST NO DIFFERENT 7.0
LOG_ARCHIVE_FORMAT NO CAN DIFFER; SAME IS RECOMMENDED 7.0
LOG_ARCHIVE_START NO DIFFERENT 7.0
LOG_CHECKPOINT_INTERVAL NO DIFFERENT 7.0
LOG_CHECKPOINT_TIMEOUT NO DIFFERENT 7.0
LOG_ENTRY_PREBUILD_THRESHOLD NO DIFFERENT 7.0
LOG_FILES NO SAME 7.0
MAX_COMMIT_PROPAGATION_DELAY YES SAME 7.0
PARALLEL_DEFAULT_MAX_INSTANCES NO SAME 7.1
PARALLEL_DEFAULT_MAX_SCANS NO SAME 7.1
PARALLEL_MAX_SERVERS NO DIFFERENT 7.1
PARALLEL_MIN_PERCENT NO SAME 7.3
PARALLEL_MIN_SERVERS NO DIFFERENT 7.1
PROCESSES NO DIFFERENT 7.0
RECOVERY_PARALLELISM NO DIFFERENT 7.1
REMOTE_LOGIN_PASSWORDFILE NO SAME 7.1
ROLLBACK_SEGMENTS NO DIFFERENT 7.0
ROW_LOCKING NO SAME 7.0
SEQUENCE_CACHE_ENTRIES NO DIFFERENT 7.0
SEQUENCE_CACHE_HASH_BUCKETS NO DIFFERENT 7.0
SERIALIZABLE NO SAME 7.0
THREAD NO DIFFERENT 7.0
TRANSACTIONS NO DIFFERENT 7.0
TRANSACTIONS_PER_ROLLBACK_SEGMENT NO DIFFERENT 7.0
Table B - 1. Initialization Parameters for Parallel Server

Note: "Global constant" initialization parameters (those with the prefix "GC", such as GC_DB_LOCKS) apply to systems using the Oracle7 Parallel Server. The settings of these parameters determine how the Oracle7 Parallel Server coordinates multiple instances. The settings you choose have an effect on the use of certain operating system resources.

See Also: Oracle7 Server Reference for complete descriptions of generic Oracle parameters.

"Defining Multiple Instances with Parameter Files" [*].

"Parameters Which Control Rollback Segments" [*].


Reading the Parameter Descriptions

The parameter descriptions in this chapter follow the format shown below.

PARAMETER_NAME

Default value:

the value this parameter assumes if not explicitly specified

Range of values:

the valid range of values that this parameter can assume, shown as a minimum and maximum value. Not applicable to all parameters.

Multiple instances:

how the values for this parameter must be specified for multiple instances in an Oracle7 Parallel Server. Not applicable to all parameters.

Release:

Oracle7 Server release in which this parameter is valid; not specified if the parameter is applicable to all releases

Ok to change?

notes on changing the parameter value; not specified for all releases

The remaining paragraphs provide a textual description of the parameter and the effects of different settings.

References may be provided to chapters or books that contain more detailed information on the subject.


Parameter Descriptions

This section provides descriptions of the following initialization parameters:

CACHE_SIZE_THRESHOLD

Default value:

0.1*DB_BLOCK_BUFFERS

OK to change?

Yes

Multiple instances:

Should have the same value

Specifies the maximum size of a cached partition of a table split among the caches of multiple instances. If the partition is larger than the value of this parameter, the table is not split among the instances' caches. The default value of this parameter is 1/10 the number of database blocks in the buffer cache. This parameter can specify maximum cached partition size for single instance, as well.

DB_BLOCK_BUFFERS

OK to change?

Yes

Multiple instances:

Can have different values

This parameter affects the probability that a data block will be pinged: the more buffers, the more chance of pings.

DB_BLOCK_SIZE

OK to change?

Only at database creation

Multiple instances:

Must have identical values

This parameter affects the maximum value of the FREELISTS storage parameter for tables and indexes.

DB_FILES

Multiple instances:

Must have identical values

If you increase the value of DB_FILES, you must shut down and restart all instances accessing the database before the new value can take effect.

DB_NAME

Multiple instances:

Must have identical values for all instances, or else the same value must be specified in STARTUP OPEN db_name or ALTER DATABASE db_name MOUNT.

If the value for DB_NAME is not specified, then a database name must appear on the ALTER DATABASE MOUNT command line or the STARTUP command line for each instance of a parallel server.

DML_LOCKS

Multiple instances:

Must have identical values for all instances, if this parameter is set to zero.

GC_DB_LOCKS

Default:

Value of DB_BLOCK_BUFFERS

Range of values:

0 - unlimited (depending on available memory and operating system)

OK to change?

Yes

Multiple instances:

Must have identical values

Specifies the total number of PCM locks covering data blocks cached in the multiple SGAs of a parallel server.

The value of GC_DB_LOCKS must be greater (by at least 1) than the sum of the locks specified with the GC_FILES_TO_LOCKS initialization parameter.

If the database is started with GC_DB_LOCKS is set to zero, then fine grain locking is enabled.

GC_DB_LOCKS is always rounded up to the next prime number to ensure that PCM locks are available for datafiles not specified in GC_FILES_TO_LOCKS. For example, if GC_DB_LOCKS has a value of 1000, then 1009 PCM locks are available. New datafiles added while the parallel server is running are covered by the extra nine PCM locks.

This parameter is specific to the Oracle Parallel Server in shared mode; for an instance running in exclusive mode, this parameter will allocate memory in the SGA for the PCM locks, even though they are not used.

Note: The value of DB_BLOCK_ BUFFERS does not need to be identical on all instances. If you explicitly set GC_DB_LOCKS to the same value on all instances, then the value of DB_BLOCK_BUFFERS can vary from instance to instance.

GC_FILES_TO_LOCKS

Default:

Null

OK to change?

Yes

Multiple instances:

Must have identical values

Controls the mapping of PCM locks to datafiles.

GC_FILES_TO_LOCKS has the following syntax:

GC_FILES_TO_LOCKS = "{file_list=lock_count[!blocks][EACH]}[:]..." 

where file_list is one or more datafiles listed by their file numbers, or ranges of file numbers, with comma separators:

filenumber[-filenumber][,filenumber[-filenumber]]... 

and lock_count is the number of PCM locks assigned to file_list. If lock_count is set to 0, then fine grain locking is used.

A colon (:) separates each clause that assigns a number of PCM locks to file_list. The optional parameter blocks, with the "!" separator, specifies the number of contiguous blocks covered by one lock, if it covers multiple blocks; the default value is 1. EACH specifies that each datafile in file_list is assigned a separate set of lock_count PCM locks. Spaces are not allowed within the quotation marks.

If the number of PCM locks specified for file-list is less than the actual number of data blocks in the datafiles, then some PCM locks will cover more datablocks than specified by lock_count!blocksEACH.

The value of the GC_DB_LOCKS parameter must be greater (by at least 1) than the sum of lock_count for all datafiles specified. The excess PCM locks are assigned to any datafiles not specified in GC_FILES_TO_LOCKS.

See "Setting GC_FILES_TO_LOCKS: PCM Locks for Each Datafile" [*] for a full description of the GC_FILES_TO_LOCKS initialization parameter.

To find the correspondence between filenames and file numbers, query the data dictionary view DBA_DATA_FILES.

This parameter is specific to the Oracle Parallel Server in shared mode; for an instance running in exclusive mode, this parameter will allocate memory in the SGA for the PCM locks, even though they are not used.

GC_FREELIST_GROUPS

Default:

5 times the value of GC_SEGMENTS

Range of values:

0 - unlimited

OK to change?

Yes

Multiple instances:

Must have identical values

This parameter determines the number of locks to specify for free list group blocks for an instance.

If your system has many free list groups, and you notice pinging on them, either increase the number of locks by resetting GC_FREELIST_GROUPS, or check to be sure that each instance has its own free list group. If two instances are sharing a free list group, there may be contention.

This parameter is specific to the Oracle Parallel Server in shared mode; for an instance running in exclusive mode, this parameter will allocate memory in the SGA for the PCM locks, even though they are not used.

GC_LCK_PROCS

Default:

1 (ignored when the database is mounted in exclusive mode)

Range of values:

1 - 10

OK to change?

Yes (1 is usually sufficient)

Multiple instances:

Must have identical values

This parameter sets the number of background lock processes (LCK0 through LCK9) for an instance in a parallel server. The default of 1 is normally sufficient, but you can increase the value if the instance lock request rate saturates the lock processes. (Lock requests are asynchronous, but a request is blocked until it knows if the lock can be granted.)

Increase the value of the PROCESSES parameter by one for each LCKn process, and increase the values of other parameters whose default values are derived from PROCESSES if you do not use their default values. For more information, see "PROCESSES" [*].

This parameter is specific to the Oracle Parallel Server in shared mode; for an instance running in exclusive mode, this parameter will allocate memory in the SGA for the PCM locks, even though they are not used.

GC_RELEASABLE_LOCKS

Default:

Defaults to the number of buffers (DB_BLOCK_BUFFERS) if the DLM supports persistent resources; otherwise 0

Range of values:

0 - DB_BLOCK_BUFFERS or higher

OK to change?

Yes

Multiple instances:

May have different values

Lock elements can be fixed or non-fixed. Fixed lock elements are used by hashed PCM locks, in which the lock element name is preassigned. Non-fixed lock elements are used with fine grain locking. These lock element names can vary: users can name each lock element.

If the GC_RELEASABLE_LOCKS parameter is set, its value is used to allocate space for fine grain locking. The value specified here must be at least as large as the buffer cache. There is no maximum value, except as imposed by space restrictions, or the maximum number of locks that may be held by a single process.

This parameter is specific to the Oracle Parallel Server in shared mode; for an instance running in exclusive mode, this parameter will allocate memory in the SGA for the PCM locks, even though they are not used.

Support of fine grain locking is platform-specific.

GC_ROLLBACK_LOCKS

Default:

20

OK to change?

Yes

Multiple instances:

Must have identical values

For each rollback segment, sets the number of instance locks available for simultaneously modified rollback segment blocks. The default is adequate for most applications.

These instance locks are acquired in exclusive mode by the instance that acquires the rollback segment. They are used to force the instance to write rollback segment blocks to disk when another instance needs a read-consistent version of a block.

For an instance running in exclusive mode, this parameter will allocate memory in the SGA for the PCM locks, even though they are not used.

GC_ROLLBACK_SEGMENTS

Default:

20

OK to change?

Yes

Multiple instances:

Must have identical values

The maximum number of rollback segments system wide. Set this parameter to the total number of rollback segments acquired by all instances in a parallel server, including the SYSTEM rollback segment. To allow for additional instances in the future, or additional rollback segments for the current instances, you can set it to a higher value.

Each rollback segment requires one instance lock, specified by this parameter, in addition to the number specified by the GC_ROLLBACK_LOCKS parameter. The total number of instance locks for rollback segments is:

(GC_ROLLBACK_SEGMENTS * (GC_ROLLBACK_LOCKS + 1 )) 

This parameter is specific to the Oracle Parallel Server in shared mode; for an instance running in exclusive mode, this parameter will allocate memory in the SGA for the PCM locks, even though they are not used.

GC_SAVE_ROLLBACK_LOCKS

Default:

20

OK to change?

Yes

Multiple instances:

Must have identical values

This initialization parameter reserves instance locks for deferred rollback segments, which contain rollback entries for transactions in tablespaces that were taken offline.

The default is adequate for one or two instances but should be increased to 10 per instance for more instances if you need to take tablespaces offline while Oracle is running in shared mode.

This parameter is specific to the Oracle Parallel Server in shared mode; for an instance running in exclusive mode, this parameter will allocate memory in the SGA for the PCM locks, even though they are not used.

GC_SEGMENTS

Default:

10

OK to change?

Yes

Multiple instances:

Must have identical values

The maximum number of segments system wide that may have space management activities performed simultaneously by different instances. The default is adequate for most applications. If tables acquire new extents frequently, you can increase the value to two or three times the number of tables that different instances extend simultaneously.

This parameter is specific to the Oracle Parallel Server in shared mode; for an instance running in exclusive mode, this parameter will allocate memory in the SGA for the PCM locks, even though they are not used.

GC_TABLESPACES

Default:

5

OK to change?

Yes

Multiple instances:

Must have identical values

The maximum number of tablespaces in a parallel server that can be brought from offline to online (or vice versa) concurrently.

This parameter is specific to the Oracle Parallel Server in shared mode; for an instance running in exclusive mode, this parameter will allocate memory in the SGA for the PCM locks, even though they are not used.

INSTANCE_NUMBER

Default:

Lowest available number (depends on the instance startup order and on the INSTANCE_NUMBER values assigned to other instances)

Range of values:

1 - maximum number of instances specified in CREATE DATABASE statement

OK to change?

Yes (can be specified in shared and exclusive modes)

Multiple instances:

If specified, instances must have different values

This parameter can be specified in shared mode and in exclusive mode. It specifies a unique number that maps the instance to one group of free space lists for each table created with the FREELIST GROUPS storage option.

The INSTANCE option of the ALTER TABLE ALLOCATE EXTENT statement assigns an extent to a particular group of free lists. If you set INSTANCE_NUMBER to the value specified for the INSTANCE option, the instance uses that extent for inserts and updates that expand rows.

The practical maximum value of this parameter is given above; the absolute maximum is operating system dependent.

LOG_CHECKPOINT_INTERVAL

Multiple instances:

Can have different values

The number of checkpoints that have occurred for a given instance is shown in the statistics background checkpoints started and background checkpoints completed displayed by the Server Manager command MONITOR STAT CACHE.

MAX_COMMIT_PROPAGATION_DELAY

Default:

90000

Range of values:

0 - 90000

OK to change?

No

Multiple instances:

Must have identical values

This parameter indicates the maximum amount of time allowed before the System Change Number (SCN) held in the SGA of an instance is refreshed by LGWR. Units are in hundredths of seconds. Under very unusual circumstances involving rapid updates and queries of the same data from different instances, the SCN may not be refreshed in a timely manner. Setting the parameter to zero causes the SCN to be refreshed immediately after a commit. The default value of 90,000 hundredths of a second, or fifteen minutes, is an upper bound that allows the preferred existing high performance mechanism to remain in place.

Change this parameter only when it is absolutely necessary to see the most current version of the database when doing a query.

PARALLEL_MAX_SERVERS

Multiple instances:

Can have different values.

OK to change?

Yes

For each instance that you do not want to use the parallel query option with, set this initialization parameter to zero. For an example of this parameter's use, see page 19 - 23.

PARALLEL_MIN_PERCENT

Default:

0

Range of values:

0 - 100

OK to change?

Yes

Multiple instances:

Can have different values. Application dependent

This parameter specifies the minimum percent of threads required for parallel query. Setting this parameter ensures that a parallel query will not be executed sequentially if adequate resources are not available.

If too few query slaves are available, an error message is displayed and the query is not executed. Consider the following settings:

PARALLEL_MIN_PERCENT = 50 PARALLEL_MIN_SERVERS = 5 PARALLEL_MAX_SERVERS = 10

In a system with 20 instances up and running, the system would have a maximum of 200 query slaves available.

The default value of 0 means that this parameter is not used.

If 190 slaves are already in use and a new user wants to run a query with 40 slaves (for example, degree 2 instances 20), an error message would be returned because 20 instances (that is, 50% of 40) are not available.

PROCESSES

Default value:

25

Range of values:

6 to operating system-dependent

Multiple instances:

can have different values

For a multiple-process operation, this parameter specifies the maximum number of operating system user processes that can simultaneously connect to an Oracle7 Server. Should include up to 6 for the background processes (or more if MI_BG_PROCS is non-zero or if you use the dispatcher configuration) plus one for login; so a value of 20 would permit 13 or 14 concurrent users.

The default values of DB_FILE_MULTIBLOCK_READ_COUNT and SESSIONS are derived from PROCESSES. If you alter the value of PROCESSES, you may want to adjust the values of these derived parameters.

For more information, see the Oracle7 Server Administrator's Guide.

See also your operating system-specific Oracle documentation for the range of values.

ROLLBACK_SEGMENTS

Default:

Null (the instance uses public rollback segments by default if you do not specify this parameter)

Range of values:

Any rollback segment names listed in DBA_ROLLBACK_SEGS except SYSTEM

OK to change?

Yes

Multiple instances:

Different instances in a parallel server cannot specify the same rollback segment

One or more rollback segments to allocate by name to this instance. If ROLLBACK_SEGMENTS is set, an instance acquires all of the rollback segments named in this parameter, even if the number of rollback segments exceeds the minimum number required by the instance (calculated from the ratio TRANSACTIONS / TRANSACTIONS_PER_ROLLBACK_SEGMENT).

Note: Never name the SYSTEM rollback segment as a value for the ROLLBACK_SEGMENTS parameter.

This parameter has the following syntax:

ROLLBACK_SEGMENTS = (rbseg_name [, rbseg_name] ... ) 

Although this parameter usually specifies private rollback segments, it can also specify public rollback segments if they are not already in use.

Instances in a parallel server cannot name the same rollback segments for the values of ROLLBACK_SEGMENTS. Query the data dictionary view DBA_ROLLBACK_SEGS to find the name, segment ID number, and status of each rollback segment in the database.

SEQUENCE_CACHE_ENTRIES

Multiple instances:

Can have different values

Each entry requires approximately 110 bytes in the SGA for a parallel server. Sequences created with the NOCACHE option do not reside in this cache. They must be written through to the data dictionary on every use.

THREAD

Default:

0

Range of values:

0 - maximum number of enabled threads

OK to change?

Yes

Multiple instances:

If specified, instances must have different values

This parameter is applicable only to instances that intend to run in parallel (shared) mode.

The number of the redo thread that is to be used by the instance. Any available redo thread number can be used, but an instance cannot use the same thread number as another instance. Also, an instance cannot start when its redo thread is disabled. A value of zero causes an available, enabled public thread to be chosen. An instance cannot mount a database if the thread is used by another instance, or if the thread is disabled.

Redo threads are specified with the THREAD option of the ALTER DATABASE ADD LOGFILE command. Redo threads are enabled with the ALTER DATABASE ENABLE [PUBLIC] THREAD command. The PUBLIC keyword signifies that the redo thread may be used by any instance. Refer to Oracle7 Server SQL Reference for a description of creating, enabling, and disabling redo threads.

Thread 1 is the default thread in exclusive mode. An instance running in exclusive mode can specify THREAD to use the redo log files in a thread other than thread 1.




Go to previous file in sequence Go to next file in sequence
Prev Next
Oracle
Copyright © 1996 Oracle Corporation.
All Rights Reserved.
Go to Product Documentation Library
Library
Go to books for this product
Product
Go to Contents for this book
Contents
Go to Index
Index