{"id":1948,"date":"2018-05-24T21:26:16","date_gmt":"2018-05-24T19:26:16","guid":{"rendered":"http:\/\/clemente.pamplona.name\/dba\/?p=1948"},"modified":"2018-08-21T15:36:19","modified_gmt":"2018-08-21T13:36:19","slug":"eliminar-un-dr-del-dataguard","status":"publish","type":"post","link":"http:\/\/clemente.pamplona.name\/dba\/eliminar-un-dr-del-dataguard\/","title":{"rendered":"Eliminar un DR del Dataguard"},"content":{"rendered":"<p>Hoy vamos a ver un a entrada r\u00e1pida de como eliminamos un DR de una configuraci\u00f3n de dataguard.<\/p>\n<p> Tenemos un entorno donde tenemos 2 Physycal standby y queremos eliminar la primera de ellas <b>TEST_STBY1<\/b><\/p>\n<p>Comprobemos la configuraci\u00f3n de nuestro entorno, nos conectamos a la primaria y ejecutamos:<\/p>\n<pre>\r\n-bash-4.2$ . oraenv\r\nORACLE_SID = [oracle] ? TEST\r\nThe Oracle base has been set to \/opt\/app\/oracle\r\n-bash-4.2$ export ORACLE_SID=TEST\r\n-bash-4.2$ dgmgrl \/\r\n\r\nDGMGRL> show configuration verbose;\r\nConfiguration - DR_TWO_STANDBY\r\n  Protection Mode: MaxPerformance\r\n  Databases:\r\n    TEST      - Primary database\r\n    TEST_STBY1    - Physical standby database\r\n    TEST_STBY2 - Physical standby database\r\n  Properties:\r\n    FastStartFailoverThreshold      = '30'\r\n    OperationTimeout                = '30'\r\n    FastStartFailoverLagLimit       = '30'\r\n    CommunicationTimeout            = '180'\r\n    FastStartFailoverAutoReinstate  = 'TRUE'\r\n    FastStartFailoverPmyShutdown    = 'TRUE'\r\n    BystandersFollowRoleChange      = 'ALL'\r\nFast-Start Failover: DISABLED\r\nConfiguration Status:\r\nSUCCESS\r\n\r\nDGMGRL> show database  'TEST_STBY1';\r\nDatabase - TEST_STBY1\r\n  Role:            PHYSICAL STANDBY\r\n  Intended State:  APPLY-ON\r\n  Transport Lag:   14 hours 4 minutes 14 seconds\r\n  Apply Lag:       14 hours 4 minutes 14 seconds\r\n  Real Time Query: OFF\r\n  Instance(s):\r\n    TEST\r\nDatabase Status:\r\nSUCCESS\r\n<\/pre>\n<p>Tenemos claro que es la que queremos eliminar , de echo, podemos ver como lleva 14 horas. de retraso .<br \/>\nPara eliminarla ejecutaremos el comando <i> Remove Database <\/i>, si vemos el ejemplo, poderes ver como siempre ponemos el nombre de la base de datos entre comillas simples, en caso de no hacerlo, el dataguard lo tomar\u00e1 como min\u00fasculas <\/p>\n<pre>\r\n\r\nDGMGRL> disable database 'TEST_STBY1';\r\nDisabled.\r\n\r\nDGMGRL> remove database 'TEST_STBY1';\r\nRemoved database \"TEST_STBY1\" from the configuration\r\n\r\nDGMGRL> show configuration verbose;\r\n\r\nConfiguration - MyTEST_STBY1\r\n  Protection Mode: MaxPerformance\r\n  Databases:\r\n    TEST      - Primary database\r\n    TEST_STBY2 - Physical standby database\r\n  Properties:\r\n    FastStartFailoverThreshold      = '30'\r\n    OperationTimeout                = '30'\r\n    FastStartFailoverLagLimit       = '30'\r\n    CommunicationTimeout            = '180'\r\n    FastStartFailoverAutoReinstate  = 'TRUE'\r\n    FastStartFailoverPmyShutdown    = 'TRUE'\r\n    BystandersFollowRoleChange      = 'ALL'\r\nFast-Start Failover: DISABLED\r\nConfiguration Status:\r\nSUCCESS\r\n\r\nDGMGRL> quit\r\n<\/pre>\n<p>Ya lo hemos eliminado, pero , deberemos de comprobar en nuestra base de datos  primaria que no hemos dejado restos, para ello, buscaremos que los servicios y los destinos de archivado est\u00e9n limpios de nuestra configuraci\u00f3n anterior.<\/p>\n<pre>\r\n-bash-4.2$ sqlplus \"\/as sysdba\"\r\n\r\nSQL> set linesize 800;\r\nSQL> show parameter log_archive_dest_\r\n\r\nNAME                                 TYPE        VALUE\r\n\r\nlog_archive_dest_1                   string      location=USE_DB_RECOVERY_FILE_\r\n                                                 DEST, valid_for=(ALL_LOGFILES,\r\n                                                  ALL_ROLES)\r\nlog_archive_dest_2                   string      service=\"TEST_STBY1\", LGWR ASYNC NOAFFIRM\r\n                                             \r\nlog_archive_dest_3                   string      service=\"TEST_STBY2\", LGWR ASYNC NOAFFIRM \r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\nSQL>   show parameter log_archive_config;\r\n\r\nNAME                                 TYPE        VALUE\r\n------------------------------------ ----------- ------------------------------\r\nlog_archive_config                   string      dg_config=(TEST,TEST_STBY1,TEST_STBY2)\r\n<\/pre>\n<p>Podemos ver como el broker no ha limpiado la configuraci\u00f3n, por lo que lo haremos nosotros a mano <\/p>\n<pre>\r\nSQL> alter system set log_archive_dest_2='' scope=both;\r\nSQL> alter system set log_archive_config='dg_config=(TEST,TEST_STBY2)' scope=both;\r\n\r\n\r\n\r\nSQL> show parameter log_archive_config;\r\nNAME                                 TYPE        VALUE\r\n------------------------------------ ----------- ------------------------------\r\nlog_archive_config                   string      dg_config=(TEST,TEST_STBY)\r\nSQL> show parameter log_archive_dest_\r\n\r\nNAME                                 TYPE        VALUE\r\n------------------------------------ ----------- ------------------------------\r\nlog_archive_dest_1                   string      location=USE_DB_RECOVERY_FILE_\r\n                                                 DEST, valid_for=(ALL_LOGFILES,\r\n                                                  ALL_ROLES)\r\nlog_archive_dest_2                   string\r\nlog_archive_dest_3                   string      service=\"TEST_STBY2\", LGWR ASYNC NOAFFIRM\r\nSQL>\r\n<\/pre>\n<p>Con esto, podremos afirmar que nuestra configuraci\u00f3n est\u00e1 limpia <\/p>\n","protected":false},"excerpt":{"rendered":"<p>Hoy vamos a ver un a entrada r\u00e1pida de como eliminamos un DR de una configuraci\u00f3n de dataguard. Tenemos un entorno donde tenemos 2 Physycal standby y queremos eliminar la primera de ellas TEST_STBY1 Comprobemos la configuraci\u00f3n de nuestro entorno, &hellip; <a href=\"http:\/\/clemente.pamplona.name\/dba\/eliminar-un-dr-del-dataguard\/\">Sigue leyendo <span class=\"meta-nav\">&rarr;<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[60,42,199],"tags":[927,254,923,925],"class_list":["post-1948","post","type-post","status-publish","format-standard","hentry","category-12c","category-asm","category-oracle","tag-physical-standby-database","tag-12c","tag-data-guard","tag-dr"],"_links":{"self":[{"href":"http:\/\/clemente.pamplona.name\/dba\/wp-json\/wp\/v2\/posts\/1948","targetHints":{"allow":["GET"]}}],"collection":[{"href":"http:\/\/clemente.pamplona.name\/dba\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/clemente.pamplona.name\/dba\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/clemente.pamplona.name\/dba\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"http:\/\/clemente.pamplona.name\/dba\/wp-json\/wp\/v2\/comments?post=1948"}],"version-history":[{"count":1,"href":"http:\/\/clemente.pamplona.name\/dba\/wp-json\/wp\/v2\/posts\/1948\/revisions"}],"predecessor-version":[{"id":1949,"href":"http:\/\/clemente.pamplona.name\/dba\/wp-json\/wp\/v2\/posts\/1948\/revisions\/1949"}],"wp:attachment":[{"href":"http:\/\/clemente.pamplona.name\/dba\/wp-json\/wp\/v2\/media?parent=1948"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/clemente.pamplona.name\/dba\/wp-json\/wp\/v2\/categories?post=1948"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/clemente.pamplona.name\/dba\/wp-json\/wp\/v2\/tags?post=1948"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}