最新ORACHKの紹介

ORACHKは稼働中のOracle Database環境を調査し、ベストプラクティスと比較するツールです。現状のリスクと変更することの利点や影響を明らかにすることができます。Oracle Database の初期化パラメーターやオブジェクトの属性だけでなく、オペレーティング・システムの設定まで幅広くチェックすることができます。

# デフォルト・インストールされたORACHK

ORACHKはOracle Database 18c以降には標準でインストールされるようになりました。ただし古いバージョンのORACHKは起動できないようになっています。下記はOracle Database 19c環境にインストールされたORACHKを起動したところです。

```
$ cd $ORACLE_HOME/suptools/orachk
$ ./orachk


Running orachk
----------------------------------------------------------
PATH                             : /u01/app/oracle/product/19.0.0/dbhome_1/suptools/orachk
VERSION                          : 18.4.0_20181129
COLLECTIONS DATA LOCATION        : /u01/app/oracle/orachk/
----------------------------------------------------------

This version of orachk was released on 29-Nov-2018 and its older than 180 days. No new version of orachk is available in RAT_UPGRADE_LOC. It is highly recommended that you download the latest version of orachk from my oracle support to ensure the highest level of accuracy of the data contained within the report.


Do you want to download latest version from my oracle support? [y/n] [y] n

orachk cannot be use as its older than a year.
Exiting...
```

# ORACHK の導入
最新のORACHKユーティリティは、[My Oracle Support](https://support.oracle.com/) にログインし、Doc ID 1268927.2 を参照します。このドキュメント内にダウンロードするリンクがあります。オペレーティングシステム毎のメディアが準備されています。

## インストール
  Linux用のインストールメディアは AHF-LINUX_v20.2.0.zip （2020年8月5日現在の最新）です。zipファイルを展開すると、READMEファイルとインストーラが作成されるため、Oracle Database管理ユーザーでahf_setupコマンドを実行します。実行するとインストール先の入力を促されます。インストール先のデフォルトは \$\{HOME\}/oracle.ahf です。
root ユーザー以外でインストールした場合のインストール先は\\$HOME/oracle.ahfです。ahf_setup コマンドの -ahf_loc オプションでインストール先を指定できます。-data_dir オプションには分析結果を保存するディレクトリを指定します。

```
$ unzip AHF-LINUX_v20.2.0.zip
Archive:  AHF-LINUX_v20.2.0.zip
  inflating: README.txt
  inflating: ahf_setup
$
$ cd /u01/app/oracle/product
$ mkdir orachk.dat
$ mkdir orachk.
$ ./ahf_setup -ahf_loc /u01/app/oracle/product/orachk -data_dir /u01/app/oracle/product/orachk.dat

AHF Installer for Platform Linux Architecture x86_64

AHF Installation Log : /tmp/ahf_install_202000_21817_2020_08_05-07_38_30.log

Starting Autonomous Health Framework (AHF) Installation

AHF Version: 20.2.0 Build Date: 202006260723

AHF Location : /u01/app/oracle/product/orachk/oracle.ahf

AHF Data Directory : /u01/app/oracle/product/orachk/orachk.dat

Extracting AHF to /u01/app/oracle/product/orachk/oracle.ahf
TFA is not configured properly. Please reinstall again

AHF is deployed at /u01/app/oracle/product/orachk/oracle.ahf

ORAchk is available at /u01/app/oracle/product/orachk/oracle.ahf/bin/orachk

AHF binaries are available in /u01/app/oracle/product/orachk/oracle.ahf/bin

AHF is successfully installed

Moving /tmp/ahf_install_202000_21817_2020_08_05-07_38_30.log to /u01/app/oracle/product/orachk.dat/rel75-1/diag/ahf/

$
```


# 新バージョンのORACHK実行
インストール先のorachkコマンドを実行します。実行すると対象とするデータベース・インスタンスの選択を行います。
最終的には調査結果が \{インストール先\}/data/\{ホスト名\}/orachk/orachk\_\{ホスト名\}\_\{DB名\}\_\{YYMMDD\}_\{HHMISS\}\.zip ファイルに出力されます。
下記はorachkコマンドの実行例です（一部省略しています）。

```
$ cd /u01/app/oracle/product/orachk/oracle.ahf/orachk
$ ./orachk

List of running databases

1. O19A
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
...

Checking Status of Oracle Software Stack - Clusterware, ASM, RDBMS

...
-------------------------------------------------------------------------------------------------------
                                                 Oracle Stack Status
-------------------------------------------------------------------------------------------------------
  Host Name       CRS Installed       ASM HOME  RDBMS Installed    CRS UP    ASM UP  RDBMS UP    DB Instance Name
-------------------------------------------------------------------------------------------------------
    rel75-1                    No           No          Yes           No       No      Yes                O19A
-------------------------------------------------------------------------------------------------------


Copying plug-ins

. .
.  .  .  .  .  .Select databases from list for checking best practices. For multiple databases, select 3 for All or comma separated number like 1,2 etc [1-3][4]. 1

Searching out ORACLE_HOME for selected databases.

Checking Status of Oracle Software Stack - Clusterware, ASM, RDBMS

-------------------------------------------------------------------------------------------------------
                                                 Oracle Stack Status            
-------------------------------------------------------------------------------------------------------
  Host Name       CRS Installed       ASM HOME  RDBMS Installed    CRS UP    ASM UP  RDBMS UP    DB Instance Name
-------------------------------------------------------------------------------------------------------
    rhel67b                    Yes          Yes          Yes          Yes      Yes      Yes                O19A
-------------------------------------------------------------------------------------------------------

Copying plug-ins

--------------------------------------------------------------------------------
Collecting patch inventory on ORACLE_HOME /u01/app/oracle/product/19.3.0/dbhome_1
--------------------------------------------------------------------------------
--------------------------------------------------------------------------------
1 Recommended RDBMS patches for 190000 from /u01/app/oracle/product/19.3.0/dbhome_1 on rel75-1
--------------------------------------------------------------------------------
Patch#   RDBMS    ASM     type                Patch-Description
--------------------------------------------------------------------------------
 31281355yes              merge
--------------------------------------------------------------------------------
--------------------------------------------------------------------------------
--------------------------------------------------------------------------------
              RDBMS homes patches summary report
--------------------------------------------------------------------------------
Total patches  Applied on RDBMS Applied on ASM ORACLE_HOME
--------------------------------------------------------------------------------
1              1              0                /u01/app/oracle/product/19.3.0/dbhome_1
--------------------------------------------------------------------------------

------------------------------------------------------------
Detailed report (html) -  /u01/app/oracle/product/orachk.dat/oracle.ahf/data/rel75-1/orachk/orachk_rel75-1_O19A_080520_092636/orachk_rel75-1_O19A_080520_092636.html





UPLOAD [if required] - /u01/app/oracle/product/orachk.dat/oracle.ahf/data/rel75-1/orachk/orachk_rel75-1_O19A_080520_092636.zip

```

# チェック内容例
ORACHKのチェック内容は、オペレーティング・システムの設定から初期化パラメーター構成、REDOログ設定など幅広く行われます。チェック結果は影響の大きさの順にCritial/Fail/Warning/Info/Passとしてグループに分けられています。特定のグループだけ表示することもできます。

## Criticalの例
下記はCriticalの例です。データのデフォルト格納領域（初期化パラメータcreate_file_dest）と、高速リカバリ領域（初期化パラメーターdb_recovery_dest）が同じディスクグループに指定されていることを指摘しています。

![Critical level examples](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/181284/819c5ebc-ad9e-5de8-e238-3866dd1727a3.png)

## Warningの例
下記はWarningの例です。OSWatcherプログラムが稼働していないことを示しています。OSWatcherはOSのパフォーマンス情報を蓄積するツールです。

![Warning level](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/181284/ca7549ab-1cc9-d0b3-ae9e-beee035a52d0.png)