2.4 Deploying True Cache for an Oracle RAC Primary Database
This section summarizes the configuration requirements for deploying True Cache for a primary database in an Oracle Real Application Clusters (Oracle RAC) environment. These requirements are also included in context within the detailed configuration steps.
Note:
All of this information also appears in the context of the configuration steps for Configuring True Cache with Oracle DBCA and Configuring True Cache Manually.-
True Cache needs to be able to access each instance in the Oracle RAC environment. To do this, use the single client access name (SCAN) listener when configuring True Cache.
- If you're configuring True Cache with DBCA, set the
-sourceDBConnectionString
parameter toSCAN:port/service_name
. -
If you're manually configuring True Cache, use the following settings when preparing the
PFILE
for True Cache:- Set the
REMOTE_LISTENER
parameter toSCAN:port
. - Set the
FAL_SERVER
parameter toSCAN:port/service_name
.
- Set the
-
Add the True Cache node to the invited node list for the SCAN listener by using the
srvctl
command line utility. (Don't manually edit thelistener.ora
file as the grid owner user.)For example:
srvctl modify scan_listener -invitednodes true_cache_host -endpoints TCP:port
- If you're configuring True Cache with DBCA, set the
-
When creating the database application services on the primary database, use the
srvctl
command line utility to add the services. Start the service on the primary instance. Usesrvctl
only for Oracle Clusterware-managed instances.To create both a True Cache service and the primary database service:
srvctl add service -db primary_db_unique_name -service true_cache_service_name -preferred primary_db_instance_list -pdb primary_pdb_name
srvctl add service -db primary_db_unique_name -service primary_db_service_name -preferred primary_db_instance_list -pdb primary_pdb_name -true_cache_service true_cache_service_name
For example:
srvctl add service -db primdb1i -service sales_tc -preferred primdb1i1,primdb1i2 -pdb sales_pdb srvctl add service -db primdb1i -service sales -preferred primdb1i1,primdb1i2 -pdb sales_pdb -true_cache_service sales_tc
To create a True Cache service for an existing primary database service (
db_service_name
):srvctl add service -db primary_db_unique_name -service true_cache_service_name -preferred primary_db_instance_list -pdb primary_pdb_name
srvctl modify service -db primary_db_unique_name -service primary_db_service_name -true_cache_service true_cache_service_name
For example:
srvctl add service -db primdb1i -service sales_tc -preferred primdb1i1,primdb1i2 -pdb sales_pdb srvctl modify service -db primdb1i -service sales -true_cache_service sales_tc
Note:
Also disable the True Cache service on the cluster where it was added to prevent errors when stopping and restarting the primary database services. For example:
srvctl start service -d primdb1i -s sales_tc
srvctl stop service -d primdb1i -s sales_tc
srvctl disable service -d primdb1i -s sales_tc
This doesn't affect standby databases or True Caches because they run outside the cluster where the True Cache service is disabled. The disabled status is not stored in the primary dictionary and
DBA_SERVICES
, but only in Cluster Ready Services (CRS), and only in the cluster where the True Cache service was added. Other databases outside the cluster can start the service withDBMS_SERVICE.START_SERVICE
and aren't affected by this setting.
Related Topics