Martins Blog

Trying to explain complex things in simple terms

Little things worth knowing: using Remote Diagnostic Agent more effectively with profiles

Posted by Martin Bach on August 26, 2016

RDA, or the Remote Diagnostics Agent, has been around for a little while. Over the time, and with the growing number of Oracle’s acquisitions it has become, shall we say, a little more difficult to handle. It appears to me as if every one of them will have its diagnostics handled by RDA making it hard to focus on something specific, like for example the database.

I won’t go into very detail of the Remote Diagnostic Agent in this post; please make sure you read and understand the documentation on MOS and the README* files that come with it before using it.

I based this blog post on Oracle Linux 7.2 and RDA 8.12.16.6.14 in case you find this via a search engine.

Basic Usage

In the first step you need to download RDA from My Oracle Support. I used DOC ID 314422.1 to get it for Linux x86-64. Installation was simple, I just unzipped the zipfile as always into the RDBMS owner’s home which has plenty of free space for data collection in my lab systems. You might actually already have a copy of RDA somewhere that shipped with your Oracle product as it comes bundled with a lot of them. I am focusing on the Oracle database and infrastructure and as far as I know, have to download RDA in this case.

If you follow the documentation, you verify the installation and begin with the setup. And here is where I am starting to struggle with the tool’s concept, but let me explain why:

[oracle@server1 rda]$ ./rda.sh -S
------------------------------------------------------------------------------
RDA.BEGIN: Initializes the Data Collection
------------------------------------------------------------------------------
Enter the Oracle home to be used for data analysis
> /u01/app/oracle/product/12.1.0.2/dbhome_1

------------------------------------------------------------------------------
RDA.CONFIG: Collects Key Configuration Information
------------------------------------------------------------------------------
------------------------------------------------------------------------------
SAMPLE.SAMPLE: Controls Sampling
------------------------------------------------------------------------------
------------------------------------------------------------------------------
RDA.CCR: Collects OCM Diagnostic Information
------------------------------------------------------------------------------
Do you want to diagnose OCM installations (Y/N)?
Press Return to accept the default (N)
> n

------------------------------------------------------------------------------
RDA.CUST: Collects Customer-Specific Information
------------------------------------------------------------------------------
------------------------------------------------------------------------------
OS.OS: Collects the Operating System Information
------------------------------------------------------------------------------
------------------------------------------------------------------------------
OS.PROF: Collects the User Profile
------------------------------------------------------------------------------
------------------------------------------------------------------------------
OS.NET: Collects Network Information
------------------------------------------------------------------------------
Do you want RDA to perform the network ping tests (Y/N)?
Press Return to accept the default (N)
> 
...

And this takes you on a long journey where you are asked to collect diagnostic information about pretty much every Oracle product or at least so it seems. I was actually only interested in my local Oracle database installation, but nevertheless I was prompted for Oracle VM for example:


...

------------------------------------------------------------------------------
OS.OVMS: Collects Oracle VM Server Information
------------------------------------------------------------------------------
Should RDA analyze Oracle VM Server (Y/N)?
Press Return to accept the default (N)
> n

------------------------------------------------------------------------------
OS.OVMM: Collects Oracle VM Manager Information
------------------------------------------------------------------------------
Do you want RDA to analyze Oracle VM Manager (Y/N)?
Press Return to accept the default (N)
> n

...

A useful question for some, but not for me at this point. And so on; the list gets longer it seems with every release. And I am not willing to answer 42,000 questions every time I deploy RDA! That left me with 2 options:

  • Patiently go through the list and dutifully answer every question. If you inadvertently hit the return key one time too often-which happens quite easily-you can correct the problem later by editing the configuration file.
  • Consider using profiles

Option 1 might be viable because it’s a one-off process but I personally don’t find it very practical for various reasons. And yes, it seems possible to let RDA “guess” your environment but that didn’t work as I expected.

Profiles

Profiles on the other hand are easy to use! You can view them online on MOS 391983.1 or alternatively as part of RDA’s built-in man-page by executing ./rda.sh -L and searching for “Available profiles:”. If you haven’t set the PAGER variable you might end up with more, but I think less is more :)

[oracle@server1 rda]$ PAGER=less ./rda.sh -L

...

Available profiles:
  AS10g                            Oracle Application Server 10g problems
  AS10g_Discoverer                 Discoverer 10g problems

...

  DB10g                            Oracle Database 10g problems
  DB11g                            Oracle Database 11g problems
  DB12c                            Oracle Database 12c problems
  DB8i                             Oracle Database 8i problems
  DB9i                             Oracle Database 9i problems
  DB_Assessment                    Oracle Database assessment collections
  DB_BackupRecovery                Oracle Database backup and recovery

...

These profiles are a logical grouping of various tests provided by the RDA framework. From a remote support point of view they are fantastic and leave little room for user error! Always get the information you need, not a report that only has half of the required information for troubleshooting. If you like to see more detail you can combine the -M (for the manual) and -p (for profile) options as in this example:

[oracle@server1 rda]$ ./rda.sh -M -p DB11g
NAME
    Profile DB11g - Oracle Database 11g problems

MODULES
    The DB11g profile uses the following modules:
      DB:DCdb    Controls Oracle RDBMS Data Collection
      DB:DCdba   Collects Oracle RDBMS Information
      DB:DCdbm   Collects Oracle RDBMS Memory Information
      DB:DCdnfs  Collects Direct NFS Information
      DB:DClog   Collects Oracle Database Trace and Log Files
      DB:DCsp    Collects SQL*Plus/iSQL*Plus Information
      EM:DCagt   Collects Enterprise Manager Agent Information
      EM:DCdbc   Collects Database Control Information
      EM:DCgrid  Controls Grid Control Data Collection
      OS:DCinst  Collects the Oracle Installation Information
      OS:DCnet   Collects Network Information
      OS:DConet  Collects Oracle Net Information
      OS:DCos    Collects the Operating System Information
      OS:DCperf  Collects Performance Information
      OS:DCprof  Collects the User Profile

COPYRIGHT NOTICE
    Copyright (c) 2002, 2016, Oracle and/or its affiliates. All rights
    reserved.

TRADEMARK NOTICE
    Oracle and Java are registered trademarks of Oracle and/or its affiliates.
    Other names may be trademarks of their respective owners.

[oracle@server1 rda]$ 

By the way, rda.sh -M displays the entire man page.

Coming back to the profiles: I found the Assessments to be quite useful and a good starting point if you would like to get an overview:

[oracle@server1 rda]$ ./rda.sh -L | grep Assessment
  ADBA                             Collects ACS Oracle Database Assessment
  Apps_DB_Assessment               Oracle Applications Database assessment
  Asm_Assessment                   Oracle ASM assessment collections
  DB_Assessment                    Oracle Database assessment collections
  Exadata_Assessment               Oracle Exadata assessment collections
  Maa_Assessment                   Maximum Availability Architecture
  Maa_Exa_Assessment               Maximum Availability Architecture with
  Rac_Assessment                   Real Application Cluster assessment
  DB_Assessment                    DB Assessment collections

Specifying a profile does not entirely relieve you from having to enter information in an interactive session, but it reduces the time needed to complete the initial configuration.

Next time you need to run RDA, have a look at the avaible profiles, maybe there’s one that serves your needs!

One Response to “Little things worth knowing: using Remote Diagnostic Agent more effectively with profiles”

  1. […] der man sich den mittlerweile sehr langen Fragebogen zu Beginn der Ausführung des RDA sparen kann: Profiles. In dem Beitrag fehlt allerdings noch das Beispiel, wie ein Profile ausgeführt wird (auch wenn man […]

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

 
%d bloggers like this: