一.RDA 说明

       RDA(RemoteDiagnostic Agent)是oracle用来收集、分析数据库的工具,运行该工具不会改变系统的任何参数,RDA收集的相关数据非常全面,可以简化我们日常监控、分析数据库的工作。

       一般Oracle 原厂的人巡检也是使用RDA工具。 不过一般国内的DBA 巡检时很少使用这个工具,一般都是通过AWR 或者自己整几个脚本,跑了在分析一下就ok了。

       在MOS 上创建SR(Service Request)时(我08年刚接触Oracle时,那是MOS 上还是称呼Tar,后来改成了SR了)。 Oracle 也会要求客户上传RDA的信息。 通过RDA 可以快速的了解系统的状况。

       RDA 是用Perl 脚本写出来的。 可以通过MOS 下载RDA。 RDA 是一个客户端,解压缩之后就可以直接使用了。

 

MOS 上的2篇说明如下:

Remote Diagnostic Agent (RDA) 4 - Getting Started [ID314422.1]

Remote Diagnostic Agent (RDA) 4 - FAQ [ID 330363.1]

RDA 4 Release Notes [ID 414970.1]

 

 

RemoteDiagnostic Agent (RDA) is a command-line diagnostic tool that is executed by anengine written in the Perl programming language. RDA provides a unified packageof support diagnostics tools and preventive solutions. The data capturedprovides Oracle Support with a comprehensive picture of the customer'senvironment which aids in problem diagnosis.

 

Oracle Supportencourages the use of RDA because it greatly reduces service request resolutiontime by minimizing the number of requests from Oracle Support for moreinformation. RDA is designed to be as unobtrusive as possible; it does notmodify systems in any way. It collects useful data for Oracle Support only anda securityfilter

 

 

二.RDA 支持的平台与产品说明

2.1 Platforms Supported

At this time,RDA has been successfully tested to run on the following Supported platforms:

1)       Apple Mac OS X/Darwin

2)       HP OpenVMS Alpha 7.3-2 andabove

3)       HP OpenVMS Itanium

4)       HP Tru64 UNIX

5)       HP-UX Itanium

6)       HP-UX PA-RISC (32 and 64 bit)

7)       IBM AIX on POWER Systems(32 and64 bit)

8)       IBM Dynix/Ptx

9)       IBM Linux on POWER

10)   IBM zSeries Based Linux

11)   Linux Itanium

12)   Linux x86 (32 and 64 bit)

13)   Microsoft Windows 2000Workstation and Server

14)   Microsoft Windows 2003 Server

15)   Microsoft Windows 2008

16)   Microsoft Windows Vista

17)   Microsoft Windows XPProfessional

18)   Sun Solaris Intel

19)   Sun Solaris SPARC (32 and 64bit)

 

 

2.2 FollowingPlatforms are NOT Supported:

IBM Z/OS(OS/390)

 

You can run RDAalso on other platforms that support Perl 5.005 and later. However, OracleSupport recommends testing on a non-production server first because theperformance is unpredictable. For example, you will receive errors when RDAattempts to run utilities and commands that are not supported on theseplatforms.

 

2.3 Products Supported

RDA collectsinformation that is useful for diagnosing issues related to the followingSupported Oracle products

1)       OLAP Products (Express Server,Financial Analyzer, and Demand Planning Server)

2)       Oracle Application Server (iAS1.0.2.x/9.0.x/10.1.2.x/10.1.3.x,10.1.4.x,WebLogic Server (WLS) Release 9.x and10.x,11g (WLS), HTTP Server,WebCache,J2EE/OC4J)

3)       Oracle Billing and RevenueManagement products

4)       Oracle BPEL Process Manager

5)       Oracle Collaboration Suite(Email Server,Calendar,Discussions,Content Services,Workspaces,WebClient,andWireless)

6)       Oracle Data Integrator

7)       Oracle Developer (Forms andReports)

8)       Oracle Ebusiness Suite 11i and12

9)       Oracle Enterprise Content

10)   Oracle Enterprise SingleSign-on

11)   Oracle Enterprise performancemanagement (Hyperion) products

12)   Oracle Guardian

13)   Oracle Identity Managementproducts

14)   Oracle JDBC/PRO *C/ODBC andother development client related information

15)   Oracle Management Server andIntelligent Agent (Grid Server, Agent Server, DB Control)

16)   Oracle Networking products

17)   Oracle RAC Cluster(Single/Multiple Nodes, Automatic Storage Management, Oracle Cluster FileSystem, Data Guard)

18)   Oracle RDBMS Server (Standardand Enterprise Editions)

19)   Oracle Retail (Retek)

20)   Oracle SQL*Plus/iSQL*Plus

21)   Oracle Universal Archive (11g)

22)   PeopleSoft

23)   Siebel

 

Additional new Oracle products will be supported in future releases. We are constantlyenhancing and refining RDA, so make sure you have the latest version! For moredetailed information see the Knowledge 330760.1.

 

三.RDA 的安装使用

RDA 4.24 版本是:Patchset 12561777,可以直接从MOS 上下载。

 


包含:AIX 64位,linux 32位, windows 32和 64 位 4个版本的RDA 4.24 版本。


3.1 RDA 安装

 

1)       Choose or create a directory orarea on your UNIX server. Make sure you have sufficient space for the RDAoutput (~150MB). It does not matter where you create this directory or what itis named, but the same user that runs RDA must own it. Do not use a directorythat contains an older version of RDA unless you have deleted the previousversion of RDA first. If necessary, you can reuse prior setup files.

 

Note: Therda.zip creates a directory named "rda" containing all the requiredfiles when you extract it.

--解压之后会创建rda的目录

Do not extract the contents of the RDA archive on a Windows client first or youwill have to remove the ^M characters from the end of each line in all of theshell scripts in order for them to run.

--不要在windows 平台上解压缩linux 的RDA。 因为这样会移除shell脚本每行的^M 字符。

 

2)       FTP the downloaded rda.zip fileto your UNIX server in binary mode and place it in the directory chosen in step1.

3)       Extract the .zip archivecontents into a new directory, preserving the directory structure of thearchive. Do not extract into a directory that contains an older RDA version.For example:

unzip rda.zip

4)       Make sure the RDA command(rda.sh and rda.pl) is executable. To verify, enter the following command:

chmod +x<rda>

--确认rda.sh 和 rda.pl 脚本的权限。 这2个脚本作用是一样的,只是一个是shell,一个是perl,都是用来收集信息的,如果我们要使用RDA,就是执行其中一个脚本就可以了。  

 

5)       You can verify the RDAinstallation using the following command:

./<rda>-cv

--rda 不需要安装,解压缩之后就可以使用了。

 

Linux 上的一个示例:

[oracle@rac2 u01]$ unzipp12561777_424_LINUX.zip

……

[oracle@rac2 u01]$ cd rda

[oracle@rac2 rda]$ ls

ccr     DISCLAIM.txt  IRDA     RDA     rda.pl           README_Unix.txt     README_Windows.txt

Convert engine        irda.pl  rda.cmd rda.sh           README_upgrade.txt

dfw     hcve          modules  rda.com README_irda.txt  README_VMS.txt

[oracle@rac2 rda]$ ll

total 428

drwxr-xr-x 2 oracle oinstall  4096 May 2715:33 ccr

drwxr-xr-x 9 oracle oinstall  4096 May 2715:33 Convert

drwxr-xr-x 3 oracle oinstall  4096 May 2715:33 dfw

-r--r--r-- 1 oracle oinstall  4106 Mar 3114:59 DISCLAIM.txt

drwxr-xr-x 2 oracle oinstall  4096 May 2715:33 engine

drwxr-xr-x 2 oracle oinstall  4096 May 2715:33 hcve

drwxr-xr-x 3 oracle oinstall  4096 May 2715:33 IRDA

-r-xr-xr-x 1 oracle oinstall 18216 Mar 31 14:59 irda.pl

drwxr-xr-x 2 oracle oinstall 20480 May 27 15:33 modules

drwxr-x--- 5 oracle oinstall 36864 Sep  719:45 output

drwxr-xr-x 11 oracle oinstall  4096 May 27 15:33 RDA

-r-xr-xr-x 1 oracle oinstall  7266 Mar 3114:59 rda.cmd

-r-xr-xr-x 1 oracle oinstall  7762 Mar 3114:59 rda.com

-r-xr-xr-x 1 oracle oinstall 56763 May 20 15:22 rda.pl

-r-xr-xr-x 1 oracle oinstall  7911 May 1712:31 rda.sh

-r--r--r-- 1 oracle oinstall  3367 Mar 3114:59 README_irda.txt

-r--r--r-- 1 oracle oinstall 14612 May 11 09:51 README_Unix.txt

-r--r--r-- 1 oracle oinstall  4640 Mar 3114:59 README_upgrade.txt

-r--r--r-- 1 oracle oinstall 16472 May 23 10:42 README_VMS.txt

-r--r--r-- 1 oracle oinstall 14591 May 18 19:57 README_Windows.txt

-rw-r----- 1 oracle oinstall 79475 Sep  719:43 setup.bak

-rw-r----- 1 oracle oinstall 79505 Sep  719:45 setup.cfg

[oracle@rac2 rda]$

 

--验证rda,

[oracle@rac1 rda]$ rda.sh -cv

Loading the file list ...

Checking the directory '.' ...

Checking the directory 'IRDA' ...

Checking the directory 'IRDA/CV0100' ...

Checking the directory 'RDA' ...

Checking the directory 'RDA/Archive' ...

Checking the directory 'RDA/Handle' ...

Checking the directory 'RDA/Library' ...

Checking the directory 'RDA/Library/Remote'...

Checking the directory 'RDA/Local' ...

Checking the directory 'RDA/Object' ...

Checking the directory 'RDA/Operator' ...

Checking the directory 'RDA/Value' ...

Checking the directory 'RDA/Web' ...

Checking the directory 'dfw/cv0100' ...

Checking the directory 'engine' ...

Checking the directory 'hcve' ...

Checking the directory 'modules' ...

No issues found

[oracle@rac1 rda]$

 

3.2 RDA使用说明

关于RDA的详细使用说明,参考:

RemoteDiagnostic Agent (RDA) 4 - FAQ [ID 330363.1]

 

在第一次使用RDA时, 会在命令行上有一些交互的信息,会让你确实是否收集某些信息。等确认完毕后,会在rda目录下面生成2个配置文件:setup.cfg、setup.bak。 这里面保存了交互时确认的信息。

当我们下次执行RDA时,那么就不需要再次进行交互信息的确认。 直接从第一次生成的配置文件中读取即可。 这个交互信息非常多,是需要点耐心来逐步确认的。也可以通过命令生成默认的配置文件。 如果我们想更改收集的配置,那么可以直接修改这2个配置文件。 在执行rda 命令就可以了。

 

RDA 收集的信息会默认会放到/rda/output 文件夹下,在第一次运行RDA时,会提示指定RDA文件已什么开头,并保存在什么位置。 RDA文件有2种格式的文件,一个是html,一个是txt。 其中会有一个_start.htm 的文件,我们可以通过这个文件开开始阅读整个RDA。

在生成RDA 文件的同时,默认还会把RDA文件打成一个压缩包。 这个压缩包里的内容和我们output文件夹下的一致。 这个压缩包是用来发送oracle的。 一般创建SR时,Oracle 会要求提供这个RDA的压缩包。

 

3.2.1 MOS 的文档上贴几个常见的问题

 

(1)How do I force RDA to run Setup again?

RDA will readthe values it finds in "setup.cfg" first before requiring to answerany setup questions. You can force RDA to start the setup process again intwo(2) ways.

--在非第一次运行RDA的情况下,默认会读取setup.cfg文件。 如果要强制的再次setup,有如下2种方法:

 

Deleting or renaming the"setup.cfg" file :

$ ./rda.pl -S or 
c:\>rda.cmd -S or
$ ./rda.sh  -S

 

Running the following RDAcommand: 
$ ./rda.pl  -Sfn or
c:\>rda.cmd -Sfn or
$ ./rda.sh  -Sfn

 

(2)How do I force RDA to collect data again?

RDA will readthe values it finds in <output> directory first, if it finds data thathas not been collected it will attempt to collect that data. However if youwant RDA to collect data again you can execute the following commands. (-v: verbose , C: collect , R: render into html, P:Package contents of output directory into archive, and f : forceexecution of all commands.

$ ./rda.sh  -vCRPf or 
c:\>rda.cmd -vCRPf  or 
$ ./rda.pl  -vCRPf  or 
$./rda.sh   -vf  or 
c:\>rda.cmd -vf

 

Finally, if youneed to run data collection for specific module again you can just run thefollowing command (OS: Operating system and DBA: Database)

$ ./rda.sh -vCRP OS DB or 
c:\>rda.cmd -vCRP OS DBA

 

Note: Thecollection process will execute must faster and you will not receive anynotices when it completes. This also overwrite the data in the outputdirectory.

 

(3)Where is the RDA output located?

The output is aset of HTML files that are located in the RDA output directory which youspecified at setup (the default is /rda/output). You can review the datacollected, by using a Web Browser to open the following file located in theoutput directory:

RDA__start.htm

 

Note that thethe first part of the name "RDA" can be different, depending on yourspecific RDA setup.

The final outputis also packaged in an archive located in the output directory chosen duringRDA setup -- the packaged output file will have a .zip, .tar, .tar.gz,or .tar.Z extension.

If the datacollection was generated to assist in resolving a Service Request, send thereport archive (note: file name varies, but ends in .zip, .tar, .tar.gz,or .tar.Z ; e.a: RDA.RDA_db_autoxyz.zip) to Oracle Support byuploading the file via My Oracle Support. If FTP'ing the file, please be sureto FTP in BINARY format. Do not rename the file, as the file name helps OracleSupport quickly identify that RDA output is attached to the service request.>

 

Note: Thefinal output directory may not contain an archive file (.zip, .tar, .tar.gz,or .tar.Z ). If the archive is missing, please archive all the files inthe <output> manually and send them to Oracle Support. You canuse a packaging/archive utility program like ​​http://www.info-zip.org/Zip.html​​ toperform this task.

 

 

(4)What does the RDA-nnnnn error mean when I executedRDA?

RDA has a builtin error handling mechanism. You can discover the meaning and possible solutionto the error by using the following RDA command line argument: rda.pl -E {ERROR#} . i.e:

可以使用RDA 命令查看对应错误的详细说明

 
$ ./rda.pl -E RDA-14
RDA-00014: %d issue(s) found in the RDA installation
*Cause: issues encountered when checking the RDA installation
*Action: A fresh install of RDA is probably the easiest way to fix file
alteration problems. However, permission problems can result from
other factors:
- If RDA has been installed by another user, the default settings
could be too restrictive. Please review the local context with
that user and your appropriate local authorities.
- Execution permissions can be missing on startup scripts for other
platforms and when perl is not available from the command line.

 

(5)Can RDA be setup without asking any questions?

Yes. RDA wasdesigned to determine values to setup question from the customer OSenvironment. You can also, pass all default parameters and values in a singlecommand like this:

$ ./rda.pl-Sy -e SQL_SYSDBA=1,SQL_LOGIN=/ OS INST DB

       在前面讲到,第一次运行RDA时,要确认很多信息。 那么可以使用这种方法避免进行交互。 当然如果是初次使用RDA, 还是很有必要了解一下收集的内容。

       这里要注意的事,该命令仅仅是快速的生成配置文件,并没有生成RDA的信息。 我们还是需要再次运行rda.sh 命令的。

 

(6)Can RDA be scheduled to run automatically via CRONor AT?

Yes. You need tocheck with your OS documentation regarding running scheduling applications likeCRON and AT. Please note you may need purge RDA log files in the <output>directory and encode passwords in your setup.cfgwhen required.

 

(7)How can I reduce the size or amount of RDA outputfiles?

RDA has 2mechanisms to reduce the size and quantity of trace and log files it collectsand packages in the output file. The first is built into the advance setupprofiles of the various collection modules, specifically for the (INI, DB,WEBC, IAS, GTW, RAC) modules and can be called using the following command(s):

$ rda.sh -S -p expert INI DB  or 
rda.cmd -S -p expert INI DB  or 
rda.pl -S -p expert INI DB

 

The second isusing the using "-e" switch when calling RDA (rda.sh, rda.cmd, orrda.pl):

See modules:DB:[DB_TRACE_AGE, ALERT_TAIL], INI:[RDA_TAIL], GTW:[GATEWAY_TAIL],IAS:[DCM_TAIL], WEBC:[WEBCACHE_TAIL], RAC:[CLUSTER_TAIL]

 

./rda.sh -e DB_TRACE_AGE=5,ALERT_TAIL=1000  or 
./rda.cmd -e DB_TRACE_AGE=5, ALERT_TAIL=1000

 

(8)How do I verify the RDA package that I installedis not corrupted?

RDA has aninternal file verification system to handle most types of file corruptions, aslong as ./rda.pl, rda.sh, or rda.cmd can be called or not corrupt themselves:It can be run using the following command.

验证RDA的安装是否正确

$ ./rda.sh -vc  or 
C:\>rda.cmd -vc or 
$ ./rda.pl –vc

 

(9)Why is RDA taking a long time to run the setupprocess?

Commandexecution can be slow to start when there are difficulties to detect the TCP/IPdomain of the server that RDA is running on. The setup process can takesseveral minutes in some circumstances. The RDA_DOMAINenvironment variable can avoid that.

 

On UNIX:

$RDA_DOMAIN=oracle.com 
./rda.sh -S  or

$RDA_DOMAIN=oracle.com
$export RDA_DOMAIN
$./rda.sh -S

 

On Windows:

C:\set\RDA_DOMAIN=oracle.com
C:\rda.cmd -S

 

(10)How to disable the parallel collection in RDA 4.18and later?

Set the defaultfor NO_PARALLEL to 1 in modules/S000INI.cfg, and specify NO_PARALLEL=1 in allsetup files already present.

 

[oracle@rac2 rda]$ catsetup.bak |grep NO_PARALLEL

NO_PARALLEL=0

 

3.2.2 使用示例

(1)先演示一下交互信息配置

因为我之前已经运行过,所以这里使用上面的方法,强制RDA 再次配置一次。

[oracle@rac1 rda]$rda.sh -Sfn

-------------------------------------------------------------------------------

S000INI: Initializes the Data Collection

-------------------------------------------------------------------------------

RDA uses the output file prefix to identifyall files belonging to the same

data collection. The prefix must start witha letter and must contain only

alphanumeric characters.

 

Enter the prefix to be used for all thegenerated files

Hit 'Return' to accept the default (RDA)

> dave

 

Enter the directory used for all the filesto be generated

Hit 'Return' to accept the default(/u01/rda/output)

>

 

Do you want to keep report packages fromprevious runs (Y/N)?

Hit 'Return' to accept the default (N)

>

 

Enter the Oracle home to be used for dataanalysis

Hit 'Return' to accept the default (/u01/app/oracle/product/10.2.0/db_1)

>

 

Enter the network domain name for thisserver

> oracle.com

 

-------------------------------------------------------------------------------

S010CFG: Collects Key ConfigurationInformation

-------------------------------------------------------------------------------

-------------------------------------------------------------------------------

S090OCM: Set up the Configuration ManagerInterface

-------------------------------------------------------------------------------

RDA benefits from Oracle ConfigurationManager by improving its data

collection. Oracle Configuration Manager(OCM) collects the configuration

information and uploads it to the OCMRepository in connected mode. When OCM

is configured in disconnected mode, it addsthe OCM payload to the RDA report

packages in future RDA runs.

 

 

Select the mode that you want to installOracle Configuration Manager in

/u01/app/oracle/product/10.2.0/db_1

 C  Connected Mode

 D  Disconnected Mode

Enter the letter corresponding to yourchoice

Hit 'Return' to accept the default (C)

> c

 

Do you want to install OCM Databasecollection scripts (Y/N)?

Hit 'Return' to accept the default (Y)

>

 

Enter a SYSDBA user for installing the OCMDatabase collection scripts

Hit 'Return' to accept the default (sys)

…..

The setup has been interrupted(crtl+c)

Do you want to restart it(Y/N)?n

RDA-00121: RDA setupinterrupted

 

这里的信息还有很多。 就不贴了,强制中断,然后使用我们全部默认参数的方法。

 

(2)直接使用默认的参数,避免交互配置

--生成默认配置文件

[oracle@rac1 rda]$ rda.pl-Sy -e SQL_SYSDBA=1,SQL_LOGIN=/ OS

[oracle@rac1 rda]$ ls

ccr          engine   modules rda.com         README_Unix.txt     setup.bak

Convert       hcve    output   rda.pl           README_upgrade.txt  setup.cfg

dfw           IRDA     RDA     rda.sh           README_VMS.txt

DISCLAIM.txt  irda.pl rda.cmd  README_irda.txt  README_Windows.txt

 

--生成RDA

[oracle@rac1 rda]$rda.sh

-------------------------------------------------------------------------------

RDA Data Collection Started 07-Sep-201123:22:29

-------------------------------------------------------------------------------

Processing Initialization module ...

Enter the password for 'SYSTEM':

Please re-enter it to confirm:

Processing OCM module ...

Processing CFG module ...

Processing PERF module ...

Processing Sampling module ...

Processing OS module ...

Processing PROF module ...

Processing NET module ...

Processing Oracle installation module ...

Processing RDBMS module ...

Processing LOG module ...

Processing WREQ module ...

Processing IREQ module ...

Processing JDEV module ...

Processing RDSP module ...

Processing LOAD module ...

Processing End module ...

-------------------------------------------------------------------------------

RDA Data Collection Ended 07-Sep-201123:24:32

-------------------------------------------------------------------------------

 

 Youcan review the reports by transferring the contents of the

 /u01/rda/output directory to a location whereyou have web-browser access.

 Then, point your browser at this file todisplay the reports:

  RDA__start.htm

 

 Based on your server configuration, somepossible alternative approaches are:

 - Ifyour client computer with a browser has access to a web shared

  directory, copy the /u01/rda/output directory to the web shareddirectory

  and visit this URL:

​   http://machine:port/web_shared_directory/RDA__start.htm​

   or

 - Ifyour client computer with a browser has FTP access to the server

  computer with the /u01/rda/output directory, visit this URL:

   ftp://root@rac1//u01/rda/output/RDA__start.htm

 

 Ifthis file was generated to assist in resolving a Service Request, please

 send/u01/rda/output/RDA.RDA_rac1.zip to Oracle Support by uploading the file

 viaMy Oracle Support. If ftp'ing the file, please be sure to ftp in BINARY

 format.

 

 Please note: Do not submit any health, paymentcard or other sensitive

 production data that requires protectionsgreater than those specified in the

 Oracle GCS Security Practices

 (http://www.oracle.com/us/support/library/customer-support-security-practices-069170.pdf).

 Information on how to remove data from yoursubmission is available at

​ https://support.oracle.com/oip/faces/secure/km/DocumentDisplay.jspx?id=1227943.1​

 

RDA-00017: Warning - 1 command(s) notexecuted in CFG module(s)

[oracle@rac1 rda]$

 

这个收集的时间和CPU 有一定的关系。

 

3.3 查看RDA的信息

       在3.2 节生成了RDA的信息。 这里可以用winscp 工具把/rda/output 目录下的文件传到windows,然后使用IE 进程查看。 打开*_start.htm

 

 

这个就是RDA的首页。 左边还有具体各个小项的内容。

 

 


有关数据库的信息,都在RDBMS条目下:

 


通过这个示例,也可以看到RDA 收集的信息非常详细,从OS到DB。如果想要了解一个系统的状况,使用RDA 是最方便的方式。这个估计也是Oracle 需要RDA的一个重要原因了。