Oracle Database 19c
The optimization pack for Oracle Database 19c.
Metrics
Memory
Metric | Unit | Description |
---|---|---|
oracle_sga_total_size | bytes | The current memory size of the SGA. |
oracle_sga_free_size | bytes | The amount of SGA currently available. |
oracle_sga_max_size | bytes | The configured maximum memory size for the SGA. |
oracle_pga_target_size | bytes | The configured target memory size for the PGA. |
oracle_redo_buffers_size | bytes | The memory size of the redo buffers. |
oracle_default_buffer_cache_size | bytes | The memory size for the DEFAULT buffer cache component. |
oracle_default_2k_buffer_cache_size | bytes | The memory size for the DEFAULT 2k buffer cache component. |
oracle_default_4k_buffer_cache_size | bytes | The memory size for the DEFAULT 4k buffer cache component. |
oracle_default_8k_buffer_cache_size | bytes | The memory size for the DEFAULT 8k buffer cache component. |
oracle_default_16k_buffer_cache_size | bytes | The memory size for the DEFAULT 16k buffer cache component. |
oracle_default_32k_buffer_cache_size | bytes | The memory size for the DEFAULT 32k buffer cache component. |
oracle_keep_buffer_cache_size | bytes | The memory size for the KEEP buffer cache component. |
oracle_recycle_buffer_cache_size | bytes | The memory size for the RECYCLE buffer cache component. |
oracle_asm_buffer_cache_size | bytes | The memory size for the ASM buffer cache component. |
oracle_shared_io_pool_size | bytes | The memory size for the IO pool component. |
oracle_java_pool_size | bytes | The memory size for the Java pool component. |
oracle_large_pool_size | bytes | The memory size for the large pool component. |
oracle_shared_pool_size | bytes | The memory size for the shared pool component. |
oracle_streams_pool_size | bytes | The memory size for the streams pool component. |
oracle_buffer_cache_hit_ratio | percent | How often a requested block has been found in the buffer cache without requiring disk access. |
Event waits
Metric | Unit | Description |
---|---|---|
oracle_wait_class_commit | percent | The percentage of time spent waiting on the events of class 'Commit'. |
oracle_wait_class_concurrency | percent | The percentage of time spent waiting on the events of class 'Concurrency'. |
oracle_wait_class_system_io | percent | The percentage of time spent waiting on the events of class 'System I/O'. |
oracle_wait_class_user_io | percent | The percentage of time spent waiting on the events of class 'User I/O'. |
oracle_wait_class_other | percent | The percentage of time spent waiting on the events of class 'Other'. |
oracle_wait_class_scheduler | percent | The percentage of time spent waiting on the events of class 'Scheduler'. |
oracle_wait_class_idle | percent | The percentage of time spent waiting on the events of class 'Idle'. |
oracle_wait_class_application | percent | The percentage of time spent waiting on the events of class 'Application'. |
oracle_wait_class_network | percent | The percentage of time spent waiting on the events of class 'Network'. |
oracle_wait_class_configuration | percent | The percentage of time spent waiting on the events of class 'Configuration'. |
oracle_wait_event_log_file_sync | percent | The percentage of time spent waiting on the 'log file sync' event. |
oracle_wait_event_log_file_parallel_write | percent | The percentage of time spent waiting on the 'log file parallel write' event. |
oracle_wait_event_log_file_sequential_read | percent | The percentage of time spent waiting on the 'log file sequential read' event. |
oracle_wait_event_enq_tx_contention | percent | The percentage of time spent waiting on the 'enq: TX - contention' event. |
oracle_wait_event_enq_tx_row_lock_contention | percent | The percentage of time spent waiting on the 'enq: TX - row lock contention' event. |
oracle_wait_event_latch_row_cache_objects | percent | The percentage of time spent waiting on the 'latch: row cache objects' event. |
oracle_wait_event_latch_shared_pool | percent | The percentage of time spent waiting on the 'latch: shared pool' event. |
oracle_wait_event_resmgr_cpu_quantum | percent | The percentage of time spent waiting on the 'resmgr:cpu quantum' event. |
oracle_wait_event_sql_net_message_from_client | percent | The percentage of time spent waiting on the 'SQL*Net message from client' event. |
oracle_wait_event_rdbms_ipc_message | percent | The percentage of time spent waiting on the 'rdbms ipc message' event. |
oracle_wait_event_db_file_sequential_read | percent | The percentage of time spent waiting on the 'db file sequential read' event. |
oracle_wait_event_log_file_switch_checkpoint_incomplete | percent | The percentage of time spent waiting on the 'log file switch (checkpoint incomplete)' event. |
oracle_wait_event_row_cache_lock | percent | The percentage of time spent waiting on the 'row cache lock' event. |
oracle_wait_event_buffer_busy_waits | percent | The percentage of time spent waiting on the 'buffer busy waits' event. |
oracle_wait_event_db_file_async_io_submit | percent | The percentage of time spent waiting on the 'db file async I/O submit' event. |
Sessions
Metric | Unit | Description |
---|---|---|
oracle_sessions_active_user | sessions | The number of active user sessions. |
oracle_sessions_inactive_user | sessions | The number of inactive user sessions. |
oracle_sessions_active_background | sessions | The number of active background sessions. |
oracle_sessions_inactive_background | sessions | The number of inactive background sessions. |
Other metrics
Metric | Unit | Description |
---|---|---|
oracle_calls_execute_count | calls | Total number of calls (user and recursive) that executed SQL statements. |
oracle_tuned_undoretention | seconds | The amount of time for which undo will not be recycled from the time it was committed. |
oracle_max_query_length | seconds | The length of the longest query executed. |
oracle_transaction_count | transactions | The total number of transactions executed within the period. |
oracle_sso_errors | errors/s | The number of ORA-01555 (snapshot too old) errors raised per second. |
oracle_redo_log_space_requests | requests | The number of times a user process waits for space in the redo log file, usually caused by checkpointing or log switching. |
Parameters
Memory
Parameter | Unit | Default value | Domain | Restart | Description |
---|---|---|---|---|---|
bitmap_merge_area_size | kilobytes |
|
| yes | The amount of memory Oracle uses to merge bitmaps retrieved from a range scan of the index. |
create_bitmap_area_size | megabytes |
|
| yes | Size of create bitmap buffer for bitmap index. Relevant only for systems containing bitmap indexes. |
db_cache_size | megabytes |
|
| no | The size of the DEFAULT buffer pool for standard block size buffers. The value must be at least 4M * cpu number. |
db_2k_cache_size | megabytes |
|
| no | Size of cache for 2K buffers. |
db_4k_cache_size | megabytes |
|
| no | Size of cache for 4K buffers. |
db_8k_cache_size | megabytes |
|
| no | Size of cache for 8K buffers. |
db_16k_cache_size | megabytes |
|
| no | Size of cache for 16K buffers. |
db_32k_cache_size | megabytes |
|
| no | Size of cache for 32K buffers. |
hash_area_size | kilobytes |
|
| yes | Maximum size of in-memory hash work area maximum amount of memory. |
java_pool_size | megabytes |
|
| no | The size of the Java pool. If SGA_TARGET is set, this value represents the minimum value for the memory pool. |
large_pool_size | megabytes |
|
| no | The size of large pool allocation heap. |
lock_sga |
|
| yes | Lock the entire SGA in physical memory. | |
memory_max_target | megabytes |
|
| yes | The maximum value to which a DBA can set the MEMORY_TARGET initialization parameter. |
memory_target | megabytes |
|
| no | Oracle systemwide usable memory. The database tunes memory to the MEMORY_TARGET value, reducing or enlarging the SGA and PGA as needed. |
olap_page_pool_size | bytes |
|
| no | Size of the olap page pool. |
pga_aggregate_limit | megabytes |
|
| no | The limit on the aggregate PGA memory consumed by the instance. |
pga_aggregate_target | megabytes |
|
| no | The target aggregate PGA memory available to all server processes attached to the instance. |
pre_page_sga |
|
| yes | Read the entire SGA into memory at instance startup. | |
result_cache_max_result | percent |
|
| no | Maximum result size as a percent of the cache size. |
result_cache_max_size | megabytes |
|
| no | The maximum amount of SGA memory that can be used by the Result Cache. |
result_cache_mode |
|
| no | Specifies when a ResultCache operator is spliced into a query's execution plan. | |
result_cache_remote_expiration | minutes |
|
| no | The expiration in minutes of remote objects. High values may cause stale answers. |
sga_max_size | megabytes |
|
| yes | The maximum size of the SGA for the lifetime of the instance. |
sga_min_size | megabytes |
|
| no | The guaranteed SGA size for a pluggable database (PDB). When SGA_MIN_SIZE is set for a PDB, it guarantees the specified SGA size for the PDB. |
sga_target | megabytes |
|
| no | The total size of all SGA components, acts as the minimum value for the size of the SGA. |
shared_pool_reserved_size | megabytes |
|
| yes | The shared pool space reserved for large contiguous requests for shared pool memory. |
shared_pool_size | megabytes |
|
| no | The size of the shared pool. |
sort_area_retained_size | kilobytes |
|
| no | The maximum amount of the User Global Area memory retained after a sort run completes. |
sort_area_size | kilobytes |
|
| no | The maximum amount of memory Oracle will use for a sort. If more space is required then temporary segments on disks are used. |
streams_pool_size | megabytes |
|
| no | Size of the streams pool. |
use_large_pages |
|
| yes | Enable the use of large pages for SGA memory. | |
workarea_size_policy |
|
| no | Policy used to size SQL working areas (MANUAL/AUTO). |
Redo
Parameter | Unit | Default value | Domain | Restart | Description |
---|---|---|---|---|---|
commit_logging |
|
| no | Control how redo is batched by Log Writer. | |
commit_wait |
|
| no | Control when the redo for a commit is flushed to the redo logs. | |
log_archive_max_processes | processes |
|
| no | Maximum number of active ARCH processes. |
log_buffer | megabytes |
|
| yes | The amount of memory that Oracle uses when buffering redo entries to a redo log file. |
log_checkpoint_interval | blocks |
|
| no | The maximum number of log file blocks between incremental checkpoints. |
log_checkpoint_timeout | seconds |
|
| no | Maximum time interval between checkpoints. Guarantees a no buffer remains dirty for more than the specified time. |
Undo
Parameter | Unit | Default value | Domain | Restart | Description |
---|---|---|---|---|---|
db_flashback_retention_target | minutes |
|
| no | Maximum Flashback Database log retention time. |
undo_retention | seconds |
|
| no | Low threshold value of undo retention. |
Optimizer
Parameter | Unit | Default value | Domain | Restart | Description |
---|---|---|---|---|---|
optimizer_adaptive_plans |
|
| no | Controls adaptive plans, execution plans built with alternative choices based on collected statistics. | |
optimizer_adaptive_statistics |
|
| no | Enable the optimizer to use adaptive statistics for complex queries. | |
optimizer_capture_sql_plan_baselines |
|
| no | Automatic capture of SQL plan baselines for repeatable statements | |
optimizer_dynamic_sampling |
|
| no | Controls both when the database gathers dynamic statistics, and the size of the sample that the optimizer uses to gather the statistics. | |
optimizer_features_enable |
|
| no | Enable a series of optimizer features based on an Oracle release number. | |
optimizer_index_caching |
|
| no | Adjust the behavior of cost-based optimization to favor nested loops joins and IN-list iterators. | |
optimizer_index_cost_adj |
|
| no | Tune optimizer behavior for access path selection to be more or less index friendly. | |
optimizer_inmemory_aware |
|
| no | Enables all of the optimizer cost model enhancements for in-memory. | |
optimizer_mode |
|
| no | The default behavior for choosing an optimization approach for the instance. | |
optimizer_use_invisible_indexes |
|
| no | Enable or disables the use of invisible indexes. | |
optimizer_use_pending_statistics |
|
| no | Control whether the optimizer uses pending statistics when compiling SQL statements. | |
optimizer_use_sql_plan_baselines |
|
| no | Enables the use of SQL plan baselines stored in SQL Management Base. |
Approximate execution
Parameter | Unit | Default value | Domain | Restart | Description |
---|---|---|---|---|---|
approx_for_aggregation |
|
| no | Replace exact query processing for aggregation queries with approximate query processing. | |
approx_for_count_distinct |
|
| no | Automatically replace COUNT (DISTINCT expr) queries with APPROX_COUNT_DISTINCT queries. | |
approx_for_percentile |
|
| no | Converts exact percentile functions to their approximate percentile function counterparts. |
Parallel processing
Parameter | Unit | Default value | Domain | Restart | Description |
---|---|---|---|---|---|
parallel_degree_policy |
|
| no | Policy used to compute the degree of parallelism (MANUAL/LIMITED/AUTO). | |
parallel_execution_message_size |
|
| yes | Message buffer size for parallel execution. | |
parallel_force_local |
|
| no | Force single instance execution. | |
parallel_max_servers | processes |
|
| no | The maximum number of parallel execution processes and parallel recovery processes for an instance. |
parallel_min_servers | processes |
|
| no | The minimum number of execution processes kept alive to service parallel statements. |
parallel_min_percent | percent |
|
| yes | The minimum percentage of parallel execution processes (of the value of PARALLEL_MAX_SERVERS) required for parallel execution. |
parallel_threads_per_cpu |
|
| no | Number of parallel execution threads per CPU. |
Resources
Parameter | Unit | Default value | Domain | Restart | Description |
---|---|---|---|---|---|
circuits | circuits |
|
| no | The total number of virtual circuits that are available for inbound and outbound network sessions. |
cpu_count | cpus |
|
| no | Number of CPUs available for the Oracle instance to use. |
cursor_bind_capture_destination |
|
| no | Allowed destination for captured bind variables. | |
cursor_invalidation |
|
| no | Whether deferred cursor invalidation or immediate cursor invalidation is used for DDL statements by default. | |
cursor_sharing |
|
| no | Cursor sharing mode. | |
cursor_space_for_time |
|
| yes | Use more memory in order to get faster execution. | |
db_files | files |
|
| yes | The maximum number of database files that can be opened for this database. This may be subject to OS constraints. |
open_cursors | cursors |
|
| no | The maximum number of open cursors (handles to private SQL areas) a session can have at once. |
open_links | connections |
|
| yes | The maximum number of concurrent open connections to remote databases in one session. |
open_links_per_instance | connections |
|
| yes | Maximum number of migratable open connections globally for each database instance. |
processes | processes |
|
| yes | The maximum number of OS user processes that can simultaneously connect to Oracle. |
read_only_open_delayed |
|
| yes | Delay opening of read only files until first access. | |
serial_reuse |
|
| yes | Types of cursors that make use of the serial-reusable memory feature. | |
session_cached_cursors |
|
| no | Number of session cursors to cache. | |
session_max_open_files |
|
| yes | Maximum number of open files allowed per session. | |
sessions | sessions |
|
| no | The maximum number of sessions that can be created in the system, effectively the maximum number of concurrent users in the system. |
transactions | transactions |
|
| yes | The maximum number of concurrent transactions. |
Other parameters
Parameter | Unit | Default value | Domain | Restart | Description |
---|---|---|---|---|---|
audit_trail |
|
| yes | Configure system auditing. | |
client_result_cache_lag | milliseconds |
|
| yes | Maximum time before checking the database for changes related to the queries cached on the client. |
client_result_cache_size | kilobytes |
|
| yes | The maximum size of the client per-process result set cache. |
db_block_checking |
|
| no | Header checking and data and index block checking. | |
db_block_checksum |
|
| no | Store checksum in db blocks and check during reads. | |
db_file_multiblock_read_count |
|
| no | Db block to be read each IO. | |
db_keep_cache_size | megabytes |
|
| no | Size of KEEP buffer pool for standard block size buffers. |
db_lost_write_protect |
|
| no | Enable lost write detection. | |
db_recycle_cache_size | megabytes |
|
| no | Size of RECYCLE buffer pool for standard block size buffers. |
db_writer_processes |
|
| yes | Number of background database writer processes to start. | |
dbwr_io_slaves |
|
| yes | The number of I/O server processes used by the DBW0 process. | |
ddl_lock_timeout |
|
| no | Timeout to restrict the time that ddls wait for dml lock. | |
deferred_segment_creation |
|
| no | Defer segment creation to first insert. | |
distributed_lock_timeout | seconds |
|
| yes | Number of seconds a distributed transaction waits for a lock. |
dml_locks |
|
| yes | The maximum number of DML locks - one for each table modified in a transaction. | |
fast_start_parallel_rollback |
|
| no | Max number of parallel recovery slaves that may be used. | |
gcs_server_processes | processes |
|
| yes | The number of background GCS server processes to serve the inter-instance traffic among Oracle RAC instances. |
java_jit_enabled |
|
| no | Enables the Just-in-Time (JIT) compiler for the Oracle Java Virtual Machine. | |
java_max_sessionspace_size | bytes |
|
| yes | Max allowed size in bytes of a Java sessionspace. |
job_queue_processes |
|
| no | Maximum number of job queue slave processes. | |
object_cache_max_size_percent | percent |
|
| no | Percentage of maximum size over optimal of the user sessions object cache. |
object_cache_optimal_size | kilobytes |
|
| no | Optimal size of the user sessions object cache. |
plsql_code_type |
|
| no | PL/SQL code-type. | |
plsql_optimize_level |
|
| no | PL/SQL optimize level. | |
query_rewrite_enabled |
|
| no | Allow rewrite of queries using materialized views if enabled. | |
query_rewrite_integrity |
|
| no | Perform rewrite using materialized views with desired integrity. | |
recyclebin |
|
| no | Allow recovering of dropped tables. | |
replication_dependency_tracking |
|
| yes | Tracking dependency for Replication parallel propagation. | |
resourcemanager_cpu_allocation |
|
| no | ResourceManager CPU allocation. | |
sql_trace |
|
| no | Enable SQL trace. | |
star_transformation_enabled |
|
| no | Enable the use of star transformation. | |
statistics_level |
|
| no | Level of collection for database and operating system statistics. | |
transactions_per_rollback_segment |
|
| yes | Expected number of active transactions per rollback segment. | |
filesystemio_options |
|
| yes | Specifies I/O operations for file system files. |
Values and domain suggestions
The following parameters require their ranges or default values to be updated according to the described rules:
Memory
Parameter | Default value | Domain |
|
| |
|
| |
|
| |
|
| |
| upper bound can’t exceed half the size of | |
|
| |
|
| at least |
|
|
Resources
Parameter | Default value | Domain |
| should match the available CPUs 0 to let the Oracle engine automatically determine the value | must not exceed the available CPUs |
|
| |
|
| |
|
| |
|
| must be at least equal to the default value |
|
|
Constraints
The following tables show a list of constraints that may be required in the definition of the study, depending on the tuned parameters.
Memory
Formula | Notes |
---|---|
| Add when tuning automatic memory management |
| Add when tuning SGA and PGA |
| Add when tuning SGA and PGA |
| Add when tuning SGA |
| Add when tuning SGA areas |
| Add when tuning PGA |
| |
|
Other constraints
Formula | Notes |
---|---|
| |
|
Last updated