Oracle Certification

1Z0-149 — Performance Tuning Study Guide

61 practice questions with correct answers and detailed explanations. Use this guide to review concepts before taking the practice exam.

▶ Take Practice Exam 61 questions  ·  Free  ·  No registration

About the 1Z0-149 Exam

The Oracle Performance Tuning (1Z0-149) certification validates professional expertise in Oracle technologies. This study guide covers all 61 practice questions from our 1Z0-149 practice test, complete with correct answers and explanations to help you understand each concept thoroughly.

Review each question and explanation below, then test yourself with the full interactive practice exam to measure your readiness.

61 Practice Questions & Answers

Q1 Medium

Which Oracle initialization parameter controls the number of database writer processes?

  • A LOG_ARCHIVE_PROCESSES
  • B DB_WRITER_PROCESSES ✓ Correct
  • C DBWR_IO_SLAVES
  • D PROCESSES
Explanation

DB_WRITER_PROCESSES directly controls how many database writer (DBWn) processes are created, which improves write performance on multi-CPU systems.

Q2 Easy

What is the primary purpose of the Automatic Workload Repository (AWR)?

  • A To manage backup and recovery operations
  • B To control resource allocation across multiple databases
  • C To compile PL/SQL code into native machine code
  • D To store historical performance data for trend analysis and baseline creation ✓ Correct
Explanation

AWR captures and stores historical performance metrics at regular intervals, enabling DBAs to analyze performance trends and create performance baselines for comparison.

Q3 Medium

When examining an execution plan, which operation typically indicates a performance bottleneck if executed with high row counts?

  • A FULL TABLE SCAN with high number of rows and high cost ✓ Correct
  • B NESTED LOOPS JOIN
  • C INDEX RANGE SCAN
  • D TABLE ACCESS BY INDEX ROWID
Explanation

A FULL TABLE SCAN accessing millions of rows with high cost suggests the query is not using indexes effectively and may benefit from index creation or query rewriting.

Q4 Medium

Which wait event indicates that sessions are waiting for log buffer space to be flushed to disk?

  • A db file scattered read
  • B enqueue
  • C log file sync
  • D log buffer space ✓ Correct
Explanation

The 'log buffer space' wait event occurs when the log buffer is full and sessions must wait for LGWR to write buffer contents to the redo log file.

Q5 Medium

What is the effect of increasing the LOG_BUFFER parameter on a system with high 'log buffer space' waits?

  • A It improves query execution speed by allocating more memory to the shared pool
  • B It reduces CPU usage but increases memory consumption
  • C It increases the speed of archiving and backup operations
  • D It allows more redo entries to be held in memory, reducing the frequency of buffer flushes ✓ Correct
Explanation

Increasing LOG_BUFFER provides more space for redo entries before LGWR must flush to disk, reducing 'log buffer space' waits on systems with intensive logging.

Q6 Easy

In the context of SQL performance tuning, what does the term 'cardinality' refer to?

  • A The percentage of data blocks cached in the buffer cache
  • B The cost assigned by the optimizer to execute a step
  • C The number of distinct values in a column
  • D The estimated or actual number of rows returned by an operation ✓ Correct
Explanation

Cardinality is the row count estimate used by the optimizer to make execution plan decisions; poor cardinality estimates lead to suboptimal plans.

Q7 Medium

Which dynamic performance view displays current wait events for active sessions?

  • A V$SESSION_WAIT ✓ Correct
  • B V$WAITSTAT
  • C V$EVENT_NAME
  • D V$SYSSTAT
Explanation

V$SESSION_WAIT shows the current wait event for each active session, allowing real-time identification of performance bottlenecks.

Q8 Medium

What is the primary advantage of using partitioning for large tables in Oracle?

  • A It reduces the amount of redo log generation
  • B It allows parallel execution and faster access through partition elimination ✓ Correct
  • C It automatically compresses data without affecting query performance
  • D It eliminates the need for indexing on the table
Explanation

Partitioning enables queries to scan only relevant partitions rather than the entire table, improving performance through partition pruning and enabling parallel operations.

Q9 Easy

Which parameter controls the maximum size of the System Global Area (SGA)?

  • A SGA_TARGET
  • B MEMORY_TARGET
  • C SGA_MAX_SIZE ✓ Correct
  • D DB_CACHE_SIZE
Explanation

SGA_MAX_SIZE sets the upper limit for the entire SGA; individual components can be sized up to this limit without restarting the database.

Q10 Medium

What does the 'db file sequential read' wait event indicate?

  • A Sessions waiting for background processes to complete archiving
  • B Sessions waiting for a full table scan operation to complete
  • C Sessions waiting to read a single block or small range of blocks via index access ✓ Correct
  • D Sessions waiting for lock acquisition on database objects
Explanation

This wait event occurs when sessions perform index-based lookups that require reading specific blocks sequentially, typical of indexed access patterns.

Q11 Medium

How does the Cost-Based Optimizer (CBO) estimate query cost?

  • A By calculating CPU time plus I/O time based on table and index statistics ✓ Correct
  • B By measuring actual elapsed time from previous executions
  • C By multiplying the number of rows by the average row length
  • D By counting the total number of tables accessed in the query
Explanation

The CBO uses table and index statistics (including selectivity, cardinality, and I/O characteristics) to calculate the cost of different execution paths.

Q12 Medium

Which Oracle feature allows automatic tuning of memory parameters without manual intervention?

  • A SQL Tuning Advisor
  • B Segment Advisor
  • C Automatic Shared Memory Management (ASMM) ✓ Correct
  • D Automatic Database Diagnostic Monitor (ADDM)
Explanation

ASMM automatically distributes available SGA memory among different pools (buffer cache, shared pool, large pool, etc.) based on workload demands.

Q13 Easy

What is the purpose of analyzing a table with the DBMS_STATS package?

  • A To reorganize table data and reduce fragmentation
  • B To replicate the table to standby databases
  • C To encrypt sensitive data within the table
  • D To gather object statistics that the optimizer uses for execution planning ✓ Correct
Explanation

DBMS_STATS collects statistics on tables, indexes, and columns, providing the optimizer with accurate information about data distribution and characteristics.

Q14 Medium

Which initialization parameter determines how Oracle allocates memory when MEMORY_TARGET is set?

  • A Only SGA_TARGET is used; PGA is always manually configured
  • B Manual allocation through DB_CACHE_SIZE, SHARED_POOL_SIZE, and other granular parameters
  • C A fixed 60/40 ratio is applied to SGA and PGA respectively
  • D SGA_TARGET and PGA_AGGREGATE_TARGET are automatically managed ✓ Correct
Explanation

When MEMORY_TARGET is specified, Oracle's Automatic Memory Management distributes memory dynamically between SGA and PGA based on workload demands.

Q15 Medium

What does an execution plan with a high 'Cost' value in the Rows column typically suggest?

  • A The execution plan is optimal and no tuning is required
  • B The query will execute in parallel on multiple cores
  • C The query requires additional memory allocation before execution
  • D The optimizer estimates that many rows will be processed at that step ✓ Correct
Explanation

The 'Rows' column in an execution plan shows the optimizer's estimated row count for that operation; high values indicate substantial data processing.

Q16 Easy

Which wait event typically dominates on I/O-bound database systems?

  • A CPU time
  • B log file sync
  • C library cache lock
  • D db file scattered read and db file sequential read ✓ Correct
Explanation

These two wait events represent disk I/O operations and are commonly the top waits on systems where I/O is the limiting resource.

Q17 Medium

When using the SQL Tuning Advisor, what is the primary output generated?

  • A A schedule for automated table statistics collection
  • B A list of all executed queries with their execution times
  • C A comprehensive audit trail of all database modifications
  • D Recommendations for SQL improvements, including index suggestions and SQL rewrites ✓ Correct
Explanation

The SQL Tuning Advisor analyzes problem SQL statements and provides actionable recommendations such as creating indexes or rewriting SQL for better performance.

Q18 Medium

What does the EXPLAIN PLAN command do, and what view must be queried to see results?

  • A It displays the execution plan without executing the query; query PLAN_TABLE ✓ Correct
  • B It creates a permanent plan baseline; query DBA_SQL_PLAN_BASELINES
  • C It executes the SQL and shows actual results; query USER_TAB_COLUMNS
  • D It compiles SQL code into memory; query V$SQL
Explanation

EXPLAIN PLAN parses and plans a query without execution, writing the plan to PLAN_TABLE which can then be queried to view the execution path.

Q19 Medium

Which type of index is most suitable for columns with many NULL values and low cardinality?

  • A Global index
  • B Partitioned index
  • C Function-based index
  • D Bitmap index ✓ Correct
Explanation

Bitmap indexes are highly efficient for low-cardinality columns including NULLs, using minimal space and providing fast retrieval.

Q20 Medium

What is the relationship between the buffer cache hit ratio and overall database performance?

  • A A high hit ratio suggests queries are reading from memory rather than disk, reducing I/O wait times ✓ Correct
  • B The hit ratio is irrelevant if the database uses SSD storage
  • C The hit ratio must be exactly 99% or the database is misconfigured
  • D A higher hit ratio always indicates better performance and no tuning is needed
Explanation

A higher buffer cache hit ratio means more data is found in memory, reducing expensive disk I/O operations and improving response time.

Q21 Easy

Which dynamic performance view provides cumulative statistics for individual SQL statements since database startup?

  • A V$SESSION
  • B V$SQLAREA ✓ Correct
  • C V$STATNAME
  • D V$INSTANCE
Explanation

V$SQLAREA aggregates statistics for each unique SQL statement, showing cumulative CPU time, I/O operations, and execution counts.

Q22 Medium

How does setting a high value for PROCESSES parameter impact system performance?

  • A It can increase memory consumption and context switching overhead without providing benefits ✓ Correct
  • B It automatically enables automatic database tuning features
  • C It forces the database to use only CPU cores rather than disk I/O
  • D It improves query performance by allowing more parallel operations
Explanation

Setting PROCESSES too high wastes memory on unused process structures and increases context switching overhead, degrading rather than improving performance.

Q23 Medium

What is the primary benefit of implementing a materialized view in an Oracle database?

  • A It eliminates the need for all other indexes on the base tables
  • B It stores pre-computed query results, reducing computation time for complex aggregations and joins ✓ Correct
  • C It increases the amount of redo log generation for better recovery options
  • D It automatically encrypts data and prevents unauthorized access
Explanation

A materialized view stores the results of a complex query, allowing subsequent queries to retrieve pre-aggregated data without recalculating joins and aggregations.

Q24 Hard

Which initialization parameter controls the degree to which Oracle can parallelize query execution?

  • A PARALLEL_DEGREE_POLICY ✓ Correct
  • B PARALLEL_EXECUTION_ENABLED
  • C PARALLEL_MAX_SERVERS
  • D PARALLEL_THREADS_PER_CPU
Explanation

PARALLEL_DEGREE_POLICY determines whether parallel execution is enabled and how the degree of parallelism is calculated for statements.

Q25 Hard

In a NESTED LOOPS join, what performance issue may occur when the inner table is large and lacks appropriate indexes?

  • A The join completes faster than HASH JOIN due to sequential access patterns
  • B Excessive disk I/O as each outer row triggers a full scan of the inner table ✓ Correct
  • C Memory allocation fails and the query is terminated
  • D The optimizer automatically converts it to a SORT MERGE join
Explanation

Without an index on the inner table's join column, each outer row requires a full table scan of the inner table, resulting in O(n*m) complexity and poor performance.

Q26 Easy

Which Oracle initialization parameter controls the size of the shared pool and directly affects library cache performance?

  • A PROCESSES
  • B DB_CACHE_SIZE
  • C SGA_TARGET
  • D SHARED_POOL_SIZE ✓ Correct
Explanation

SHARED_POOL_SIZE directly controls the memory allocated for the shared pool, which contains the library cache, dictionary cache, and other structures critical for parsing and execution.

Q27 Easy

What is the primary purpose of the Automatic Workload Repository (AWR) in Oracle database performance tuning?

  • A Collecting and storing performance metrics and statistics for analysis and tuning recommendations ✓ Correct
  • B Managing user sessions and connection pooling
  • C Compressing datafile blocks to reduce storage requirements
  • D Automatically executing SQL query optimization in real-time
Explanation

AWR captures performance data at regular intervals, allowing DBAs to analyze historical performance trends, identify bottlenecks, and generate tuning recommendations.

Q28 Medium

When analyzing wait events in Oracle, which wait event typically indicates contention on the redo log buffer or log file I/O issues?

  • A db file scattered read
  • B library cache lock
  • C log file sync ✓ Correct
  • D latch: shared pool
Explanation

The 'log file sync' wait event occurs when a foreground process waits for the background process (LGWR) to flush redo log entries to disk, indicating redo-related contention or I/O delays.

Q29 Medium

Which metric in the Dynamic Performance View v$session_wait is most useful for identifying which specific resource a session is waiting for?

  • A WAIT_CLASS which categorizes the type of wait
  • B SECONDS_IN_WAIT showing elapsed time since wait began
  • C P1, P2, P3 parameters providing event-specific details about the resource ✓ Correct
  • D EVENT column showing the name of the wait event
Explanation

The P1, P2, and P3 columns contain event-specific identifiers (like file number, block number for I/O waits) that pinpoint the exact resource being waited on.

Q30 Medium

In Oracle, what is the relationship between the PCTUSED and PCTFREE parameters in table storage, and how do they affect performance?

  • A PCTUSED determines the percentage of space used in the undo tablespace
  • B PCTFREE controls parallel query execution and PCTUSED manages memory allocation
  • C PCTFREE reserves space for row updates; PCTUSED triggers block cleanup and affects insert performance and table fragmentation ✓ Correct
  • D Both parameters control compression levels and have minimal impact on performance
Explanation

PCTFREE reserves space for row growth to reduce migration/chaining, while PCTUSED determines when a block becomes available for inserts again, directly affecting insert performance and space utilization.

Q31 Medium

Which type of index is most beneficial when a query needs to access data in a specific sorted order without performing a separate sort operation?

  • A Function-based index using aggregate functions
  • B Bitmap index on low-cardinality columns
  • C B-tree index on the columns in the query's ORDER BY clause ✓ Correct
  • D Hash cluster index for equality predicates
Explanation

A B-tree index on the ORDER BY columns allows Oracle to retrieve data pre-sorted, eliminating the need for an explicit SORT operation and improving performance.

Q32 Medium

What does a high value in the metric 'parse time elapsed' in v$sql indicate about SQL execution performance?

  • A The statement spends most execution time in I/O operations
  • B The optimizer is automatically parallelizing the query execution
  • C Memory is being freed from the undo tablespace efficiently
  • D The SQL statement is spending significant time being parsed, suggesting either library cache contention or complex query optimization ✓ Correct
Explanation

High parse time elapsed indicates excessive time spent in syntax checking, semantic analysis, and optimization, often due to library cache pressure or missing bind variables.

Q33 Medium

When using the SQL Tuning Advisor, which statement best describes the tuning recommendations it can provide?

  • A Recommendations solely based on parsing errors and syntax violations
  • B Only suggestions for adding or dropping indexes without any other optimization options
  • C Real-time query execution changes that are automatically applied without DBA review
  • D Statistics collection suggestions, access path recommendations, SQL profile creation, and object structure improvements ✓ Correct
Explanation

The SQL Tuning Advisor analyzes execution plans and can recommend statistics updates, SQL profiles, index creation/modification, and other structural improvements.

Q34 Hard

In the context of Oracle performance tuning, what is the significance of monitoring the 'cursor: pin S' wait event?

  • A It monitors network latency between client and database server
  • B It indicates contention for shared pins on cursor objects in the library cache, suggesting high hard parse activity or parsing bottlenecks ✓ Correct
  • C It measures the time required for sorting operations in memory
  • D It tracks physical disk I/O operations performed by background processes
Explanation

The 'cursor: pin S' wait event signals contention when multiple sessions need shared access to the same cursor, often caused by excessive hard parsing or library cache misses.

Q35 Medium

Which initialization parameter controls the maximum number of parallel execution processes available to the database, and how does it affect performance?

  • A CPU_PER_CALL limits the CPU time per SQL execution across all sessions
  • B DB_WRITER_PROCESSES determines the number of parallel I/O operations for writes
  • C PARALLEL_MAX_SERVERS sets the upper limit of parallel server processes; increasing it can improve performance for parallel operations but consumes more system resources ✓ Correct
  • D PROCESSES parameter controls total session connections regardless of parallelism
Explanation

PARALLEL_MAX_SERVERS limits the total number of parallel execution processes available; setting it too high wastes resources while too low limits parallelism benefits.

Q36 Hard

When a query shows high 'cell single block physical read' wait events in Exadata environments, what does this typically indicate?

  • A The redo log writer is performing normal checkpoint operations
  • B The database is operating at peak efficiency with minimal overhead
  • C Network bandwidth between database and Exadata cells is uncongested
  • D The query is not benefiting from smart scans and is performing unoptimized single block I/O from the storage cells ✓ Correct
Explanation

High single block physical reads on Exadata suggest queries are not leveraging intelligent storage capabilities (smart scans), indicating suboptimal predicate pushdown or filtering.

Q37 Medium

Which dynamic performance view is most appropriate for monitoring real-time CPU consumption and identifying sessions consuming excessive CPU resources?

  • A v$sess_io combined with v$session to correlate CPU consumption with session identity ✓ Correct
  • B v$tempstat which only tracks temporary segment usage
  • C v$logstat tracking redo log write performance metrics
  • D v$archive_dest showing archive log destinations and status
Explanation

v$sess_io provides session-level I/O statistics, and when joined with v$session, allows identification of CPU-consuming sessions and their CPU-consuming activities.

Q38 Hard

In Oracle, what is the optimal strategy for tuning a query with a join between a small dimension table and a large fact table?

  • A Use a hash join with the smaller table as the hash table to minimize memory overhead and optimize cache utilization ✓ Correct
  • B Avoid indexes on foreign key columns to reduce write contention
  • C Always use a nested loop join regardless of table sizes
  • D Partition both tables identically and disable query optimization
Explanation

Hash joins are optimal when joining small tables with large tables, as the smaller table is built into a hash table in memory, allowing efficient matching with the larger table.

Q39 Hard

What does the 'blocks cleaned out' metric in table statistics indicate, and how does it relate to performance?

  • A Represents blocks requiring delayed block cleanup after update operations, indicating potential PCTUSED/PCTFREE configuration issues affecting performance ✓ Correct
  • B Represents the total number of rows migrated to different blocks due to updates
  • C Shows the number of full table scans performed in the last 24 hours
  • D Indicates the number of times a table was analyzed using DBMS_STATS
Explanation

High blocks cleaned out values suggest delayed block cleanup is occurring, potentially due to suboptimal PCTUSED/PCTFREE settings, which can increase I/O and reduce performance.

Q40 Medium

When using AWR reports to identify performance issues, which metric indicates potential problems with the data buffer cache?

  • A Increasing undo segment growth over time
  • B Rising count of archivelog switches per hour
  • C Buffer Cache Hit Ratio significantly below 99% combined with high physical reads ✓ Correct
  • D High number of INSERT statements executed per second
Explanation

A low Buffer Cache Hit Ratio (typically <99%) combined with high physical read wait times indicates the cache is not effectively storing frequently accessed blocks.

Q41 Medium

Which Oracle feature allows a query to be executed using multiple CPU cores and processes simultaneously, and what impact does it have on resource usage?

  • A Distributed Query Execution across multiple database instances only
  • B Compressed Query Execution which reduces resource consumption by compressing intermediate results
  • C Parallel Execution enables multi-core processing for large operations, improving response time but consuming more CPU, memory, and I/O resources ✓ Correct
  • D Sequential Query Execution which processes rows one at a time for consistency
Explanation

Parallel execution divides work across multiple processes/cores, significantly improving throughput for large scans and operations but requiring careful tuning to avoid resource oversubscription.

Q42 Medium

In the context of Oracle's cost-based optimizer, what does a high value in the COST column of execution plans suggest?

  • A The query will definitely execute faster than queries with lower cost values
  • B The table should be immediately compressed to reduce space usage
  • C The optimizer estimates the operation will require significant I/O and CPU resources, which may indicate an inefficient access path ✓ Correct
  • D The storage subsystem is running at maximum capacity
Explanation

The COST metric represents the optimizer's estimate of resource consumption; high costs typically indicate inefficient access paths that should be tuned (indexes added, statistics updated, etc.).

Q43 Hard

Which strategy is most effective for reducing the impact of 'enqueue: TX - row lock contention' wait events in an OLTP environment?

  • A Reduce transaction scope and duration, use appropriate isolation levels, commit frequently, and consider application-level locking mechanisms ✓ Correct
  • B Migrate to read-only tables and archive all historical data immediately
  • C Increase SGA size to cache all transaction data in memory permanently
  • D Disable row-level locking entirely to avoid all contention
Explanation

Row lock contention is best addressed through application-level tuning: shorter transactions, faster processing, earlier commits, and proper isolation levels reduce lock hold times.

Q44 Hard

When analyzing v$sqlarea for SQL tuning opportunities, which metric is most indicative of a query that might benefit from optimization?

  • A SORTS_DISK values of zero showing efficient memory sorting
  • B ELAPSED_TIME equal to CPU_TIME showing no wait events
  • C High EXECUTIONS with high DISK_READS or high PARSE_CALLS relative to EXECUTIONS ✓ Correct
  • D Low EXECUTIONS indicating the query is rarely used
Explanation

Queries with many executions but high disk reads indicate either missing indexes or poor selectivity; high PARSE_CALLS relative to EXECUTIONS suggests missing bind variables.

Q45 Medium

Which Oracle initialization parameter controls the automatic collection of optimizer statistics, and what are the implications of disabling it?

  • A DB_RECOVERY_FILE_DEST used only for backup file location management
  • B STATS_AUTO_CAPTURE enables nightly AWR snapshots for statistics; disabling it requires manual DBMS_STATS execution, potentially causing stale statistics and suboptimal execution plans ✓ Correct
  • C UNDO_RETENTION parameter controlling undo segment preservation duration
  • D OPTIMIZER_MODE which only affects the join order algorithm
Explanation

When automatic statistics collection is disabled, tables may retain outdated statistics, leading to poor optimizer decisions and degraded query performance.

Q46 Medium

In a data warehouse environment, what is the primary advantage of using bitmap indexes over B-tree indexes for low-cardinality columns?

  • A Bitmap indexes consume significantly less space for low-cardinality data and enable efficient complex boolean operations in WHERE clauses ✓ Correct
  • B Bitmap indexes guarantee faster single-row lookups compared to B-tree indexes in all scenarios
  • C Bitmap indexes automatically parallelize query execution across all CPU cores
  • D Bitmap indexes eliminate the need for table statistics and optimizer analysis
Explanation

Bitmap indexes use bit vectors for each distinct value, resulting in compact storage for low-cardinality columns and enabling fast boolean operations in analytical queries.

Q47 Hard

When using SQL Plan Management (SPM) to control query execution, which scenario represents the most appropriate use case?

  • A A critical production query with a proven good execution plan that needs to be protected from optimizer changes during version upgrades or statistics updates ✓ Correct
  • B Only queries that have been rejected by the SQL Tuning Advisor as unoptimizable
  • C All queries in the database to ensure consistent execution regardless of optimization opportunities
  • D Exclusively for INSERT and UPDATE statements to prevent DML modification
Explanation

SQL Plan Baselines are ideal for protecting proven efficient plans from optimizer regressions caused by environment changes, while still allowing the optimizer to evolve plans when beneficial.

Q48 Medium

Which dynamic performance view should be queried to identify tablespaces that are approaching storage capacity and could cause performance degradation?

  • A v$tablespace joined with dba_data_files to monitor free space and total capacity for each tablespace ✓ Correct
  • B v$filestat which only shows historical file I/O statistics
  • C v$tempfile_block_usage reserved exclusively for temporary segment monitoring
  • D v$log displaying redo log file status and archival information
Explanation

Joining v$tablespace with dba_data_files provides space usage information, allowing proactive identification of tablespaces nearing capacity before they become full.

Q49 Hard

In tuning I/O performance, what does a high 'direct path read' wait event typically indicate about the query execution strategy?

  • A All user sessions are reading data that requires explicit authorization checks
  • B The database is experiencing severe memory shortage and cannot allocate buffer cache space
  • C The redo log buffer is full and preventing new transactions from proceeding
  • D The query is performing full table scans with direct I/O bypassing the buffer cache, which is efficient for large scans but indicates the buffer cache may be ineffective for this workload ✓ Correct
Explanation

Direct path reads bypass the buffer cache, which is optimal for very large scans that would flush useful data from cache; however, high frequencies suggest buffer cache underutilization.

Q50 Hard

Which approach is most effective for tuning a report that performs a large aggregation across a fact table with millions of rows?

  • A Disable all indexes on the fact table to reduce write overhead during data loading
  • B Configure the query to use only sequential table scans regardless of predicate selectivity
  • C Implement a materialized view that pre-aggregates the data and supports incremental refresh, dramatically reducing query execution time ✓ Correct
  • D Execute the report query multiple times sequentially to warm the buffer cache
Explanation

Materialized views pre-compute aggregations and can be incrementally refreshed, providing orders of magnitude performance improvement for repetitive aggregation queries.

Q51 Hard

When monitoring the library cache using v$librarycache, what does a high RELOAD value relative to PINS indicate about cache efficiency?

  • A Objects are being frequently invalidated and reloaded, indicating poor cache efficiency and suggesting insufficient shared pool size or excessive DDL modifications ✓ Correct
  • B The database is executing queries very efficiently with minimal parsing overhead
  • C All SQL statements are using bind variables and benefiting from cursor reuse
  • D The optimizer statistics are fresh and being effectively utilized by the cost-based optimizer
Explanation

High RELOAD/PINS ratios indicate objects are frequently evicted and reloaded from the library cache, suggesting either insufficient shared pool size or excessive invalidations due to DDL.

Q52 Medium

When using the DBMS_PROFILER package to analyze PL/SQL performance, what information does the PLSQL_PROFILER_DATA table primarily store?

  • A Execution counts and elapsed time for each line of code ✓ Correct
  • B Database file I/O statistics and block read times
  • C Network latency measurements between client and server
  • D Memory allocation patterns and garbage collection events
Explanation

DBMS_PROFILER records profiling data including execution counts and elapsed time for each line of PL/SQL code, allowing developers to identify performance bottlenecks at the line level.

Q53 Easy

Which initialization parameter controls the size of the buffer cache in an Oracle database, directly affecting how much data can be cached in memory?

  • A DB_RECOVERY_FILE_DEST_SIZE
  • B DB_BUFFER_CACHE ✓ Correct
  • C SGA_TARGET with MEMORY_TARGET
  • D PROCESSES and OPEN_CURSORS
Explanation

DB_BUFFER_CACHE specifies the size of the buffer cache, which is critical for caching table and index blocks; a larger cache reduces disk I/O and improves performance.

Q54 Hard

You observe that a SQL query is using a full table scan instead of an index. After analyzing the explain plan, you notice the optimizer chose this path due to a high cardinality estimate. What should you investigate first to resolve this issue?

  • A Increase the value of OPTIMIZER_INDEX_COST_ADJ to favor index usage
  • B Check if table statistics are stale or missing, and gather fresh statistics using DBMS_STATS ✓ Correct
  • C Add a query hint to force the use of the preferred index without further analysis
  • D Manually rebuild all indexes on the table to improve their efficiency
Explanation

Stale or missing statistics cause the optimizer to make incorrect cardinality estimates; gathering fresh statistics with DBMS_STATS is the proper first step before considering hints or parameter adjustments.

Q55 Medium

In the context of cursor management, what is the primary benefit of using bind variables in SQL statements?

  • A They automatically convert literal values to numeric formats for faster processing
  • B They allow the database to share execution plans across similar queries, reducing parsing overhead and memory usage ✓ Correct
  • C They guarantee that all SQL queries will execute in parallel across multiple CPU cores
  • D They prevent the need for indexes by enabling full table scan optimization
Explanation

Bind variables enable cursor sharing because the same SQL statement with different parameter values reuses the same execution plan, significantly reducing soft parse overhead and improving performance.

Q56 Medium

Which wait event indicates that a session is waiting for a data block that is currently being read from disk?

  • A log file sync
  • B db file sequential read ✓ Correct
  • C enqueue: TX - transaction
  • D latch: cache buffers chains
Explanation

The 'db file sequential read' wait event occurs when a session waits for a single block to be read from disk, typically during index range scans or full table scans.

Q57 Hard

A developer reports that after adding a new index on a frequently queried table, the overall database performance has degraded. What is the most likely cause?

  • A Query execution plans are now using the new index instead of the previously optimal execution path
  • B The new index is causing excessive lock contention on the data dictionary
  • C The database automatically invalidated all existing execution plans when the new index was created
  • D The index maintains insert and update overhead on the indexed column without being used by most queries, consuming resources and slowing write operations ✓ Correct
Explanation

Adding an index increases the overhead of INSERT, UPDATE, and DELETE operations because the index must be maintained; if the index is not used efficiently by queries, the maintenance cost outweighs the benefit.

Q58 Medium

When analyzing V$SQLAREA to identify performance issues, which metric best indicates that a SQL statement is causing excessive CPU consumption?

  • A HIGH BUFFER_GETS relative to DISK_READS indicating cache efficiency
  • B HIGH EXECUTIONS count with LOW ROWS_PROCESSED
  • C HIGH ELAPSED_TIME with LOW CPU_TIME suggesting I/O wait bottlenecks
  • D HIGH CPU_TIME value combined with a high EXECUTIONS count ✓ Correct
Explanation

High CPU_TIME with high EXECUTIONS indicates a statement that consumes significant CPU resources; when combined, these metrics identify CPU-intensive queries that would benefit from optimization.

Q59 Hard

You need to reduce the response time of a query that performs multiple joins on large tables. The query currently has a cost of 50,000 according to the explain plan. Which approach is MOST likely to provide significant improvement?

  • A Analyze the join order and predicates; ensure statistics are current, then consider adding indexes on join columns and filter predicates that reduce row volumes early in the plan ✓ Correct
  • B Set OPTIMIZER_MODE to CHOOSE and allow automatic optimizer mode selection based on available statistics
  • C Execute the query with the APPEND hint to bypass redo log processing and improve execution speed
  • D Increase the value of HASH_JOIN_ENABLED to force all joins to use hash join algorithms regardless of data size
Explanation

Optimizing join order, gathering statistics, and creating strategic indexes on join and filter columns address the root causes of high query cost and provide the most sustainable performance improvements.

Q60 Medium

A batch job that runs nightly is experiencing increased runtime. The job consists of multiple SQL statements that process large volumes of data. Which tool would be most effective for identifying which specific statements are consuming the most time?

  • A The DBMS_SQLTUNE package to automatically detect and recommend tuning improvements for all statements
  • B The DBMS_PROFILER package combined with automated trace file analysis scripts
  • C Oracle Enterprise Manager's SQL Performance Analyzer to baseline and compare performance across multiple SQL statements ✓ Correct
  • D V$SESSION_LONGOPS to monitor long-running operations and identify problematic statements
Explanation

SQL Performance Analyzer allows you to baseline the performance of all statements in the batch job, compare execution plans and times, and identify which statements have degraded or are consuming the most resources.

Q61 Hard

In a system experiencing poor performance, you find that the redo log buffer (LOG_BUFFER) is small and LOG_BUFFER waits are high. However, after increasing LOG_BUFFER significantly, performance does not improve. What should you investigate next?

  • A The underlying issue is likely not buffer space but the rate at which log writer must flush redo to disk; investigate DBWR process activity and disk I/O performance ✓ Correct
  • B Reduce the value of FAST_START_MTTR_TARGET to allow more aggressive redo log recycling
  • C Force all sessions to use synchronous redo log writes to improve consistency and reduce buffering needs
  • D The database must be running in ARCHIVELOG mode, which prevents the log buffer from being used effectively regardless of size
Explanation

If increasing LOG_BUFFER does not improve performance, the bottleneck is the log writer's ability to flush redo to disk, not buffer capacity; disk I/O performance and LGWR process efficiency become the focus.

Ready to test your knowledge?

You've reviewed all 61 questions. Take the interactive practice exam to simulate the real test environment.

▶ Start Practice Exam — Free