{"id":9619,"date":"2019-07-24T18:02:42","date_gmt":"2019-07-24T16:02:42","guid":{"rendered":"http:\/\/arumel.com\/?p=9619"},"modified":"2019-07-25T14:30:28","modified_gmt":"2019-07-25T12:30:28","slug":"sacando-partido-a-tfa","status":"publish","type":"post","link":"https:\/\/arumel.com\/es\/sacando-partido-a-tfa\/","title":{"rendered":"Sacando partido a TFA"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\">A la hora de diagnosticar y recopilar informaci\u00f3n sobre un incidente o simplemente realizar un healh check, tanto de Cluster Ready Services, Oracle Grid Infrastructure, Oracle RAC o Single Instance Oracle nos lo pone muy f\u00e1cil mediante la herramienta TFA, soportando GI y Base de Datos a partir de la versi\u00f3n 10.2,  ya que recopila, empaqueta y centraliza datos de diagn\u00f3stico.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">En el siguiente art\u00edculo vamos a describir y analizar tanto el despliegue como algunas de sus funcionalidades, ya que hoy en d\u00eda sigue siendo la gran desconocida, teniendo en cuenta que es una de las herramientas m\u00e1s interesantes actualmente.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">TFA nos aporta los siguientes beneficios:<\/p>\n\n\n\n<ul class=\"wp-block-list\"><li>Centralizaci\u00f3n y encapsulaci\u00f3n de la informaci\u00f3n de diagn\u00f3stico tanto de CRS, GI y\/o RAC de todos los nodos a trav\u00e9s de un comando ejecutado desde uno de ellos. <\/li><li>Aislar solo la informaci\u00f3n de inter\u00e9s para reducir la informaci\u00f3n a facilitar a soporte, tanto para un periodo de tiempo espec\u00edfico, un componente particular o error espec\u00edfico.<\/li><li>Revisi\u00f3n de todos los logs y ficheros de traza para condiciones espec\u00edficas que nos indican un problema, tanto en tiempo real como bajo demanda<\/li><\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">Y las siguientes funcionalidades:<\/p>\n\n\n\n<ul class=\"wp-block-list\"><li>Ver el estado general tanto del cluster, sus componentes, la base de datos y del sistema. Con un solo comando! <\/li><li>Investigar logs y analizarlos<\/li><li>Recolectar diagn\u00f3sticos espec\u00edficos para soporte, incluyendo filtrados (incluyendo Service Request Data Collection )<\/li><li>Gestionar logs de base de datos. Configuraci\u00f3n de autopurge!<\/li><li>Notificaciones por email<\/li><li>Incident Packaging Service<\/li><li>Enmascaramiento de datos sensibles<\/li><\/ul>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Consideraciones previas a la instalaci\u00f3n de TFA<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Una de las dudas que se nos plantea en primera instancia es cu\u00e1nto podr\u00eda penalizar en nuestro servidor. El consumo de recursos es muy bajo, pudiendo aumentar de forma considerable en los siguientes casos:<\/p>\n\n\n\n<ul class=\"wp-block-list\"><li>Cuando est\u00e1 inventariando los ficheros de diagn\u00f3stico<\/li><li>Cuando est\u00e1 realizando un diagn\u00f3stico.<\/li><\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">Tenemos dos posibles opciones de instalaci\u00f3n:<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Modo daemon<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\"><li>Configurada como root (recomendada sobre todo para RAC)<\/li><li> Instalada en todos los nodos<\/li><li> Descubre de forma autom\u00e1tica el software de Oracle y Storage Servers de Exadata<\/li><li> Comienza a monitorizar de forma autom\u00e1tica<\/li><\/ul>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Modo no daemon<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\"><li>Solo corre en el servidor sobre el que se instala <\/li><li>No recopila informaci\u00f3n autom\u00e1ticamente<\/li><li>No recopila informaci\u00f3n sobre el resto de los servidores<\/li><li>No recopila informaci\u00f3n sobre ficheros que no sean propiedad del usuario que lo instala (especial atenci\u00f3n si tenemos separaci\u00f3n de roles)<\/li><\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">Oracle TFA est\u00e1 configurado por defecto como parte de la GI cuando ejecutamos root.sh o rootupgrade.sh.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Los directorios donde reside cuando forma parte de la GI son:<\/p>\n\n\n\n<ul class=\"wp-block-list\"><li>GRID_HOME\/tfa: ejecutables y ficheros de configuraci\u00f3n.<\/li><li>ORACLE_BASE\/tfa: logs y ficheros de metadata.<\/li><\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">Como buena pr\u00e1ctica Oracle recomienda actualizarlo cada 6 meses. Es muy interesante tenerlo ubicado en un directorio que tengamos controlado, desvinculado del home de la grid, y hayamos definido siguiendo los est\u00e1ndares de nuestra plataforma (homogeneizaci\u00f3n de entornos), por lo que aprovechando la actualizaci\u00f3n inicial propongo eliminar la instalaci\u00f3n de TFA y hacer una instalaci\u00f3n limpia.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Hacemos \u00e9sto para tener \u00fanicamente una instancia de TFA desplegada y controlada en el directorio que hayamos definido.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Si por el contrario la que se quiere mantener es la original que viene definida en el home de la GI el script de instalaci\u00f3n realizar\u00e1 un upgrade de \u00e9sta. A gusto del consumidor.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Si ya os he convencido para sacar partido de esta herramienta pong\u00e1monos manos a la obra, si a\u00fan no lo he conseguido recomiendo releer el p\u00e1rrafo anterior relativo a los beneficios que nos aporta \ud83d\ude42<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Manos a la obra!<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Instalaci\u00f3n de TFA<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Describo el entorno sobre el que trabajar\u00e9:<\/p>\n\n\n\n<ul class=\"wp-block-list\"><li>Oracle RAC 2 nodos: nodo01, nodo02<\/li><li>Versi\u00f3n de Base de datos 18.6<\/li><li>Versi\u00f3n de GI 19.3<\/li><\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">Como primer paso procedemos a la desinstalaci\u00f3n de TFA de la GI original. El comando es:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>$GRID_HOME\/bin\/tfactl uninstall<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">En mi caso estoy realizando la desinstalaci\u00f3n en un RAC de 2 nodos, por lo que realizaremos los pasos en ambos nodos al ser \u00e9sta local del nodo en el que se trabaja. Nota: solo la desinstalaci\u00f3n, la instalaci\u00f3n la vemos en el siguiente paso siendo lanzada desde un solo nodo y confirmando que queremos que siga con el resto de nodos \ud83d\ude42<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>[root@nodo01 ~]# \/u01\/app\/19.3.0\/grid\/tfa\/bin\/tfactl uninstall\nTFA will be uninstalled on nodo01 :\n\nRemoving TFA from nodo01 only\nPlease remove TFA locally on any other configured nodes\n\nNotifying Other Nodes about TFA Uninstall...\nSleeping for 10 seconds...\n\nStopping TFA Support Tools...\n\nStopping TFA in nodo01...\n\nShutting down TFA\nRemoved symlink \/etc\/systemd\/system\/multi-user.target.wants\/oracle-tfa.service.\nRemoved symlink \/etc\/systemd\/system\/graphical.target.wants\/oracle-tfa.service.\n. . . . .\n. . .\nSuccessfully shutdown TFA..\n\nTFA-00002 Oracle Trace File Analyzer (TFA) is not running\nDeleting TFA support files on nodo01:\nRemoving \/u01\/app\/oracle\/tfa\/nodo01\/database...\nRemoving \/u01\/app\/oracle\/tfa\/nodo01\/log...\nRemoving \/u01\/app\/oracle\/tfa\/nodo01\/output...\nRemoving \/u01\/app\/oracle\/tfa\/nodo01...\nRemoving \/u01\/app\/oracle\/tfa...\nRemoving \/etc\/rc.d\/rc0.d\/K17init.tfa\nRemoving \/etc\/rc.d\/rc1.d\/K17init.tfa\nRemoving \/etc\/rc.d\/rc2.d\/K17init.tfa\nRemoving \/etc\/rc.d\/rc4.d\/K17init.tfa\nRemoving \/etc\/rc.d\/rc6.d\/K17init.tfa\nRemoving \/etc\/init.d\/init.tfa...\nRemoving \/u01\/app\/19.3.0\/grid\/bin\/tfactl...\nRemoving \/u01\/app\/19.3.0\/grid\/tfa\/bin...\nRemoving \/u01\/app\/19.3.0\/grid\/tfa\/nodo01...\nRemoving \/u01\/app\/19.3.0\/grid\/tfa...\n\n \n\n [root@nodo02 ~]# \/u01\/app\/19.3.0\/grid\/tfa\/bin\/tfactl uninstall\nTFA will be uninstalled on nodo02 :\n\nRemoving TFA from nodo02...\n\nStopping TFA Support Tools...\n\nStopping TFA in nodo02...\n\nShutting down TFA\nRemoved symlink \/etc\/systemd\/system\/multi-user.target.wants\/oracle-tfa.service.\nRemoved symlink \/etc\/systemd\/system\/graphical.target.wants\/oracle-tfa.service.\n. . . . .\n. . .\nSuccessfully shutdown TFA..\n\nTFA-00002 Oracle Trace File Analyzer (TFA) is not running\nDeleting TFA support files on nodo02:\nRemoving \/u01\/app\/oracle\/tfa\/nodo02\/database...\nRemoving \/u01\/app\/oracle\/tfa\/nodo02\/log...\nRemoving \/u01\/app\/oracle\/tfa\/nodo02\/output...\nRemoving \/u01\/app\/oracle\/tfa\/nodo02...\nRemoving \/u01\/app\/oracle\/tfa...\nRemoving \/etc\/rc.d\/rc0.d\/K17init.tfa\nRemoving \/etc\/rc.d\/rc1.d\/K17init.tfa\nRemoving \/etc\/rc.d\/rc2.d\/K17init.tfa\nRemoving \/etc\/rc.d\/rc4.d\/K17init.tfa\nRemoving \/etc\/rc.d\/rc6.d\/K17init.tfa\nRemoving \/etc\/init.d\/init.tfa...\nRemoving \/u01\/app\/19.3.0\/grid\/bin\/tfactl...\nRemoving \/u01\/app\/19.3.0\/grid\/tfa\/bin...\nRemoving \/u01\/app\/19.3.0\/grid\/tfa\/nodo02...\nRemoving \/u01\/app\/19.3.0\/grid\/tfa...<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Para proceder con la instalaci\u00f3n descargaremos la \u00faltima versi\u00f3n de TFA (TFA Collector &#8211; TFA with Database Support Tools Bundle (Doc ID 1513912.1) ), en el caso que aplica versi\u00f3n 19.2.1.0.0 <\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Una vez la hemos descargado crearemos el directorio en el que queramos centralizar la herramienta en ambos nodos:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>[root@nodo01 ~]# mkdir \/u01\/tools\/tfa<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Descomprimimos la versi\u00f3n que descargamos en el paso anterior:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>[root@nodo01 tfa]# unzip TFA-LINUX_v19.2.1.zip\nArchive: TFA-LINUX_v19.2.1.zip\ninflating: README.txt\ninflating: installTFA-LINUX<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Y procedemos a la instalaci\u00f3n:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>[root@nodo01 tfa]# .\/installTFA-LINUX\n\nTFA Installation Log will be written to File : \/tmp\/tfa_install_16340_2019_07_15-11_50_12.log\n\nStarting TFA installation\n\nTFA Version: 192100 Build Date: 201904251105\n\nEnter a location for installing TFA (\/tfa will be appended if not supplied) [\/u01\/tools\/tfa]:\n\/u01\/tools\/tfa\n\nRunning Auto Setup for TFA as user root...\n\nWould you like to do a [L]ocal only or [C]lusterwide installation ? [L|l|C|c] [C] : C\n\nThe following installation requires temporary use of SSH.\nIf SSH is not configured already then we will remove SSH\nwhen complete.\nDo you wish to Continue ? [Y|y|N|n] [Y] Y\nInstalling TFA now...\n\nDiscovering Nodes and Oracle resources\n\nStarting Discovery...\n\n \n\nGetting list of nodes in cluster . . . . .\n\nList of nodes in cluster:\nnodo01\nnodo02\n\n \n\nChecking ssh user equivalency settings on all nodes in cluster\n\nNode nodo02 is configured for ssh user equivalency for root user\n\nCRS_HOME=\/u01\/app\/19.3.0\/grid\n\nSearching for running databases...\n1. cdbpro\n\n \n\nSearching out ORACLE_HOME for selected databases...\n\n \n\nGetting Oracle Inventory...\n\nORACLE INVENTORY: \/u01\/app\/oraInventory\n\n \n\nDiscovery Complete...\n\n \n\nTFA Will be Installed on the Following Nodes:\n++++++++++++++++++++++++++++++++++++++++++++\n\nInstall Nodes\n=============\nnodo01\nnodo02\n\nDo you wish to make changes to the Node List ? [Y\/y\/N\/n] [N] N\n\nTFA will scan the following Directories\n++++++++++++++++++++++++++++++++++++++++++++\n\n.--------------------------------------------------------------------------.\n| nodo01 |\n+--------------------------------------------------------------+-----------+\n| Trace Directory | Resource |\n+--------------------------------------------------------------+-----------+\n| \/u01\/app\/19.3.0\/grid\/cfgtoollogs | CFGTOOLS |\n| \/u01\/app\/19.3.0\/grid\/crs\/log | CRS |\n| \/u01\/app\/19.3.0\/grid\/css\/log | CRS |\n| \/u01\/app\/19.3.0\/grid\/evm\/admin\/logger | CRS |\n| \/u01\/app\/19.3.0\/grid\/evm\/log | CRS |\n| \/u01\/app\/19.3.0\/grid\/install | INSTALL |\n| \/u01\/app\/19.3.0\/grid\/inventory\/ContentsXML | INSTALL |\n| \/u01\/app\/19.3.0\/grid\/log | CRS |\n| \/u01\/app\/19.3.0\/grid\/network\/log | CRS |\n| \/u01\/app\/19.3.0\/grid\/opmn\/logs | CRS |\n| \/u01\/app\/19.3.0\/grid\/rdbms\/log | ASM |\n| \/u01\/app\/19.3.0\/grid\/srvm\/log | CRS |\n| \/u01\/app\/oraInventory\/ContentsXML | INSTALL |\n| \/u01\/app\/oraInventory\/logs | INSTALL |\n| \/u01\/app\/oracle\/cfgtoollogs | CFGTOOLS |\n| \/u01\/app\/oracle\/crsdata\/nodo01\/acfs | ACFS |\n| \/u01\/app\/oracle\/crsdata\/nodo01\/afd | ASM |\n| \/u01\/app\/oracle\/crsdata\/nodo01\/chad | CRS |\n| \/u01\/app\/oracle\/crsdata\/nodo01\/core | CRS |\n| \/u01\/app\/oracle\/crsdata\/nodo01\/crsconfig | CRS |\n| \/u01\/app\/oracle\/crsdata\/nodo01\/crsdiag | CRS |\n| \/u01\/app\/oracle\/crsdata\/nodo01\/cvu | CRS |\n| \/u01\/app\/oracle\/crsdata\/nodo01\/evm | CRS |\n| \/u01\/app\/oracle\/crsdata\/nodo01\/output | CRS |\n| \/u01\/app\/oracle\/crsdata\/nodo01\/trace | CRS |\n| \/u01\/app\/oracle\/diag\/apx\/+apx | ASMPROXY |\n| \/u01\/app\/oracle\/diag\/apx\/+apx\/+APX1\/cdump | ASMPROXY |\n| \/u01\/app\/oracle\/diag\/apx\/+apx\/+APX1\/trace | ASMPROXY |\n| \/u01\/app\/oracle\/diag\/asm\/+asm\/+ASM1\/cdump | ASM |\n| \/u01\/app\/oracle\/diag\/asm\/+asm\/+ASM1\/trace | ASM |\n| \/u01\/app\/oracle\/diag\/asm\/user_oracle\/host_2945644752_110\/cdu | ASMCLIENT |\n| \/u01\/app\/oracle\/diag\/asm\/user_oracle\/host_2945644752_110\/tra | ASM |\n| \/u01\/app\/oracle\/diag\/asm\/user_root\/host_2945644752_110\/cdump | ASMCLIENT |\n| \/u01\/app\/oracle\/diag\/asm\/user_root\/host_2945644752_110\/trace | ASM |\n| \/u01\/app\/oracle\/diag\/asmtool\/user_oracle\/host_2945644752_110 | ASMTOOL |\n| \/u01\/app\/oracle\/diag\/asmtool\/user_oracle\/host_2945644752_110 | ASM |\n| \/u01\/app\/oracle\/diag\/asmtool\/user_root\/host_2945644752_110\/c | ASMTOOL |\n| \/u01\/app\/oracle\/diag\/asmtool\/user_root\/host_2945644752_110\/t | ASM |\n| \/u01\/app\/oracle\/diag\/clients\/user_oracle\/host_2945644752_110 | DBCLIENT |\n| \/u01\/app\/oracle\/diag\/clients\/user_oracle\/host_2945644752_110 | DBCLIENT |\n| \/u01\/app\/oracle\/diag\/clients\/user_root\/host_2945644752_110\/c | DBCLIENT |\n| \/u01\/app\/oracle\/diag\/clients\/user_root\/host_2945644752_110\/t | DBCLIENT |\n| \/u01\/app\/oracle\/diag\/crs\/nodo01\/crs\/cdump | CRS |\n| \/u01\/app\/oracle\/diag\/crs\/nodo01\/crs\/trace | CRS |\n| \/u01\/app\/oracle\/diag\/rdbms\/cdbpro\/cdbpro1\/cdump | RDBMS |\n| \/u01\/app\/oracle\/diag\/rdbms\/cdbpro\/cdbpro1\/trace | RDBMS |\n| \/u01\/app\/oracle\/diag\/tnslsnr | TNS |\n| \/u01\/app\/oracle\/diag\/tnslsnr\/nodo01\/listener\/cdump | TNS |\n| \/u01\/app\/oracle\/diag\/tnslsnr\/nodo01\/listener\/trace | TNS |\n| \/u01\/app\/oracle\/diag\/tnslsnr\/nodo01\/listener_scan1\/c | TNS |\n| \/u01\/app\/oracle\/diag\/tnslsnr\/nodo01\/listener_scan1\/t | TNS |\n| \/u01\/app\/oracle\/product\/18.6.0\/dbhome_pro\/cfgtoollogs | CFGTOOLS |\n| \/u01\/app\/oracle\/product\/18.6.0\/dbhome_pro\/install | INSTALL |\n| xxxxx | ASM |\n| xxxxx | ASM |\n'--------------------------------------------------------------+-----------'\n\nInstalling TFA on nodo01:\nHOST: nodo01 TFA_HOME: \/u01\/tools\/tfa\/nodo01\/tfa_home\n\nInstalling TFA on nodo02:\nHOST: nodo02 TFA_HOME: \/u01\/tools\/tfa\/nodo02\/tfa_home\n\n.-----------------------------------------------------------------------------------.\n| Host | Status of TFA | PID | Port | Version | Build ID |\n+----------------+---------------+-------+------+------------+----------------------+\n| nodo01 | RUNNING | 17620 | 5000 | 19.2.1.0.0 | 19210020190425110550 |\n| nodo02 | RUNNING | 14817 | 5000 | 19.2.1.0.0 | 19210020190425110550 |\n'----------------+---------------+-------+------+------------+----------------------'\n\nRunning Inventory in All Nodes...\n\nEnabling Access for Non-root Users on nodo01...\n\nSummary of TFA Installation:\n.--------------------------------------------------------------.\n| nodo01 |\n+---------------------+----------------------------------------+\n| Parameter | Value |\n+---------------------+----------------------------------------+\n| Install location | \/u01\/tools\/tfa\/nodo01\/tfa_home |\n| Repository location | \/u01\/tools\/tfa\/repository |\n| Repository usage | 0 MB out of 10240 MB |\n'---------------------+----------------------------------------'\n\n.--------------------------------------------------------------.\n| nodo02 |\n+---------------------+----------------------------------------+\n| Parameter | Value |\n+---------------------+----------------------------------------+\n| Install location | \/u01\/tools\/tfa\/nodo02\/tfa_home |\n| Repository location | \/u01\/tools\/tfa\/repository |\n| Repository usage | 0 MB out of 10240 MB |\n'---------------------+----------------------------------------'\n\nTFA is successfully installed...\n\nUsage : \/u01\/app\/19.3.0\/grid\/bin\/tfactl &lt;command&gt; [options]\ncommands:diagcollect|collection|analyze|ips|run|start|stop|enable|disable|status|print|access|purge|directory|host|receiver|set|toolstatus|uninstall|diagnosetfa|syncnodes|setupmos|upload|availability|rest|events|search|changes|isa|blackout|rediscover\nFor detailed help on each command use:\n\/u01\/app\/19.3.0\/grid\/bin\/tfactl &lt;command&gt; -help\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Por defecto TFA arranca autom\u00e1ticamente una vez instalado.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Y ahora s\u00ed\u2026 a jugar!<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Una vez hemos instalado TFA he hecho una recopilaci\u00f3n de funcionalidades m\u00e1s interesantes<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Sacando partido a TFA<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Podremos trabajar con tfactl de las siguientes maneras:<\/p>\n\n\n\n<ul class=\"wp-block-list\"><li>Command line interface<\/li><li>Shell interface<\/li><li>Menu interface<\/li><\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">Os animo a probar cada una de ellas, sobretodo la interfaz de men\u00fa. Nos centraremos en la interfaz de l\u00ednea de comandos en \u00e9ste art\u00edculo.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Estado del sistema y cluster en tiempo real<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Podremos ver un resumen del estado de todos los componentes de la base de datos, GI y CRS, pudiendo desgranar la informaci\u00f3n por un componente espec\u00edfico.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>[root@nodo02 ~]# tfactl summary\n\n  Executing Summary in Parallel on Following Nodes:\n    Node : nodo01\n    Node : nodo02\n\nLOGFILE LOCATION : \/u01\/tools\/tfa\/repository\/suptools\/nodo02\/summary\/root\/20190715162308\/log\/summary_command_20190715162308_nodo02_26066.log\n\n  Component Specific Summary collection :\n    - Collecting CRS details ... Done.\n    - Collecting ASM details ... Done.\n    - Collecting ACFS details ... Done.\n    - Collecting DATABASE details ... Done.\n    - Collecting PATCH details ... Done.\n    - Collecting LISTENER details ... Done.\n    - Collecting NETWORK details ... Done.\n    - Collecting OS details ... Done.\n    - Collecting TFA details ... Done.\n    - Collecting SUMMARY details ... Done.\n\n  Remote Summary Data Collection : In-Progress - Please wait ...\n  - Data Collection From Node - nodo01 .. Done.\n\n  Prepare Clusterwide Summary Overview ... Done\n      cluster_status_summary\n\n  DETAILS                                                                                             COMPONENT   STATUS\n+---------------------------------------------------------------------------------------------------+-----------+---------+\n  .-----------------------------------------------.                                                   CRS         PROBLEM\n  | CRS_SERVER_STATUS   : ONLINE                  |\n  | CRS_STATE           : ONLINE                  |\n  | CRS_INTEGRITY_CHECK : FAIL                    |\n  | CRS_RESOURCE_STATUS : OFFLINE Resources Found |\n  '-----------------------------------------------'\n  .-------------------------------------------------------.                                           ASM         PROBLEM\n  | ASM_DISK_SIZE_STATUS : WARNING - Available Size &lt; 20% |\n  | ASM_BLOCK_STATUS     : PASS                           |\n  | ASM_CHAIN_STATUS     : PASS                           |\n  | ASM_INCIDENTS        : FAIL                           |\n  | ASM_PROBLEMS         : FAIL                           |\n  '-------------------------------------------------------'\n  .-----------------------.                                                                           ACFS        OFFLINE\n  | ACFS_STATUS : OFFLINE |\n  '-----------------------'\n  .-----------------------------------------------------------------------------------------------.   DATABASE    PROBLEM\n  | ORACLE_HOME_NAME | ORACLE_HOME_DETAILS                                                        |\n  +------------------+----------------------------------------------------------------------------+\n  | OraDB18Home1     | .------------------------------------------------------------------------. |\n  |                  | | DB_BLOCKS | PROBLEMS | STATUS  | INCIDENTS | DB_CHAINS | DATABASE_NAME | |\n  |                  | +-----------+----------+---------+-----------+-----------+---------------+ |\n  |                  | | PASS      | PROBLEM  | PROBLEM | PROBLEM   | PROBLEM   | cdbpro        | |\n  |                  | '-----------+----------+---------+-----------+-----------+---------------' |\n  '------------------+----------------------------------------------------------------------------'\n  .----------------------------------------------.                                                    PATCH       OK\n  | CRS_PATCH_CONSISTENCY_ACROSS_NODES      : OK |\n  | DATABASE_PATCH_CONSISTENCY_ACROSS_NODES : OK |\n  '----------------------------------------------'\n  .-----------------------.                                                                           LISTENER    OK\n  | LISTNER_STATUS   : OK |\n  '-----------------------'\n  .---------------------------.                                                                       NETWORK     OK\n  | CLUSTER_NETWORK_STATUS :  |\n  '---------------------------'\n  .-----------------------.                                                                           OS          OK\n  | MEM_USAGE_STATUS : OK |\n  '-----------------------'\n  .----------------------.                                                                            TFA         OK\n  | TFA_STATUS : RUNNING |\n  '----------------------'\n  .------------------------------------.                                                              SUMMARY     OK\n  | SUMMARY_EXECUTION_TIME : 0H:12M:6S |\n  '------------------------------------'\n+---------------------------------------------------------------------------------------------------+-----------+---------+\n\n\n        ### Entering in to SUMMARY Command-Line Interface ###\n\ntfactl_summary&gt;list\n\n  Components : Select Component - select [component_number|component_name]\n        1 =&gt; overview\n        2 =&gt; crs_overview\n        3 =&gt; asm_overview\n        4 =&gt; acfs_overview\n        5 =&gt; database_overview\n        6 =&gt; patch_overview\n        7 =&gt; listener_overview\n        8 =&gt; network_overview\n        9 =&gt; os_overview\n        10 =&gt; tfa_overview\n        11 =&gt; summary_overview<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Por defecto las recoleccioones autom\u00e1ticas de diagn\u00f3stico est\u00e1n habilitadas. Si queremos deshabilitarlas para ejecutarlas solo bajo demanda:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>[root@nodo01 ~]# tfactl set autodiagcollect=OFF<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Notificaciones por email<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Se puede notificar alternativamente para  ORACLE_HOME espec\u00edficos incluyendo el propietario del software.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>[root@nodo01 ~]# tfactl set notificationAddress=direccion@email.com<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Investigar y analizar logs<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Podemos centrar el an\u00e1lisis de logs en un periodo de tiempo o incluso en un incidente concreto<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>[root@nodo01 ~]# tfactl analyze \u2013last 3d\n[root@nodo01 ~]# tfactl analyze -search \u201cORA-27468\" -last 1h<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Purgado autom\u00e1tico de logs<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Por defecto viene deshabilitado. Podremos habilitarlo y establecer las pol\u00edticas de borrado en rangos de d\u00edas u horas.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Los siguiente comandos habilitar\u00edan la ejecuci\u00f3n del purgado cada 120 minutos, borrando logs con antiguedad superior a 1 d\u00eda:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>[root@nodo01 ~]# tfactl set manageLogsAutoPurge=ON\n[root@nodo01 ~]# tfactl set manageLogsAutoPurgePolicyAge=1d\n[root@nodo01 ~]# tfactl set manageLogsAutoPurgeInterval=120<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Purgado manual de logs<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Es ejecutado con el owner del home de ADR, por lo que solo borrar\u00e1 aquellos ficheros sobre los que tenga permisos.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">En la siguiente secuencia de comandos mostrar\u00edamos la ocupaci\u00f3n de los ficheros de logs, cuanto ha variado en los ultimos 7 d\u00edas, que va a realizar el comando de purgado y finalmente borrariamos.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>tfactl managelogs \u2013show usage\ntfactl managelogs \u2013show variation \u2013older 7d\ntfactl managelogs \u2013purge \u2013older 7d -dryrun \ntfactl managelogs \u2013purge \u2013older 7d<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Enmascaramiento de datos sensibles<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">TFA nos permite enmascarar datos sensibles como hostnames o direcciones IP. Para ello deberiamos crear un fichero en tfa_home\/resources\/mask_strings.xml en cada nodo con informaci\u00f3n como \u00e9sta:<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" width=\"420\" height=\"183\" data-attachment-id=\"9697\" data-permalink=\"https:\/\/arumel.com\/es\/sacando-partido-a-tfa\/imagen\/\" data-orig-file=\"https:\/\/i0.wp.com\/arumel.com\/wp-content\/uploads\/2019\/07\/imagen.png?fit=420%2C183&amp;ssl=1\" data-orig-size=\"420,183\" data-comments-opened=\"1\" data-image-meta=\"{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;}\" data-image-title=\"imagen\" data-image-description=\"\" data-image-caption=\"\" data-large-file=\"https:\/\/i0.wp.com\/arumel.com\/wp-content\/uploads\/2019\/07\/imagen.png?fit=420%2C183&amp;ssl=1\" src=\"https:\/\/i0.wp.com\/arumel.com\/wp-content\/uploads\/2019\/07\/imagen.png?resize=420%2C183&#038;ssl=1\" alt=\"\" class=\"wp-image-9697\" srcset=\"https:\/\/i0.wp.com\/arumel.com\/wp-content\/uploads\/2019\/07\/imagen.png?w=420&amp;ssl=1 420w, https:\/\/i0.wp.com\/arumel.com\/wp-content\/uploads\/2019\/07\/imagen.png?resize=300%2C131&amp;ssl=1 300w\" sizes=\"(max-width: 420px) 100vw, 420px\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Service Request Data Collection (SRDC)<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Recopilaci\u00f3n de informaci\u00f3n para enviar a Orace Support \ud83d\ude42<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>tfactl diagcollect \u2013srdc ORA-04031 -sr 1-11111111111\ntfactl diagcollect \u2013srdc dbperf\ntfactl diagcollect \u2013srdc ORA-04031 -database cdbpro -for 7d<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Y la subimos a soporte<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>tfactl upload -user &lt;user_id&gt; -sr &lt;sr_number&gt; &lt;file1 file2&gt;<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Incident Packaging Service<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Empaquetado simple IPS<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>tfactl ips show incidents\ntfactl ips show problems\ntfactl ips show package\ntfactl diagcollect -ips<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Y las tools&#8230; !!<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Las tools s\u00f3lo est\u00e1n disponibles cuando se trata de una descarga de TFA, no con el tfa que vendr\u00eda por defecto en la GI.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Las tools solo se actualizan cuando actualizamos el TFA, no a trav\u00e9s de un PSU<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Dejo un listado de aquellas que suelo utilizar y\/o veo m\u00e1s interesantes:<\/p>\n\n\n\n<ul class=\"wp-block-list\"><li>oratop. Qu\u00e9 decir. Una pasada para un diagn\u00f3stico r\u00e1pido relacionado con indidencias de rendimiento. Desde la misma pantalla podremos ver el top de consultas, tanto por rac o por instancia, top de esperas, ver el plan de ejecuci\u00f3n del sqlid que nos interese con un solo click, volumetr\u00edas tanto de tbs como de diskgroup, agregar por SQLID o por proceso&#8230;<\/li><li>orachk or exachk. Necesario! diagn\u00f3stico del estado de salud de nuestra base de datos o nuestro Exadata. Recomiendo pasar chequeos de forma rutinaria cada cierto periodo de tiempo.<\/li><li>triage. Resumen de los datos de oswatcher\/exawatcher <\/li><li>oswatcher. Muy \u00fatil para problemas de rendimiento y estudiar la causa de node evictions. Recolecta m\u00e9tricas de SO<\/li><li>procwatcher. Muy \u00fatil para diagnosticar por qu\u00e9 una sesi\u00f3n se ha quedado colgada<\/li><li>sqlt. Trazas a nivel de sql para diagnosticar problemas de rendimiento<\/li><li>alertsummary. Sumariza los eventos de inter\u00e9s de una BBDD o ASM a trav\u00e9s de todos los nodos del RAC<\/li><li>dbglevel. Habilita distintos niveles de traza para el CRS<\/li><li>calog. informa de eventos de inter\u00e9s a nivel de Cluster.<\/li><li> &#8230;..<\/li><\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">Con este resumen de las tools termino el art\u00edculo y espero haber dejado dientes largos \ud83d\ude42<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Un saludo!<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Instalaci\u00f3n y beneficios  del uso de TFA como herramienta de diagn\u00f3stico y healkth check<\/p>\n","protected":false},"author":13,"featured_media":9578,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_et_pb_use_builder":"off","_et_pb_old_content":"<!-- wp:paragraph -->\n<p>A la hora de diagnosticar y recopilar informaci\u00f3n sobre un incidente o simplemente realizar un healh check, tanto de Cluster Ready Services, Oracle Grid Infrastructure, Oracle RAC o Single Instance Oracle nos lo pone muy f\u00e1cil mediante la herramienta TFA, soportando GI y Base de Datos a partir de la versi\u00f3n 10.2,  ya que recopila, empaqueta y centraliza datos de diagn\u00f3stico.<\/p>\n<!-- \/wp:paragraph -->\n\n<!-- wp:paragraph -->\n<p>En el siguiente art\u00edculo vamos a describir y analizar tanto el despliegue como algunas de sus funcionalidades, ya que hoy en d\u00eda sigue siendo la gran desconocida, teniendo en cuenta que es una de las herramientas m\u00e1s interesantes actualmente.<\/p>\n<!-- \/wp:paragraph -->\n\n<!-- wp:paragraph -->\n<p>TFA nos aporta los siguientes beneficios:<\/p>\n<!-- \/wp:paragraph -->\n\n<!-- wp:list -->\n<ul><li>Centralizaci\u00f3n y encapsulaci\u00f3n de la informaci\u00f3n de diagn\u00f3stico tanto de CRS, GI y\/o RAC de todos los nodos a trav\u00e9s de un comando ejecutado desde uno de ellos. <\/li><li>Aislar solo la informaci\u00f3n de inter\u00e9s para reducir la informaci\u00f3n a facilitar a soporte, tanto para un periodo de tiempo espec\u00edfico, un componente particular o error espec\u00edfico.<\/li><li>Revisi\u00f3n de todos los logs y ficheros de traza para condiciones espec\u00edficas que nos indican un problema, tanto en tiempo real como bajo demanda<\/li><\/ul>\n<!-- \/wp:list -->\n\n<!-- wp:paragraph -->\n<p>Y las siguientes funcionalidades:<\/p>\n<!-- \/wp:paragraph -->\n\n<!-- wp:list -->\n<ul><li>Ver el estado general tanto del cluster, sus componentes, la base de datos y del sistema. Con un solo comando! <\/li><li>Investigar logs y analizarlos<\/li><li>Recolectar diagn\u00f3sticos espec\u00edficos para soporte, incluyendo filtrados (incluyendo Service Request Data Collection )<\/li><li>Gestionar logs de base de datos. Configuraci\u00f3n de autopurge!<\/li><li>Notificaciones por email<\/li><li>Incident Packaging Service<\/li><li>Enmascaramiento de datos sensibles<\/li><\/ul>\n<!-- \/wp:list -->\n\n<!-- wp:paragraph -->\n<p><strong>Consideraciones previas a la instalaci\u00f3n de TFA<\/strong><\/p>\n<!-- \/wp:paragraph -->\n\n<!-- wp:paragraph -->\n<p>Una de las dudas que se nos plantea en primera instancia es cu\u00e1nto podr\u00eda penalizar en nuestro servidor. El consumo de recursos es muy bajo, pudiendo aumentar de forma considerable en los siguientes casos:<\/p>\n<!-- \/wp:paragraph -->\n\n<!-- wp:list -->\n<ul><li>Cuando est\u00e1 inventariando los ficheros de diagn\u00f3stico<\/li><li>Cuando est\u00e1 realizando un diagn\u00f3stico.<\/li><\/ul>\n<!-- \/wp:list -->\n\n<!-- wp:paragraph -->\n<p>Tenemos dos posibles opciones de instalaci\u00f3n:<\/p>\n<!-- \/wp:paragraph -->\n\n<!-- wp:paragraph -->\n<p><strong>Modo daemon<\/strong><\/p>\n<!-- \/wp:paragraph -->\n\n<!-- wp:list -->\n<ul><li>Configurada como root (recomendada sobre todo para RAC)<\/li><li> Instalada en todos los nodos<\/li><li> Descubre de forma autom\u00e1tica el software de Oracle y Storage Servers de Exadata<\/li><li> Comienza a monitorizar de forma autom\u00e1tica<\/li><\/ul>\n<!-- \/wp:list -->\n\n<!-- wp:paragraph -->\n<p><strong>Modo no daemon<\/strong><\/p>\n<!-- \/wp:paragraph -->\n\n<!-- wp:list -->\n<ul><li>Solo corre en el servidor sobre el que se instala <\/li><li>No recopila informaci\u00f3n autom\u00e1ticamente<\/li><li>No recopila informaci\u00f3n sobre el resto de los servidores<\/li><li>No recopila informaci\u00f3n sobre ficheros que no sean propiedad del usuario que lo instala (especial atenci\u00f3n si tenemos separaci\u00f3n de roles)<\/li><\/ul>\n<!-- \/wp:list -->\n\n<!-- wp:paragraph -->\n<p>Oracle TFA est\u00e1 configurado por defecto como parte de la GI cuando ejecutamos root.sh o rootupgrade.sh.<\/p>\n<!-- \/wp:paragraph -->\n\n<!-- wp:paragraph -->\n<p>Los directorios donde reside cuando forma parte de la GI son:<\/p>\n<!-- \/wp:paragraph -->\n\n<!-- wp:list -->\n<ul><li>GRID_HOME\/tfa: ejecutables y ficheros de configuraci\u00f3n.<\/li><li>ORACLE_BASE\/tfa: logs y ficheros de metadata.<\/li><\/ul>\n<!-- \/wp:list -->\n\n<!-- wp:paragraph -->\n<p>Como buena pr\u00e1ctica Oracle recomienda actualizarlo cada 6 meses. Es muy interesante tenerlo ubicado en un directorio que tengamos controlado, desvinculado del home de la grid, y hayamos definido siguiendo los est\u00e1ndares de nuestra plataforma (homogeneizaci\u00f3n de entornos), por lo que aprovechando la actualizaci\u00f3n inicial propongo eliminar la instalaci\u00f3n de TFA y hacer una instalaci\u00f3n limpia.<\/p>\n<!-- \/wp:paragraph -->\n\n<!-- wp:paragraph -->\n<p>Hacemos \u00e9sto para tener \u00fanicamente una instancia de TFA desplegada y controlada en el directorio que hayamos definido.<\/p>\n<!-- \/wp:paragraph -->\n\n<!-- wp:paragraph -->\n<p>Si por el contrario la que se quiere mantener es la original que viene definida en el home de la GI el script de instalaci\u00f3n realizar\u00e1 un upgrade de \u00e9sta. A gusto del consumidor.<\/p>\n<!-- \/wp:paragraph -->\n\n<!-- wp:paragraph -->\n<p>Si ya os he convencido para sacar partido de esta herramienta pong\u00e1monos manos a la obra, si a\u00fan no lo he conseguido recomiendo releer el p\u00e1rrafo anterior relativo a los beneficios que nos aporta :)<\/p>\n<!-- \/wp:paragraph -->\n\n<!-- wp:paragraph -->\n<p>Manos a la obra!<\/p>\n<!-- \/wp:paragraph -->\n\n<!-- wp:paragraph -->\n<p><strong>Instalaci\u00f3n de TFA<\/strong><\/p>\n<!-- \/wp:paragraph -->\n\n<!-- wp:paragraph -->\n<p>Describo el entorno sobre el que trabajar\u00e9:<\/p>\n<!-- \/wp:paragraph -->\n\n<!-- wp:list -->\n<ul><li>Oracle RAC 2 nodos: nodo01, nodo02<\/li><li>Versi\u00f3n de Base de datos 18.6<\/li><li>Versi\u00f3n de GI 19.3<\/li><\/ul>\n<!-- \/wp:list -->\n\n<!-- wp:paragraph -->\n<p>Como primer paso procedemos a la desinstalaci\u00f3n de TFA de la GI original. El comando es:<\/p>\n<!-- \/wp:paragraph -->\n\n<!-- wp:code -->\n<pre class=\"wp-block-code\"><code>$GRID_HOME\/bin\/tfactl uninstall<\/code><\/pre>\n<!-- \/wp:code -->\n\n<!-- wp:paragraph -->\n<p>En mi caso estoy realizando la desinstalaci\u00f3n en un RAC de 2 nodos, por lo que realizaremos los pasos en ambos nodos al ser \u00e9sta local del nodo en el que se trabaja. Nota: solo la desinstalaci\u00f3n, la instalaci\u00f3n la vemos en el siguiente paso siendo lanzada desde un solo nodo y confirmando que queremos que siga con el resto de nodos :)<\/p>\n<!-- \/wp:paragraph -->\n\n<!-- wp:code -->\n<pre class=\"wp-block-code\"><code>[root@nodo01 ~]# \/u01\/app\/19.3.0\/grid\/tfa\/bin\/tfactl uninstall\nTFA will be uninstalled on nodo01 :\n\nRemoving TFA from nodo01 only\nPlease remove TFA locally on any other configured nodes\n\nNotifying Other Nodes about TFA Uninstall...\nSleeping for 10 seconds...\n\nStopping TFA Support Tools...\n\nStopping TFA in nodo01...\n\nShutting down TFA\nRemoved symlink \/etc\/systemd\/system\/multi-user.target.wants\/oracle-tfa.service.\nRemoved symlink \/etc\/systemd\/system\/graphical.target.wants\/oracle-tfa.service.\n. . . . .\n. . .\nSuccessfully shutdown TFA..\n\nTFA-00002 Oracle Trace File Analyzer (TFA) is not running\nDeleting TFA support files on nodo01:\nRemoving \/u01\/app\/oracle\/tfa\/nodo01\/database...\nRemoving \/u01\/app\/oracle\/tfa\/nodo01\/log...\nRemoving \/u01\/app\/oracle\/tfa\/nodo01\/output...\nRemoving \/u01\/app\/oracle\/tfa\/nodo01...\nRemoving \/u01\/app\/oracle\/tfa...\nRemoving \/etc\/rc.d\/rc0.d\/K17init.tfa\nRemoving \/etc\/rc.d\/rc1.d\/K17init.tfa\nRemoving \/etc\/rc.d\/rc2.d\/K17init.tfa\nRemoving \/etc\/rc.d\/rc4.d\/K17init.tfa\nRemoving \/etc\/rc.d\/rc6.d\/K17init.tfa\nRemoving \/etc\/init.d\/init.tfa...\nRemoving \/u01\/app\/19.3.0\/grid\/bin\/tfactl...\nRemoving \/u01\/app\/19.3.0\/grid\/tfa\/bin...\nRemoving \/u01\/app\/19.3.0\/grid\/tfa\/nodo01...\nRemoving \/u01\/app\/19.3.0\/grid\/tfa...\n\n \n\n [root@nodo02 ~]# \/u01\/app\/19.3.0\/grid\/tfa\/bin\/tfactl uninstall\nTFA will be uninstalled on nodo02 :\n\nRemoving TFA from nodo02...\n\nStopping TFA Support Tools...\n\nStopping TFA in nodo02...\n\nShutting down TFA\nRemoved symlink \/etc\/systemd\/system\/multi-user.target.wants\/oracle-tfa.service.\nRemoved symlink \/etc\/systemd\/system\/graphical.target.wants\/oracle-tfa.service.\n. . . . .\n. . .\nSuccessfully shutdown TFA..\n\nTFA-00002 Oracle Trace File Analyzer (TFA) is not running\nDeleting TFA support files on nodo02:\nRemoving \/u01\/app\/oracle\/tfa\/nodo02\/database...\nRemoving \/u01\/app\/oracle\/tfa\/nodo02\/log...\nRemoving \/u01\/app\/oracle\/tfa\/nodo02\/output...\nRemoving \/u01\/app\/oracle\/tfa\/nodo02...\nRemoving \/u01\/app\/oracle\/tfa...\nRemoving \/etc\/rc.d\/rc0.d\/K17init.tfa\nRemoving \/etc\/rc.d\/rc1.d\/K17init.tfa\nRemoving \/etc\/rc.d\/rc2.d\/K17init.tfa\nRemoving \/etc\/rc.d\/rc4.d\/K17init.tfa\nRemoving \/etc\/rc.d\/rc6.d\/K17init.tfa\nRemoving \/etc\/init.d\/init.tfa...\nRemoving \/u01\/app\/19.3.0\/grid\/bin\/tfactl...\nRemoving \/u01\/app\/19.3.0\/grid\/tfa\/bin...\nRemoving \/u01\/app\/19.3.0\/grid\/tfa\/nodo02...\nRemoving \/u01\/app\/19.3.0\/grid\/tfa...<\/code><\/pre>\n<!-- \/wp:code -->\n\n<!-- wp:paragraph -->\n<p>Para proceder con la instalaci\u00f3n descargaremos la \u00faltima versi\u00f3n de TFA (TFA Collector - TFA with Database Support Tools Bundle (Doc ID 1513912.1) ), en el caso que aplica versi\u00f3n 19.2.1.0.0 <\/p>\n<!-- \/wp:paragraph -->\n\n<!-- wp:paragraph -->\n<p>Una vez la hemos descargado crearemos el directorio en el que queramos centralizar la herramienta en ambos nodos:<\/p>\n<!-- \/wp:paragraph -->\n\n<!-- wp:code -->\n<pre class=\"wp-block-code\"><code>[root@nodo01 ~]# mkdir \/u01\/tools\/tfa<\/code><\/pre>\n<!-- \/wp:code -->\n\n<!-- wp:paragraph -->\n<p>Descomprimimos la versi\u00f3n que descargamos en el paso anterior:<\/p>\n<!-- \/wp:paragraph -->\n\n<!-- wp:code -->\n<pre class=\"wp-block-code\"><code>[root@nodo01 tfa]# unzip TFA-LINUX_v19.2.1.zip\nArchive: TFA-LINUX_v19.2.1.zip\ninflating: README.txt\ninflating: installTFA-LINUX<\/code><\/pre>\n<!-- \/wp:code -->\n\n<!-- wp:paragraph -->\n<p>Y procedemos a la instalaci\u00f3n:<\/p>\n<!-- \/wp:paragraph -->\n\n<!-- wp:code -->\n<pre class=\"wp-block-code\"><code>[root@nodo01 tfa]# .\/installTFA-LINUX\n\nTFA Installation Log will be written to File : \/tmp\/tfa_install_16340_2019_07_15-11_50_12.log\n\nStarting TFA installation\n\nTFA Version: 192100 Build Date: 201904251105\n\nEnter a location for installing TFA (\/tfa will be appended if not supplied) [\/u01\/tools\/tfa]:\n\/u01\/tools\/tfa\n\nRunning Auto Setup for TFA as user root...\n\nWould you like to do a [L]ocal only or [C]lusterwide installation ? [L|l|C|c] [C] : C\n\nThe following installation requires temporary use of SSH.\nIf SSH is not configured already then we will remove SSH\nwhen complete.\nDo you wish to Continue ? [Y|y|N|n] [Y] Y\nInstalling TFA now...\n\nDiscovering Nodes and Oracle resources\n\nStarting Discovery...\n\n \n\nGetting list of nodes in cluster . . . . .\n\nList of nodes in cluster:\nnodo01\nnodo02\n\n \n\nChecking ssh user equivalency settings on all nodes in cluster\n\nNode nodo02 is configured for ssh user equivalency for root user\n\nCRS_HOME=\/u01\/app\/19.3.0\/grid\n\nSearching for running databases...\n1. cdbpro\n\n \n\nSearching out ORACLE_HOME for selected databases...\n\n \n\nGetting Oracle Inventory...\n\nORACLE INVENTORY: \/u01\/app\/oraInventory\n\n \n\nDiscovery Complete...\n\n \n\nTFA Will be Installed on the Following Nodes:\n++++++++++++++++++++++++++++++++++++++++++++\n\nInstall Nodes\n=============\nnodo01\nnodo02\n\nDo you wish to make changes to the Node List ? [Y\/y\/N\/n] [N] N\n\nTFA will scan the following Directories\n++++++++++++++++++++++++++++++++++++++++++++\n\n.--------------------------------------------------------------------------.\n| nodo01 |\n+--------------------------------------------------------------+-----------+\n| Trace Directory | Resource |\n+--------------------------------------------------------------+-----------+\n| \/u01\/app\/19.3.0\/grid\/cfgtoollogs | CFGTOOLS |\n| \/u01\/app\/19.3.0\/grid\/crs\/log | CRS |\n| \/u01\/app\/19.3.0\/grid\/css\/log | CRS |\n| \/u01\/app\/19.3.0\/grid\/evm\/admin\/logger | CRS |\n| \/u01\/app\/19.3.0\/grid\/evm\/log | CRS |\n| \/u01\/app\/19.3.0\/grid\/install | INSTALL |\n| \/u01\/app\/19.3.0\/grid\/inventory\/ContentsXML | INSTALL |\n| \/u01\/app\/19.3.0\/grid\/log | CRS |\n| \/u01\/app\/19.3.0\/grid\/network\/log | CRS |\n| \/u01\/app\/19.3.0\/grid\/opmn\/logs | CRS |\n| \/u01\/app\/19.3.0\/grid\/rdbms\/log | ASM |\n| \/u01\/app\/19.3.0\/grid\/srvm\/log | CRS |\n| \/u01\/app\/oraInventory\/ContentsXML | INSTALL |\n| \/u01\/app\/oraInventory\/logs | INSTALL |\n| \/u01\/app\/oracle\/cfgtoollogs | CFGTOOLS |\n| \/u01\/app\/oracle\/crsdata\/nodo01\/acfs | ACFS |\n| \/u01\/app\/oracle\/crsdata\/nodo01\/afd | ASM |\n| \/u01\/app\/oracle\/crsdata\/nodo01\/chad | CRS |\n| \/u01\/app\/oracle\/crsdata\/nodo01\/core | CRS |\n| \/u01\/app\/oracle\/crsdata\/nodo01\/crsconfig | CRS |\n| \/u01\/app\/oracle\/crsdata\/nodo01\/crsdiag | CRS |\n| \/u01\/app\/oracle\/crsdata\/nodo01\/cvu | CRS |\n| \/u01\/app\/oracle\/crsdata\/nodo01\/evm | CRS |\n| \/u01\/app\/oracle\/crsdata\/nodo01\/output | CRS |\n| \/u01\/app\/oracle\/crsdata\/nodo01\/trace | CRS |\n| \/u01\/app\/oracle\/diag\/apx\/+apx | ASMPROXY |\n| \/u01\/app\/oracle\/diag\/apx\/+apx\/+APX1\/cdump | ASMPROXY |\n| \/u01\/app\/oracle\/diag\/apx\/+apx\/+APX1\/trace | ASMPROXY |\n| \/u01\/app\/oracle\/diag\/asm\/+asm\/+ASM1\/cdump | ASM |\n| \/u01\/app\/oracle\/diag\/asm\/+asm\/+ASM1\/trace | ASM |\n| \/u01\/app\/oracle\/diag\/asm\/user_oracle\/host_2945644752_110\/cdu | ASMCLIENT |\n| \/u01\/app\/oracle\/diag\/asm\/user_oracle\/host_2945644752_110\/tra | ASM |\n| \/u01\/app\/oracle\/diag\/asm\/user_root\/host_2945644752_110\/cdump | ASMCLIENT |\n| \/u01\/app\/oracle\/diag\/asm\/user_root\/host_2945644752_110\/trace | ASM |\n| \/u01\/app\/oracle\/diag\/asmtool\/user_oracle\/host_2945644752_110 | ASMTOOL |\n| \/u01\/app\/oracle\/diag\/asmtool\/user_oracle\/host_2945644752_110 | ASM |\n| \/u01\/app\/oracle\/diag\/asmtool\/user_root\/host_2945644752_110\/c | ASMTOOL |\n| \/u01\/app\/oracle\/diag\/asmtool\/user_root\/host_2945644752_110\/t | ASM |\n| \/u01\/app\/oracle\/diag\/clients\/user_oracle\/host_2945644752_110 | DBCLIENT |\n| \/u01\/app\/oracle\/diag\/clients\/user_oracle\/host_2945644752_110 | DBCLIENT |\n| \/u01\/app\/oracle\/diag\/clients\/user_root\/host_2945644752_110\/c | DBCLIENT |\n| \/u01\/app\/oracle\/diag\/clients\/user_root\/host_2945644752_110\/t | DBCLIENT |\n| \/u01\/app\/oracle\/diag\/crs\/nodo01\/crs\/cdump | CRS |\n| \/u01\/app\/oracle\/diag\/crs\/nodo01\/crs\/trace | CRS |\n| \/u01\/app\/oracle\/diag\/rdbms\/cdbpro\/cdbpro1\/cdump | RDBMS |\n| \/u01\/app\/oracle\/diag\/rdbms\/cdbpro\/cdbpro1\/trace | RDBMS |\n| \/u01\/app\/oracle\/diag\/tnslsnr | TNS |\n| \/u01\/app\/oracle\/diag\/tnslsnr\/nodo01\/listener\/cdump | TNS |\n| \/u01\/app\/oracle\/diag\/tnslsnr\/nodo01\/listener\/trace | TNS |\n| \/u01\/app\/oracle\/diag\/tnslsnr\/nodo01\/listener_scan1\/c | TNS |\n| \/u01\/app\/oracle\/diag\/tnslsnr\/nodo01\/listener_scan1\/t | TNS |\n| \/u01\/app\/oracle\/product\/18.6.0\/dbhome_pro\/cfgtoollogs | CFGTOOLS |\n| \/u01\/app\/oracle\/product\/18.6.0\/dbhome_pro\/install | INSTALL |\n| xxxxx | ASM |\n| xxxxx | ASM |\n'--------------------------------------------------------------+-----------'\n\nInstalling TFA on nodo01:\nHOST: nodo01 TFA_HOME: \/u01\/tools\/tfa\/nodo01\/tfa_home\n\nInstalling TFA on nodo02:\nHOST: nodo02 TFA_HOME: \/u01\/tools\/tfa\/nodo02\/tfa_home\n\n.-----------------------------------------------------------------------------------.\n| Host | Status of TFA | PID | Port | Version | Build ID |\n+----------------+---------------+-------+------+------------+----------------------+\n| nodo01 | RUNNING | 17620 | 5000 | 19.2.1.0.0 | 19210020190425110550 |\n| nodo02 | RUNNING | 14817 | 5000 | 19.2.1.0.0 | 19210020190425110550 |\n'----------------+---------------+-------+------+------------+----------------------'\n\nRunning Inventory in All Nodes...\n\nEnabling Access for Non-root Users on nodo01...\n\nSummary of TFA Installation:\n.--------------------------------------------------------------.\n| nodo01 |\n+---------------------+----------------------------------------+\n| Parameter | Value |\n+---------------------+----------------------------------------+\n| Install location | \/u01\/tools\/tfa\/nodo01\/tfa_home |\n| Repository location | \/u01\/tools\/tfa\/repository |\n| Repository usage | 0 MB out of 10240 MB |\n'---------------------+----------------------------------------'\n\n.--------------------------------------------------------------.\n| nodo02 |\n+---------------------+----------------------------------------+\n| Parameter | Value |\n+---------------------+----------------------------------------+\n| Install location | \/u01\/tools\/tfa\/nodo02\/tfa_home |\n| Repository location | \/u01\/tools\/tfa\/repository |\n| Repository usage | 0 MB out of 10240 MB |\n'---------------------+----------------------------------------'\n\nTFA is successfully installed...\n\nUsage : \/u01\/app\/19.3.0\/grid\/bin\/tfactl &lt;command&gt; [options]\ncommands:diagcollect|collection|analyze|ips|run|start|stop|enable|disable|status|print|access|purge|directory|host|receiver|set|toolstatus|uninstall|diagnosetfa|syncnodes|setupmos|upload|availability|rest|events|search|changes|isa|blackout|rediscover\nFor detailed help on each command use:\n\/u01\/app\/19.3.0\/grid\/bin\/tfactl &lt;command&gt; -help\n<\/code><\/pre>\n<!-- \/wp:code -->\n\n<!-- wp:paragraph -->\n<p>Por defecto TFA arranca autom\u00e1ticamente una vez instalado.<\/p>\n<!-- \/wp:paragraph -->\n\n<!-- wp:paragraph -->\n<p>Y ahora s\u00ed\u2026 a jugar!<\/p>\n<!-- \/wp:paragraph -->\n\n<!-- wp:paragraph -->\n<p>Una vez hemos instalado TFA he hecho una recopilaci\u00f3n de funcionalidades m\u00e1s interesantes<\/p>\n<!-- \/wp:paragraph -->\n\n<!-- wp:paragraph -->\n<p><strong>Sacando partido a TFA<\/strong><\/p>\n<!-- \/wp:paragraph -->\n\n<!-- wp:paragraph -->\n<p>Podremos trabajar con tfactl de las siguientes maneras:<\/p>\n<!-- \/wp:paragraph -->\n\n<!-- wp:list -->\n<ul><li>Command line interface<\/li><li>Shell interface<\/li><li>Menu interface<\/li><\/ul>\n<!-- \/wp:list -->\n\n<!-- wp:paragraph -->\n<p>Os animo a probar cada una de ellas, sobretodo la interfaz de men\u00fa. Nos centraremos en la interfaz de l\u00ednea de comandos en \u00e9ste art\u00edculo.<\/p>\n<!-- \/wp:paragraph -->\n\n<!-- wp:paragraph -->\n<p><strong>Estado del sistema y cluster en tiempo real<\/strong><\/p>\n<!-- \/wp:paragraph -->\n\n<!-- wp:paragraph -->\n<p>Podremos ver un resumen del estado de todos los componentes de la base de datos, GI y CRS, pudiendo desgranar la informaci\u00f3n por un componente espec\u00edfico.<\/p>\n<!-- \/wp:paragraph -->\n\n<!-- wp:code -->\n<pre class=\"wp-block-code\"><code>[root@nodo02 ~]# tfactl summary\n\n  Executing Summary in Parallel on Following Nodes:\n    Node : nodo01\n    Node : nodo02\n\nLOGFILE LOCATION : \/u01\/tools\/tfa\/repository\/suptools\/nodo02\/summary\/root\/20190715162308\/log\/summary_command_20190715162308_nodo02_26066.log\n\n  Component Specific Summary collection :\n    - Collecting CRS details ... Done.\n    - Collecting ASM details ... Done.\n    - Collecting ACFS details ... Done.\n    - Collecting DATABASE details ... Done.\n    - Collecting PATCH details ... Done.\n    - Collecting LISTENER details ... Done.\n    - Collecting NETWORK details ... Done.\n    - Collecting OS details ... Done.\n    - Collecting TFA details ... Done.\n    - Collecting SUMMARY details ... Done.\n\n  Remote Summary Data Collection : In-Progress - Please wait ...\n  - Data Collection From Node - nodo01 .. Done.\n\n  Prepare Clusterwide Summary Overview ... Done\n      cluster_status_summary\n\n  DETAILS                                                                                             COMPONENT   STATUS\n+---------------------------------------------------------------------------------------------------+-----------+---------+\n  .-----------------------------------------------.                                                   CRS         PROBLEM\n  | CRS_SERVER_STATUS   : ONLINE                  |\n  | CRS_STATE           : ONLINE                  |\n  | CRS_INTEGRITY_CHECK : FAIL                    |\n  | CRS_RESOURCE_STATUS : OFFLINE Resources Found |\n  '-----------------------------------------------'\n  .-------------------------------------------------------.                                           ASM         PROBLEM\n  | ASM_DISK_SIZE_STATUS : WARNING - Available Size &lt; 20% |\n  | ASM_BLOCK_STATUS     : PASS                           |\n  | ASM_CHAIN_STATUS     : PASS                           |\n  | ASM_INCIDENTS        : FAIL                           |\n  | ASM_PROBLEMS         : FAIL                           |\n  '-------------------------------------------------------'\n  .-----------------------.                                                                           ACFS        OFFLINE\n  | ACFS_STATUS : OFFLINE |\n  '-----------------------'\n  .-----------------------------------------------------------------------------------------------.   DATABASE    PROBLEM\n  | ORACLE_HOME_NAME | ORACLE_HOME_DETAILS                                                        |\n  +------------------+----------------------------------------------------------------------------+\n  | OraDB18Home1     | .------------------------------------------------------------------------. |\n  |                  | | DB_BLOCKS | PROBLEMS | STATUS  | INCIDENTS | DB_CHAINS | DATABASE_NAME | |\n  |                  | +-----------+----------+---------+-----------+-----------+---------------+ |\n  |                  | | PASS      | PROBLEM  | PROBLEM | PROBLEM   | PROBLEM   | cdbpro        | |\n  |                  | '-----------+----------+---------+-----------+-----------+---------------' |\n  '------------------+----------------------------------------------------------------------------'\n  .----------------------------------------------.                                                    PATCH       OK\n  | CRS_PATCH_CONSISTENCY_ACROSS_NODES      : OK |\n  | DATABASE_PATCH_CONSISTENCY_ACROSS_NODES : OK |\n  '----------------------------------------------'\n  .-----------------------.                                                                           LISTENER    OK\n  | LISTNER_STATUS   : OK |\n  '-----------------------'\n  .---------------------------.                                                                       NETWORK     OK\n  | CLUSTER_NETWORK_STATUS :  |\n  '---------------------------'\n  .-----------------------.                                                                           OS          OK\n  | MEM_USAGE_STATUS : OK |\n  '-----------------------'\n  .----------------------.                                                                            TFA         OK\n  | TFA_STATUS : RUNNING |\n  '----------------------'\n  .------------------------------------.                                                              SUMMARY     OK\n  | SUMMARY_EXECUTION_TIME : 0H:12M:6S |\n  '------------------------------------'\n+---------------------------------------------------------------------------------------------------+-----------+---------+\n\n\n        ### Entering in to SUMMARY Command-Line Interface ###\n\ntfactl_summary&gt;list\n\n  Components : Select Component - select [component_number|component_name]\n        1 =&gt; overview\n        2 =&gt; crs_overview\n        3 =&gt; asm_overview\n        4 =&gt; acfs_overview\n        5 =&gt; database_overview\n        6 =&gt; patch_overview\n        7 =&gt; listener_overview\n        8 =&gt; network_overview\n        9 =&gt; os_overview\n        10 =&gt; tfa_overview\n        11 =&gt; summary_overview<\/code><\/pre>\n<!-- \/wp:code -->\n\n<!-- wp:paragraph -->\n<p>Por defecto las recoleccioones autom\u00e1ticas de diagn\u00f3stico est\u00e1n habilitadas. Si queremos deshabilitarlas para ejecutarlas solo bajo demanda:<\/p>\n<!-- \/wp:paragraph -->\n\n<!-- wp:code -->\n<pre class=\"wp-block-code\"><code>[root@nodo01 ~]# tfactl set autodiagcollect=OFF<\/code><\/pre>\n<!-- \/wp:code -->\n\n<!-- wp:paragraph -->\n<p><strong>Env\u00edo de notificaciones por email<\/strong><\/p>\n<!-- \/wp:paragraph -->\n\n<!-- wp:code -->\n<pre class=\"wp-block-code\"><code>[root@nodo01 ~]# tfactl set notificationAddress=direccion@email.com<\/code><\/pre>\n<!-- \/wp:code -->\n\n<!-- wp:paragraph -->\n<p><strong>Investigar y analizar logs<\/strong><\/p>\n<!-- \/wp:paragraph -->\n\n<!-- wp:paragraph -->\n<p>Podemos centrar el an\u00e1lisis de logs en un periodo de tiempo o incluso en un incidente concreto<\/p>\n<!-- \/wp:paragraph -->\n\n<!-- wp:code -->\n<pre class=\"wp-block-code\"><code>[root@nodo01 ~]# tfactl analyze \u2013last 3d\n[root@nodo01 ~]# tfactl analyze -search \u201cORA-27468\" -last 1h<\/code><\/pre>\n<!-- \/wp:code -->\n\n<!-- wp:paragraph -->\n<p><strong>Purgado autom\u00e1tico de logs<\/strong><\/p>\n<!-- \/wp:paragraph -->\n\n<!-- wp:paragraph -->\n<p>Por defecto viene deshabilitado. Podremos habilitarlo y establecer las pol\u00edticas de borrado en rangos de d\u00edas u horas.<\/p>\n<!-- \/wp:paragraph -->\n\n<!-- wp:paragraph -->\n<p>Los siguiente comandos habilitar\u00edan la ejecuci\u00f3n del purgado cada 120 minutos, borrando logs con antiguedad superior a 1 d\u00eda:<\/p>\n<!-- \/wp:paragraph -->\n\n<!-- wp:code -->\n<pre class=\"wp-block-code\"><code>[root@nodo01 ~]# tfactl set manageLogsAutoPurge=ON\n[root@nodo01 ~]# tfactl set manageLogsAutoPurgePolicyAge=1d\n[root@nodo01 ~]# tfactl set manageLogsAutoPurgeInterval=120<\/code><\/pre>\n<!-- \/wp:code -->\n\n<!-- wp:paragraph -->\n<p><strong>Purgado manual de logs<\/strong><\/p>\n<!-- \/wp:paragraph -->\n\n<!-- wp:paragraph -->\n<p>Es ejecutado con el owner del home de ADR, por lo que solo borrar\u00e1 aquellos ficheros sobre los que tenga permisos.<\/p>\n<!-- \/wp:paragraph -->\n\n<!-- wp:paragraph -->\n<p>En la siguiente secuencia de comandos mostrar\u00edamos la ocupaci\u00f3n de los ficheros de logs, cuanto ha variado en los ultimos 7 d\u00edas, que va a realizar el comando de purgado y finalmente borrariamos.<\/p>\n<!-- \/wp:paragraph -->\n\n<!-- wp:code -->\n<pre class=\"wp-block-code\"><code>tfactl managelogs \u2013show usage\ntfactl managelogs \u2013show variation \u2013older 7d\ntfactl managelogs \u2013purge \u2013older 7d -dryrun \ntfactl managelogs \u2013purge \u2013older 7d<\/code><\/pre>\n<!-- \/wp:code -->\n\n<!-- wp:paragraph -->\n<p><strong>Enmascaramiento de datos sensibles<\/strong><\/p>\n<!-- \/wp:paragraph -->\n\n<!-- wp:paragraph -->\n<p>TFA nos permite enmascarar datos sensibles como hostnames o direcciones IP. Para ello deberiamos crear un fichero en tfa_home\/resources\/mask_strings.xml en cada nodo con informaci\u00f3n como \u00e9sta:<\/p>\n<!-- \/wp:paragraph -->\n\n<!-- wp:code -->\n<pre class=\"wp-block-code\"><code>&lt;mask_strings&gt;\n&lt;mask_string&gt;\n&lt;original&gt;nodoproduccin&lt;\/original&gt;\n&lt;replacement&gt;nodoenmascarado&lt;\/replacement&gt;\n&lt;\/mask_string&gt;\n&lt;mask_string&gt;\n&lt;original&gt;192.168.134.123&lt;\/original&gt;\n&lt;replacement&gt;nodoenmascarado-IP&lt;\/replacement&gt;\n&lt;\/mask_string&gt;\n&lt;\/mask_strings&gt;<\/code><\/pre>\n<!-- \/wp:code -->\n\n<!-- wp:paragraph -->\n<p><\/p>\n<!-- \/wp:paragraph -->","_et_gb_content_width":"","_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":false,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"_jetpack_feature_clip_id":0,"_jetpack_memberships_contains_paid_content":false,"footnotes":"","jetpack_publicize_message":"","jetpack_publicize_feature_enabled":true,"jetpack_social_post_already_shared":true,"jetpack_social_options":{"image_generator_settings":{"template":"highway","default_image_id":0,"font":"","enabled":false},"version":2},"jetpack_post_was_ever_published":false},"categories":[62],"tags":[418,416],"class_list":["post-9619","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-oracle","tag-diagnostics","tag-tfa"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.8 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Sacando partido a TFA - Arumel<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"http:\/\/arumel.com\/es\/sacando-partido-a-tfa\/\" \/>\n<meta property=\"og:locale\" content=\"es_ES\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Sacando partido a TFA - Arumel\" \/>\n<meta property=\"og:description\" content=\"Instalaci\u00f3n y beneficios del uso de TFA como herramienta de diagn\u00f3stico y healkth check\" \/>\n<meta property=\"og:url\" content=\"http:\/\/arumel.com\/es\/sacando-partido-a-tfa\/\" \/>\n<meta property=\"og:site_name\" content=\"Arumel\" \/>\n<meta property=\"article:published_time\" content=\"2019-07-24T16:02:42+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2019-07-25T12:30:28+00:00\" \/>\n<meta property=\"og:image\" content=\"http:\/\/arumel.com\/wp-content\/uploads\/2019\/07\/ilustracion.sxsbandin.rodaballo-1024x749.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"1024\" \/>\n\t<meta property=\"og:image:height\" content=\"749\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"author\" content=\"Carla Mu\u00f1oz L\u00f3pez\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Escrito por\" \/>\n\t<meta name=\"twitter:data1\" content=\"Carla Mu\u00f1oz L\u00f3pez\" \/>\n\t<meta name=\"twitter:label2\" content=\"Tiempo de lectura\" \/>\n\t<meta name=\"twitter:data2\" content=\"15 minutos\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"http:\\\/\\\/arumel.com\\\/es\\\/sacando-partido-a-tfa\\\/#article\",\"isPartOf\":{\"@id\":\"http:\\\/\\\/arumel.com\\\/es\\\/sacando-partido-a-tfa\\\/\"},\"author\":{\"name\":\"Carla Mu\u00f1oz L\u00f3pez\",\"@id\":\"http:\\\/\\\/arumel.com\\\/#\\\/schema\\\/person\\\/ad6b4e40f9cf337835a3c478b69e425d\"},\"headline\":\"Sacando partido a TFA\",\"datePublished\":\"2019-07-24T16:02:42+00:00\",\"dateModified\":\"2019-07-25T12:30:28+00:00\",\"mainEntityOfPage\":{\"@id\":\"http:\\\/\\\/arumel.com\\\/es\\\/sacando-partido-a-tfa\\\/\"},\"wordCount\":1398,\"commentCount\":0,\"image\":{\"@id\":\"http:\\\/\\\/arumel.com\\\/es\\\/sacando-partido-a-tfa\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/i0.wp.com\\\/arumel.com\\\/wp-content\\\/uploads\\\/2019\\\/07\\\/ilustracion.sxsbandin.rodaballo.jpg?fit=2391%2C1748&ssl=1\",\"keywords\":[\"diagnostics\",\"tfa\"],\"articleSection\":[\"Oracle\"],\"inLanguage\":\"es\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"http:\\\/\\\/arumel.com\\\/es\\\/sacando-partido-a-tfa\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"http:\\\/\\\/arumel.com\\\/es\\\/sacando-partido-a-tfa\\\/\",\"url\":\"http:\\\/\\\/arumel.com\\\/es\\\/sacando-partido-a-tfa\\\/\",\"name\":\"Sacando partido a TFA - Arumel\",\"isPartOf\":{\"@id\":\"http:\\\/\\\/arumel.com\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"http:\\\/\\\/arumel.com\\\/es\\\/sacando-partido-a-tfa\\\/#primaryimage\"},\"image\":{\"@id\":\"http:\\\/\\\/arumel.com\\\/es\\\/sacando-partido-a-tfa\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/i0.wp.com\\\/arumel.com\\\/wp-content\\\/uploads\\\/2019\\\/07\\\/ilustracion.sxsbandin.rodaballo.jpg?fit=2391%2C1748&ssl=1\",\"datePublished\":\"2019-07-24T16:02:42+00:00\",\"dateModified\":\"2019-07-25T12:30:28+00:00\",\"author\":{\"@id\":\"http:\\\/\\\/arumel.com\\\/#\\\/schema\\\/person\\\/ad6b4e40f9cf337835a3c478b69e425d\"},\"breadcrumb\":{\"@id\":\"http:\\\/\\\/arumel.com\\\/es\\\/sacando-partido-a-tfa\\\/#breadcrumb\"},\"inLanguage\":\"es\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"http:\\\/\\\/arumel.com\\\/es\\\/sacando-partido-a-tfa\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"es\",\"@id\":\"http:\\\/\\\/arumel.com\\\/es\\\/sacando-partido-a-tfa\\\/#primaryimage\",\"url\":\"https:\\\/\\\/i0.wp.com\\\/arumel.com\\\/wp-content\\\/uploads\\\/2019\\\/07\\\/ilustracion.sxsbandin.rodaballo.jpg?fit=2391%2C1748&ssl=1\",\"contentUrl\":\"https:\\\/\\\/i0.wp.com\\\/arumel.com\\\/wp-content\\\/uploads\\\/2019\\\/07\\\/ilustracion.sxsbandin.rodaballo.jpg?fit=2391%2C1748&ssl=1\",\"width\":2391,\"height\":1748},{\"@type\":\"BreadcrumbList\",\"@id\":\"http:\\\/\\\/arumel.com\\\/es\\\/sacando-partido-a-tfa\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Portada\",\"item\":\"https:\\\/\\\/arumel.com\\\/es\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Sacando partido a TFA\"}]},{\"@type\":\"WebSite\",\"@id\":\"http:\\\/\\\/arumel.com\\\/#website\",\"url\":\"http:\\\/\\\/arumel.com\\\/\",\"name\":\"Arumel\",\"description\":\"Outro sitio WordPress m\u00e1is\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"http:\\\/\\\/arumel.com\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"es\"},{\"@type\":\"Person\",\"@id\":\"http:\\\/\\\/arumel.com\\\/#\\\/schema\\\/person\\\/ad6b4e40f9cf337835a3c478b69e425d\",\"name\":\"Carla Mu\u00f1oz L\u00f3pez\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"es\",\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/c34c1c226ea43a0f2cb28cb8f651067a07412b928f194304d39b31df68a0342c?s=96&d=mm&r=g\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/c34c1c226ea43a0f2cb28cb8f651067a07412b928f194304d39b31df68a0342c?s=96&d=mm&r=g\",\"contentUrl\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/c34c1c226ea43a0f2cb28cb8f651067a07412b928f194304d39b31df68a0342c?s=96&d=mm&r=g\",\"caption\":\"Carla Mu\u00f1oz L\u00f3pez\"},\"sameAs\":[\"www.linkedin.com\\\/in\\\/carla-munoz-lopez\"],\"url\":\"https:\\\/\\\/arumel.com\\\/es\\\/author\\\/carla\\\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Sacando partido a TFA - Arumel","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":"http:\/\/arumel.com\/es\/sacando-partido-a-tfa\/","og_locale":"es_ES","og_type":"article","og_title":"Sacando partido a TFA - Arumel","og_description":"Instalaci\u00f3n y beneficios del uso de TFA como herramienta de diagn\u00f3stico y healkth check","og_url":"http:\/\/arumel.com\/es\/sacando-partido-a-tfa\/","og_site_name":"Arumel","article_published_time":"2019-07-24T16:02:42+00:00","article_modified_time":"2019-07-25T12:30:28+00:00","og_image":[{"width":1024,"height":749,"url":"http:\/\/arumel.com\/wp-content\/uploads\/2019\/07\/ilustracion.sxsbandin.rodaballo-1024x749.jpg","type":"image\/jpeg"}],"author":"Carla Mu\u00f1oz L\u00f3pez","twitter_card":"summary_large_image","twitter_misc":{"Escrito por":"Carla Mu\u00f1oz L\u00f3pez","Tiempo de lectura":"15 minutos"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"http:\/\/arumel.com\/es\/sacando-partido-a-tfa\/#article","isPartOf":{"@id":"http:\/\/arumel.com\/es\/sacando-partido-a-tfa\/"},"author":{"name":"Carla Mu\u00f1oz L\u00f3pez","@id":"http:\/\/arumel.com\/#\/schema\/person\/ad6b4e40f9cf337835a3c478b69e425d"},"headline":"Sacando partido a TFA","datePublished":"2019-07-24T16:02:42+00:00","dateModified":"2019-07-25T12:30:28+00:00","mainEntityOfPage":{"@id":"http:\/\/arumel.com\/es\/sacando-partido-a-tfa\/"},"wordCount":1398,"commentCount":0,"image":{"@id":"http:\/\/arumel.com\/es\/sacando-partido-a-tfa\/#primaryimage"},"thumbnailUrl":"https:\/\/i0.wp.com\/arumel.com\/wp-content\/uploads\/2019\/07\/ilustracion.sxsbandin.rodaballo.jpg?fit=2391%2C1748&ssl=1","keywords":["diagnostics","tfa"],"articleSection":["Oracle"],"inLanguage":"es","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["http:\/\/arumel.com\/es\/sacando-partido-a-tfa\/#respond"]}]},{"@type":"WebPage","@id":"http:\/\/arumel.com\/es\/sacando-partido-a-tfa\/","url":"http:\/\/arumel.com\/es\/sacando-partido-a-tfa\/","name":"Sacando partido a TFA - Arumel","isPartOf":{"@id":"http:\/\/arumel.com\/#website"},"primaryImageOfPage":{"@id":"http:\/\/arumel.com\/es\/sacando-partido-a-tfa\/#primaryimage"},"image":{"@id":"http:\/\/arumel.com\/es\/sacando-partido-a-tfa\/#primaryimage"},"thumbnailUrl":"https:\/\/i0.wp.com\/arumel.com\/wp-content\/uploads\/2019\/07\/ilustracion.sxsbandin.rodaballo.jpg?fit=2391%2C1748&ssl=1","datePublished":"2019-07-24T16:02:42+00:00","dateModified":"2019-07-25T12:30:28+00:00","author":{"@id":"http:\/\/arumel.com\/#\/schema\/person\/ad6b4e40f9cf337835a3c478b69e425d"},"breadcrumb":{"@id":"http:\/\/arumel.com\/es\/sacando-partido-a-tfa\/#breadcrumb"},"inLanguage":"es","potentialAction":[{"@type":"ReadAction","target":["http:\/\/arumel.com\/es\/sacando-partido-a-tfa\/"]}]},{"@type":"ImageObject","inLanguage":"es","@id":"http:\/\/arumel.com\/es\/sacando-partido-a-tfa\/#primaryimage","url":"https:\/\/i0.wp.com\/arumel.com\/wp-content\/uploads\/2019\/07\/ilustracion.sxsbandin.rodaballo.jpg?fit=2391%2C1748&ssl=1","contentUrl":"https:\/\/i0.wp.com\/arumel.com\/wp-content\/uploads\/2019\/07\/ilustracion.sxsbandin.rodaballo.jpg?fit=2391%2C1748&ssl=1","width":2391,"height":1748},{"@type":"BreadcrumbList","@id":"http:\/\/arumel.com\/es\/sacando-partido-a-tfa\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Portada","item":"https:\/\/arumel.com\/es\/"},{"@type":"ListItem","position":2,"name":"Sacando partido a TFA"}]},{"@type":"WebSite","@id":"http:\/\/arumel.com\/#website","url":"http:\/\/arumel.com\/","name":"Arumel","description":"Outro sitio WordPress m\u00e1is","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"http:\/\/arumel.com\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"es"},{"@type":"Person","@id":"http:\/\/arumel.com\/#\/schema\/person\/ad6b4e40f9cf337835a3c478b69e425d","name":"Carla Mu\u00f1oz L\u00f3pez","image":{"@type":"ImageObject","inLanguage":"es","@id":"https:\/\/secure.gravatar.com\/avatar\/c34c1c226ea43a0f2cb28cb8f651067a07412b928f194304d39b31df68a0342c?s=96&d=mm&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/c34c1c226ea43a0f2cb28cb8f651067a07412b928f194304d39b31df68a0342c?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/c34c1c226ea43a0f2cb28cb8f651067a07412b928f194304d39b31df68a0342c?s=96&d=mm&r=g","caption":"Carla Mu\u00f1oz L\u00f3pez"},"sameAs":["www.linkedin.com\/in\/carla-munoz-lopez"],"url":"https:\/\/arumel.com\/es\/author\/carla\/"}]}},"jetpack_publicize_connections":[],"jetpack_sharing_enabled":true,"jetpack_shortlink":"https:\/\/wp.me\/p9uvW6-2v9","jetpack_likes_enabled":true,"jetpack-related-posts":[{"id":9720,"url":"https:\/\/arumel.com\/es\/aviso-de-incidencia-a-por-ella\/","url_meta":{"origin":9619,"position":0},"title":"Aviso de incidencia? A por ella","author":"Carla Mu\u00f1oz L\u00f3pez","date":"6 de agosto de 2019","format":false,"excerpt":" A la hora de abordar una incidencia, tanto por indisponibilidad del servicio como por rendimiento, lo importante es la rapidez y eficiencia. Oracle en ese sentido nos lo facilita con una serie de herramientas que\u2026","rel":"","context":"En &quot;Oracle&quot;","block_context":{"text":"Oracle","link":"https:\/\/arumel.com\/es\/oracle\/"},"img":{"alt_text":"","src":"https:\/\/i0.wp.com\/arumel.com\/wp-content\/uploads\/2019\/07\/ilustracion.sxsbandin.cervo_.jpg?fit=1200%2C1057&ssl=1&resize=350%2C200","width":350,"height":200,"srcset":"https:\/\/i0.wp.com\/arumel.com\/wp-content\/uploads\/2019\/07\/ilustracion.sxsbandin.cervo_.jpg?fit=1200%2C1057&ssl=1&resize=350%2C200 1x, https:\/\/i0.wp.com\/arumel.com\/wp-content\/uploads\/2019\/07\/ilustracion.sxsbandin.cervo_.jpg?fit=1200%2C1057&ssl=1&resize=525%2C300 1.5x, https:\/\/i0.wp.com\/arumel.com\/wp-content\/uploads\/2019\/07\/ilustracion.sxsbandin.cervo_.jpg?fit=1200%2C1057&ssl=1&resize=700%2C400 2x, https:\/\/i0.wp.com\/arumel.com\/wp-content\/uploads\/2019\/07\/ilustracion.sxsbandin.cervo_.jpg?fit=1200%2C1057&ssl=1&resize=1050%2C600 3x"},"classes":[]},{"id":7231,"url":"https:\/\/arumel.com\/es\/bug-rconfig-ao-converter-unha-bd-10g-single-instance-rac-sobre-grid-infrastructure-11gr2\/","url_meta":{"origin":9619,"position":1},"title":"Bug rconfig al convertir una BD 10g single instance a RAC sobre Grid Infrastructure 11gR2","author":"Alberto Pereiro","date":"11 de marzo de 2016","format":false,"excerpt":"\u00a0 \u00a0","rel":"","context":"En &quot;Oracle&quot;","block_context":{"text":"Oracle","link":"https:\/\/arumel.com\/es\/oracle\/"},"img":{"alt_text":"","src":"https:\/\/i0.wp.com\/arumel.com\/wp-content\/uploads\/2016\/11\/photo-1455539002418-a4cd5aa3ec04.jpg?fit=1200%2C563&ssl=1&resize=350%2C200","width":350,"height":200,"srcset":"https:\/\/i0.wp.com\/arumel.com\/wp-content\/uploads\/2016\/11\/photo-1455539002418-a4cd5aa3ec04.jpg?fit=1200%2C563&ssl=1&resize=350%2C200 1x, https:\/\/i0.wp.com\/arumel.com\/wp-content\/uploads\/2016\/11\/photo-1455539002418-a4cd5aa3ec04.jpg?fit=1200%2C563&ssl=1&resize=525%2C300 1.5x, https:\/\/i0.wp.com\/arumel.com\/wp-content\/uploads\/2016\/11\/photo-1455539002418-a4cd5aa3ec04.jpg?fit=1200%2C563&ssl=1&resize=700%2C400 2x, https:\/\/i0.wp.com\/arumel.com\/wp-content\/uploads\/2016\/11\/photo-1455539002418-a4cd5aa3ec04.jpg?fit=1200%2C563&ssl=1&resize=1050%2C600 3x"},"classes":[]},{"id":8954,"url":"https:\/\/arumel.com\/es\/oracle-18c-zero-impact-patching-grid-infrastructure-clusterware-asm\/","url_meta":{"origin":9619,"position":2},"title":"Oracle 18c &#8211; \u00abZero Impact Patching\u00bb para Grid Infrastructure (Clusterware + ASM)","author":"Alberto Pereiro","date":"1 de marzo de 2018","format":false,"excerpt":"","rel":"","context":"En &quot;Oracle&quot;","block_context":{"text":"Oracle","link":"https:\/\/arumel.com\/es\/oracle\/"},"img":{"alt_text":"","src":"https:\/\/i0.wp.com\/arumel.com\/wp-content\/uploads\/2018\/03\/anoitecer-e1519906558263.jpg?fit=1200%2C570&ssl=1&resize=350%2C200","width":350,"height":200,"srcset":"https:\/\/i0.wp.com\/arumel.com\/wp-content\/uploads\/2018\/03\/anoitecer-e1519906558263.jpg?fit=1200%2C570&ssl=1&resize=350%2C200 1x, https:\/\/i0.wp.com\/arumel.com\/wp-content\/uploads\/2018\/03\/anoitecer-e1519906558263.jpg?fit=1200%2C570&ssl=1&resize=525%2C300 1.5x, https:\/\/i0.wp.com\/arumel.com\/wp-content\/uploads\/2018\/03\/anoitecer-e1519906558263.jpg?fit=1200%2C570&ssl=1&resize=700%2C400 2x, https:\/\/i0.wp.com\/arumel.com\/wp-content\/uploads\/2018\/03\/anoitecer-e1519906558263.jpg?fit=1200%2C570&ssl=1&resize=1050%2C600 3x"},"classes":[]},{"id":8968,"url":"https:\/\/arumel.com\/eu\/oracle-18c-zero-impact-patching-grid-infrastructure-clusterware-asm\/","url_meta":{"origin":9619,"position":3},"title":"Oracle 18c &#8211; \u00abZero Impact Patching\u00bb para Grid Infrastructure (Clusterware + ASM)","author":"Alberto Pereiro","date":"1 de marzo de 2018","format":false,"excerpt":"","rel":"","context":"En &quot;Oracle&quot;","block_context":{"text":"Oracle","link":"https:\/\/arumel.com\/eu\/oracle-eu\/"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":8964,"url":"https:\/\/arumel.com\/oracle-18c-zero-impact-patching-grid-infrastructure-clusterware-asm\/","url_meta":{"origin":9619,"position":4},"title":"Oracle 18c &#8211; \u00abZero Impact Patching\u00bb para Grid Infrastructure (Clusterware + ASM)","author":"Alberto Pereiro","date":"1 de marzo de 2018","format":false,"excerpt":"","rel":"","context":"Entrada similar","block_context":{"text":"Entrada similar","link":""},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":8962,"url":"https:\/\/arumel.com\/ca\/oracle-18c-zero-impact-patching-grid-infrastructure-clusterware-asm\/","url_meta":{"origin":9619,"position":5},"title":"Oracle 18c &#8211; \u00abZero Impact Patching\u00bb para Grid Infrastructure (Clusterware + ASM)","author":"Alberto Pereiro","date":"1 de marzo de 2018","format":false,"excerpt":"","rel":"","context":"En &quot;Oracle&quot;","block_context":{"text":"Oracle","link":"https:\/\/arumel.com\/ca\/oracle-ca\/"},"img":{"alt_text":"","src":"https:\/\/i0.wp.com\/arumel.com\/wp-content\/uploads\/2018\/03\/anoitecer-e1519907475351.jpg?fit=1200%2C570&ssl=1&resize=350%2C200","width":350,"height":200,"srcset":"https:\/\/i0.wp.com\/arumel.com\/wp-content\/uploads\/2018\/03\/anoitecer-e1519907475351.jpg?fit=1200%2C570&ssl=1&resize=350%2C200 1x, https:\/\/i0.wp.com\/arumel.com\/wp-content\/uploads\/2018\/03\/anoitecer-e1519907475351.jpg?fit=1200%2C570&ssl=1&resize=525%2C300 1.5x, https:\/\/i0.wp.com\/arumel.com\/wp-content\/uploads\/2018\/03\/anoitecer-e1519907475351.jpg?fit=1200%2C570&ssl=1&resize=700%2C400 2x, https:\/\/i0.wp.com\/arumel.com\/wp-content\/uploads\/2018\/03\/anoitecer-e1519907475351.jpg?fit=1200%2C570&ssl=1&resize=1050%2C600 3x"},"classes":[]}],"jetpack_featured_media_url":"https:\/\/i0.wp.com\/arumel.com\/wp-content\/uploads\/2019\/07\/ilustracion.sxsbandin.rodaballo.jpg?fit=2391%2C1748&ssl=1","_links":{"self":[{"href":"https:\/\/arumel.com\/es\/wp-json\/wp\/v2\/posts\/9619","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/arumel.com\/es\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/arumel.com\/es\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/arumel.com\/es\/wp-json\/wp\/v2\/users\/13"}],"replies":[{"embeddable":true,"href":"https:\/\/arumel.com\/es\/wp-json\/wp\/v2\/comments?post=9619"}],"version-history":[{"count":53,"href":"https:\/\/arumel.com\/es\/wp-json\/wp\/v2\/posts\/9619\/revisions"}],"predecessor-version":[{"id":9703,"href":"https:\/\/arumel.com\/es\/wp-json\/wp\/v2\/posts\/9619\/revisions\/9703"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/arumel.com\/es\/wp-json\/wp\/v2\/media\/9578"}],"wp:attachment":[{"href":"https:\/\/arumel.com\/es\/wp-json\/wp\/v2\/media?parent=9619"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/arumel.com\/es\/wp-json\/wp\/v2\/categories?post=9619"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/arumel.com\/es\/wp-json\/wp\/v2\/tags?post=9619"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}