{"id":53118,"date":"2022-11-24T18:53:14","date_gmt":"2022-11-24T18:53:14","guid":{"rendered":"https:\/\/dbtut.com\/?p=53118"},"modified":"2022-11-24T18:56:50","modified_gmt":"2022-11-24T18:56:50","slug":"failover-from-broker","status":"publish","type":"post","link":"https:\/\/dbtut.com\/index.php\/2022\/11\/24\/failover-from-broker\/","title":{"rendered":"Failover From Broker"},"content":{"rendered":"<p>In order to make Failover from the broker, we need to set the Listener and TNS settings correctly.<\/p>\n<p>Listener and TNS files of a SINGLE NODE Data Guard Environment whose broker configuration is as follows.<\/p>\n<pre class=\"lang:default decode:true \">DGMGRL&gt; show configuration\r\n\r\nConfiguration - DG_Solution\r\n\r\n  Protection Mode: MaxAvailability\r\n  Members:\r\n  primary  - Primary database\r\n    prmyFS   - Far sync instance \r\n      physical - (*) Physical standby database \r\n      logical  - Logical standby database \r\n\r\n  Members Not Receiving Redo:\r\n  physclFS - Far sync instance \r\n\r\nFast-Start Failover: ENABLED\r\n\r\nConfiguration Status:\r\nSUCCESS   (status updated 13 seconds ago)\r\n<\/pre>\n<h3 style=\"margin: 0in; font-family: Calibri; font-size: 14.0pt;\"><span style=\"font-family: georgia, palatino, serif;\">LISTENER.ORA<\/span><\/h3>\n[Primary]\n<pre class=\"lang:default decode:true \">[root@primary ~]# su - oracle\r\n[oracle@primary ~]$ cd $ORACLE_HOME\/network\/admin\r\n[oracle@primary admin]$ pwd\r\n\/u01\/app\/oracle\/product\/12.1.0\/db_1\/network\/admin\r\n[oracle@primary admin]$ ls\r\nlistener.ora  samples  shrept.lst  sqlnet.ora  tnsnames.ora\r\n[oracle@primary admin]$ cat listener.ora\r\n# listener.ora Network Configuration File: \/u01\/app\/oracle\/product\/12.1.0\/db_1\/network\/admin\/listener.ora\r\n# Generated by Oracle configuration tools.\r\n\r\nSID_LIST_LISTENER =\r\n  (SID_LIST =\r\n    (SID_DESC =\r\n      (GLOBAL_DBNAME = primary)\r\n      (ORACLE_HOME = \/u01\/app\/oracle\/product\/12.1.0\/db_1)\r\n      (SID_NAME = primary)\r\n    )\r\n    (SID_DESC =\r\n      (GLOBAL_DBNAME = primary_DGMGRL)\r\n      (ORACLE_HOME = \/u01\/app\/oracle\/product\/12.1.0\/db_1)\r\n      (SID_NAME = primary)\r\n    )\r\n  )\r\n\r\nLISTENER =\r\n  (DESCRIPTION_LIST =\r\n    (DESCRIPTION =\r\n      (ADDRESS = (PROTOCOL = TCP)(HOST = primary)(PORT = 1521)(SEND_BUF_SIZE = 10485760)(RECV_BUF_SIZE = 10485760))\r\n    )\r\n    (DESCRIPTION =\r\n      (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521))\r\n    )\r\n  )\r\n\r\nADR_BASE_LISTENER = \/u01\/app\/oracle\r\n<\/pre>\n[PrimaryFS]\n<pre class=\"lang:default decode:true \">[root@prmyFS ~]# su - oracle\r\n[oracle@prmyFS ~]$ cd $ORACLE_HOME\/network\/admin\r\n[oracle@prmyFS admin]$ pwd\r\n\/u01\/app\/oracle\/product\/12.1.0\/db_1\/network\/admin\r\n[oracle@prmyFS admin]$ ls\r\nlistener.ora  samples  shrept.lst  tnsnames.ora\r\n[oracle@prmyFS admin]$ cat listener.ora\r\n# listener.ora Network Configuration File: \/u01\/app\/oracle\/product\/12.1.0\/db_1\/network\/admin\/listener.ora\r\n# Generated by Oracle configuration tools.\r\n\r\nSID_LIST_LISTENER =\r\n  (SID_LIST =\r\n    (SID_DESC =\r\n      (GLOBAL_DBNAME = prmyFS)\r\n      (ORACLE_HOME = \/u01\/app\/oracle\/product\/12.1.0\/db_1)\r\n      (SID_NAME = prmyFS)\r\n    )\r\n    (SID_DESC =\r\n      (GLOBAL_DBNAME = prmyFS_DGMGRL)\r\n      (ORACLE_HOME = \/u01\/app\/oracle\/product\/12.1.0\/db_1)\r\n      (SID_NAME = prmyFS)\r\n    )\r\n  )\r\n\r\nLISTENER =\r\n  (DESCRIPTION =\r\n    (ADDRESS = (PROTOCOL = TCP)(HOST = prmyFS.tivibulab.local)(PORT = 1521)(SEND_BUF_SIZE = 10485760)(RECV_BUF_SIZE = 10485760))\r\n  )\r\n\r\nADR_BASE_LISTENER = \/u01\/app\/oracle\r\n<\/pre>\n[Physical]\n<pre class=\"lang:default decode:true \">[root@physical ~]# su - oracle\r\n[oracle@physical ~]$ cd $ORACLE_HOME\/network\/admin\r\n[oracle@physical admin]$ pwd\r\n\/u01\/app\/oracle\/product\/12.1.0\/db_1\/network\/admin\r\n[oracle@physical admin]$ ls\r\nlistener.ora  samples  shrept.lst  tnsnames.ora\r\n[oracle@physical admin]$ cat listener.ora\r\n# listener.ora Network Configuration File: \/u01\/app\/oracle\/product\/12.1.0\/db_1\/network\/admin\/listener.ora\r\n# Generated by Oracle configuration tools.\r\n\r\nSID_LIST_LISTENER =\r\n  (SID_LIST =\r\n    (SID_DESC =\r\n      (GLOBAL_DBNAME = physical)\r\n      (ORACLE_HOME = \/u01\/app\/oracle\/product\/12.1.0\/db_1)\r\n      (SID_NAME = physical)\r\n    )\r\n    (SID_DESC =\r\n      (GLOBAL_DBNAME = physical_DGMGRL)\r\n      (ORACLE_HOME = \/u01\/app\/oracle\/product\/12.1.0\/db_1)\r\n      (SID_NAME = physical)\r\n    )\r\n  )\r\n\r\nLISTENER =\r\n  (DESCRIPTION =\r\n    (ADDRESS = (PROTOCOL = TCP)(HOST = physical.tivibulab.local)(PORT = 1521)(SEND_BUF_SIZE = 10485760)(RECV_BUF_SIZE = 10485760))\r\n  )\r\n\r\nADR_BASE_LISTENER = \/u01\/app\/oracle\r\n<\/pre>\n[Logical]\n<pre class=\"lang:default decode:true \">[root@logical ~]# su - oracle\r\n[oracle@logical ~]$ cd $ORACLE_HOME\/network\/admin\r\n[oracle@logical admin]$ pwd\r\n\/u01\/app\/oracle\/product\/12.1.0\/db_1\/network\/admin\r\n[oracle@logical admin]$ ls\r\nlistener.ora  samples  shrept.lst  tnsnames.ora\r\n[oracle@logical admin]$ cat listener.ora\r\n# listener.ora Network Configuration File: \/u01\/app\/oracle\/product\/12.1.0\/db_1\/network\/admin\/listener.ora\r\n# Generated by Oracle configuration tools.\r\n\r\nSID_LIST_LISTENER =\r\n  (SID_LIST =\r\n    (SID_DESC =\r\n      (GLOBAL_DBNAME = logical)\r\n      (ORACLE_HOME = \/u01\/app\/oracle\/product\/12.1.0\/db_1)\r\n      (SID_NAME = logical)\r\n    )\r\n    (SID_DESC =\r\n      (GLOBAL_DBNAME = logical_DGMGRL)\r\n      (ORACLE_HOME = \/u01\/app\/oracle\/product\/12.1.0\/db_1)\r\n      (SID_NAME = logical)\r\n    )\r\n  )\r\n\r\nLISTENER =\r\n  (DESCRIPTION =\r\n    (ADDRESS = (PROTOCOL = TCP)(HOST = logical.tivibulab.local)(PORT = 1521)(SEND_BUF_SIZE = 10485760)(RECV_BUF_SIZE = 10485760))\r\n  )\r\n\r\nADR_BASE_LISTENER = \/u01\/app\/oracle\r\n<\/pre>\n[PhysicalFS]\n<pre class=\"lang:default decode:true \">[root@physclFS ~]# su - oracle\r\n[oracle@physclFS ~]$ cd $ORACLE_HOME\/network\/admin\r\n[oracle@physclFS admin]$ pwd\r\n\/u01\/app\/oracle\/product\/12.1.0\/db_1\/network\/admin\r\n[oracle@physclFS admin]$ ls\r\nlistener.ora  samples  shrept.lst  tnsnames.ora\r\n[oracle@physclFS admin]$ cat listener.ora\r\n# listener.ora Network Configuration File: \/u01\/app\/oracle\/product\/12.1.0\/db_1\/network\/admin\/listener.ora\r\n# Generated by Oracle configuration tools.\r\n\r\nSID_LIST_LISTENER =\r\n  (SID_LIST =\r\n    (SID_DESC =\r\n      (GLOBAL_DBNAME = physclFS)\r\n      (ORACLE_HOME = \/u01\/app\/oracle\/product\/12.1.0\/db_1)\r\n      (SID_NAME = physclFS)\r\n    )\r\n    (SID_DESC =\r\n      (GLOBAL_DBNAME = physclFS_DGMGRL)\r\n      (ORACLE_HOME = \/u01\/app\/oracle\/product\/12.1.0\/db_1)\r\n      (SID_NAME = physcl)\r\n    )\r\n  )\r\n\r\nLISTENER =\r\n  (DESCRIPTION =\r\n    (ADDRESS = (PROTOCOL = TCP)(HOST = physclFS.tivibulab.local)(PORT = 1521)(SEND_BUF_SIZE = 10485760)(RECV_BUF_SIZE = 10485760))\r\n  )\r\n\r\nADR_BASE_LISTENER = \/u01\/app\/oracle\r\n<\/pre>\n<h3>\u00a0TNSNAMES.ORA<\/h3>\n<pre class=\"lang:default decode:true \">[oracle@primary admin]$ cat tnsnames.ora\r\n# tnsnames.ora Network Configuration File: \/u01\/app\/oracle\/product\/12.1.0\/db_1\/network\/admin\/tnsnames.ora\r\n# Generated by Oracle configuration tools.\r\n\r\nPRMYFS =\r\n  (DESCRIPTION =\r\n    (ADDRESS_LIST =\r\n      (ADDRESS = (PROTOCOL = TCP)(HOST = prmyFS.tivibulab.local)(PORT = 1521)(SEND_BUF_SIZE = 10485760)(RECV_BUF_SIZE = 10485760))\r\n    )\r\n    (SDU = 65535)\r\n    (CONNECT_DATA =\r\n      (SERVER = DEDICATED)\r\n      (SERVICE_NAME = prmyFS)\r\n    )\r\n  )\r\n\r\nLOGICAL =\r\n  (DESCRIPTION =\r\n    (ADDRESS_LIST =\r\n      (ADDRESS = (PROTOCOL = TCP)(HOST = logical.tivibulab.local)(PORT = 1521)(SEND_BUF_SIZE = 10485760)(RECV_BUF_SIZE = 10485760))\r\n    )\r\n    (SDU = 65535)\r\n    (CONNECT_DATA =\r\n      (SERVER = DEDICATED)\r\n      (SERVICE_NAME = logical)\r\n    )\r\n  )\r\n\r\nPRIMARY =\r\n  (DESCRIPTION =\r\n    (ADDRESS_LIST =\r\n      (ADDRESS = (PROTOCOL = TCP)(HOST = primary)(PORT = 1521)(SEND_BUF_SIZE = 10485760)(RECV_BUF_SIZE = 10485760))\r\n    )\r\n    (SDU = 65535)\r\n    (CONNECT_DATA =\r\n      (SERVER = DEDICATED)\r\n      (SERVICE_NAME = primary)\r\n    )\r\n  )\r\n\r\nBROKER =\r\n  (DESCRIPTION =\r\n    (ADDRESS_LIST =\r\n      (ADDRESS = (PROTOCOL = TCP)(HOST = broker.tivibulab.local)(PORT = 1521)(SEND_BUF_SIZE = 10485760)(RECV_BUF_SIZE = 10485760))\r\n    )\r\n    (SDU = 65535)\r\n    (CONNECT_DATA =\r\n      (SERVER = DEDICATED)\r\n      (SERVICE_NAME = broker)\r\n    )\r\n  )\r\n\r\nPHYSICAL =\r\n  (DESCRIPTION =\r\n    (ADDRESS_LIST =\r\n      (ADDRESS = (PROTOCOL = TCP)(HOST = physical.tivibulab.local)(PORT = 1521)(SEND_BUF_SIZE = 10485760)(RECV_BUF_SIZE = 10485760))\r\n    )\r\n    (SDU = 65535)\r\n    (CONNECT_DATA =\r\n      (SERVER = DEDICATED)\r\n      (SERVICE_NAME = physical)\r\n    )\r\n  )\r\n\r\nCLOUD =\r\n  (DESCRIPTION =\r\n    (ADDRESS_LIST =\r\n      (ADDRESS = (PROTOCOL = TCP)(HOST = cloud.tivibulab.local)(PORT = 1521)(SEND_BUF_SIZE = 10485760)(RECV_BUF_SIZE = 10485760))\r\n    )\r\n    (SDU = 65535)\r\n    (CONNECT_DATA =\r\n      (SERVER = DEDICATED)\r\n      (SERVICE_NAME = cloud)\r\n    )\r\n  )\r\n\r\nPHYSCLFS =\r\n  (DESCRIPTION =\r\n    (ADDRESS_LIST =\r\n      (ADDRESS = (PROTOCOL = TCP)(HOST = physclFS.tivibulab.local)(PORT = 1521)(SEND_BUF_SIZE = 10485760)(RECV_BUF_SIZE = 10485760))\r\n    )\r\n    (SDU = 65535)\r\n    (CONNECT_DATA =\r\n      (SERVER = DEDICATED)\r\n      (SERVICE_NAME = physclFS)\r\n    )\r\n  )\r\n<\/pre>\n<p>The TNSNAMES.ORA file is the same in all instances.<\/p>\n<p>After this information, Failover tests can be started.<\/p>\n<p>1. We check if there is a problem by querying the broker configuration.<\/p>\n<pre class=\"lang:default decode:true \">[oracle@physical ~]$ dgmgrl\r\nDGMGRL for Linux: Version 12.1.0.2.0 - 64bit Production\r\n\r\nCopyright (c) 2000, 2013, Oracle. All rights reserved.\r\n\r\nWelcome to DGMGRL, type \"help\" for information.\r\nDGMGRL&gt; connect sysdg\r\nPassword:\r\nConnected as SYSDG.\r\nDGMGRL&gt; show configuration\r\n\r\nConfiguration - DG_Solution\r\n\r\n  Protection Mode: MaxAvailability\r\n  Members:\r\n  physical - Primary database\r\n    physclFS - Far sync instance \r\n      primary  - (*) Physical standby database \r\n      logical  - Logical standby database \r\n\r\n  Members Not Receiving Redo:\r\n  prmyFS   - Far sync instance \r\n\r\nFast-Start Failover: ENABLED\r\n\r\nConfiguration Status:\r\nSUCCESS   (status updated 55 seconds ago)\r\n<\/pre>\n<p>2. We question whether the Physical Standby Databases are ready for Failover.<\/p>\n<pre class=\"lang:default decode:true \">DGMGRL&gt; validate database verbose primary\r\n\r\n  Database Role:     Physical standby database\r\n  Primary Database:  physical\r\n\r\n  Ready for Switchover:  Yes\r\n  Ready for Failover:    Yes (Primary Running)\r\n\r\n  Capacity Information:\r\n    Database  Instances        Threads        \r\n    physical  1                1              \r\n    primary   1                1              \r\n\r\n  Temporary Tablespace File Information:\r\n    physical TEMP Files:  1\r\n    primary TEMP Files:   1\r\n\r\n  Flashback Database Status:\r\n    physical:  On\r\n    primary:   On\r\n\r\n  Data file Online Move in Progress:\r\n    physical:  No\r\n    primary:   No\r\n\r\n  Standby Apply-Related Information:\r\n    Apply State:      Running\r\n    Apply Lag:        0 seconds (computed 0 seconds ago)\r\n    Apply Delay:      0 minutes\r\n\r\n  Transport-Related Information:\r\n    Transport On:      Yes\r\n    Gap Status:        No Gap\r\n    Transport Lag:     0 seconds (computed 0 seconds ago)\r\n    Transport Status:  Success\r\n\r\n  Log Files Cleared:\r\n    physical Standby Redo Log Files:  Cleared\r\n    primary Online Redo Log Files:    Cleared\r\n    primary Standby Redo Log Files:   Available\r\n\r\n  Current Log File Groups Configuration:\r\n    Thread #  Online Redo Log Groups  Standby Redo Log Groups Status       \r\n              (physical)              (primary)                            \r\n    1         3                       2                       Insufficient SRLs\r\n\r\n  Future Log File Groups Configuration:\r\n    Thread #  Online Redo Log Groups  Standby Redo Log Groups Status       \r\n              (primary)               (physical)                           \r\n    1         3                       2                       Insufficient SRLs\r\n\r\n  Current Configuration Log File Sizes:\r\n    Thread #   Smallest Online Redo      Smallest Standby Redo    \r\n               Log File Size             Log File Size            \r\n               (physical)                (primary)                \r\n    1          50 MBytes                 50 MBytes                \r\n\r\n  Future Configuration Log File Sizes:\r\n    Thread #   Smallest Online Redo      Smallest Standby Redo    \r\n               Log File Size             Log File Size            \r\n               (primary)                 (physical)               \r\n    1          50 MBytes                 50 MBytes                \r\n\r\n  Apply-Related Property Settings:\r\n    Property                        physical Value           primary Value\r\n    DelayMins                       0                        0\r\n    ApplyParallel                   AUTO                     AUTO\r\n\r\n  Transport-Related Property Settings:\r\n    Property                        physical Value           primary Value\r\n    LogXptMode                      ASYNC                    ASYNC\r\n    RedoRoutes                      (physical:physclFS SYNC) (primary:prmyFS SYNC)\r\n    Dependency                      &lt;empty&gt;                  &lt;empty&gt;\r\n    DelayMins                       0                        0\r\n    Binding                         optional                 optional\r\n    MaxFailure                      0                        0\r\n    MaxConnections                  1                        1\r\n    ReopenSecs                      300                      300\r\n    NetTimeout                      30                       30\r\n    RedoCompression                 DISABLE                  DISABLE\r\n    LogShipping                     ON                       ON\r\n\r\n  Automatic Diagnostic Repository Errors:\r\n    Error                       physical  primary\r\n    No logging operation        NO        NO     \r\n    Control file corruptions    NO        NO     \r\n    SRL Group Unavailable       NO        NO     \r\n    System data file missing    NO        NO     \r\n    System data file corrupted  NO        NO     \r\n    System data file offline    NO        NO     \r\n    User data file missing      NO        NO     \r\n    User data file corrupted    NO        NO     \r\n    User data file offline      NO        NO     \r\n    Block Corruptions found     NO        NO<\/pre>\n<p>3. It is checked whether the Primary Database is ready for Failover.<\/p>\n<pre class=\"lang:default decode:true \">DGMGRL&gt; validate database verbose physical\r\n\r\n  Database Role:    Primary database\r\n\r\n  Ready for Switchover:  Yes\r\n\r\n  Capacity Information:\r\n    Database  Instances        Threads        \r\n    physical  1                1              \r\n\r\n  Temporary Tablespace File Information:\r\n    physical TEMP Files:  1\r\n\r\n  Flashback Database Status:\r\n    physical:  On\r\n\r\n  Data file Online Move in Progress:\r\n    physical:  No\r\n\r\n  Transport-Related Information:\r\n    Transport On:  Yes\r\n\r\n  Log Files Cleared:\r\n    physical Standby Redo Log Files:  Cleared\r\n\r\n  Automatic Diagnostic Repository Errors:\r\n    Error                       physical\r\n    No logging operation        NO      \r\n    Control file corruptions    NO      \r\n    System data file missing    NO      \r\n    System data file corrupted  NO      \r\n    System data file offline    NO      \r\n    User data file missing      NO      \r\n    User data file corrupted    NO      \r\n    User data file offline      NO      \r\n    Block Corruptions found     NO    \r\n<\/pre>\n<p>4. The failover process is started.<\/p>\n<pre class=\"lang:default decode:true \">DGMGRL&gt; failover to primary;\r\nPerforming failover NOW, please wait...\r\nError: ORA-16600: not connected to target standby database for failover\r\n\r\nFailed.\r\nUnable to failover<\/pre>\n<p>The reason for getting this error is that the broker is not logged in with the correct user. Since the failover process is triggered from Physical Standby, it must be connected to the Broker with Physical Standby.<\/p>\n<p>5. Connect to Physical Standby Database from the broker.<\/p>\n<pre class=\"lang:default decode:true \">DGMGRL&gt; connect sysdg\/Passw0rd4@primary\r\nConnected as SYSDG.\r\n<\/pre>\n<p>6. The failover process is triggered.<\/p>\n<pre class=\"lang:default decode:true \">DGMGRL&gt; failover to primary \r\nPerforming failover NOW, please wait...\r\nFailover succeeded, new primary is \"primary\"\r\n<\/pre>\n<p>7. We check if there is an error by querying the broker configuration.<\/p>\n<pre class=\"lang:default decode:true \">DGMGRL&gt; show configuration\r\n\r\nConfiguration - DG_Solution\r\n\r\n  Protection Mode: MaxAvailability\r\n  Members:\r\n  primary  - Primary database\r\n    Warning: ORA-16817: unsynchronized fast-start failover configuration\r\n\r\n    prmyFS   - Far sync instance \r\n      physical - (*) Physical standby database \r\n        Warning: ORA-16657: reinstatement of database in progress\r\n\r\n      logical  - Logical standby database (disabled)\r\n        ORA-16661: the standby database needs to be reinstated\r\n\r\n\r\n  Members Not Receiving Redo:\r\n  physclFS - Far sync instance \r\n\r\nFast-Start Failover: ENABLED\r\n\r\nConfiguration Status:\r\nWARNING   (status updated 12 seconds ago)<\/pre>\n<p>The reason for the Warning in the Primary Database is that the Reinstate operations in the Physical Standby and Logical Standby have not been completed yet.<\/p>\n<p>The reason for the Warning in Physical Standby is that the automatically starting Reinstate has not been completed yet. This can be seen when checked from Observer. If Fast-start Failover was DISABLE, Reinstate operation of the Original Primary Database would be done manually.<\/p>\n<p id=\"fpHgGpy\"><img loading=\"lazy\" decoding=\"async\" width=\"840\" height=\"290\" class=\"size-full wp-image-53126 aligncenter\" src=\"https:\/\/dbtut.com\/wp-content\/uploads\/2022\/11\/img_637fb63af0d94.png\" alt=\"\" \/><\/p>\n<p>The reason for the Warning in Logical Standby is the requirement of Reinstate.<\/p>\n<p>8. When the reinstate operation in the Observer is completed, the Broker configuration is queried again.<\/p>\n<pre class=\"lang:default decode:true \">DGMGRL&gt; show configuration\r\n\r\nConfiguration - DG_Solution\r\n\r\n  Protection Mode: MaxAvailability\r\n  Members:\r\n  primary  - Primary database\r\n    prmyFS   - Far sync instance \r\n      physical - (*) Physical standby database \r\n      logical  - Logical standby database (disabled)\r\n        ORA-16661: the standby database needs to be reinstated\r\n\r\n\r\n  Members Not Receiving Redo:\r\n  physclFS - Far sync instance \r\n\r\nFast-Start Failover: ENABLED\r\n\r\nConfiguration Status:\r\nSUCCESS   (status updated 6 seconds ago)\r\n<\/pre>\n<p>9. Reinstate operation for Logical Standby is triggered manually.<\/p>\n[Primary-DGMGRL]\n<pre class=\"lang:default decode:true \">DGMGRL&gt; reinstate database logical;\r\nReinstating database \"logical\", please wait...\r\nOperation requires shut down of instance \"logical\" on database \"logical\"\r\nShutting down instance \"logical\"...\r\nDatabase closed.\r\nDatabase dismounted.\r\nORACLE instance shut down.\r\nOperation requires start up of instance \"logical\" on database \"logical\"\r\nStarting instance \"logical\"...\r\nORACLE instance started.\r\nDatabase mounted.\r\nContinuing to reinstate database \"logical\" ...\r\nOperation requires shut down of instance \"logical\" on database \"logical\"\r\nShutting down instance \"logical\"...\r\nORA-01109: database not open\r\n\r\nDatabase dismounted.\r\nORACLE instance shut down.\r\nOperation requires start up of instance \"logical\" on database \"logical\"\r\nStarting instance \"logical\"...\r\nORACLE instance started.\r\nDatabase mounted.\r\nContinuing to reinstate database \"logical\" ...\r\nReinstatement of database \"logical\" succeeded\r\n<\/pre>\n<p>10. The broker configuration is queried again.<\/p>\n<pre class=\"lang:default decode:true \">DGMGRL&gt; show configuration\r\n\r\nConfiguration - DG_Solution\r\n\r\n  Protection Mode: MaxAvailability\r\n  Members:\r\n  primary  - Primary database\r\n    prmyFS   - Far sync instance \r\n      physical - (*) Physical standby database \r\n      logical  - Logical standby database \r\n\r\n  Members Not Receiving Redo:\r\n  physclFS - Far sync instance \r\n\r\nFast-Start Failover: ENABLED\r\n\r\nConfiguration Status:\r\nSUCCESS   (status updated 49 seconds ago)\r\n<\/pre>\n<p>11. We do the checks.<\/p>\n<p>a. The statuses of the databases are queried.<\/p>\n<pre class=\"lang:default decode:true \">[Primary] SQL&gt; select status from v$instance;\r\n\r\nSTATUS\r\n------------\r\nOPEN\r\n<\/pre>\n<pre class=\"lang:default decode:true \">[Physical] SQL&gt; select status from v$instance;\r\n\r\nSTATUS\r\n------------\r\nOPEN\r\n<\/pre>\n<pre class=\"lang:default decode:true \">[Logical] SQL&gt; select status from v$instance;\r\n\r\nSTATUS\r\n------------\r\nOPEN\r\n<\/pre>\n<pre class=\"lang:default decode:true \">[PrimaryFS] SQL&gt; select status from v$instance;\r\n\r\nSTATUS\r\n------------\r\nMOUNTED\r\n<\/pre>\n<pre class=\"lang:default decode:true \">[PhysicalFS] SQL&gt; select status from v$instance;\r\n\r\nSTATUS\r\n------------\r\nMOUNTED\r\n<\/pre>\n<p>b. Open modes, roles and protection modes of databases are queried.<\/p>\n<pre class=\"lang:default decode:true \">[Primary] SQL&gt; select open_mode, database_role, protection_mode from v$database;\r\n\r\nOPEN_MODE            DATABASE_ROLE    PROTECTION_MODE\r\n-------------------- ---------------- --------------------\r\nREAD WRITE           PRIMARY          MAXIMUM AVAILABILITY\r\n<\/pre>\n<pre class=\"lang:default decode:true \">[Physical] SQL&gt; select open_mode, database_role, protection_mode from v$database;\r\n\r\nOPEN_MODE            DATABASE_ROLE    PROTECTION_MODE\r\n-------------------- ---------------- --------------------\r\nREAD ONLY WITH APPLY PHYSICAL STANDBY MAXIMUM AVAILABILITY<\/pre>\n<pre class=\"lang:default decode:true \">[Logical] SQL&gt; select open_mode, database_role, protection_mode from v$database;\r\n\r\nOPEN_MODE            DATABASE_ROLE    PROTECTION_MODE\r\n-------------------- ---------------- --------------------\r\nREAD WRITE           LOGICAL STANDBY  MAXIMUM AVAILABILITY\r\n<\/pre>\n<pre class=\"lang:default decode:true \">[PrimaryFS] SQL&gt; select open_mode, database_role, protection_mode from v$database;\r\n\r\nOPEN_MODE            DATABASE_ROLE    PROTECTION_MODE\r\n-------------------- ---------------- --------------------\r\nMOUNTED              FAR SYNC         MAXIMUM AVAILABILITY\r\n<\/pre>\n<pre class=\"lang:default decode:true \">[PhysicalFS] SQL&gt; select open_mode, database_role, protection_mode from v$database;\r\n\r\nOPEN_MODE            DATABASE_ROLE    PROTECTION_MODE\r\n-------------------- ---------------- --------------------\r\nMOUNTED              FAR SYNC         MAXIMUM AVAILABILITY\r\n<\/pre>\n<p>c. Recovery modes of Standby Databases are queried.<\/p>\n<pre class=\"lang:default decode:true \">[Physical] SQL&gt; select recovery_mode from v$archive_dest_status where dest_id&lt;2;\r\n\r\nRECOVERY_MODE\r\n-----------------------\r\nMANAGED REAL TIME APPLY\r\n<\/pre>\n<pre class=\"lang:default decode:true \">[Logical] SQL&gt; select recovery_mode from v$archive_dest_status where dest_id&lt;2;\r\n\r\nRECOVERY_MODE\r\n-----------------------\r\nLOGICAL REAL TIME APPLY\r\n<\/pre>\n<p>12. Tests are entered.<\/p>\n<p>a. Existing archive log sequence numbers are queried.<\/p>\n<pre class=\"lang:default decode:true \">[Primary] SQL&gt; select max(sequence#),thread# from v$archived_log where first_time  &gt; to_date('11\/02\/2017 13:58:39', 'DD-MM-YYYY HH24:MI:SS') group by thread#;\r\n\r\nMAX(SEQUENCE#)    THREAD#\r\n-------------- ----------\r\n            41          1\r\n<\/pre>\n<pre class=\"lang:default decode:true \">[PrimaryFS] SQL&gt; select max(sequence#),thread# from v$archived_log where first_time  &gt; to_date('11\/02\/2017 13:58:39', 'DD-MM-YYYY HH24:MI:SS') group by thread#;\r\n\r\nMAX(SEQUENCE#)    THREAD#\r\n-------------- ----------\r\n            41          1\r\n<\/pre>\n<pre class=\"lang:default decode:true \">[Physical] SQL&gt; select max(sequence#),thread# from v$archived_log where first_time  &gt; to_date('11\/02\/2017 13:58:39', 'DD-MM-YYYY HH24:MI:SS') group by thread#;\r\n\r\nMAX(SEQUENCE#)    THREAD#\r\n-------------- ----------\r\n            41          1\r\n<\/pre>\n<pre class=\"lang:default decode:true \">[Logical] SQL&gt; select max(sequence#),thread# from dba_logstdby_log where first_time  &gt; to_date('11\/02\/2017 13:58:39', 'DD-MM-YYYY HH24:MI:SS') group by thread#;\r\n\r\nMAX(SEQUENCE#)    THREAD#\r\n-------------- ----------\r\n            41          1\r\n<\/pre>\n<pre class=\"lang:default decode:true \">[PhysicalFS] SQL&gt; select max(sequence#),thread# from v$archived_log where first_time  &gt; to_date('11\/02\/2017 13:58:39', 'DD-MM-YYYY HH24:MI:SS') group by thread#;\r\n\r\nMAX(SEQUENCE#)    THREAD#\r\n-------------- ----------\r\n            40          1\r\n<\/pre>\n<p>b. The archive sequence numbers are checked by performing the Log Switch operation.<\/p>\n<pre class=\"lang:default decode:true \">[Primary] SQL&gt; alter system switch logfile;\r\n\r\nSystem altered.\r\n\r\n[Primary] SQL&gt; select max(sequence#),thread# from v$archived_log where first_time  &gt; to_date('11\/02\/2017 13:58:39', 'DD-MM-YYYY HH24:MI:SS') group by thread#;\r\n\r\nMAX(SEQUENCE#)    THREAD#\r\n-------------- ----------\r\n            41          1\r\n<\/pre>\n<pre class=\"lang:default decode:true \">[PrimaryFS] SQL&gt; select max(sequence#),thread# from v$archived_log where first_time  &gt; to_date('11\/02\/2017 13:58:39', 'DD-MM-YYYY HH24:MI:SS') group by thread#;\r\n\r\nMAX(SEQUENCE#)    THREAD#\r\n-------------- ----------\r\n            41          1\r\n<\/pre>\n<pre class=\"lang:default decode:true \">[Physical] SQL&gt; select max(sequence#),thread# from v$archived_log where first_time  &gt; to_date('11\/02\/2017 13:58:39', 'DD-MM-YYYY HH24:MI:SS') group by thread#;\r\n\r\nMAX(SEQUENCE#)    THREAD#\r\n-------------- ----------\r\n            41          1\r\n<\/pre>\n<pre class=\"lang:default decode:true \">[Logical] SQL&gt; select max(sequence#),thread# from dba_logstdby_log where first_time  &gt; to_date('11\/02\/2017 13:58:39', 'DD-MM-YYYY HH24:MI:SS') group by thread#;\r\n\r\nMAX(SEQUENCE#)    THREAD#\r\n-------------- ----------\r\n            41          1\r\n<\/pre>\n<pre class=\"lang:default decode:true \">[PhysicalFS] SQL&gt; select max(sequence#),thread# from v$archived_log where first_time  &gt; to_date('11\/02\/2017 13:58:39', 'DD-MM-YYYY HH24:MI:SS') group by thread#;\r\n\r\nMAX(SEQUENCE#)    THREAD#\r\n-------------- ----------\r\n            40          1\r\n<\/pre>\n<p>The reason why the archive sequence number does not increase despite the Log Switch is the use of the wrong where condition. Since the databases eat RESETLOGS, the most recent RESETLOGS_TIME is written in the where condition.<\/p>\n<p>c. The nls_data_format of the session is changed so that RESETLOGS_TIME can be seen in date and time format.<\/p>\n<pre class=\"lang:default decode:true \">[Primary] SQL&gt; alter session set nls_date_format='dd-mm-yyyy hh24:mi:ss';\r\n\r\nSession altered.\r\n\r\n[Primary] SQL&gt; select resetlogs_time from v$database;\r\n\r\nRESETLOGS_TIME\r\n-------------------\r\n12-02-2017 11:20:43<\/pre>\n<p>d. This date is written in the where condition and the archive sequence numbers are checked again.<\/p>\n<pre class=\"lang:default decode:true \">[Primary] SQL&gt; select max(sequence#),thread# from v$archived_log where first_time  &gt; to_date('12\/02\/2017 11:20:43', 'DD-MM-YYYY HH24:MI:SS') group by thread#;\r\n\r\nMAX(SEQUENCE#)    THREAD#\r\n-------------- ----------\r\n             6          1\r\n<\/pre>\n<pre class=\"lang:default decode:true \">[PrimaryFS] SQL&gt; select max(sequence#),thread# from v$archived_log where first_time  &gt; to_date('12\/02\/2017 11:20:43', 'DD-MM-YYYY HH24:MI:SS') group by thread#;\r\n\r\nMAX(SEQUENCE#)    THREAD#\r\n-------------- ----------\r\n             6          1\r\n<\/pre>\n<pre class=\"lang:default decode:true \">[Physical] SQL&gt; select max(sequence#),thread# from v$archived_log where first_time  &gt; to_date('12\/02\/2017 11:20:43', 'DD-MM-YYYY HH24:MI:SS') group by thread#;\r\n\r\nMAX(SEQUENCE#)    THREAD#\r\n-------------- ----------\r\n             6          1\r\n<\/pre>\n<pre class=\"lang:default decode:true \">[Logical] SQL&gt; select max(sequence#),thread# from dba_logstdby_log where first_time  &gt; to_date('12\/02\/2017 11:20:43', 'DD-MM-YYYY HH24:MI:SS') group by thread#;\r\n\r\nMAX(SEQUENCE#)    THREAD#\r\n-------------- ----------\r\n             6          1\r\n<\/pre>\n<pre class=\"lang:default decode:true \">[PhysicalFS] SQL&gt; select max(sequence#),thread# from v$archived_log where first_time  &gt; to_date('12\/02\/2017 11:20:43', 'DD-MM-YYYY HH24:MI:SS') group by thread#;\r\n\r\nno rows selected\r\n<\/pre>\n<p>The reason why there is no data in Physical Far SYNC is that this instance is not actively used after the specified RESETLOGS_TIME.<\/p>\n<p>Logs are sent to Standby Databases via Primary Far SYNC instance.<\/p>\n<p>e. It is checked whether the archive sequence number has increased by performing the Log Switch operation.<\/p>\n<pre class=\"lang:default decode:true \">[Primary] SQL&gt; alter system switch logfile;\r\n\r\nSystem altered.\r\n\r\n[Primary] SQL&gt; select max(sequence#),thread# from v$archived_log where first_time  &gt; to_date('12\/02\/2017 11:20:43', 'DD-MM-YYYY HH24:MI:SS') group by thread#;\r\n\r\nMAX(SEQUENCE#)    THREAD#\r\n-------------- ----------\r\n             7          1\r\n<\/pre>\n<pre class=\"lang:default decode:true \">[PrimaryFS] SQL&gt; select max(sequence#),thread# from v$archived_log where first_time  &gt; to_date('12\/02\/2017 11:20:43', 'DD-MM-YYYY HH24:MI:SS') group by thread#;\r\n\r\nMAX(SEQUENCE#)    THREAD#\r\n-------------- ----------\r\n             7          1\r\n<\/pre>\n<pre class=\"lang:default decode:true \">[Physical] SQL&gt; select max(sequence#),thread# from v$archived_log where first_time  &gt; to_date('12\/02\/2017 11:20:43', 'DD-MM-YYYY HH24:MI:SS') group by thread#;\r\n\r\nMAX(SEQUENCE#)    THREAD#\r\n-------------- ----------\r\n             7          1\r\n<\/pre>\n<pre class=\"lang:default decode:true \">[Logical] SQL&gt; select max(sequence#),thread# from dba_logstdby_log where first_time  &gt; to_date('12\/02\/2017 11:20:43', 'DD-MM-YYYY HH24:MI:SS') group by thread#;\r\n\r\nMAX(SEQUENCE#)    THREAD#\r\n-------------- ----------\r\n             7          1\r\n<\/pre>\n<pre class=\"lang:default decode:true \">[PhysicalFS] SQL&gt; select max(sequence#),thread# from v$archived_log where first_time  &gt; to_date('12\/02\/2017 11:20:43', 'DD-MM-YYYY HH24:MI:SS') group by thread#;\r\n\r\nno rows selected\r\n<\/pre>\n<p>f. Finally, a table belonging to the TEST user is created and it is checked whether it also occurs in Standby databases.<\/p>\n<p>i. We are querying the existing tables.<\/p>\n<pre class=\"lang:default decode:true \">[Primary] SQL&gt; select table_name from dba_tables where owner='TEST';\r\n\r\nTABLE_NAME\r\n--------------------------------------------------------------------------------\r\nJOBS_YEDEK\r\nEMPLOYEES_YEDEK\r\n<\/pre>\n<pre class=\"lang:default decode:true \">[Physical] SQL&gt; select table_name from dba_tables where owner='TEST';\r\n\r\nTABLE_NAME\r\n--------------------------------------------------------------------------------\r\nJOBS_YEDEK\r\nEMPLOYEES_YEDEK\r\n<\/pre>\n<pre class=\"lang:default decode:true \">[Logical] SQL&gt; select table_name from dba_tables where owner='TEST';\r\n\r\nTABLE_NAME\r\n--------------------------------------------------------------------------------\r\nJOBS_YEDEK\r\nEMPLOYEES_YEDEK\r\n<\/pre>\n<p>ii. We create a new table.<\/p>\n<pre class=\"lang:default decode:true \">[Primary] SQL&gt; create table test.regions_yedek as select * from hr.regions;\r\n\r\nTable created.\r\n\r\n[Primary] SQL&gt; select table_name from dba_tables where owner='TEST';\r\n\r\nTABLE_NAME\r\n--------------------------------------------------------------------------------\r\nJOBS_YEDEK\r\nEMPLOYEES_YEDEK\r\nREGIONS_YEDEK\r\n<\/pre>\n<pre class=\"lang:default decode:true \">[Physical] SQL&gt; select table_name from dba_tables where owner='TEST';\r\n\r\nTABLE_NAME\r\n--------------------------------------------------------------------------------\r\nJOBS_YEDEK\r\nEMPLOYEES_YEDEK\r\nREGIONS_YEDEK\r\n<\/pre>\n<pre class=\"lang:default decode:true \">[Logical] SQL&gt; select table_name from dba_tables where owner='TEST';\r\n\r\nTABLE_NAME\r\n--------------------------------------------------------------------------------\r\nJOBS_YEDEK\r\nEMPLOYEES_YEDEK\r\nREGIONS_YEDEK<\/pre>\n<p>&nbsp;<\/p>\n<div class=\"pvc_clear\"><\/div>\n<p id=\"pvc_stats_53118\" class=\"pvc_stats all  \" data-element-id=\"53118\" 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>In order to make Failover from the broker, we need to set the Listener and TNS settings correctly. Listener and TNS files of a SINGLE NODE Data Guard Environment whose broker configuration is as follows. DGMGRL&gt; show configuration Configuration &#8211; DG_Solution Protection Mode: MaxAvailability Members: primary &#8211; Primary database prmyFS &#8211; Far sync instance physical &hellip;<\/p>\n<div class=\"pvc_clear\"><\/div>\n<p id=\"pvc_stats_53118\" class=\"pvc_stats all  \" data-element-id=\"53118\" 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":53130,"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-53118","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>Failover From Broker - Database Tutorials<\/title>\n<meta name=\"description\" content=\"In order to make Failover from the broker, we need to set the Listener and TNS settings correctly.Listener and TNS files of a SINGLE NODE\" \/>\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\/11\/24\/failover-from-broker\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Failover From Broker - Database Tutorials\" \/>\n<meta property=\"og:description\" content=\"In order to make Failover from the broker, we need to set the Listener and TNS settings correctly.Listener and TNS files of a SINGLE NODE\" \/>\n<meta property=\"og:url\" content=\"https:\/\/dbtut.com\/index.php\/2022\/11\/24\/failover-from-broker\/\" \/>\n<meta property=\"og:site_name\" content=\"Database Tutorials\" \/>\n<meta property=\"article:published_time\" content=\"2022-11-24T18:53:14+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2022-11-24T18:56:50+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/dbtut.com\/wp-content\/uploads\/2022\/11\/Ekran-goruntusu-2022-11-24-215220.png\" \/>\n\t<meta property=\"og:image:width\" content=\"747\" \/>\n\t<meta property=\"og:image:height\" content=\"326\" \/>\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=\"12 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\/11\/24\/failover-from-broker\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/dbtut.com\/index.php\/2022\/11\/24\/failover-from-broker\/\"},\"author\":{\"name\":\"Onur ARDAHANLI\",\"@id\":\"https:\/\/dbtut.com\/#\/schema\/person\/7fcd466cd0d347ec64aaa48f18f780c6\"},\"headline\":\"Failover From Broker\",\"datePublished\":\"2022-11-24T18:53:14+00:00\",\"dateModified\":\"2022-11-24T18:56:50+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/dbtut.com\/index.php\/2022\/11\/24\/failover-from-broker\/\"},\"wordCount\":498,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/dbtut.com\/#organization\"},\"image\":{\"@id\":\"https:\/\/dbtut.com\/index.php\/2022\/11\/24\/failover-from-broker\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/dbtut.com\/wp-content\/uploads\/2022\/11\/Ekran-goruntusu-2022-11-24-215220.png\",\"articleSection\":[\"ORACLE\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/dbtut.com\/index.php\/2022\/11\/24\/failover-from-broker\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/dbtut.com\/index.php\/2022\/11\/24\/failover-from-broker\/\",\"url\":\"https:\/\/dbtut.com\/index.php\/2022\/11\/24\/failover-from-broker\/\",\"name\":\"Failover From Broker - Database Tutorials\",\"isPartOf\":{\"@id\":\"https:\/\/dbtut.com\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/dbtut.com\/index.php\/2022\/11\/24\/failover-from-broker\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/dbtut.com\/index.php\/2022\/11\/24\/failover-from-broker\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/dbtut.com\/wp-content\/uploads\/2022\/11\/Ekran-goruntusu-2022-11-24-215220.png\",\"datePublished\":\"2022-11-24T18:53:14+00:00\",\"dateModified\":\"2022-11-24T18:56:50+00:00\",\"description\":\"In order to make Failover from the broker, we need to set the Listener and TNS settings correctly.Listener and TNS files of a SINGLE NODE\",\"breadcrumb\":{\"@id\":\"https:\/\/dbtut.com\/index.php\/2022\/11\/24\/failover-from-broker\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/dbtut.com\/index.php\/2022\/11\/24\/failover-from-broker\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/dbtut.com\/index.php\/2022\/11\/24\/failover-from-broker\/#primaryimage\",\"url\":\"https:\/\/dbtut.com\/wp-content\/uploads\/2022\/11\/Ekran-goruntusu-2022-11-24-215220.png\",\"contentUrl\":\"https:\/\/dbtut.com\/wp-content\/uploads\/2022\/11\/Ekran-goruntusu-2022-11-24-215220.png\",\"width\":747,\"height\":326},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/dbtut.com\/index.php\/2022\/11\/24\/failover-from-broker\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/dbtut.com\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Failover From Broker\"}]},{\"@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":"Failover From Broker - Database Tutorials","description":"In order to make Failover from the broker, we need to set the Listener and TNS settings correctly.Listener and TNS files of a SINGLE NODE","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\/11\/24\/failover-from-broker\/","og_locale":"en_US","og_type":"article","og_title":"Failover From Broker - Database Tutorials","og_description":"In order to make Failover from the broker, we need to set the Listener and TNS settings correctly.Listener and TNS files of a SINGLE NODE","og_url":"https:\/\/dbtut.com\/index.php\/2022\/11\/24\/failover-from-broker\/","og_site_name":"Database Tutorials","article_published_time":"2022-11-24T18:53:14+00:00","article_modified_time":"2022-11-24T18:56:50+00:00","og_image":[{"width":747,"height":326,"url":"https:\/\/dbtut.com\/wp-content\/uploads\/2022\/11\/Ekran-goruntusu-2022-11-24-215220.png","type":"image\/png"}],"author":"Onur ARDAHANLI","twitter_card":"summary_large_image","twitter_misc":{"Written by":"Onur ARDAHANLI","Est. reading time":"12 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/dbtut.com\/index.php\/2022\/11\/24\/failover-from-broker\/#article","isPartOf":{"@id":"https:\/\/dbtut.com\/index.php\/2022\/11\/24\/failover-from-broker\/"},"author":{"name":"Onur ARDAHANLI","@id":"https:\/\/dbtut.com\/#\/schema\/person\/7fcd466cd0d347ec64aaa48f18f780c6"},"headline":"Failover From Broker","datePublished":"2022-11-24T18:53:14+00:00","dateModified":"2022-11-24T18:56:50+00:00","mainEntityOfPage":{"@id":"https:\/\/dbtut.com\/index.php\/2022\/11\/24\/failover-from-broker\/"},"wordCount":498,"commentCount":0,"publisher":{"@id":"https:\/\/dbtut.com\/#organization"},"image":{"@id":"https:\/\/dbtut.com\/index.php\/2022\/11\/24\/failover-from-broker\/#primaryimage"},"thumbnailUrl":"https:\/\/dbtut.com\/wp-content\/uploads\/2022\/11\/Ekran-goruntusu-2022-11-24-215220.png","articleSection":["ORACLE"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/dbtut.com\/index.php\/2022\/11\/24\/failover-from-broker\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/dbtut.com\/index.php\/2022\/11\/24\/failover-from-broker\/","url":"https:\/\/dbtut.com\/index.php\/2022\/11\/24\/failover-from-broker\/","name":"Failover From Broker - Database Tutorials","isPartOf":{"@id":"https:\/\/dbtut.com\/#website"},"primaryImageOfPage":{"@id":"https:\/\/dbtut.com\/index.php\/2022\/11\/24\/failover-from-broker\/#primaryimage"},"image":{"@id":"https:\/\/dbtut.com\/index.php\/2022\/11\/24\/failover-from-broker\/#primaryimage"},"thumbnailUrl":"https:\/\/dbtut.com\/wp-content\/uploads\/2022\/11\/Ekran-goruntusu-2022-11-24-215220.png","datePublished":"2022-11-24T18:53:14+00:00","dateModified":"2022-11-24T18:56:50+00:00","description":"In order to make Failover from the broker, we need to set the Listener and TNS settings correctly.Listener and TNS files of a SINGLE NODE","breadcrumb":{"@id":"https:\/\/dbtut.com\/index.php\/2022\/11\/24\/failover-from-broker\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/dbtut.com\/index.php\/2022\/11\/24\/failover-from-broker\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/dbtut.com\/index.php\/2022\/11\/24\/failover-from-broker\/#primaryimage","url":"https:\/\/dbtut.com\/wp-content\/uploads\/2022\/11\/Ekran-goruntusu-2022-11-24-215220.png","contentUrl":"https:\/\/dbtut.com\/wp-content\/uploads\/2022\/11\/Ekran-goruntusu-2022-11-24-215220.png","width":747,"height":326},{"@type":"BreadcrumbList","@id":"https:\/\/dbtut.com\/index.php\/2022\/11\/24\/failover-from-broker\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/dbtut.com\/"},{"@type":"ListItem","position":2,"name":"Failover From Broker"}]},{"@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\/53118","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=53118"}],"version-history":[{"count":2,"href":"https:\/\/dbtut.com\/index.php\/wp-json\/wp\/v2\/posts\/53118\/revisions"}],"predecessor-version":[{"id":53132,"href":"https:\/\/dbtut.com\/index.php\/wp-json\/wp\/v2\/posts\/53118\/revisions\/53132"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/dbtut.com\/index.php\/wp-json\/wp\/v2\/media\/53130"}],"wp:attachment":[{"href":"https:\/\/dbtut.com\/index.php\/wp-json\/wp\/v2\/media?parent=53118"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/dbtut.com\/index.php\/wp-json\/wp\/v2\/categories?post=53118"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/dbtut.com\/index.php\/wp-json\/wp\/v2\/tags?post=53118"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}