The ORAchk (Oracle Check) utility was previously
known RACchk. In its older incarnation, RACchk examined the Oracle RAC
system's configuration looking for areas that needed improvement. Oracle
Corporation decided to extend the utility to include more than just an
Oracle database and focus on the entire Oracle stack of software. ORAchk
now examines the following areas.
?
Oracle Database (both RAC and
single-instance)
?
Enterprise Manager 12c Cloud Control
?
Oracle Sun servers
?
Oracle E-Business Suite
No matter which Oracle software component is being
examined, ORAchk is scanning the configuration looking for problems. It
can provide a report showing health risks. It is recommended that the
database administrator run a report before and after software
configuration changes to understand if those changes can cause future
problems. Since this book is for Oracle RAC database performance, only
the first Oracle component in the list above will be discussed.
The other 3 software components are out of scope for this book.
The ORAchk utility can be downloaded from Note
1268927.1 on My Oracle Support. The download is a simple zip file. After
downloading the file, use the OS unzip utility to extract its contents.
The installation is complete after unzipping the file. Run the
orachk executable to start
the analysis. The ?oracle? user should be used to run the utility. By
default, orachk will ask to
verify the current Grid Infrastructure home. Next,
orachk verifies ssh user
equivalency.
[oracle@host01 orachk]$
./orachk
CRS stack is running and CRS_HOME is not set. Do you
want to set CRS_HOME to /u01/app/crs12.1.0.2?[y/n][y]y
Checking ssh user equivalency settings on all nodes
in cluster
If ssh user equivalency fails,
orachk can fix the situation
temporarily or permanently. If the permanent fix is chosen, this will be
the only time orachk will
make any changes to the system. The next step is to select the databases
to check.
Searching for running databases . . . . .
. .
List of running databases registered in OCR
1. orcl
2. None of above
Select databases from list for checking best
practices. For multiple databases, select 1 for All or comma separated
number like 1,2 etc [1-2][1].1
This system only has one database. The output gives
options to verify multiple databases if the system has them. Next,
orachk verifies that various
software components are up and running.
Checking Status of Oracle Software Stack -
Clusterware, ASM, RDBMS
. . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . .
----------------------------------------------------------------------------
Oracle Stack Status
----------------------------------------------------------------------------
HostName CRS Install RDBMS Install
CRS UP ASM UP RDBMS UP DB Instance Name
----------------------------------------------------------------------------
host01
Yes
Yes
Yes Yes
Yes
orcl1
host02
Yes
Yes Yes
Yes
Yes
orcl2
----------------------------------------------------------------------------
Copying plug-ins
. . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . .
The orachk
utility will need to run some checks as the root user. The database
administrator will either need to supply the root password, have the
user executing the utility configured with sudo access, or skip the root
portion of the checks.
16 of the included audit checks require root
privileged data collection . If sudo is not configured or the root
password is not available, audit checks which
require root privileged data collection can be skipped.
1. Enter 1 if you will enter root password for each
host when prompted
2. Enter 2 if you have sudo configured for oracle
user to execute root_orachk.sh script
3. Enter 3 to skip the root privileged collections
4. Enter 4 to exit and work with the SA to configure
sudo or to arrange for root
access and run the tool later.
Please indicate your selection from one of the above
options for root access[1-4][1]:-
1
After answering the root collection question, the
orachk utility goes to work.
Following some period of time, the analysis is complete and a report is
generated. The orachk utility
will also create a zip file that can be uploaded to My Oracle Support if
requested by a support engineer.
Detailed report (html) -
/home/oracle/orachk/orachk_host01_orcl_091214_235107/orachk_host01_orcl_091214_235107.html
UPLOAD(if required) -
/home/oracle/orachk/orachk_host01_orcl_091214_235107.zip
The generated report is an html file, which can
obviously be opened in any web browser. The first part of the report
contains a general summary
Figure 8.8 ORAchk Summary
The overall system health score is seen at the top.
Many of the findings contain a hyperlink named ?detail? or ?View? which
will jump to the documentation location that explains the analysis in
much more detail.
The most important part of the ORAchk report is the
section titled Findings Needing Attention. This section groups the
findings into categories named FAIL, WARNING, ERROR and INFO. Many of
the findings are not performance related, but rather they focus their
attention on keeping the cluster and its database operational and
following best practices. Some findings are performance related as can
be seen in the last two findings of the figure below.
Figure 8.9 ORAchk Findings
The last two findings above tell us that NIC bonding
is not configured for the public network or the Cluster Interconnect.
Each finding has more detail that can be seen by clicking on the View
hyperlink. The last finding in the figure about would bring the detail
screen seen below.
Figure 8.10 ORAchk NIC Bonding Finding Detail
Each detail for each finding should include a My
Oracle Support Note for even more details. While the details of this
finding focus on high availability, we know from the chapter on tuning
the Cluster Interconnect that this specific finding is performance
related as well. The Cluster Interconnect can increase its bandwidth by
NIC Bonding or HAIP. The
finding shown below is obviously more performance related and was
discussed in Chapter 3 of this book.
Figure 8.11 ORAChk Sequence Finding Detail
It is a good practice to run ORAchk regularly.
Optionally, the report can be emailed to the database administrator. The
following command will set the autorun interval to seven days and define
the email address for the report.
[oracle@host01 orachk]$
./orachk -set
"AUTORUN_INTERVAL=7d;NOTIFICATION_EMAIL=dba@acme.com"
Created AUTORUN_INTERVAL for ID[orachk.default]
Created NOTIFICATION_EMAIL for ID[orachk.default]
With the parameters set, the ORAchk daemon needs to
be started.
[oracle@host01 orachk]$
./orachk -d start
ORAchk will now run regularly and automatically send
the finds to the database administrator.
A great strength of ORAchk is the ability to compare
two reports. This feature is most important when used to determine if a
maintenance activity has implemented a change that could negatively
impact the cluster and its database. The following example instructs
ORAchk to compare the difference between two reports.
[oracle@host01 orachk]$
./orachk -diff
orachk_host01_orcl_091214_235107 orachk_host01_orcl_091314_043033
Summary
Total
: 182
Missing : 0
New
: 8
Changed : 0
Same
: 174
File comparison is complete. The comparison report
can be viewed in:
/home/oracle/orachk/orachk_091214235107_091314043033_diff.html
The resulting html file can be used to see the
differences. Ideally, the differences show the configuration trending in
a positive direction where the number of bad findings is decreasing over
time.
The ORAchk utility replaces the RACchk tool used by
database administrators in the past. The new name reflects the tools
ability to check many different software components in the Oracle stack,
but still includes Grid Infrastructure and Oracle RAC. Regularly
scheduled runs of ORAchk can help the database administrator see
deficiencies in the Oracle RAC configuration and hopefully show
improvement. ORAchk can be a great tool to ensure that maintenance
activities that change the configuration do not make the system worse.