{"id":1149,"date":"2014-12-02T16:40:47","date_gmt":"2014-12-02T19:40:47","guid":{"rendered":"http:\/\/www.dbarj.com.br\/?p=1149"},"modified":"2016-01-14T15:10:53","modified_gmt":"2016-01-14T17:10:53","slug":"oracle-data-guard-e-oracle-wallet","status":"publish","type":"post","link":"https:\/\/www.dbarj.com.br\/pt-br\/2014\/12\/oracle-data-guard-e-oracle-wallet\/","title":{"rendered":"Oracle Data Guard Fast-Start Failover e Oracle Wallet"},"content":{"rendered":"<p>O <span style=\"color: #993300;\"><strong>Fast-Start Failover Observer<\/strong><\/span> \u00e9 um componente do <strong>Oracle Data Guard Broker<\/strong> que permite ao DBA automatizar\u00a0a tarefa de failover e ter noites mais tranquilas de sono. O que poucos DBAs sabem, no entanto, \u00e9 que ele pode trabalhar em conjunto com o <strong>Oracle Wallet<\/strong>, de forma que voc\u00ea possa remover\u00a0a senha de login dos seus scripts.<\/p>\n<p><strong>Artigo Publicado na OTN:\u00a0<a href=\"http:\/\/www.oracle.com\/technetwork\/pt\/articles\/database-performance\/oracle-data-guard-failover-e-wallet-2407989-ptb.html\" target=\"_blank\">http:\/\/www.oracle.com\/technetwork\/pt\/articles\/database-performance\/oracle-data-guard-failover-e-wallet-2407989-ptb.html<\/a><\/strong><\/p>\n<p>Vamos considerar o cen\u00e1rio de um Data Guard com 2 hosts separados por cidades:<\/p>\n<ol>\n<li><strong>Unique Name: aaasne \/\u00a0<\/strong><strong>IP: 10.2.200.2<\/strong><\/li>\n<li><strong>Unique Name: aaarjo \/\u00a0<\/strong><strong>IP: 10.1.100.1<\/strong><\/li>\n<\/ol>\n<p>Verificando as configura\u00e7\u00f5es de conex\u00e3o:<\/p>\n<pre class=\"lang:ps decode:true\">DGMGRL&gt; show database verbose aaasne;\r\n\r\nDatabase - aaasne\r\n...\r\nProperties:\r\n...\r\nDGConnectIdentifier = 'aaasne'\r\nObserverConnectIdentifier = ''\r\nStaticConnectIdentifier = '(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=10.2.200.2)(PORT=4378))(CONNECT_DATA=(SERVICE_NAME=aaasne_DGMGRL)(INSTANCE_NAME=aaasne)(SERVER=DEDICATED)))'\r\n...\r\n\r\nDatabase Status:\r\nSUCCESS\r\n\r\nDGMGRL&gt; show database verbose aaarjo;\r\n\r\nDatabase - aaarjo\r\n...\r\nProperties:\r\n...\r\nDGConnectIdentifier = 'aaarjo'\r\nObserverConnectIdentifier = ''\r\nStaticConnectIdentifier = '(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=10.1.100.1)(PORT=4378))(CONNECT_DATA=(SERVICE_NAME=aaarjo_DGMGRL)(INSTANCE_NAME=aaarjo)(SERVER=DEDICATED)))'\r\n...\r\n\r\nDatabase Status:\r\nSUCCESS<\/pre>\n<p>O Observer vai tentar se conectar nas bases usando o <strong>ObserverConnectIdentifier<\/strong>.<\/p>\n<p>Se este for nulo, ele vai usar o <strong>DGConnectIdentifier<\/strong>. Portanto, a nossa primeira tarefa \u00e9 incluir essas duas entradas no <strong>tnsnames.ora<\/strong>\u00a0e\u00a0no <strong>Oracle Wallet\u00a0<\/strong>do\u00a0Observer.<\/p>\n<p>Neste cen\u00e1rio, o cliente n\u00e3o permite que o usu\u00e1rio <span style=\"color: #800000;\"><strong>SYS<\/strong><\/span>\u00a0seja usado e nem que as senhas fiquem salvas no script. Eu criei ent\u00e3o o usu\u00e1rio <span style=\"color: #0000ff;\"><strong>dgobserver<\/strong><\/span>, senha <span style=\"color: #0000ff;\"><strong>abcd1234<\/strong><\/span> como sysdba e repliquei o pwfile nos dois ambientes para refletir este privil\u00e9gio.<\/p>\n<p>Incluindo\u00a0este usu\u00e1rio no Wallet:<\/p>\n<pre class=\"lang:ps decode:true\">[oracle@fsfoserver ~]$ mkstore -wrl .\/wallet_dir\/ -create\r\nOracle Secret Store Tool : Version 11.2.0.4.0 - Production\r\nCopyright (c) 2004, 2013, Oracle and\/or its affiliates. All rights reserved.\r\n\r\nEnter password:\r\nEnter password again:\r\n[oracle@fsfoserver ~]$ mkstore -wrl .\/wallet_dir\/ -createCredential aaarjo dgobserver abcd1234\r\nOracle Secret Store Tool : Version 11.2.0.4.0 - Production\r\nCopyright (c) 2004, 2013, Oracle and\/or its affiliates. All rights reserved.\r\n\r\nEnter wallet password:\r\nCreate credential oracle.security.client.connect_string1\r\n[oracle@fsfoserver ~]$ mkstore -wrl .\/wallet_dir\/ -createCredential aaasne dgobserver abcd1234\r\nOracle Secret Store Tool : Version 11.2.0.4.0 - Production\r\nCopyright (c) 2004, 2013, Oracle and\/or its affiliates. All rights reserved.\r\n\r\nEnter wallet password:\r\nCreate credential oracle.security.client.connect_string2<\/pre>\n<p>Vamos adicionar no <strong>sqlnet.ora<\/strong> o caminho para o Wallet:<\/p>\n<pre class=\"lang:ps decode:true\" title=\"sqlnet.ora\">WALLET_LOCATION =  (SOURCE =    (METHOD = FILE)    (METHOD_DATA =      (DIRECTORY = \/home\/oracle\/wallet_dir)    )  )\r\nSQLNET.WALLET_OVERRIDE = TRUE<\/pre>\n<p>Ap\u00f3s esses dois valores inclusos, j\u00e1 \u00e9 poss\u00edvel iniciar o Observer sem receber erro:<\/p>\n<pre class=\"lang:ps decode:true\">DGMGRL&gt; connect \/@aaarjo\r\nConnected.\r\nDGMGRL&gt; start observer;\r\nObserver started<\/pre>\n<p>Vamos simular um erro executando um &#8220;<em>shutdown abort&#8221;<\/em> na inst\u00e2ncia principal do momento (<strong>aaasne<\/strong>):<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"oracledb\">[oracle@aaasneserver ~]$ sqlplus \/ as sysdba\r\n\r\nSQL*Plus: Release 11.2.0.4.0 Production on Tue Dec 2 16:51:21 2014\r\n\r\nCopyright (c) 1982, 2013, Oracle.  All rights reserved.\r\n\r\nEnter password:\r\n\r\nConnected to:\r\nOracle Database 11g Enterprise Edition Release 11.2.0.4.0 - 64bit Production\r\nWith the Partitioning, Oracle Label Security, OLAP, Data Mining,\r\nOracle Database Vault and Real Application Testing options\r\n\r\nSQL&gt; shutdown abort;\r\nORACLE instance shut down.\r\nSQL&gt;<\/pre>\n<p>Acompanhando o log do Observer:<\/p>\n<pre class=\"lang:ps decode:true \">DGMGRL&gt; start observer;\r\nObserver started\r\n\r\n16:52:06.96  Tuesday, December 02, 2014\r\nInitiating Fast-Start Failover to database \"aaarjo\"...\r\nPerforming failover NOW, please wait...\r\nFailover succeeded, new primary is \"aaarjo\"\r\n16:52:18.96  Tuesday, December 02, 2014<\/pre>\n<p>O Observer conseguiu fazer a transi\u00e7\u00e3o do <strong>aaasne<\/strong>, tornando a\u00a0<strong>aaarjo<\/strong>\u00a0como prim\u00e1ria.<\/p>\n<p>Iniciando o banco de dados novamente em outra sess\u00e3o:<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"oracledb\">[oracle@aaasneserver ~]$ sqlplus \/ as sysdba\r\n\r\nSQL*Plus: Release 11.2.0.4.0 Production on Tue Dec 2 16:55:24 2014\r\n\r\nCopyright (c) 1982, 2013, Oracle.  All rights reserved.\r\n\r\nEnter password:\r\nConnected to an idle instance.\r\n\r\nSQL&gt; startup;\r\nORACLE instance started.\r\n\r\nTotal System Global Area 1069252608 bytes\r\nFixed Size                  2188408 bytes\r\nVariable Size             700455816 bytes\r\nDatabase Buffers          356515840 bytes\r\nRedo Buffers               10092544 bytes\r\nDatabase mounted.\r\nORA-16649: possible failover to another database prevents this database from\r\nbeing opened\r\n\r\n\r\nSQL&gt;<\/pre>\n<p>No entanto, pelo log do Observer percebemos que ele falha ao tentar fazer automaticamente o REINSTATE:<\/p>\n<pre class=\"lang:ps decode:true\">16:56:00.37  Tuesday, December 02, 2014\r\nInitiating reinstatement for database \"aaasne\"...\r\nReinstating database \"aaasne\", please wait...\r\nOperation requires shutdown of instance \"aaasne\" on database \"aaasne\"\r\nShutting down instance \"aaasne\"...\r\nORA-01017: invalid username\/password; logon denied\r\n\r\nWarning: You are no longer connected to ORACLE.\r\n\r\nPlease complete the following steps and reissue the REINSTATE command:\r\n        shut down instance \"aaasne\" of database \"aaasne\"\r\n        start up and mount instance \"aaasne\" of database \"aaasne\"\r\n\r\n16:56:22.21  Tuesday, December 02, 2014<\/pre>\n<p>O problema \u00e9 que durante a fase de <strong>REINSTATE<\/strong>, o Oracle utiliza como conex\u00e3o o <strong>StaticConnectIdentifier<\/strong>. Isso pode ser percebido se\u00a0simularmos novamente a execu\u00e7\u00e3o autom\u00e1tica do reinstate\u00a0com o Observer em modo de debug (<strong>&#8220;<em>dgmgrl -debug&#8221;<\/em><\/strong>):<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\">[W000 12\/02 17:22:24.33] Ping the primary database.\r\n[W000 12\/02 17:22:24.33] Sending command PING to thread P004\r\n[P004 12\/02 17:22:24.33] Executing PING command.\r\n[P004 12\/02 17:22:24.33] {BEGIN dbms_drs.Ping(25640, 248, 0, 194, 0, :version, :flags, :focond, :status); END;}\r\n[P004 12\/02 17:22:24.34] Ping returned REINSTATING\r\n[W000 12\/02 17:22:24.34] Command PING to thread P004 returned status=0\r\n[W000 12\/02 17:22:27.34] Ping the primary database.\r\n[W000 12\/02 17:22:27.34] Sending command PING to thread P004\r\n[P004 12\/02 17:22:27.34] Executing PING command.\r\n[P004 12\/02 17:22:27.34] {BEGIN dbms_drs.Ping(25640, 248, 0, 194, 0, :version, :flags, :focond, :status); END;}\r\nOperation requires shutdown of instance \"aaasne\" on database \"aaasne\"\r\nShutting down instance \"aaasne\"...\r\n[S005 12\/02 17:22:27.34] Connecting to database using (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=10.2.200.2)(PORT=4378))(CONNECT_DATA=(SERVICE_NAME=aaasne_DGMGRL)(INSTANCE_NAME=aaasne)(SERVER=DEDICATED))).\r\n[P004 12\/02 17:22:27.36] Ping returned AFO_SUCCESS\r\n[W000 12\/02 17:22:27.36] Command PING to thread P004 returned status=0\r\nORA-01017: invalid username\/password; logon denied\r\n\r\nWarning: You are no longer connected to ORACLE.\r\n\r\nPlease complete the following steps and reissue the REINSTATE command:\r\n        shut down instance \"aaasne\" of database \"aaasne\"\r\n        start up and mount instance \"aaasne\" of database \"aaasne\"\r\n\r\n17:22:28.44  Tuesday, December 02, 2014\r\n[W000 12\/02 17:22:29.36] Command REINSTATE to thread S005 returned status=16661\r\n[W000 12\/02 17:22:29.36] Failed to reinstate database aaasne. Will retry later<\/pre>\n<p>Neste caso, o Observer tentou conectar utilizando o servi\u00e7o:<\/p>\n<ul>\n<li>&#8216;<strong>(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=10.2.200.2)(PORT=4378))(CONNECT_DATA=(SERVICE_NAME=aaasne_DGMGRL)(INSTANCE_NAME=aaasne)(SERVER=DEDICATED)))<\/strong>&#8216;.<\/li>\n<\/ul>\n<p>Para o reinstate passar a funcionar, vai ser preciso adicionarmos ao nosso Wallet as strings de conex\u00e3o representadas pelo\u00a0<strong>StaticConnectIdentifier<\/strong> de ambas as bases:<\/p>\n<pre class=\"lang:ps decode:true\">[oracle@fsfoserver ~]$ mkstore -wrl .\/wallet_dir\/ -createCredential '(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=10.1.100.1)(PORT=4378))(CONNECT_DATA=(SERVICE_NAME=aaarjo_dgmgrl)(INSTANCE_NAME=aaarjo)(SERVER=DEDICATED)))' dgobserver abcd1234\r\nOracle Secret Store Tool : Version 11.2.0.4.0 - Production\r\nCopyright (c) 2004, 2013, Oracle and\/or its affiliates. All rights reserved.\r\n\r\nEnter wallet password:\r\nCreate credential oracle.security.client.connect_string3\r\n[oracle@fsfoserver ~]$ mkstore -wrl .\/wallet_dir\/ -createCredential '(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=10.2.200.2)(PORT=4378))(CONNECT_DATA=(SERVICE_NAME=aaasne_dgmgrl)(INSTANCE_NAME=aaasne)(SERVER=DEDICATED)))' dgobserver abcd1234\r\nOracle Secret Store Tool : Version 11.2.0.4.0 - Production\r\nCopyright (c) 2004, 2013, Oracle and\/or its affiliates. All rights reserved.\r\n\r\nEnter wallet password:\r\nCreate credential oracle.security.client.connect_string4\r\n[oracle@fsfoserver ~]$<\/pre>\n<p>Testando mais uma vez o processo autom\u00e1tico de REINSTATE:<\/p>\n<pre class=\"lang:ps decode:true\">DGMGRL&gt; start observer;\r\nObserver started\r\n\r\n17:36:42.59  Tuesday, December 02, 2014\r\nInitiating Fast-Start Failover to database \"aaarjo\"...\r\nPerforming failover NOW, please wait...\r\nFailover succeeded, new primary is \"aaarjo\"\r\n17:36:54.36  Tuesday, December 02, 2014\r\n\r\n17:37:29.72  Tuesday, December 02, 2014\r\nInitiating reinstatement for database \"aaasne\"...\r\nReinstating database \"aaasne\", please wait...\r\nOperation requires shutdown of instance \"aaasne\" on database \"aaasne\"\r\nShutting down instance \"aaasne\"...\r\nORA-01109: database not open\r\n\r\nDatabase dismounted.\r\nORACLE instance shut down.\r\nOperation requires startup of instance \"aaasne\" on database \"aaasne\"\r\nStarting instance \"aaasne\"...\r\nORACLE instance started.\r\nDatabase mounted.\r\nContinuing to reinstate database \"aaasne\" ...\r\nReinstatement of database \"aaasne\" succeeded\r\n17:38:50.59  Tuesday, December 02, 2014\r\n<\/pre>\n<p>Pronto, n\u00e3o teremos\u00a0mais problemas quanto ao\u00a0FSFO Observer. At\u00e9 aqui, j\u00e1 conseguimos que esse processo trabalhe corretamente em modo autom\u00e1tico em conjunto com o Oracle Wallet.<\/p>\n<p>No entanto, e se tentarmos efetuar manualmente um <strong>switchover<\/strong> entre esses 2 banco de dados?<\/p>\n<pre class=\"lang:ps decode:true \">[oracle@fsfoserver ~]$ dgmgrl\r\nDGMGRL for Linux: Version 11.2.0.4.0 - 64bit Production\r\n\r\nCopyright (c) 2000, 2009, Oracle. All rights reserved.\r\n\r\nWelcome to DGMGRL, type \"help\" for information.\r\nDGMGRL&gt; connect \/@aaarjo\r\nConnected.\r\nDGMGRL&gt; show configuration;\r\n\r\nConfiguration - timdbubb\r\n\r\n  Protection Mode: MaxAvailability\r\n  Databases:\r\n    aaarjo - Primary database\r\n    aaasne - (*) Physical standby database\r\n\r\nFast-Start Failover: ENABLED\r\n\r\nConfiguration Status:\r\nSUCCESS\r\n\r\nDGMGRL&gt; switchover to aaasne;\r\nPerforming switchover NOW, please wait...\r\nOperation requires a connection to instance \"aaasne\" on database \"aaasne\"\r\nConnecting to instance \"aaasne\"...\r\nUnable to connect to database\r\nORA-12545: Connect failed because target host or object does not exist\r\n\r\nFailed.\r\nWarning: You are no longer connected to ORACLE.\r\n\r\n        connect to instance \"aaasne\" of database \"aaasne\"\r\n\r\nDGMGRL&gt;<\/pre>\n<p>Note que mesmo criando anteriormente as 2 entradas que utilizam o listener est\u00e1tico, tivemos um novo problema. Vamos analisar ent\u00e3o em modo debug:<\/p>\n<pre class=\"lang:ps decode:true\">[oracle@fsfoserver ~]$ dgmgrl -debug\r\nDGMGRL for Linux: Version 11.2.0.4.0 - 64bit Production\r\n\r\nCopyright (c) 2000, 2009, Oracle. All rights reserved.\r\n\r\nWelcome to DGMGRL, type \"help\" for information.\r\nDGMGRL&gt; connect \/@aaarjo\r\n[W000 12\/02 18:27:29.12] Connecting to database using aaarjo.\r\n[W000 12\/02 18:27:29.49] Checking broker version [BEGIN :version := dbms_drs.dg_broker_info('VERSION'); END;].\r\n[W000 12\/02 18:27:29.50] Broker version is '11.2.0.4.0'\r\nConnected.\r\nDGMGRL&gt; switchover to aaasne;\r\nPerforming switchover NOW, please wait...\r\nOperation requires a connection to instance \"aaasne\" on database \"aaasne\"\r\nConnecting to instance \"aaasne\"...\r\n[W000 12\/02 18:27:35.86] Connecting to database using (DESCRIPTION=(SDU=32767)(SEND_BUF_SIZE=160000)(RECV_BUF_SIZE=160000)(ADDRESS_LIST=(ADDRESS=(PROTOCOL=tcp)(HOST=10.2.200.2)(PORT=4378)))(CONNECT_DATA=(SERVICE_NAME=aaasne_DGB)(INSTANCE_NAME=aaasne)(SERVER=dedicated))).\r\nORA-01017: invalid username\/password; logon denied\r\n\r\nWarning: You are no longer connected to ORACLE.\r\n\r\n        connect to instance \"aaasne\" of database \"aaasne\"\r\n\r\nDGMGRL&gt;<\/pre>\n<p>Pelos logs, podemos ver que\u00a0para o processo de switchover, o Broker tenta usar outro servi\u00e7o:<\/p>\n<ul>\n<li>&#8216;<strong>(DESCRIPTION=(SDU=32767)(SEND_BUF_SIZE=160000)(RECV_BUF_SIZE=160000)(ADDRESS_LIST=(ADDRESS=(PROTOCOL=tcp)(HOST=10.2.200.2)(PORT=4378)))(CONNECT_DATA=(SERVICE_NAME=aaasne_DGB)(INSTANCE_NAME=aaasne)(SERVER=dedicated)))<\/strong>&#8216;.<\/li>\n<\/ul>\n<p>Esse servi\u00e7o \u00e9 derivado do configurado no\u00a0<strong>DGConnectIdentifier<\/strong>, concatenando &#8220;<strong>_DGB<\/strong>&#8221; ao SERVICE_NAME. Portanto, ser\u00e1 necess\u00e1rio tamb\u00e9m incluirmos essa string de ambos os servidores no Wallet:<\/p>\n<pre class=\"lang:ps decode:true\">[oracle@fsfoserver ~]$ mkstore -wrl .\/wallet_dir\/ -createCredential '(DESCRIPTION=(SDU=32767)(SEND_BUF_SIZE=160000)(RECV_BUF_SIZE=160000)(ADDRESS_LIST=(ADDRESS=(PROTOCOL=tcp)(HOST=10.1.100.1)(PORT=4378)))(CONNECT_DATA=(SERVICE_NAME=aaarjo_dgb)(INSTANCE_NAME=aaarjo)(SERVER=dedicated)))' dgobserver abcd1234\r\nOracle Secret Store Tool : Version 11.2.0.4.0 - Production\r\nCopyright (c) 2004, 2013, Oracle and\/or its affiliates. All rights reserved.\r\n\r\nEnter wallet password:\r\nCreate credential oracle.security.client.connect_string5\r\n[oracle@fsfoserver ~]$ mkstore -wrl .\/wallet_dir\/ -createCredential '(DESCRIPTION=(SDU=32767)(SEND_BUF_SIZE=160000)(RECV_BUF_SIZE=160000)(ADDRESS_LIST=(ADDRESS=(PROTOCOL=tcp)(HOST=10.2.200.2)(PORT=4378)))(CONNECT_DATA=(SERVICE_NAME=aaasne_dgb)(INSTANCE_NAME=aaasne)(SERVER=dedicated)))' dgobserver abcd1234\r\nOracle Secret Store Tool : Version 11.2.0.4.0 - Production\r\nCopyright (c) 2004, 2013, Oracle and\/or its affiliates. All rights reserved.\r\n\r\nEnter wallet password:\r\nCreate credential oracle.security.client.connect_string6\r\n[oracle@fsfoserver ~]$<\/pre>\n<p>E testando novamente:<\/p>\n<pre class=\"lang:ps decode:true \">DGMGRL&gt; switchover to aaasne;\r\nPerforming switchover NOW, please wait...\r\nOperation requires a connection to instance \"aaasne\" on database \"aaasne\"\r\nConnecting to instance \"aaasne\"...\r\nConnected.\r\nNew primary database \"aaasne\" is opening...\r\nOperation requires startup of instance \"aaarjo\" on database \"aaarjo\"\r\nStarting instance \"aaarjo\"...\r\nORACLE instance started.\r\nDatabase mounted.\r\nDatabase opened.\r\nSwitchover succeeded, new primary is \"aaasne\"\r\nDGMGRL&gt;<\/pre>\n<p>Agora o Observer est\u00e1 livre para executar as todas as tarefas utilizando o <strong>Oracle Wallet<\/strong>, al\u00e9m de ser poss\u00edvel efetuar opera\u00e7\u00f5es manuais.<\/p>\n<p>Por fim, o Wallet\u00a0ficou da seguinte forma, com 3 entradas para cada host:<\/p>\n<pre class=\"lang:ps decode:true\">[oracle@fsfoserver ~]$ mkstore -wrl .\/wallet_dir\/ -listCredential\r\nOracle Secret Store Tool : Version 11.2.0.4.0 - Production\r\nCopyright (c) 2004, 2013, Oracle and\/or its affiliates. All rights reserved.\r\n\r\nEnter wallet password:\r\nList credential (index: connect_string username)\r\n6: (DESCRIPTION=(SDU=32767)(SEND_BUF_SIZE=160000)(RECV_BUF_SIZE=160000)(ADDRESS_LIST=(ADDRESS=(PROTOCOL=tcp)(HOST=10.2.200.2)(PORT=4378)))(CONNECT_DATA=(SERVICE_NAME=aaasne_dgb)(INSTANCE_NAME=aaasne)(SERVER=dedicated))) dgobserver\r\n5: (DESCRIPTION=(SDU=32767)(SEND_BUF_SIZE=160000)(RECV_BUF_SIZE=160000)(ADDRESS_LIST=(ADDRESS=(PROTOCOL=tcp)(HOST=10.1.100.1)(PORT=4378)))(CONNECT_DATA=(SERVICE_NAME=aaarjo_dgb)(INSTANCE_NAME=aaarjo)(SERVER=dedicated))) dgobserver\r\n4: (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=10.2.200.2)(PORT=4378))(CONNECT_DATA=(SERVICE_NAME=aaasne_dgmgrl)(INSTANCE_NAME=aaasne)(SERVER=DEDICATED))) dgobserver\r\n3: (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=10.1.100.1)(PORT=4378))(CONNECT_DATA=(SERVICE_NAME=aaarjo_dgmgrl)(INSTANCE_NAME=aaarjo)(SERVER=DEDICATED))) dgobserver\r\n2: aaasne dgobserver\r\n1: aaarjo dgobserver\r\n[oracle@fsfoserver ~]$<\/pre>\n<b>Gostou? N\u00e3o deixe de comentar ou deixar um \ud83d\udc4d!<\/b>\n<div class='watch-action'><div class='watch-position align-left'><div class='action-like'><a class='lbg-style2 like-1149 jlk' href='javascript:void(0)' data-task='like' data-post_id='1149' data-nonce='de4404f630' rel='nofollow'><img class='wti-pixel' src='https:\/\/www.dbarj.com.br\/wp-content\/plugins\/wti-like-post\/images\/pixel.gif' title='Like' \/><span class='lc-1149 lc'>+2<\/span><\/a><\/div><\/div> <div class='status-1149 status align-left'><\/div><\/div><div class='wti-clear'><\/div>","protected":false},"excerpt":{"rendered":"<p>O Fast-Start Failover Observer \u00e9 um componente do Oracle Data Guard Broker que permite ao DBA automatizar\u00a0a tarefa de failover e ter noites mais tranquilas de sono. O que poucos DBAs sabem, no entanto, \u00e9 que ele pode trabalhar em conjunto com o Oracle Wallet, de forma que voc\u00ea possa remover\u00a0a senha de login dos &hellip; <\/p>\n<p><a class=\"more-link btn\" href=\"https:\/\/www.dbarj.com.br\/pt-br\/2014\/12\/oracle-data-guard-e-oracle-wallet\/\">Continue lendo<\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[29,19],"tags":[],"class_list":["post-1149","post","type-post","status-publish","format-standard","hentry","category-data-guard","category-security","item-wrap"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.4 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Oracle Data Guard Fast-Start Failover e Oracle Wallet - DBA - Rodrigo Jorge - Oracle Tips and Guides<\/title>\n<meta name=\"description\" content=\"Como configurar o Oracle Data Guard para funcionar em conjunto com o Oracle Wallet.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.dbarj.com.br\/pt-br\/2014\/12\/oracle-data-guard-e-oracle-wallet\/\" \/>\n<meta name=\"twitter:label1\" content=\"Escrito por\" \/>\n\t<meta name=\"twitter:data1\" content=\"DBA RJ\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. tempo de leitura\" \/>\n\t<meta name=\"twitter:data2\" content=\"10 minutos\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/www.dbarj.com.br\\\/pt-br\\\/2014\\\/12\\\/oracle-data-guard-e-oracle-wallet\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.dbarj.com.br\\\/pt-br\\\/2014\\\/12\\\/oracle-data-guard-e-oracle-wallet\\\/\"},\"author\":{\"name\":\"DBA RJ\",\"@id\":\"https:\\\/\\\/www.dbarj.com.br\\\/pt-br\\\/#\\\/schema\\\/person\\\/28a44ca3a6633fe4156ad1ea209d40a9\"},\"headline\":\"Oracle Data Guard Fast-Start Failover e Oracle Wallet\",\"datePublished\":\"2014-12-02T19:40:47+00:00\",\"dateModified\":\"2016-01-14T17:10:53+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/www.dbarj.com.br\\\/pt-br\\\/2014\\\/12\\\/oracle-data-guard-e-oracle-wallet\\\/\"},\"wordCount\":571,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\\\/\\\/www.dbarj.com.br\\\/pt-br\\\/#\\\/schema\\\/person\\\/28a44ca3a6633fe4156ad1ea209d40a9\"},\"articleSection\":[\"Data Guard\",\"Database Security\"],\"inLanguage\":\"pt-BR\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/www.dbarj.com.br\\\/pt-br\\\/2014\\\/12\\\/oracle-data-guard-e-oracle-wallet\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/www.dbarj.com.br\\\/pt-br\\\/2014\\\/12\\\/oracle-data-guard-e-oracle-wallet\\\/\",\"url\":\"https:\\\/\\\/www.dbarj.com.br\\\/pt-br\\\/2014\\\/12\\\/oracle-data-guard-e-oracle-wallet\\\/\",\"name\":\"Oracle Data Guard Fast-Start Failover e Oracle Wallet - DBA - Rodrigo Jorge - Oracle Tips and Guides\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.dbarj.com.br\\\/pt-br\\\/#website\"},\"datePublished\":\"2014-12-02T19:40:47+00:00\",\"dateModified\":\"2016-01-14T17:10:53+00:00\",\"description\":\"Como configurar o Oracle Data Guard para funcionar em conjunto com o Oracle Wallet.\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/www.dbarj.com.br\\\/pt-br\\\/2014\\\/12\\\/oracle-data-guard-e-oracle-wallet\\\/#breadcrumb\"},\"inLanguage\":\"pt-BR\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/www.dbarj.com.br\\\/pt-br\\\/2014\\\/12\\\/oracle-data-guard-e-oracle-wallet\\\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/www.dbarj.com.br\\\/pt-br\\\/2014\\\/12\\\/oracle-data-guard-e-oracle-wallet\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/www.dbarj.com.br\\\/pt-br\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Oracle Data Guard Fast-Start Failover e Oracle Wallet\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/www.dbarj.com.br\\\/pt-br\\\/#website\",\"url\":\"https:\\\/\\\/www.dbarj.com.br\\\/pt-br\\\/\",\"name\":\"DBA - Rodrigo Jorge - Oracle Tips and Guides\",\"description\":\"Blog about Databases, Security and High Availability\",\"publisher\":{\"@id\":\"https:\\\/\\\/www.dbarj.com.br\\\/pt-br\\\/#\\\/schema\\\/person\\\/28a44ca3a6633fe4156ad1ea209d40a9\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/www.dbarj.com.br\\\/pt-br\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"pt-BR\"},{\"@type\":[\"Person\",\"Organization\"],\"@id\":\"https:\\\/\\\/www.dbarj.com.br\\\/pt-br\\\/#\\\/schema\\\/person\\\/28a44ca3a6633fe4156ad1ea209d40a9\",\"name\":\"DBA RJ\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"pt-BR\",\"@id\":\"https:\\\/\\\/www.dbarj.com.br\\\/wp-content\\\/uploads\\\/2019\\\/09\\\/RodrigoJorgePOUG19.png\",\"url\":\"https:\\\/\\\/www.dbarj.com.br\\\/wp-content\\\/uploads\\\/2019\\\/09\\\/RodrigoJorgePOUG19.png\",\"contentUrl\":\"https:\\\/\\\/www.dbarj.com.br\\\/wp-content\\\/uploads\\\/2019\\\/09\\\/RodrigoJorgePOUG19.png\",\"width\":712,\"height\":712,\"caption\":\"DBA RJ\"},\"logo\":{\"@id\":\"https:\\\/\\\/www.dbarj.com.br\\\/wp-content\\\/uploads\\\/2019\\\/09\\\/RodrigoJorgePOUG19.png\"}}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Oracle Data Guard Fast-Start Failover e Oracle Wallet - DBA - Rodrigo Jorge - Oracle Tips and Guides","description":"Como configurar o Oracle Data Guard para funcionar em conjunto com o Oracle Wallet.","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:\/\/www.dbarj.com.br\/pt-br\/2014\/12\/oracle-data-guard-e-oracle-wallet\/","twitter_misc":{"Escrito por":"DBA RJ","Est. tempo de leitura":"10 minutos"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.dbarj.com.br\/pt-br\/2014\/12\/oracle-data-guard-e-oracle-wallet\/#article","isPartOf":{"@id":"https:\/\/www.dbarj.com.br\/pt-br\/2014\/12\/oracle-data-guard-e-oracle-wallet\/"},"author":{"name":"DBA RJ","@id":"https:\/\/www.dbarj.com.br\/pt-br\/#\/schema\/person\/28a44ca3a6633fe4156ad1ea209d40a9"},"headline":"Oracle Data Guard Fast-Start Failover e Oracle Wallet","datePublished":"2014-12-02T19:40:47+00:00","dateModified":"2016-01-14T17:10:53+00:00","mainEntityOfPage":{"@id":"https:\/\/www.dbarj.com.br\/pt-br\/2014\/12\/oracle-data-guard-e-oracle-wallet\/"},"wordCount":571,"commentCount":0,"publisher":{"@id":"https:\/\/www.dbarj.com.br\/pt-br\/#\/schema\/person\/28a44ca3a6633fe4156ad1ea209d40a9"},"articleSection":["Data Guard","Database Security"],"inLanguage":"pt-BR","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.dbarj.com.br\/pt-br\/2014\/12\/oracle-data-guard-e-oracle-wallet\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.dbarj.com.br\/pt-br\/2014\/12\/oracle-data-guard-e-oracle-wallet\/","url":"https:\/\/www.dbarj.com.br\/pt-br\/2014\/12\/oracle-data-guard-e-oracle-wallet\/","name":"Oracle Data Guard Fast-Start Failover e Oracle Wallet - DBA - Rodrigo Jorge - Oracle Tips and Guides","isPartOf":{"@id":"https:\/\/www.dbarj.com.br\/pt-br\/#website"},"datePublished":"2014-12-02T19:40:47+00:00","dateModified":"2016-01-14T17:10:53+00:00","description":"Como configurar o Oracle Data Guard para funcionar em conjunto com o Oracle Wallet.","breadcrumb":{"@id":"https:\/\/www.dbarj.com.br\/pt-br\/2014\/12\/oracle-data-guard-e-oracle-wallet\/#breadcrumb"},"inLanguage":"pt-BR","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.dbarj.com.br\/pt-br\/2014\/12\/oracle-data-guard-e-oracle-wallet\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/www.dbarj.com.br\/pt-br\/2014\/12\/oracle-data-guard-e-oracle-wallet\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.dbarj.com.br\/pt-br\/"},{"@type":"ListItem","position":2,"name":"Oracle Data Guard Fast-Start Failover e Oracle Wallet"}]},{"@type":"WebSite","@id":"https:\/\/www.dbarj.com.br\/pt-br\/#website","url":"https:\/\/www.dbarj.com.br\/pt-br\/","name":"DBA - Rodrigo Jorge - Oracle Tips and Guides","description":"Blog about Databases, Security and High Availability","publisher":{"@id":"https:\/\/www.dbarj.com.br\/pt-br\/#\/schema\/person\/28a44ca3a6633fe4156ad1ea209d40a9"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.dbarj.com.br\/pt-br\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"pt-BR"},{"@type":["Person","Organization"],"@id":"https:\/\/www.dbarj.com.br\/pt-br\/#\/schema\/person\/28a44ca3a6633fe4156ad1ea209d40a9","name":"DBA RJ","image":{"@type":"ImageObject","inLanguage":"pt-BR","@id":"https:\/\/www.dbarj.com.br\/wp-content\/uploads\/2019\/09\/RodrigoJorgePOUG19.png","url":"https:\/\/www.dbarj.com.br\/wp-content\/uploads\/2019\/09\/RodrigoJorgePOUG19.png","contentUrl":"https:\/\/www.dbarj.com.br\/wp-content\/uploads\/2019\/09\/RodrigoJorgePOUG19.png","width":712,"height":712,"caption":"DBA RJ"},"logo":{"@id":"https:\/\/www.dbarj.com.br\/wp-content\/uploads\/2019\/09\/RodrigoJorgePOUG19.png"}}]}},"_links":{"self":[{"href":"https:\/\/www.dbarj.com.br\/pt-br\/wp-json\/wp\/v2\/posts\/1149","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.dbarj.com.br\/pt-br\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.dbarj.com.br\/pt-br\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.dbarj.com.br\/pt-br\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.dbarj.com.br\/pt-br\/wp-json\/wp\/v2\/comments?post=1149"}],"version-history":[{"count":0,"href":"https:\/\/www.dbarj.com.br\/pt-br\/wp-json\/wp\/v2\/posts\/1149\/revisions"}],"wp:attachment":[{"href":"https:\/\/www.dbarj.com.br\/pt-br\/wp-json\/wp\/v2\/media?parent=1149"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.dbarj.com.br\/pt-br\/wp-json\/wp\/v2\/categories?post=1149"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.dbarj.com.br\/pt-br\/wp-json\/wp\/v2\/tags?post=1149"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}