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!
Pingback: RDA Schnellstart | Oraculix