Your Data Guard environment has two remote physical standby databases Client applications use the local naming method to connect to the primary database instance.
You want applications to automatically connect to the new primary database instance in case of a switchover or a failover
Which will fulfill this requirement?
A.
Create a database service on each standby database that is started automatically by a trigger, when the database rote is PRIMARY, modify the connection description used by client applications to include all the standby hosts and connect to the database instance using that service name.
B.
Create a database service on the primary database that is started automatically by a trigger, when the database role is PRIMARY, modify the connection descriptors used by client applications to include all the standby hosts and connect to the database instance using that service name.
C.
Set the INSTANCE_NAME parameter identically on all databases; modify the connection descriptor on client applications to include all the standby hosts and connect to the database instance using that service name.
D.
Set the DB_NAME and DB_UNIQUE_NAME identical on all databases, modify the connection descriptors on client applications to include all the standby hosts and connect to the database using that service name.
B
you can not create a trigger on a phys standby database, as this is at most read only.
Create the trigger in the primary and the log shipping will create it in the standbys
B is wrong because the service is not created on the standby
http://blog.dbvisit.com/the-power-of-oracle-services-with-standby-databases/
Seems the answer is B not A.
Note that both the standby databases are Physical standby which means you cannot create the service on standby using DBMS_SERVICE. Also you cannot create a trigger on the standby even if it has real-time query enabled.
In this case, only way you can create the service is using DBMS_SERVICE on the Primary and will be propagated to Physical Standby. Same way Trigger must be created on the Primary and will be propagated to Standby. You are actually defining databases service for each standby from Primary.
So I believe B is correct.
If it says “Define a database service for each standby” instead of “Create a database service on each standby database” then A is correct.
A is possible in RAC using SRVCTL and call it thru broker. Here no mention of RAC or Broker…