{"id":53275,"date":"2022-12-07T19:39:51","date_gmt":"2022-12-07T19:39:51","guid":{"rendered":"https:\/\/dbtut.com\/?p=53275"},"modified":"2022-12-07T19:41:54","modified_gmt":"2022-12-07T19:41:54","slug":"client-connectivity-rac","status":"publish","type":"post","link":"https:\/\/dbtut.com\/index.php\/2022\/12\/07\/client-connectivity-rac\/","title":{"rendered":"Client Connectivity &#8211; RAC"},"content":{"rendered":"<p>Today we will learn how to Automatically Connect Clients to New Primary in Role Changes (Client Connectivity &#8211; RAC).<\/p>\n<p>Management of database services in RAC structure is done with SRVCTL utility.<\/p>\n<p>The meanings of some attributes to be used when adding services are as follows.<\/p>\n<p><span style=\"font-family: georgia, palatino, serif;\"><strong>-d:<\/strong> db_unique_name<\/span><\/p>\n<p><span style=\"font-family: georgia, palatino, serif;\"><strong>-s:<\/strong> service_name<\/span><\/p>\n<p><span style=\"font-family: georgia, palatino, serif;\"><strong>-r:<\/strong> instance_names<\/span><\/p>\n<p><span style=\"font-family: georgia, palatino, serif;\"><strong>-l:<\/strong> db_roles<\/span><\/p>\n<p><span style=\"font-family: georgia, palatino, serif;\"><strong>-e:<\/strong> failover_type {NONE | SESSION | SELECT}<\/span><\/p>\n<p><span style=\"font-family: georgia, palatino, serif;\"><strong>-m:<\/strong> failover_method {NONE | BASIC}<\/span><\/p>\n<p><span style=\"font-family: georgia, palatino, serif;\"><strong>-z:<\/strong> failover_retries<\/span><\/p>\n<p><span style=\"font-family: georgia, palatino, serif;\"><strong>-w:<\/strong> failover_delay<\/span><\/p>\n<p>If standby databases are created with Enterprise Manager, they are not automatically registered to Oracle Restart. So we add it manually as follows.<\/p>\n<pre class=\"lang:default decode:true \">\tsrvctl add database -d &lt;db_unique_name&gt; -o &lt;oracle_home&gt;\r\n\t[-m &lt;domain_name&gt;] [-p &lt;spfile&gt;] [-r {PRIMARY | PHYSICAL_STANDBY\r\n\t| LOGICAL_STANDBY | SNAPSHOT_STANDBY }] [-s {start_options}]\r\n\t[-t {stop_options}] [-n &lt;db_name&gt;] [-y {AUTOMATIC | MANUAL}]\r\n\t[-a \"&lt;diskgroup_list&gt;\"]\r\n<\/pre>\n<p>\u2022 If the Data Guard Environment is managed by the Broker, then the service is automatically started and the FAN ONS event is broadcast to the applications by the Broker itself, but if the Broker is not used, then this work is done with the help of Triggers.<\/p>\n<p>\u25cb STARTUP TRIGGER starts the service on the new Primary database.<\/p>\n<p>\u25cb The ROLE_CHANGE Trigger tells JDBC Clients to connect to the old Physical Standby instead of connecting to the Original Primary database.<\/p>\n<p>\u2022 In the broker, this process is managed completely automatically. The process steps are as follows.<\/p>\n<p>\u25cb When the failover process is completed and the old Physical Standby database becomes Primary, the Broker broadcasts the old Primary as down and the new Primary as a FAN event.<\/p>\n<p>\u25cb In applications using JDBC, OCI or ODP.NET as Oracle Client, clients are automatically connected to the new Primary database with Fast Connection Failover (FCF) configuration.<\/p>\n<p>\u2022 Let&#8217;s take a closer look at the Client Failover components.<\/p>\n<p><strong>Connect Time Failover:<\/strong> It redirects failed connection requests to secondary listener.<\/p>\n<p><strong>Transparent Application Failover:<\/strong> Allows the re-executing of failing SELECT statements, rollback of DML operations, and re-execution of ALTER SESSION statements by the application.<\/p>\n<p><strong>Fast Application Notification:<\/strong> When the original primary database fails, it sends a notification to the applications.<\/p>\n<h3>Let&#8217;s Test<\/h3>\n<p>1. We add service.<\/p>\n<pre class=\"lang:default decode:true \">[oracle@primary1 ~]$ srvctl add service -d primary -s prmy -r primary1,primary2 -l primary -m BASIC -e SELECT -w 1 -z 180\r\n<\/pre>\n<p>2. The status of the service is questioned.<\/p>\n<pre class=\"lang:default decode:true \">[oracle@primary1 ~]$ srvctl status service -d primary -s prmy\r\nService prmy is not running.\r\n<\/pre>\n<p>3. Since the service will be started from the operating system, we define the sh script at a location in the operating system.<\/p>\n<pre class=\"lang:default decode:true \">\t[oracle@primary1 ~]$ cd $ORACLE_HOME\r\n\t[oracle@primary1 db_1]$ pwd\r\n\t\/u01\/app\/oracle\/product\/11.2.0\/db_1\r\n\t[oracle@primary1 db_1]$ cd bin\/\r\n\t[oracle@primary1 bin]$ vi StartupService.sh\r\n\t#!\/bin\/ksh\r\n\texport ORACLE_BASE=\/u01\/app\/oracle\r\n\texport ORACLE_HOME=$ORACLE_BASE\/product\/11.2.0\/db_1\r\n\texport LD_LIBRARY_PATH=$ORACLE_HOME\/lib:\/lib:\/usr\/lib\r\n\texport PATH=$ORACLE_HOME\/bin:$GRID_HOME\/bin:$BASE_PATH\r\n\texport TIMESTAMP=`date '+%y%m%d%H%M%s'`\r\n\texport LOGFILE=\/tmp\/StartupService_${TIMESTAMP}.log\r\n\t\r\n\techo \"Starting $0 at `date`\" &gt; $LOGFILE\r\n\tHOSTNAME=`hostname | awk -F. '{print $1}'`\r\n\t\r\n\techo \"`date` : Starting prmy database service\" &gt;&gt; $LOGFILE\r\n\tsrvctl start service -d $DB_UNIQUE_NAME -s prmy -i $ORACLE_SID &gt;&gt; $LOGFILE 2&gt;&amp;1\r\n\techo \"`date` : Start of prmy database service complete\" &gt;&gt; $LOGFILE\r\n<\/pre>\n<p>4. We create Trigger that will start the service.<\/p>\n<pre class=\"lang:default decode:true \">\t[Primary-1] SQL&gt; CREATE OR REPLACE TRIGGER manage_services_start after startup on database\r\n\t  2  \r\n\t  3  DECLARE\r\n\t  4     role VARCHAR(30);\r\n\t  5  BEGIN\r\n\t  6     SELECT DATABASE_ROLE INTO role FROM V$DATABASE;\r\n\t  7     IF role = 'PRIMARY' THEN\r\n\t  8        dbms_scheduler.create_job(\r\n\t  9        job_name=&gt;'start_dbsvc',\r\n\t 10        job_type=&gt;'executable',\r\n\t 11        job_action=&gt;'&lt;ORACLE_HOME&gt;\/bin\/StartupService.sh',\r\n\t 12        enabled=&gt;TRUE\r\n\t 13        );\r\n\t 14     END IF;\r\n\t 15  END;\r\n\t 16  \/\r\n\t\r\n\tTrigger created.\r\n<\/pre>\n<p>5. We check whether the trigger occurs on the Primary and Standby sides.<\/p>\n<pre class=\"lang:default decode:true \">\t[Primary-1] SQL&gt; select TRIGGER_NAME from dba_triggers where lower(trigger_name) like '%manage_service%';\r\n\t\r\n\tTRIGGER_NAME\r\n\t------------------------------\r\n\tMANAGE_SERVICES_START\r\n\t\r\n\t\r\n\t[Physical-1] SQL&gt; select TRIGGER_NAME from dba_triggers where lower(trigger_name) like '%manage_service%';\r\n\t\r\n\tTRIGGER_NAME\r\n\t------------------------------\r\n\tMANAGE_SERVICES_START\r\n<\/pre>\n<p>6. We restart the Primary database to see if the service has started in STARTUP.<\/p>\n<pre class=\"lang:default decode:true \">\t[oracle@primary1 bin]$ srvctl stop database -d primary\r\n\t\r\n\t[oracle@primary1 bin]$ srvctl status database -d primary\r\n\tInstance primary1 is not running on node primary1\r\n\tInstance primary2 is not running on node primary2\r\n\t\r\n\t[oracle@primary1 bin]$ srvctl start database -d primary\r\n\t\r\n\t[oracle@primary1 bin]$ srvctl status database -d primary\r\n\tInstance primary1 is running on node primary1\r\nInstance primary2 is running on node primary2<\/pre>\n<p>7. It is checked whether the service starts automatically or not.<\/p>\n<pre class=\"lang:default decode:true \">\t[oracle@primary1 bin]$ srvctl status service -d primary -s prmy\r\n\tService prmy is running on instance(s) primary1,primary2\r\n<\/pre>\n<p>8. It is checked whether the service is running in Physical Standby.<\/p>\n<pre class=\"lang:default decode:true \">\t[oracle@standby1 ~]$ srvctl status service -d standby -s physcl\r\n\tService physcl is not running.\r\n<\/pre>\n<p>9. We check whether the service starts automatically in Stanby by performing the switchover operation.<\/p>\n<pre class=\"lang:default decode:true \">https:\/\/dbtut.com\/index.php\/2022\/04\/05\/switchover-from-primary-database-to-physical-standby-database-with-sqlplus-commands\/<\/pre>\n<p>10. We check the status of the services on the Primary and Standby side.<\/p>\n<pre class=\"lang:default decode:true \">\t[oracle@primary1 ~]$ srvctl status service -d primary -s prmy\r\n\tService prmy is not running.\r\n\t\r\n\t[oracle@standby1 ~]$ srvctl status service -d standby -s physcl\r\nService physcl is not running.<\/pre>\n<p>Could not understand why the service did not start. Will look again later.<\/p>\n<p>&nbsp;<\/p>\n<div class=\"pvc_clear\"><\/div>\n<p id=\"pvc_stats_53275\" class=\"pvc_stats all  \" data-element-id=\"53275\" style=\"\"><i class=\"pvc-stats-icon medium\" aria-hidden=\"true\"><svg aria-hidden=\"true\" focusable=\"false\" data-prefix=\"far\" data-icon=\"chart-bar\" role=\"img\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" viewBox=\"0 0 512 512\" class=\"svg-inline--fa fa-chart-bar fa-w-16 fa-2x\"><path fill=\"currentColor\" d=\"M396.8 352h22.4c6.4 0 12.8-6.4 12.8-12.8V108.8c0-6.4-6.4-12.8-12.8-12.8h-22.4c-6.4 0-12.8 6.4-12.8 12.8v230.4c0 6.4 6.4 12.8 12.8 12.8zm-192 0h22.4c6.4 0 12.8-6.4 12.8-12.8V140.8c0-6.4-6.4-12.8-12.8-12.8h-22.4c-6.4 0-12.8 6.4-12.8 12.8v198.4c0 6.4 6.4 12.8 12.8 12.8zm96 0h22.4c6.4 0 12.8-6.4 12.8-12.8V204.8c0-6.4-6.4-12.8-12.8-12.8h-22.4c-6.4 0-12.8 6.4-12.8 12.8v134.4c0 6.4 6.4 12.8 12.8 12.8zM496 400H48V80c0-8.84-7.16-16-16-16H16C7.16 64 0 71.16 0 80v336c0 17.67 14.33 32 32 32h464c8.84 0 16-7.16 16-16v-16c0-8.84-7.16-16-16-16zm-387.2-48h22.4c6.4 0 12.8-6.4 12.8-12.8v-70.4c0-6.4-6.4-12.8-12.8-12.8h-22.4c-6.4 0-12.8 6.4-12.8 12.8v70.4c0 6.4 6.4 12.8 12.8 12.8z\" class=\"\"><\/path><\/svg><\/i> <img loading=\"lazy\" decoding=\"async\" width=\"16\" height=\"16\" alt=\"Loading\" src=\"https:\/\/dbtut.com\/wp-content\/plugins\/page-views-count\/ajax-loader-2x.gif\" border=0 \/><\/p>\n<div class=\"pvc_clear\"><\/div>\n","protected":false},"excerpt":{"rendered":"<p>Today we will learn how to Automatically Connect Clients to New Primary in Role Changes (Client Connectivity &#8211; RAC). Management of database services in RAC structure is done with SRVCTL utility. The meanings of some attributes to be used when adding services are as follows. -d: db_unique_name -s: service_name -r: instance_names -l: db_roles -e: failover_type &hellip;<\/p>\n<div class=\"pvc_clear\"><\/div>\n<p id=\"pvc_stats_53275\" class=\"pvc_stats all  \" data-element-id=\"53275\" style=\"\"><i class=\"pvc-stats-icon medium\" aria-hidden=\"true\"><svg aria-hidden=\"true\" focusable=\"false\" data-prefix=\"far\" data-icon=\"chart-bar\" role=\"img\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" viewBox=\"0 0 512 512\" class=\"svg-inline--fa fa-chart-bar fa-w-16 fa-2x\"><path fill=\"currentColor\" d=\"M396.8 352h22.4c6.4 0 12.8-6.4 12.8-12.8V108.8c0-6.4-6.4-12.8-12.8-12.8h-22.4c-6.4 0-12.8 6.4-12.8 12.8v230.4c0 6.4 6.4 12.8 12.8 12.8zm-192 0h22.4c6.4 0 12.8-6.4 12.8-12.8V140.8c0-6.4-6.4-12.8-12.8-12.8h-22.4c-6.4 0-12.8 6.4-12.8 12.8v198.4c0 6.4 6.4 12.8 12.8 12.8zm96 0h22.4c6.4 0 12.8-6.4 12.8-12.8V204.8c0-6.4-6.4-12.8-12.8-12.8h-22.4c-6.4 0-12.8 6.4-12.8 12.8v134.4c0 6.4 6.4 12.8 12.8 12.8zM496 400H48V80c0-8.84-7.16-16-16-16H16C7.16 64 0 71.16 0 80v336c0 17.67 14.33 32 32 32h464c8.84 0 16-7.16 16-16v-16c0-8.84-7.16-16-16-16zm-387.2-48h22.4c6.4 0 12.8-6.4 12.8-12.8v-70.4c0-6.4-6.4-12.8-12.8-12.8h-22.4c-6.4 0-12.8 6.4-12.8 12.8v70.4c0 6.4 6.4 12.8 12.8 12.8z\" class=\"\"><\/path><\/svg><\/i> <img loading=\"lazy\" decoding=\"async\" width=\"16\" height=\"16\" alt=\"Loading\" src=\"https:\/\/dbtut.com\/wp-content\/plugins\/page-views-count\/ajax-loader-2x.gif\" border=0 \/><\/p>\n<div class=\"pvc_clear\"><\/div>\n","protected":false},"author":484,"featured_media":53281,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"om_disable_all_campaigns":false,"_monsterinsights_skip_tracking":false,"_monsterinsights_sitenote_active":false,"_monsterinsights_sitenote_note":"","_monsterinsights_sitenote_category":0,"_uf_show_specific_survey":0,"_uf_disable_surveys":false,"footnotes":""},"categories":[4],"tags":[],"class_list":["post-53275","post","type-post","status-publish","format-standard","has-post-thumbnail","","category-oracle"],"aioseo_notices":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v24.9 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Client Connectivity - RAC - Database Tutorials<\/title>\n<meta name=\"description\" content=\"Today we will learn how to Automatically Connect Clients to New Primary in Role Changes (Client Connectivity - RAC)\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/dbtut.com\/index.php\/2022\/12\/07\/client-connectivity-rac\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Client Connectivity - RAC - Database Tutorials\" \/>\n<meta property=\"og:description\" content=\"Today we will learn how to Automatically Connect Clients to New Primary in Role Changes (Client Connectivity - RAC)\" \/>\n<meta property=\"og:url\" content=\"https:\/\/dbtut.com\/index.php\/2022\/12\/07\/client-connectivity-rac\/\" \/>\n<meta property=\"og:site_name\" content=\"Database Tutorials\" \/>\n<meta property=\"article:published_time\" content=\"2022-12-07T19:39:51+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2022-12-07T19:41:54+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/dbtut.com\/wp-content\/uploads\/2022\/12\/Ekran-goruntusu-2022-12-07-223821.png\" \/>\n\t<meta property=\"og:image:width\" content=\"683\" \/>\n\t<meta property=\"og:image:height\" content=\"305\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"Onur ARDAHANLI\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Onur ARDAHANLI\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"4 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/dbtut.com\/index.php\/2022\/12\/07\/client-connectivity-rac\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/dbtut.com\/index.php\/2022\/12\/07\/client-connectivity-rac\/\"},\"author\":{\"name\":\"Onur ARDAHANLI\",\"@id\":\"https:\/\/dbtut.com\/#\/schema\/person\/7fcd466cd0d347ec64aaa48f18f780c6\"},\"headline\":\"Client Connectivity &#8211; RAC\",\"datePublished\":\"2022-12-07T19:39:51+00:00\",\"dateModified\":\"2022-12-07T19:41:54+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/dbtut.com\/index.php\/2022\/12\/07\/client-connectivity-rac\/\"},\"wordCount\":442,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/dbtut.com\/#organization\"},\"image\":{\"@id\":\"https:\/\/dbtut.com\/index.php\/2022\/12\/07\/client-connectivity-rac\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/dbtut.com\/wp-content\/uploads\/2022\/12\/Ekran-goruntusu-2022-12-07-223821.png\",\"articleSection\":[\"ORACLE\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/dbtut.com\/index.php\/2022\/12\/07\/client-connectivity-rac\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/dbtut.com\/index.php\/2022\/12\/07\/client-connectivity-rac\/\",\"url\":\"https:\/\/dbtut.com\/index.php\/2022\/12\/07\/client-connectivity-rac\/\",\"name\":\"Client Connectivity - RAC - Database Tutorials\",\"isPartOf\":{\"@id\":\"https:\/\/dbtut.com\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/dbtut.com\/index.php\/2022\/12\/07\/client-connectivity-rac\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/dbtut.com\/index.php\/2022\/12\/07\/client-connectivity-rac\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/dbtut.com\/wp-content\/uploads\/2022\/12\/Ekran-goruntusu-2022-12-07-223821.png\",\"datePublished\":\"2022-12-07T19:39:51+00:00\",\"dateModified\":\"2022-12-07T19:41:54+00:00\",\"description\":\"Today we will learn how to Automatically Connect Clients to New Primary in Role Changes (Client Connectivity - RAC)\",\"breadcrumb\":{\"@id\":\"https:\/\/dbtut.com\/index.php\/2022\/12\/07\/client-connectivity-rac\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/dbtut.com\/index.php\/2022\/12\/07\/client-connectivity-rac\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/dbtut.com\/index.php\/2022\/12\/07\/client-connectivity-rac\/#primaryimage\",\"url\":\"https:\/\/dbtut.com\/wp-content\/uploads\/2022\/12\/Ekran-goruntusu-2022-12-07-223821.png\",\"contentUrl\":\"https:\/\/dbtut.com\/wp-content\/uploads\/2022\/12\/Ekran-goruntusu-2022-12-07-223821.png\",\"width\":683,\"height\":305},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/dbtut.com\/index.php\/2022\/12\/07\/client-connectivity-rac\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/dbtut.com\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Client Connectivity &#8211; RAC\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/dbtut.com\/#website\",\"url\":\"https:\/\/dbtut.com\/\",\"name\":\"Database Tutorials\",\"description\":\"MSSQL, Oracle, PostgreSQL, MySQL, MariaDB, DB2, Sybase, Teradata, Big Data, NOSQL, MongoDB, Couchbase, Cassandra, Windows, Linux\",\"publisher\":{\"@id\":\"https:\/\/dbtut.com\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/dbtut.com\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/dbtut.com\/#organization\",\"name\":\"dbtut\",\"url\":\"https:\/\/dbtut.com\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/dbtut.com\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/dbtut.com\/wp-content\/uploads\/2021\/02\/dbtutlogo.jpg\",\"contentUrl\":\"https:\/\/dbtut.com\/wp-content\/uploads\/2021\/02\/dbtutlogo.jpg\",\"width\":223,\"height\":36,\"caption\":\"dbtut\"},\"image\":{\"@id\":\"https:\/\/dbtut.com\/#\/schema\/logo\/image\/\"}},{\"@type\":\"Person\",\"@id\":\"https:\/\/dbtut.com\/#\/schema\/person\/7fcd466cd0d347ec64aaa48f18f780c6\",\"name\":\"Onur ARDAHANLI\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/dbtut.com\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/ecd20c3e1374ced4e1aefc82101cce4cd437be8fd957d1be3d106668b8a1b990?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/ecd20c3e1374ced4e1aefc82101cce4cd437be8fd957d1be3d106668b8a1b990?s=96&d=mm&r=g\",\"caption\":\"Onur ARDAHANLI\"},\"url\":\"https:\/\/dbtut.com\/index.php\/author\/onurardahanli\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Client Connectivity - RAC - Database Tutorials","description":"Today we will learn how to Automatically Connect Clients to New Primary in Role Changes (Client Connectivity - RAC)","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/dbtut.com\/index.php\/2022\/12\/07\/client-connectivity-rac\/","og_locale":"en_US","og_type":"article","og_title":"Client Connectivity - RAC - Database Tutorials","og_description":"Today we will learn how to Automatically Connect Clients to New Primary in Role Changes (Client Connectivity - RAC)","og_url":"https:\/\/dbtut.com\/index.php\/2022\/12\/07\/client-connectivity-rac\/","og_site_name":"Database Tutorials","article_published_time":"2022-12-07T19:39:51+00:00","article_modified_time":"2022-12-07T19:41:54+00:00","og_image":[{"width":683,"height":305,"url":"https:\/\/dbtut.com\/wp-content\/uploads\/2022\/12\/Ekran-goruntusu-2022-12-07-223821.png","type":"image\/png"}],"author":"Onur ARDAHANLI","twitter_card":"summary_large_image","twitter_misc":{"Written by":"Onur ARDAHANLI","Est. reading time":"4 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/dbtut.com\/index.php\/2022\/12\/07\/client-connectivity-rac\/#article","isPartOf":{"@id":"https:\/\/dbtut.com\/index.php\/2022\/12\/07\/client-connectivity-rac\/"},"author":{"name":"Onur ARDAHANLI","@id":"https:\/\/dbtut.com\/#\/schema\/person\/7fcd466cd0d347ec64aaa48f18f780c6"},"headline":"Client Connectivity &#8211; RAC","datePublished":"2022-12-07T19:39:51+00:00","dateModified":"2022-12-07T19:41:54+00:00","mainEntityOfPage":{"@id":"https:\/\/dbtut.com\/index.php\/2022\/12\/07\/client-connectivity-rac\/"},"wordCount":442,"commentCount":0,"publisher":{"@id":"https:\/\/dbtut.com\/#organization"},"image":{"@id":"https:\/\/dbtut.com\/index.php\/2022\/12\/07\/client-connectivity-rac\/#primaryimage"},"thumbnailUrl":"https:\/\/dbtut.com\/wp-content\/uploads\/2022\/12\/Ekran-goruntusu-2022-12-07-223821.png","articleSection":["ORACLE"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/dbtut.com\/index.php\/2022\/12\/07\/client-connectivity-rac\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/dbtut.com\/index.php\/2022\/12\/07\/client-connectivity-rac\/","url":"https:\/\/dbtut.com\/index.php\/2022\/12\/07\/client-connectivity-rac\/","name":"Client Connectivity - RAC - Database Tutorials","isPartOf":{"@id":"https:\/\/dbtut.com\/#website"},"primaryImageOfPage":{"@id":"https:\/\/dbtut.com\/index.php\/2022\/12\/07\/client-connectivity-rac\/#primaryimage"},"image":{"@id":"https:\/\/dbtut.com\/index.php\/2022\/12\/07\/client-connectivity-rac\/#primaryimage"},"thumbnailUrl":"https:\/\/dbtut.com\/wp-content\/uploads\/2022\/12\/Ekran-goruntusu-2022-12-07-223821.png","datePublished":"2022-12-07T19:39:51+00:00","dateModified":"2022-12-07T19:41:54+00:00","description":"Today we will learn how to Automatically Connect Clients to New Primary in Role Changes (Client Connectivity - RAC)","breadcrumb":{"@id":"https:\/\/dbtut.com\/index.php\/2022\/12\/07\/client-connectivity-rac\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/dbtut.com\/index.php\/2022\/12\/07\/client-connectivity-rac\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/dbtut.com\/index.php\/2022\/12\/07\/client-connectivity-rac\/#primaryimage","url":"https:\/\/dbtut.com\/wp-content\/uploads\/2022\/12\/Ekran-goruntusu-2022-12-07-223821.png","contentUrl":"https:\/\/dbtut.com\/wp-content\/uploads\/2022\/12\/Ekran-goruntusu-2022-12-07-223821.png","width":683,"height":305},{"@type":"BreadcrumbList","@id":"https:\/\/dbtut.com\/index.php\/2022\/12\/07\/client-connectivity-rac\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/dbtut.com\/"},{"@type":"ListItem","position":2,"name":"Client Connectivity &#8211; RAC"}]},{"@type":"WebSite","@id":"https:\/\/dbtut.com\/#website","url":"https:\/\/dbtut.com\/","name":"Database Tutorials","description":"MSSQL, Oracle, PostgreSQL, MySQL, MariaDB, DB2, Sybase, Teradata, Big Data, NOSQL, MongoDB, Couchbase, Cassandra, Windows, Linux","publisher":{"@id":"https:\/\/dbtut.com\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/dbtut.com\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/dbtut.com\/#organization","name":"dbtut","url":"https:\/\/dbtut.com\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/dbtut.com\/#\/schema\/logo\/image\/","url":"https:\/\/dbtut.com\/wp-content\/uploads\/2021\/02\/dbtutlogo.jpg","contentUrl":"https:\/\/dbtut.com\/wp-content\/uploads\/2021\/02\/dbtutlogo.jpg","width":223,"height":36,"caption":"dbtut"},"image":{"@id":"https:\/\/dbtut.com\/#\/schema\/logo\/image\/"}},{"@type":"Person","@id":"https:\/\/dbtut.com\/#\/schema\/person\/7fcd466cd0d347ec64aaa48f18f780c6","name":"Onur ARDAHANLI","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/dbtut.com\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/ecd20c3e1374ced4e1aefc82101cce4cd437be8fd957d1be3d106668b8a1b990?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/ecd20c3e1374ced4e1aefc82101cce4cd437be8fd957d1be3d106668b8a1b990?s=96&d=mm&r=g","caption":"Onur ARDAHANLI"},"url":"https:\/\/dbtut.com\/index.php\/author\/onurardahanli\/"}]}},"amp_enabled":true,"_links":{"self":[{"href":"https:\/\/dbtut.com\/index.php\/wp-json\/wp\/v2\/posts\/53275","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/dbtut.com\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/dbtut.com\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/dbtut.com\/index.php\/wp-json\/wp\/v2\/users\/484"}],"replies":[{"embeddable":true,"href":"https:\/\/dbtut.com\/index.php\/wp-json\/wp\/v2\/comments?post=53275"}],"version-history":[{"count":2,"href":"https:\/\/dbtut.com\/index.php\/wp-json\/wp\/v2\/posts\/53275\/revisions"}],"predecessor-version":[{"id":53282,"href":"https:\/\/dbtut.com\/index.php\/wp-json\/wp\/v2\/posts\/53275\/revisions\/53282"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/dbtut.com\/index.php\/wp-json\/wp\/v2\/media\/53281"}],"wp:attachment":[{"href":"https:\/\/dbtut.com\/index.php\/wp-json\/wp\/v2\/media?parent=53275"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/dbtut.com\/index.php\/wp-json\/wp\/v2\/categories?post=53275"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/dbtut.com\/index.php\/wp-json\/wp\/v2\/tags?post=53275"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}