Oracle Analytics Cloud：利用状況を把握する ～準備編～

# はじめに
Oracle Analytics Cloud（**OAC**）は、データベースを検索した結果を可視化したりレポート作成したりするためのツールです。
OACにはUsage Trackingという機能が備わっており、ユーザの利用状況を確認するための情報をデータベースに保管することができます。
Usage Trackingは初期状態では未設定となっていますので、適切に設定し稼働させてみたいと思います。
Usage Trackingではデータ検索に関わる操作を記録することができます。
（誰が、いつ、どのダッシュボードを開いたか、など）

# やりたいこと

- Usage Tracking機能を使えるようにする
- データの保管先はAutonomous Data Warehouse（**ADW**）にする
    - ADWインスタンスの準備はできているものとします

# OACからADWへの接続を定義する

Usage Trackingを使用するためには、Oracle Analytics Developer Client Toolsを使用してデータモデル（RPDファイル）を管理している必要があります。
必要なパラメータは

- 接続プール名
- 物理問合せ、論理問合せのログを収集する表の名前
- 問合せ行の最大数

です。

:::note
データモデルに関する修正を実施する前にスナップショットを取得しておくことをお勧めします。
:::

### Oracle Developer Client Toolsのインストール
[Oracle Analytics Client Toolsのダウンロード・ページ](https://www.oracle.com/middleware/technologies/oac-tools-downloads.html)にアクセスして最新のDeveloper Client Toolsをダウンロードし、インストールします。

### トラッキング用のデータベースを構成
インストールした「Model Administration Tool」を起動します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2342206/c93665e0-2808-ee44-e7e6-135f5e6ecbe0.png)
「ファイル」メニューから「開く」－「クラウド」をクリックします。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2342206/1ededc8d-aefc-393f-dfe4-87b2c7fb126f.png)
必要なパラメータを入力して「開く」をクリックします。

| パラメータ | 値（例） |
|:-|:-|
| ユーザー  | IDCSに登録済みのユーザー名  |
| パスワード  | IDCSユーザーのパスワード  |
| クラウド  | bootstrap（変更しない）  |
| ホスト名  | OACインスタンスのホスト名  |
| ポート番号  | 443（変更しない）  |
| トラスト・ストア  | （変更しない）  |
| パスワード  | changeit |

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2342206/3fd0e1ac-5783-38a3-fa5b-6432164b47b3.png)
物理レイヤーで右クリックし「新規データベース」を選択します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2342206/52a791f9-e026-1b1c-fe87-ef910824bf36.png)
名前を入力し（例えば「ANALYTICS_USAGE」）、データベースタイプを「Oracle 12c」にして「OK」をクリックします。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2342206/6680c44b-41d0-0eaa-88d7-e67dff8c8c80.png)

::: note
データベースの名前には空白を含めないようにします。
:::

作成したデータベースを右クリックし、新規オブジェクトから接続プールをクリックします。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2342206/1f3a5002-992f-ad30-c238-f906b092c8a4.png)
接続プールのパラメータを入力し、「OK」をクリックします。

| パラメータ              | 値（例） |
|:-----------------------|:-|
| 名前                   | UTConnectionPool  |
| コール・インターフェース  | Oracle Call Interface (OCI)  |
| データ・ソース名         | (description=(address=(protocol=tcps)(port=1522)(host=**\<DB Host>**))(connect_data=(service_name=**\<Service Name>**))(security=(ssl_server_cert_dn=**\<default>**))) |
| ユーザー名              | analytics_user (事前にスキーマを作っておきます)  |
| パスワード              | パスワード  |

:::note
接続文字列（データソース名）はADWの資格証明をダウンロードして tnsnames.ora を開いて確認してください。
:::

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2342206/a06e86c3-0552-82cc-7170-3fcb4ea419c2.png)
データモデルをローカルに保存してから、クラウドに公開します。
保存する際に、「グローバルな整合性をチェックしますか」と聞かれた場合は「はい」を選択します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2342206/dd8f9f1f-acdc-e895-1d9e-e359d77ad451.png)
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2342206/176d3536-6aa7-f60b-d9d5-f850a4df260a.png)
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2342206/ff1f1c8e-da9c-aab8-a821-fcc509c31d48.png)

# OACコンソールでUsage Trackingを構成
OACに管理者としてログインします。

## ADWのウォレットを登録
「コンソール」－「接続」と選択します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2342206/1b73ebfb-05cb-5134-adec-6b1d37cc28f2.png)
右上の「ページメニュー」をクリックし「ウォレットのアップロード」をクリックします。
既にウォレットがアップロードされている場合は、メニュー名が「ウォレットの置換」になります。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2342206/d584b56e-bff6-50b4-a518-fcec42c2c439.png)
ADWに接続するためのウォレット「cwallet.sso」をアップロードします。

:::note warn
ここでアップロードしたウォレットを使用して、データモデルからADWに接続します。
データモデルで使用可能なウォレットは1つのみです。（2022年1月現在）
:::

## システム設定でUsage Trackingのパラメータを設定
「コンソール」－「システム設定」と選択します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2342206/b94520a7-46f0-2c38-535d-7d0500880940.png)
「Usage Tracking」をクリックします。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2342206/e3d085b5-e08c-9b46-0746-3f4c74b2502a.png)
次のプロパティを設定します。

|プロパティ|値（例）|
|:-|:-|
|Usage Tracking Init Block Table |ANALYTICS_USAGE.UTConnectionPool.InitBlockInfo|
|Usage Tracking Maximum Rows | 0 |
|Usage Tracking Connection Pool |ANALYTICS_USAGE.UTConnectionPool|
|Usate Tracking Physical Query Logging Table|ANALYTICS_USAGE.UTConnectionPool.PhysicalQueries|
|Usage Tracking Logical Query Logging Table |ANALYTICS_USAGE.UTConnectionPool.LogicalQueries|

コンポーネントをリスタートします。
一番上までスクロールして、右上の「Restart」をクリックします。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2342206/f3f3e0ae-f686-489c-c3d3-2681bbe538fc.png)
完了まで待ちます。この間、ユーザからのアクセスはできません。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2342206/7a09780c-960c-5a97-5005-dc535988adaf.png)
コンポーネントの再起動が完了すると、指定したスキーマに自動的に必要な表が作成されます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2342206/4872b7c6-51cb-4518-d06f-1dad1ee1a00f.png)
OACからDBへのアクセスが発生するたびにログが記録されます。

# ログの活用例
[Oracle Analytics Cloud：利用状況を把握する ～活用編～](https://qiita.com/tyo38/items/0512d37829bd51d92984)

# 参考情報

https://docs.oracle.com/cd/E83857_01/paas/analytics-cloud/acabi/track-usage.html#GUID-F54AC40D-E375-4AB7-B1B7-B401283E0D19