はじめに
Oracle Analytics Cloud :OACで、Dashboard/Answersの分析や、DataVisualizationのワークブックを実行しているとき、
結果がなかなか返ってこないことがあります。そんなとき、ある一定時間が経過すれば、タイムアウトすることができるのですが、その方法、結果画面について見てみます。
前提
本記事では「Oracle Analytics Cloud インデックスページを作成してみました。」の以下を実施しています。
・Oracle Analytics Cloud のサービス作成
・お試し用にADWでSHスキーマをもとにSHJPスキーマを作成する。
その他、以下ユーザーが存在
・OACの管理者ロールを付与されたユーザー(oac.user99)がいる
・OACの開発者ロールを付与されたユーザー(oac.user01)がいる
事前準備:タイムアウトさせるためにADWにdbms_session.sleepを利用した関数を用意する
データベースアクションや、SQLDeveloper、sqlplusを用いSHJPユーザーで、一定の処理時間を経過させる関数を作成します。以下、dbms_session.sleepを使ったサンプルです。
create or replace function f_sessleep(v_time in number) return varchar2
as
p_start number;
p_end number;
begin
p_start := dbms_utility.get_time;
dbms_session.sleep(v_time);
p_end := dbms_utility.get_time;;
return('Start:'||to_char(p_start)||' - End:'||to_char(p_end));
exception
when others then
return sqlerrm;
end;
/
Model Administration Toolでデータモデルの作成とタイムアウトの設定の確認
以下のような表タイプをSelectにした物理層の表を作成し、サブジェクト領域を作成しています。65秒 sleepします。
タイムアウトの設定をします。管理 - アイデンティティをクリックし、
OACの開発者ロールであるBIContentAuthorをクリックします。※何も表示されない場合は、メニューからロールを手動で追加します。
ステータス最大時間を「有効化」に変更、最大時間に「1」(分)と入力します。OKをクリックします。次もOKをクリックします。
Answersの分析でタイムアウト時の動きを見てみる
タイムアウトすると、エラーとなります。詳細を開くと、以下メッセージが出力されているのが確認できます。
「コード: 60009。[nQSError: 60009] ユーザー・リクエストが、実行時間を管理する最大問合せを超えました。」
DataVisualizationのワークブックでタイムアウト時の動きを見てみる
タイムアウトが設定されたサブジェクト領域を使ってワークブックを作成します。タイムアウトすると、エラーとなります。
詳細をクリックすると、Answersの分析と同様に、メッセージが出力されているのが確認できます。「状態: HY000。コード: 60009。[nQSError: 60009] ユーザー・リクエストが、実行時間を管理する最大問合せを超えました。」
以上