If you have installed Grid Infrastructure 12.1.0.2 you will notice that TFA is already included  there, and actually TFA started to be included since Oracle GI 11.2.0.4. The version that come with GI 12.1.0.2 is 12.1.2.0.0 as you can see below:

[root@rac1 ~]# /u01/app/12.1.0/grid/tfa/bin/tfactl print config
.------------------------------------------------------.
| rac1                                                 |
+-----------------------------------------+------------+
| Configuration Parameter                 |   Value    |
+-----------------------------------------+------------+
| TFA version                             | 12.1.2.0.0 |
| Automatic diagnostic collection         | OFF        |
| Trimming of files during diagcollection | ON         |
| Repository current size (MB) in rac1    | 0          |
| Repository maximum size (MB) in rac1    | 1194       |
| Inventory Trace level                   | 1          |
| Collection Trace level                  | 1          |
| Scan Trace level                        | 1          |
| Other Trace level                       | 1          |
| Max Size of TFA Log (MB)                | 50         |
| Max Number of TFA Logs                  | 10         |
'-----------------------------------------+------------'

However, this version doesn't include options to manage the tools like OSWatcher, ORAchk, etc. A simple "-h" will show that basically we can start it, stop and print the status, nothing related to diag tools. 

[root@rac1 ~]# /u01/app/12.1.0/grid/tfa/bin/tfactl -h

Usage : /u01/app/12.1.0/grid/bin/tfactl <command> [options]
<command> =
start     Starts TFA
stop      Stops TFA
enable    Enable TFA Auto restart
disable   Disable TFA Auto restart
print     Print requested details
access    Add or Remove or List TFA Users and Groups
purge     Delete collections from TFA repository
directory Add or Remove or Modify directory in TFA
host      Add or Remove host in TFA
diagcollect  Collect logs from across nodes in cluster
analyze      List events summary and search strings in alert logs.
set          Turn ON/OFF or Modify various TFA features
uninstall    Uninstall TFA from this node

For help with a command: /u01/app/12.1.0/grid/bin/tfactl <command> -help

[root@rac1 ~]#

However Starting with TFA version 12.1.2.3.0, TFA has included the RAC and DB Support Tools, and instead of work with every tool separately I recommend manage all these tools from TFA, it is always easy to work from only one place. 

ANOUNCEMENT: Starting with TFA 12.1.2.3.0, The RAC and DB Support Tools Bundle (Document 1594347.1) has been integrated into TFA. As part of the integration of the Support Tools Bundle in TFA, command line execution of each of the tools has been added into TFA Shell. This integration into TFA Shell greatly simplifies the execution of the tools by providing a common interface to each of the tools while ensuring that the output of the tools are collected by TFA Diagnostic collections.

The tools that are included starting in TFA 12.1.2.3.0 are the following:

  • ORAchk (formerly RACcheck) - Proactive, self service tool to prevent rediscovery of known issues. See Doc ID 1268927.1 for additional details. ORAchk is intended for use with non-engineered systems 
  • EXAchk - Proactive, self service tool to prevent rediscovery of known issues. See Doc ID 1070954.1 for additional details. EXAchk is intended for use with engineered systems. 
  • OSWatcher (formerly OSWatcher Black Box) - Script to collect and archive OS metrics. OSWatcher is required for many reactive types of issues including Instance/Node Evictions and Performance Issues. See Doc ID 301137.1 for additional details. 
  • Procwatcher - A script used to automate and capture diagnostic output for Severe Database Performance issues and Session Level Hangs. See Doc ID 459694.1 for additional details. 
  • ORATOP - A utility allowing for near real-time monitoring of databases (RAC and Single Instance), this utility is built for the Linux platform but can remotely monitor databases on ANY platform from a Linux Client. See Doc ID 1500864.1 for additional details. 
  • SQLT - A tool designed to assist in the tuning of a given SQL Statement. See Doc ID 215187.1 for additional details. 
  • DARDA - The Diagnostic Assistant (DA) tool provides a common, light-weight interface to multiple diagnostic collection tools (ADR, RDA, OCM, Explorer, and others). See Doc ID 210804.1 for additional details.
  • alertsummary – Generates a summary of events for one or more database or ASM alert files from all nodes. 
  • ls – lists all files TFA knows about for a given file name pattern across all nodes. 
  • pstack– takes a process stack for specified processes across all nodes. 
  • grep – searches alert or trace files with a given database and file name pattern, for a search string. 
  • summary – Gives a high level summary of the configuration. 
  • vi – opens alert or trace files for viewing a given database and file name pattern in the vi editor. 
  • tail – runs a tail on an alert or trace files for a given database and file name pattern. 
  • param – shows all database and OS parameters that match a specified pattern. 
  • dbglevel – A tool to set and unset multiple CRS trace levels with one command 
  • history– Shows the shell history for the tfactl shell
  • changes – reports any noted changes in the system setup over a given time period. This includes database a parameters, OS parameters, patches applied etc.
From TFA you will be able to start every tool, stop it, run it, and s on.  That is what we are going to see in this article. Since likely TFA is already included in you GI installation, what we are going to do is just upgrade it and start using it. 
Firstable, download the latest TFA version from the following Note:

TFA Collector - Tool for Enhanced Diagnostic Gathering (Doc ID 1513912.2)

At the time this article is being written, the latest version is 12.1.2.7.0 .

After download it, the file "TFALite_v12.1.2.7.0.zip" will be located  in our machine and we have to transfer it to the server where we are planning to upgrade:

MacBook-Pro:Downloads HDeiby$ pwd
/Users/HDeiby/Downloads
MacBook-Pro:Downloads HDeiby$ ls TFALite_v12.1.2.7.0.zip
TFALite_v12.1.2.7.0.zip
MacBook-Pro:Downloads HDeiby$ scp TFALite_v12.1.2.7.0.zip root@192.168.1.110:/u01/app/grid
root@192.168.1.110's password:
TFALite_v12.1.2.7.0.zip 100% 42MB 8.5MB/s 00:05
Deibys-MacBook-Pro:Downloads HDeiby$

Now let's connect to the server and the next step will be unzip the file:

[root@rac1 grid]# cd /u01/app/grid
[root@rac1 grid]#
[root@rac1 grid]# ls -ltr *TFA*
-rw-r--r-- 1 root root 44534701 Jan 13 11:25 TFALite_v12.1.2.7.0.zip
[root@rac1 grid]#
[root@rac1 grid]# unzip TFALite_v12.1.2.7.0.zip
Archive: TFALite_v12.1.2.7.0.zip
inflating: installTFALite
inflating: TFACollectorDocV121270.pdf
[root@rac1 grid]#
[root@rac1 grid]# ls -ltr *TFA*
-rw-r--r-- 1 root root 44534701 Jan 13 11:25 TFALite_v12.1.2.7.0.zip
-rw-r--r-- 1 root root 583593 Mar 4 2016 TFACollectorDocV121270.pdf
-r-xr-xr-x 1 root root 44414287 Mar 4 2016 installTFALite
[root@rac1 grid]#

Since TFA is already there, we don't have to specify the home directory or JRE directory, GI will be discover the TFA that is already installed and will ask us if we want to upgrade it,  I will use the tag "-local" which means that in a RAC configuration TFA will be upgraded only in the node where I am connected, if you remove this tag and you env is RAC, TFA will try to upgrade every TFA installation in you env. 

[root@rac1 grid]# ./installTFALite -local
TFA Installation Log will be written to File : /tmp/tfa_install_15366_2016_04_30-11_25_07.log

Starting TFA installation

TFA Build Version: 121270 Build Date: 201603032146
Installed Build Version: 121200 Build Date: 201406190949

TFA is already installed. Patching /u01/app/12.1.0/grid/tfa/rac1/tfa_home...
TFA patching typical install from zipfile is written to /u01/app/12.1.0/grid/tfa/rac1/tfapatch.log

TFA will be Patched on Node rac1:

Do you want to continue with patching TFA? [Y|N] [ Y ]: Y

Applying Patch on rac1:

Stopping TFA Support Tools...

Shutting down TFA for Patching...

Shutting down TFA
oracle-tfa stop/waiting
. . . . .
Killing TFA running with pid 11909
. . .
Successfully shutdown TFA..

Current version of Berkeley DB is 5.0.84, so no upgrade required

Copying TFA Certificates...
Moving config.properties.bkp to config.properties

Running commands to fix init.tfa and tfactl in localhost

Starting TFA in rac1...

Creating Sym Link /etc/rc.d/rc0.d/K17init.tfa to /etc/init.d/init.tfa
Creating Sym Link /etc/rc.d/rc1.d/K17init.tfa to /etc/init.d/init.tfa
Creating Sym Link /etc/rc.d/rc2.d/K17init.tfa to /etc/init.d/init.tfa
Creating Sym Link /etc/rc.d/rc4.d/K17init.tfa to /etc/init.d/init.tfa
Creating Sym Link /etc/rc.d/rc6.d/K17init.tfa to /etc/init.d/init.tfa
Starting TFA..
oracle-tfa start/running, process 15903
Waiting up to 100 seconds for TFA to be started..
. . . . .
Successfully started TFA Process..
. . . . .
TFA Started and listening for commands

Enabling Access for Non-root Users on rac1...

.------------------------------------------------------------.
| Host | TFA Version | TFA Build ID         | Upgrade Status |
+------+-------------+----------------------+----------------+
| rac1 | 12.1.2.7.0  | 12127020160303214632 | UPGRADED       |
'------+-------------+----------------------+----------------'

[root@rac1 grid]#

If we perform another "-h" you will see that now there are more options, those new options mostly are related to managing the tools :

[root@rac1 grid]# /u01/app/12.1.0/grid/bin/tfactl -h

Usage : /u01/app/12.1.0/grid/bin/tfactl <command> [options]
<command> =
start     Starts TFA
stop      Stops TFA
enable    Enable TFA Auto restart
disable   Disable TFA Auto restart
print     Print requested details
access    Add or Remove or List TFA Users
purge     Delete collections from TFA repository
directory Add or Remove or Modify directory in TFA
host      Add or Remove host in TFA
diagcollect  Collect logs from across nodes in cluster
collection   Manage TFA Collections
analyze      List events summary and search strings in alert logs.
set          Turn ON/OFF or Modify various TFA features
toolstatus   Prints the status of TFA Support Tools
run <tool>   Run the desired support tool
start <tool> Starts the desired support tool
stop <tool>  Stops the desired support tool
syncnodes    Generate/Copy TFA Certificates
diagnosetfa  Collect TFA Diagnostics
uninstall    Uninstall TFA from this node

For help with a command: /u01/app/12.1.0/grid/bin/tfactl <command> -help

[root@rac1 grid]#

Let's print now the status of our TFA:

[root@rac1 grid]# /u01/app/12.1.0/grid/bin/tfactl print status

.--------------------------------------------------------------------------------------------.
| Host | Status of TFA | PID   | Port | Version    | Build ID             | Inventory Status |
+------+---------------+-------+------+------------+----------------------+------------------+
| rac1 | RUNNING       | 16028 | 5000 | 12.1.2.7.0 | 12127020160303214632 | COMPLETE         |
'------+---------------+-------+------+------------+----------------------+------------------'
[root@rac1 grid]#

And the status of our tools, be aware that all the tools are already deployed, you don't have to "install" every tool, all are there and ready to be used:

[root@rac1 grid]# /u01/app/12.1.0/grid/bin/tfactl toolstatus
.-----------------------------------.
| External Support Tools            |
+------+--------------+-------------+
| Host | Tool         | Status      |
+------+--------------+-------------+
| rac1 | alertsummary | DEPLOYED    |
| rac1 | exachk       | DEPLOYED    |
| rac1 | ls           | DEPLOYED    |
| rac1 | pstack       | DEPLOYED    |
| rac1 | orachk       | DEPLOYED    |
| rac1 | sqlt         | DEPLOYED    |
| rac1 | grep         | DEPLOYED    |
| rac1 | summary      | DEPLOYED    |
| rac1 | prw          | NOT RUNNING |
| rac1 | vi           | DEPLOYED    |
| rac1 | tail         | DEPLOYED    |
| rac1 | param        | DEPLOYED    |
| rac1 | dbglevel     | DEPLOYED    |
| rac1 | darda        | DEPLOYED    |
| rac1 | history      | DEPLOYED    |
| rac1 | oratop       | DEPLOYED    |
| rac1 | oswbb        | RUNNING     |
| rac1 | changes      | DEPLOYED    |
| rac1 | events       | DEPLOYED    |
| rac1 | ps           | DEPLOYED    |
| rac1 | srdc         | DEPLOYED    |
'------+--------------+-------------'

Only OSWatcher is already running, let's try to start another tool like Proc Watcher 

[root@rac1 grid]# /u01/app/12.1.0/grid/bin/tfactl start prw

Sat Apr 30 11:36:29 EDT 2016: Building default prwinit.ora at /u01/app/grid/tfa/repository/suptools/prw/root/prwinit.ora
Sat Apr 30 11:36:32 EDT 2016: Starting Procwatcher as user root

Sat Apr 30 11:36:32 EDT 2016: Thank you for using Procwatcher. :-)
Sat Apr 30 11:36:32 EDT 2016: Please add a comment to Oracle Support Note 459694.1
Sat Apr 30 11:36:32 EDT 2016: if you have any comments, suggestions, or issues with this tool.

Procwatcher files will be written to: /u01/app/grid/tfa/repository/suptools/prw/root

Sat Apr 30 11:36:32 EDT 2016: Started Procwatcher
[root@rac1 grid]#

whoever developed this tool, it was in good mood and he wanted to makes us aware of that with his ":-)" icon in the output. Ok, now let's see if indeed Procwatcher was started:

[root@rac1 grid]# /u01/app/12.1.0/grid/bin/tfactl toolstatus
.--------------------------------.
| External Support Tools         |
+------+--------------+----------+
| Host | Tool         | Status   |
+------+--------------+----------+
| rac1 | alertsummary | DEPLOYED |
| rac1 | exachk       | DEPLOYED |
| rac1 | ls           | DEPLOYED |
| rac1 | pstack       | DEPLOYED |
| rac1 | orachk       | DEPLOYED |
| rac1 | sqlt         | DEPLOYED |
| rac1 | grep         | DEPLOYED |
| rac1 | summary      | DEPLOYED |
| rac1 | prw          | RUNNING  |
| rac1 | vi           | DEPLOYED |
| rac1 | tail         | DEPLOYED |
| rac1 | param        | DEPLOYED |
| rac1 | dbglevel     | DEPLOYED |
| rac1 | darda        | DEPLOYED |
| rac1 | history      | DEPLOYED |
| rac1 | oratop       | DEPLOYED |
| rac1 | oswbb        | RUNNING  |
| rac1 | changes      | DEPLOYED |
| rac1 | events       | DEPLOYED |
| rac1 | ps           | DEPLOYED |
| rac1 | srdc         | DEPLOYED |
'------+--------------+----------'
[root@rac1 grid]#

A tip from Gleb Otochkin:

Just for a reference, if you have updated your GI by a latest PSU you are going to get the latest version of TFA too/ As example you will have TFA version 12.1.2.7.0 with PSU from April. After that you will not be able to upgrade your TFA using downloaded TFALite because it will tell you that you already have the latest version. What you can do is to uninstall the TFA and install it again using installTFALite.

Follow me: