Oracle RAC Affinity Benefits for Partitioned Tables and Distributed Transactions

Answer Correct answer: B, E — Oracle RAC affinity reduces global resource contention by routing disjoint row subsets to specific instances for partitioned tables and directing all branches of a distributed transaction to a single instance.

Which two benefits are obtained by using Affinity to reduce global resource contention? (Choose two.)

  1. Oracle RAC affinity for partitioned tables routes all database requests for a partition tables to a single Oracle RAC instance leading to higher Oracle RAC performance and scalability because of improved cache locality and reduced internode synchronization and block pings of the partition tables.
  2. Oracle RAC affinity for partitioned tables routes database requests to Oracle RAC instances in such a way that each instance always gets requests for a disjoint subset of rows in the database, this affinity leads to higher Oracle RAC performance and scalability because of improved cache locality and reduced internode synchronization and block pings. Correct Answer
  3. Oracle RAC affinity for partitioned tables routes database requests to all available Oracle RAC instances evenly to create a global affinity in such a way that each instance always gets an even number of requests leading to higher Oracle RAC performance by using a higher levels of available global cache to reduce global resource contention.
  4. To enhance the performance of distributed transactions with applications server that provides XA affinity, you can automatically spawn new dedicated database RAC instances to isolate distributed transaction.
  5. To enhance the performance of distributed transactions with applications server that provides XA affinity, you can direct all branches of a distributed transaction to a single instance in the cluster to improve cache locality and reduce internode synchronization and block pings. Correct Answer

Community Votes

BE
75%
AB
25%

75% of anonymous learners picked answer BE. Votes are pick records left by other test-takers — they are not the verified answer.

Community Insight

The question tests understanding of data affinity mechanisms, with the common trap being confusion between even distribution (load balancing) and localized access (affinity).

This page explains how Oracle RAC affinity improves performance by enhancing cache locality and reducing internode synchronization. It establishes that the correct benefits are achieved through disjoint row subsets for partitioned tables and single-instance routing for distributed transactions.

Many learners select A because it sounds like a strong performance benefit, but they fail to distinguish between 'partitioned table' affinity which targets specific partitions versus the broader 'disjoint subset' definition required for optimal global resource contention reduction in this context.

Community Discussion (4 comments)

217972f 👍 1 Selected: BE
BE as explained here: https://docs.oracle.com/en/database/oracle/oracle-database/19/racad/workload-management-with-dynamic-database-services.html
Test_1 👍 1 Selected: BE
BE https://docs.oracle.com/en/database/oracle/oracle-database/19/jjucp/connection-affinity.html#GUID-AD235F70-10F6-4DF3-8CE4-91769B828DD3 Starting from Oracle Database Release 18c, UCP supports Oracle RAC Data Affinity. When you enable Data Affinity on the Oracle RAC database, data on the affinitized tables are partitioned in such a way that a particular partition or subset of rows for a table is affinitized to a particular Oracle RAC database instance. The affinity leads to higher performance and scalability for the applications due to improved cache locality and reduced internode synchronization and block pings among the RAC instances
lcoleandro 👍 1 Selected: AB
A. Correct: Improves performance by routing partitioned table requests to a single instance, enhancing cache locality and reducing inter-instance synchronization. B. Correct: Optimizes performance by distributing requests for disjoint subsets of data among instances, improving cache usage and reducing inter-instance synchronization. C. Incorrect: Incorrectly suggests evenly distributing requests among instances, which doesn't necessarily reduce global resource contention. D. Incorrect: Focuses on spawning new instances for transaction isolation rather than reducing resource contention through affinity. E. Incorrect: Proposes directing all transaction branches to one instance for cache benefits but overlooks overall resource contention reduction.
krwi1 👍 1 Selected: BE
A - wrong B - true Starting from Oracle Database Release 18c, UCP supports Oracle RAC Data Affinity. When you enable Data Affinity on the Oracle RAC database, data on the affinitized tables are partitioned in such a way that a particular partition or subset of rows for a table is affinitized to a particular Oracle RAC database instance. The affinity leads to higher performance and scalability for the applications due to improved cache locality and reduced internode synchronization and block pings among the RAC instances. https://docs.oracle.com/en/database/oracle/oracle-database/19/jjucp/connection-affinity.html#GUID-AD235F70-10F6-4DF3-8CE4-91769B828DD3

Comments & Corrections

No comments yet — spotted an error or have a note? Share it below.

Log in to comment, report an error, or add a note about this question.

Submitted for moderation before publishing. Keep it helpful and respectful.

Expert Analysis

Why the Answer Is Correct

Oracle RAC affinity is designed to minimize global cache contention by ensuring that related data accesses occur on the same instance. Option B is correct because Data Affinity routes requests for a disjoint subset of rows (such as a specific partition or key range) to a specific instance, improving cache hit rates and reducing block ping. Option E is correct because XA affinity ensures all branches of a distributed transaction are directed to a single instance, preventing cross-instance locks and synchronization overhead during the commit phase.

Why the Other Options Are Wrong

Option A is incorrect because while it mentions cache locality, it inaccurately states that affinity routes ALL requests for a partitioned table to a SINGLE instance regardless of load; affinity is about mapping data subsets to instances, not necessarily monopolizing one instance for all activity if multiple partitions exist. Option C describes even distribution, which is the opposite of affinity; this leads to global cache contention rather than reducing it. Option D suggests spawning new dedicated instances, which is an operational configuration change, not a feature of connection affinity itself.

Community Comment Notes

The community largely agrees on BE, citing official Oracle documentation regarding Data Affinity and XA Affinity. As user krwi1 noted, option A is wrong because affinity maps subsets to instances, not just a single instance for the whole table indiscriminately. User Test_1 referenced the UCP documentation confirming that affinitized tables partition data such that specific subsets go to specific instances.

Official Reference

Exam Strategy

When dealing with 'Affinity' questions, remember that affinity means 'sticking together.' Look for options that describe keeping related data or transactions on the SAME node to avoid network traffic, rather than spreading them out evenly.

Frequently Asked Questions

Why is option A wrong for partitioned table affinity?

Option A implies all requests for a partitioned table go to one instance. Affinity actually maps specific partitions or subsets to different instances based on load and data location, not just a single static target for the whole table.

How does XA affinity reduce contention?

XA affinity directs all branches of a distributed transaction to a single RAC instance. This prevents cross-instance locking and minimizes global cache block pings during the transaction processing.

More 1Z0-078 FAQ →

Related Analysis

← Back to 1Z0-078 Study Guide