6 エラーおよびトラブルシューティング

この章では、Telemetry Streamingの使用時に発生する可能性のあるエラーとその修正方法について説明します。

次の項では、潜在的なエラーの概要と、エラーの解決に必要なトラブルシューティング・ステップについて説明します。

ワークスペース管理エラー

エラー トラブルシューティング

ORA-00959: 表領域「TBS」は存在しません

SQL> exec dbms_telemetry_workspace.create_workspace('workspace1','tbs');
BEGIN dbms_telemetry_workspace.create_workspace('workspace1','tbs'); END;
 
*
ERROR at line 1:
ORA-00959: tablespace 'TBS' does not exist

ワークスペースを作成する前に、ワークスペースの表領域を作成する必要があります。

ORA-20004: 「ADMIN1」: ユーザーが存在しません

SQL> exec dbms_telemetry_workspace.enable_workspace_admin('workspace1','admin1');
BEGIN dbms_telemetry_workspace.enable_workspace_admin('workspace1','admin1'); END;
 
*
ERROR at line 1:
ORA-20004: "ADMIN1":user does not exist

ワークスペースを有効にする前に、管理ユーザーを作成する必要があります。PL/SQL APIでは作成されません。

解決策: 接続権限を持つDBユーザー「admin1」を作成し、操作を再試行してください。

ORA-20012: "WORKSPACE1"にはユーザーがあります。force=>trueを使用してください

SQL> exec dbms_telemetry_workspace.drop_workspace('workspace1');
BEGIN dbms_telemetry_workspace.drop_workspace('workspace1'); END;
 
*
ERROR at line 1:
ORA-20012: "WORKSPACE1": has users. use force=>true

アクティブなユーザーがあるワークスペースは、「force」オプションを「true」にしないと削除できません。

ワークスペース管理エラー

エラー トラブルシューティング

ORA-44001: スキーマが無効です

SQL> exec dbms_telemetry_admin.enable_workspace_user('workspace1','user1','INGEST');
BEGIN dbms_telemetry_admin.enable_workspace_user('workspace1','user1','INGEST'); END;
 
*
ERROR at line 1:
ORA-44001: invalid schema

ワークスペースを有効にする前に、取込みまたは問合せユーザーを作成する必要があります。

解決策: 接続権限を持つDBユーザー「user1」を作成し、操作を再試行してください。

ORA-20008: 取込み: ロールが無効です

SQL> exec dbms_telemetry_admin.enable_workspace_user('workspace1','user2','INGES');
BEGIN dbms_telemetry_admin.enable_workspace_user('workspace1','user2','INGES'); END;
 
*
ERROR at line 1:
ORA-20008: inges: invalid role

ロールには、「ingest」、「query」または「ingest|query」のいずれかのみを指定できます。

解決策: ロールを有効な値に修正します。

ORA-20010: 「USER1」はすでにワークスペース「WORKSPACE1」に追加されています

SQL> exec dbms_telemetry_admin.enable_workspace_user('workspace1','user1','INGEST');
BEGIN dbms_telemetry_admin.enable_workspace_user('workspace1','user1','INGEST'); END;
 
*
ERROR at line 1:
ORA-20010: "USER1": already added to workspace "WORKSPACE1"

ユーザーは、いずれか1つのワークスペースにのみ、1回のみ追加できます。

ノート:

すでに割り当てられているユーザーのロールを変更するには、そのユーザーをワークスペースから無効にして、新しいロールで再度有効にします。

取込みエラー

問題 トラブルシューティング

時間が過去1時間以内ではないため、メトリックは取り込まれません。古いメトリックは破棄されます。

begin
   dbms_output.put_line(dbms_telemetry_ingest.ingest_metrics(
                                'speed',
                                '{"type":"car","unit":"mph"}',
                                100,
                                1000));
end;
/
{"metrics_data_size":60,"metrics_ingested":0,"metrics_given":1,"metrics_metadata
":0,"ingest_duration_ms":10,"ingest_format":"telemetry","ingest_method":"plsql
","ingest_user_name":"\"USER1\""}

問題: "metric_ingested":0は、行がまったく取り込まれなかったことを示します。

解決策: メトリック時間は、取込み時間の3600秒前より後で、現在の時間と同じか前である必要があります。

PromQLのエラー

エラー トラブルシューティング

ORA-52002: PromQLエラー: 範囲問合せまたはポイント問合せの開始時間と終了時間はゼロにできません。

SQL> select dbms_telemetry_query.promql_instant('node_cpu_load{tag!~"1|2"}',0) from dual;
   ERROR:
   ORA-52002: PromQL error: start time and end time cannot be zero for range or point queries

インスタント/範囲PromQL問合せの開始時間と終了時間に0を渡しています。

ORA-00067: パラメータのステップ・サイズ値0は無効です。1以上である必要があります。

SQL> select dbms_telemetry_query.promql_range('node_cpu_load{tag=~"8|3"}',1389312600 - 500, 1389312600,0) from dual;
   ERROR:
   ORA-00067: invalid value 0 for parameter step size; must be at least 1

範囲PromQL問合せに対してゼロ以下のステップ・サイズを渡しています。

ORA-52002: PromQLエラー: シリーズ問合せでは集計関数は使用しません。

SQL> select dbms_telemetry_query.promql_series('avg(node_cpu_load{tag="3"})', 0, 0) from dual;
   ERROR:
   ORA-52002: PromQL error: Aggregate functions are not used with Series Query

ラベル/時系列PromQL問合せに集計演算子または集計演算子を使用しています。

ORA-52002: PromQLエラー: ラベル問合せで不明な式ノード・タイプが渡されました。式ノード・タイプ1。

SQL> select dbms_telemetry_query.promql_label('avg(node_cpu_load{tag="3"})', 0, 0) from dual;
   ERROR:
   ORA-52002: PromQL error: Unknown Expr Node type passed for Label query. Expr Node type 1

ラベル/時系列PromQL問合せに集計演算子または集計演算子を使用しています。

ORA-52002: PromQLエラー: 入力として渡された結果タイプが正しくありません

SQL> select dbms_telemetry_query.promql_label('tags', 0, 0, 8) from dual;
   ERROR:
   ORA-52002: PromQL error: Incorrect result type passed as input

PromQL問合せに無効なresult_type値を渡しています。

ORA-52002: PromQLエラー: ラベル問合せで不明な式ノード・タイプが渡されました。式ノード・タイプ5

SQL> select dbms_telemetry_query.promql_label('irate(node_cpu_load{tag="3"}[8m])', 0, 0) from dual;
   ERROR:
   ORA-52002: PromQL error: Unknown Expr Node type passed for Label query. Expr Node type 5

PromQLのラベルまたはシリーズ・ベースの問合せでrate/irate関数を適用しています。

ORA-52002: PromQLエラー: シリーズ問合せではrate/irate関数は使用しません

SQL> select dbms_telemetry_query.promql_series('rate(node_cpu_load{tag="3"}[8m])', 0, 0) from dual;
   ERROR:
   ORA-52002: PromQL error: rate/irate functions are not used with Series Query

PromQLのラベルまたはシリーズ・ベースの問合せでrate/irate関数を適用しています。