2.12 RESTを介したOracle ORAchkまたはOracle EXAchkの使用

Oracle ORAchkおよびOracle EXAchkには、HTTPSを介した呼出しおよび問合せを可能にする完全なRESTサポートが含まれています。

2.12.1 RESTの有効化

RESTサポートを容易にするために、Oracle REST Data Services (ORDS)がインストールに含まれています。

  1. RESTを有効にするには、ORDSを設定し、プロンプトが表示されたらユーザー・パスワードを指定します。
    ./orachk -ordssetup
    ./exachk -ordssetup
  2. -ordsオプションを使用してデーモンを起動します。
    ./orachk -d start -ords 
    ./exachk -d start -ords

    ノート:

    rootユーザーのみが、ORDSサポートを使用してデーモンを起動できます。

    ORDSサポートではデーモンが必要であるため、ORDSはデーモンがサポートされるプラットフォーム(Linux)でのみ使用できます。

2.12.2 start_client

GETリクエストを使用して、通常の状態チェック実行を実行します。

構文

/start_client

戻り値

次のようにジョブIDを示すJSONを返します。

[{
"ID":"UCTW5MLN7O1V1HPG8U",
"Status":"SUBMITTED"
}]

使用上のノート

このAPIを使用するための入力はありません。

例2-2 start_client

-bash-4.2$ curl -i -X GET -k -u ordsadmin:adminpass 
https://node1.example.com:7080/ords/tfaml/orachk/start_client

HTTP/1.1 200 OK Date: Thu, 05 Apr 2018 11:53:14 GMT Content-Type: text/html X-Frame-Options: 
SAMEORIGIN Transfer-Encoding: chunked Server: Jetty(9.2.z-SNAPSHOT) 
[{"ID":"UCTW5MLN7O1V1HPG8U","Status":"SUBMITTED"}]

2.12.3 start_client

POSTリクエストを使用し、特定の引数を使用して通常の状態チェック実行を実行します。

構文

/start_client

戻り値

次のようにジョブIDを示すJSONを返します。

[{ "ID":"UCTW5MLN7O1V1HPG8U", "Status":"SUBMITTED" }]

使用上のノート

Oracle ORAchkまたはOracle EXAchkの引数と対応する値を指定します。

例2-3 JSONの入力

[{
"-clusternodes":"busm1c1,busm1c2",
"-ibswitches":"busm1sw-ibs0,busm1sw-iba0,busm1sw-ibb0"
}]

例2-4 start_client

-bash-4.2$ curl -i -X POST -H "Content-Type: application/json" -k -u ordsadmin:adminpass 
https://host:7080/ords/tfaml/orachk/start_client -d '[{"-clusternodes":"busm1c1,busm1c2","-ibswitches":"busm1sw-ibs0,busm1sw-iba0,busm1sw-ibb0"}]

2.12.4 profile

GETリクエストを使用して、指定されたプロファイルの状態チェック実行を実行します。

構文

/profile/{profile1}/{profile2}

戻り値

次のようにジョブIDを示すJSONを返します。

[{ "ID":"DMBLMBTB2M2H1QCQIS", "Status":"SUBMITTED" }]

使用上のノート

プロファイル、またはスラッシュ(/)で区切られたプロファイルのリストを指定します。

例2-5 profile

-bash-4.2$ curl -i -X GET -k -u ordsadmin:adminpass 
https://node1.example.com:7080/ords/tfaml/orachk/profile/asm

HTTP/1.1 200 OK Date: Thu, 05 Apr 2018 10:50:00 GMT Content-Type: text/html X-Frame-Options: 
SAMEORIGIN Transfer-Encoding: chunked Server: Jetty(9.2.z-SNAPSHOT) 
[{"ID":"DMBLMBTB2M2H1QCQIS","Status":"SUBMITTED"}]

2.12.5 チェック

GETリクエストを使用して、指定されたチェックIDの状態チェック実行を実行します。

構文

/check/{check_id1,check_id2}

戻り値

次のようにジョブIDを示すJSONを返します。

[{ "ID":"B2PKK9RR9M7MYJPRN8", "Status":"SUBMITTED" }]

使用上のノート

プロファイル、またはチェックIDのカンマ区切りリストを指定します。

例2-6 check

-bash-4.2$ curl -i -X GET -k -u ordsadmin:adminpass 
https://node1.example.com:7080/ords/tfaml/orachk/check/E94589BC1AC24CFBE04312C0E50A3849

HTTP/1.1 200 OK Date: Thu, 05 Apr 2018 10:53:48 GMT Content-Type: text/html X-Frame-Options: 
SAMEORIGIN Transfer-Encoding: chunked Server: Jetty(9.2.z-SNAPSHOT) 
[{"ID":"B2PKK9RR9M7MYJPRN8","Status":"SUBMITTED"}]

2.12.6 status

GETリクエストを使用して、指定されたジョブIDのステータスを報告します。

構文

/status/{job_id}

戻り値

次のようにジョブIDを示すJSONを返します。

[{ "Status of DMBLMBTB2M2H1QCQIS is SUBMITTED" }]

ステータスは、SUBMITTEDからRUNNINGCOMPLETEDに遷移します。

使用上のノート

ステータスを検索するジョブIDを指定します。

例2-7 status

-bash-4.2$ curl -i -X GET -k -u ordsadmin:adminpass 
https://node1.example.com:7080/ords/tfaml/orachk/status/DMBLMBTB2M2H1QCQIS

HTTP/1.1 200 OK Date: Thu, 05 Apr 2018 10:51:16 GMT Content-Type: text/html X-Frame-Options: 
SAMEORIGIN Transfer-Encoding: chunked Server: Jetty(9.2.z-SNAPSHOT) 
[{"Status of DMBLMBTB2M2H1QCQIS is SUBMITTED"}]

2.12.7 ダウンロード

GETリクエストを使用して、指定されたジョブIDの収集結果をダウンロードします。

構文

/download/{job_id}

戻り値

収集結果のzipバイナリを返します。

使用上のノート

収集結果をダウンロードするジョブIDを指定します。

消去されたIDまたは無効なIDを指定すると、ダウンロードされるファイルにエラー・メッセージが書き込まれます。

例2-8 download

-bash-4.2$ curl -X GET -k -u ordsadmin:adminpass 
https://node1.example.com:7080/ords/tfaml/orachk/download/DMBLMBTB2M2H1QCQIS -J -O

% Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed 100 1385k 0 1385k 0 0 901k 
0 --:--:-- 0:00:01 --:--:-- 901k curl: Saved to filename 'exachk_busm01client01_PDB1_040518_035118_DMBLMBTB2M2H1QCQIS.zip'

2.12.8 checktfaupload

GETリクエストを使用し、Oracle Trace File Analyzerサービスにアップロードするための接続を確立できるかどうかを報告します。

構文

/checktfaupload

戻り値

次のようなJSONを返します。

[{ "ID":"ZFZLH06WOLE3L92PQI", "Status":"SUBMITTED" }]

使用上のノート

status APIを使用して、発行されたジョブのステータスを問い合せます。

発行されたAPIのステータスがCOMPLETEDになったら、getinfo APIを使用して、Oracle Trace File Analyzerのアップロード・ステータスを表示します。

例2-9 getinfo

getinfoを使用すると、次のような内容が返されます。

[{"Msg":"Environment is not set for uploading results to TFA."}]

2.12.9 checktfafaileduploads

GETリクエストを使用して、Oracle Trace File Analyzerサービスのアップロードが失敗したかどうかを報告します。

構文

/checktfafaileduploads

戻り値

アップロードに失敗した収集がない場合は、次のような内容が返されます。

[{ "Msg":"There are no Failed collections under ORDS directory." }]

または、アップロードに失敗した収集のリストを出力します。

使用上のノート

このAPIを使用するための入力はありません。

例2-10 checktfafaileduploads

bash-4.1# curl -i -X GET -k -u ordsadmin:adminpass 
https://node1.example.com:7080/ords/tfaml/orachk/checktfafaileduploads
HTTP/1.1 200 OK
Date: Thu, 19 Jul 2018 10:04:58 GMT
Content-Type: text/html
X-Frame-Options: SAMEORIGIN
Transfer-Encoding: chunked

[{"Msg":"There are no Failed collections under ORDS directory."}]

2.12.10 gettfaupload

GETリクエストを使用して、Oracle Trace File Analyzerサービスのアップロード設定を報告します。

構文

/gettfaupload

戻り値

RAT_TFA_URLRAT_TFA_USERおよびRAT_TFA_PASSWORDの3つの環境変数の値をリストします。

使用上のノート

このAPIを使用するための入力はありません。

例2-11 gettfaupload

bash-4.1# curl -i -X GET -k -u ordsadmin:adminpass 
https://node1.example.com:7080/ords/tfaml/orachk/gettfaupload
HTTP/1.1 200 OK
Date: Thu, 19 Jul 2018 10:07:24 GMT
Content-Type: text/html
X-Frame-Options: SAMEORIGIN
Transfer-Encoding: chunked

RAT_TFA_URL =  https://tfa.us.oracle.com/tfa/ws/orachk/
RAT_TFA_USER =  orachkadmin
RAT_TFA_PASSWORD = ********

unsettfaupload APIの後に、gettfaupload APIを使用して値を再チェックします。

-bash-4.1# curl -i -X GET -k -u ordsadmin:adminpass 
https://node1.example.com:7080/ords/tfaml/orachk/gettfaupload
HTTP/1.1 200 OK
Date: Thu, 19 Jul 2018 10:10:10 GMT
Content-Type: text/html
X-Frame-Options: SAMEORIGIN
Transfer-Encoding: chunked

RAT_TFA_URL is not set in the wallet 
RAT_TFA_USER is not set in the wallet 
RAT_TFA_PASSWORD is not set in the wallet

2.12.11 unsetrefaupload

GETリクエストを使用して、すべてのOracle Trace File Analyzerサービスのアップロード設定または特定の設定を解除します。

構文

/unsettfaupload/all
/unsettfaupload/RAT_TFA_USER

戻り値

次のようにジョブIDを示すJSONを返します。

[{ "ID":"ZFZLH06WOLE3L92PQI", "Status":"SUBMITTED" }]

使用上のノート

allを指定して3つの環境変数(RAT_TFA_URLRAT_TFA_USERおよびRAT_TFA_PASSWORD)をすべて設定解除するか、環境変数を指定してその設定を解除します。

例2-12 unsettfaupload

-bash-4.1# curl -i -X GET -k -u ordsadmin:adminpass 
https://node1.example.com:7080/ords/tfaml/orachk/unsettfaupload/all
HTTP/1.1 200 OK
Date: Thu, 19 Jul 2018 10:08:30 GMT
Content-Type: text/html
X-Frame-Options: SAMEORIGIN
Transfer-Encoding: chunked

[{"ID":"Z8P9DHA8VV3PUOVQTV","Status":"SUBMITTED"}]

2.12.12 uploadtfafailed

GETリクエストを使用して、以前に失敗したすべてのアップロードをOracle Trace File Analyzerサービスに再度アップロードすることを試行します。

構文

/uploadtfafailed/all

戻り値

次のようにジョブIDを示すJSONを返します。

[{ "ID":"ZFZLH06WOLE3L92PQI", "Status":"SUBMITTED" }]

使用上のノート

このAPIを使用するための入力はありません。

例2-13 uploadtfafailed

-bash-4.1# curl -i -X GET -k -u ordsadmin:adminpass 
https://node1.example.com:7080/ords/tfaml/orachk/uploadtfafailed/all
HTTP/1.1 200 OK
Date: Thu, 19 Jul 2018 10:09:18 GMT
Content-Type: text/html
X-Frame-Options: SAMEORIGIN
Transfer-Encoding: chunked

[{"ID":"0B9O04CKSYZNUZCYZD","Status":"SUBMITTED"}]

2.12.13 showrepair

GETリクエストを使用して、指定されたチェックの修復コマンドを報告します。

構文

/showrepair/{check_id}

戻り値

次のようにジョブIDを示すJSONを返します。

[{ "ID":"ZFZLH06WOLE3L92PQI", "Status":"SUBMITTED" }]

使用上のノート

修復コマンドを報告するチェックIDを指定します。

例2-14 showrepair

-bash-4.1# curl -i -X GET -k -u ordsadmin:adminpass 
https://node1.example.com:7080/ords/tfaml/orachk/showrepair/9ECBA2152E92F6B1E040E50A1EC00DFB
HTTP/1.1 200 OK
Date: Thu, 19 Jul 2018 10:13:54 GMT
Content-Type: text/html
X-Frame-Options: SAMEORIGIN
Transfer-Encoding: chunked

[{"ID":"FJELUT7XYM3AKOE1R4","Status":"SUBMITTED"}]
-bash-4.1# curl -i -X GET -k -u ordsadmin:adminpass 
https://node1.example.com:7080/ords/tfaml/orachk/status/FJELUT7XYM3AKOE1R4
HTTP/1.1 200 OK
Date: Thu, 19 Jul 2018 10:15:00 GMT
Content-Type: text/html
X-Frame-Options: SAMEORIGIN
Transfer-Encoding: chunked

[{"Msg":"Status of FJELUT7XYM3AKOE1R4 is  COMPLETED"}]

2.12.14 getinfo

GETリクエストを使用して、指定されたジョブIDのステータスを報告します。

構文

/getinfo/{job_id}

戻り値

IDが存在しない場合は、次のようなJSONを返します。

[{ "Status":"Either the ID entered is invalid or the wallet has been purged." }]

または、IDが存在する場合、修復コマンドを返します。

使用上のノート

ステータスを確認するジョブIDを指定します。

例2-15 getinfo

-bash-4.1# curl -i -X GET -k -u ordsadmin:adminpass 
https://node1.example.com:7080/ords/tfaml/orachk/getinfo/FJELUT7XYM3AKOE1R4 HTTP/1.1 200 OK Date: Thu, 19 Jul 2018 10:15:34 GMT 
Content-Type: text/html X-Frame-Options: SAMEORIGIN Transfer-Encoding: chunked

修復コマンド

alter database datafile '+DATAC1/RAC12C/DATAFILE/sysaux.314.936528199' autoextend on maxsize unlimited;

2.12.15 start_client

POSTリクエストを使用して、指定された収集結果の差分を実行します。

構文

/start_client

戻り値

次のようなJSONを返します。

[{ "ID":"ZFZLH06WOLE3L92PQI", "Status":"SUBMITTED" }]

status APIを使用すると、送信されたジョブIDのステータスを問い合せることができます。次に、download APIを使用し、同じジョブIDを使用して差分レポートをダウンロードできます。

使用上のノート

JSONの入力

[{ "-diff":"collection_zip_1 collection_zip_2" }]

例2-16 start_client

-bash-4.2$ curl -i -X POST -H "Content-Type: application/json" -k -u ordsadmin:adminpass 
https://host:7080/ords/tfaml/orachk/start_client -d '[{"-diff":"orachk_myhost69_apxcmupg_062118_025029_N1O498NX877LYO5FE3.zip 
orachk_myhost69_apxcmupg_062118_030527_ICMOWECU1UKF0R0VTO.zip"}]'

2.12.16 ORDS設定の削除

  1. ORDS設定を完全に削除するには:
    ./orachk -ordsrmsetup ./exachk -ordsrmsetup

    コマンド・オプション-ordsrmsetupは、デーモンが実行中の場合はそれを停止し、ORDSサービスを停止します。