Grid and DB version: 11.2.0.3
OS : RHEL 5.8
We use RAC services in our shop. When creating a service, I don't specify BASIC or PRECONNECT.
$ srvctl add service -h
Adds a service configuration to the Oracle Clusterware.
Usage: srvctl add service -d <db_unique_name> -s <service_name> {-r "<preferred_list>" [-a "<available_list>"] [-P {BASIC | NONE | PRECONNECT}] | -g <pool_name> [-c {UNIFORM | SINGLETON}] } [-k <net_num>] [-l [PRIMARY][,PHYSICAL_STANDBY][,LOGICAL_STANDBY][,SNAPSHOT_STANDBY]] [-y {AUTOMATIC | MANUAL}] [-q {TRUE|FALSE}] [-x {TRUE|FALSE}] [-j {SHORT|LONG}] [-B {NONE|SERVICE_TIME|THROUGHPUT}] [-e {NONE|SESSION|SELECT}] [-m {NONE|BASIC}] [-z <failover_retries>] [-w <failover_delay>] [-t <edition>] [-f]
-d <db_unique_name> Unique name for the database
-s <service> Service name
-r "<preferred_list>" Comma separated list of preferred instances
-a "<available_list>" Comma separated list of available instances
-g <pool_name> Server pool name
-c {UNIFORM | SINGLETON} Service runs on every active server in the server pool hosting this service (UNIFORM) or just one server (SINGLETON)
-k <net_num> network number (default number is 1)
-P {NONE | BASIC | PRECONNECT} TAF policy specification
This is what I understand about PRECONNECT.
If a service is configured with PRECONNECT in a 2-node RAC, whenever a client starts a session using this service , along with the connection created
to preferred instance, a shadow (backup) connection is created to the available node anticipating the failover. Am I right ?
So, for each client session using a service with PRECONNECT , two connections to both instances will be created. Right ? Is there a way (like querying GV$SESSION ) that a particular session is actually a shadow (backup) session from a PRECONNECT service?