179 DBMS_SQLDIAG
DBMS_SQLDIAGパッケージは、SQL診断機能のインタフェースを提供します。
この章のトピックは、次のとおりです:
参照:
診断データの管理の詳細は、『Oracle Database管理者ガイド』を参照してください。
179.1 DBMS_SQLDIAGの概要
重大なエラーが発生してSQL文が失敗した場合は、DBMS_SQLDIAG
パッケージのサブプログラムを使用することでSQL修復アドバイザを実行し、失敗した文を修復してみることができます。
SQL修復アドバイザによって、文が分析され、多くの場合、文を修復するためにパッチの適用が推奨されます。リコメンデーションを実装すると、適用されたSQLパッチによって、問合せオプティマイザで将来実行する場合の代替実行計画が選択され、失敗が回避されます。
参照:
DBMS_SQLDIAG
パッケージのサブプログラムを使用してSQL修復アドバイザを実行する方法の詳細は、『Oracle Database管理者ガイド』を参照してください。
179.3 DBMS_SQLDIAGの定数
DBMS_SQLDIAG
は、パラメータ値の指定時に使用する定数を定義します。
これらの定数を、次の表に示します。
-
表179-1は、アドバイザのフレームワークに表示されるSQL修復アドバイザの名前について説明しています
-
表179-2は、SQLDIAGアドバイザのタスク・スコープ・パラメータの値について説明しています
-
表179-3は、SQLDIAGアドバイザの
time_limit
定数について説明しています -
表179-4は、設定可能なレポートの形式について説明しています
-
表179-5は、レポートで設定可能な詳細レベルについて説明しています
-
表179-6は、設定可能なレポート・セクション(カンマ区切り)について説明しています
-
表179-7は、「CREATE_DIAGNOSIS_TASKファンクション」の
problem_type
パラメータに設定可能な値について説明しています -
表179-8は、
_sql_findings_mode
パラメータに設定可能な値について説明しています
表179-1 DBMS_SQLDIAGの定数 - SQLDIAGアドバイザの名前
定数 | タイプ | 値 | 説明 |
---|---|---|---|
|
|
SQL修復アドバイザ |
アドバイザのフレームワークに表示されるSQL修復アドバイザの名前 |
表179-2 DBMS_SQLDIAGの定数 - SQLDIAGアドバイザのタスク・スコープ・パラメータの値
定数 | タイプ | 値 | 説明 |
---|---|---|---|
|
|
|
問題の詳細な分析(実行に時間がかかる場合があります) |
|
|
|
問題の簡単な分析 |
表179-3 DBMS_SQLDIAGの定数 - SQLDIAGアドバイザのtime_limit定数
定数 | タイプ | 値 | 説明 |
---|---|---|---|
|
|
|
問題の分析に対するデフォルトの時間制限 |
表179-4 DBMS_SQLDIAGの定数 - レポート・タイプ(設定可能な値)の定数
定数 | タイプ | 値 | 説明 |
---|---|---|---|
|
|
|
REPORT_DIAGNOSIS_TASKファンクションによるレポート(HTML形式) |
|
|
|
REPORT_DIAGNOSIS_TASKファンクションによるレポート(テキスト形式) |
|
|
|
REPORT_DIAGNOSIS_TASKファンクションによるレポート(XML形式) |
表179-5 DBMS_SQLDIAGの定数 - レポート・レベル(設定可能な値)の定数
定数 | タイプ | 値 | 説明 |
---|---|---|---|
|
|
|
スキップされた文に関する注釈を含む詳細なレポート。 |
|
|
|
分析対象の各文に関する情報(実装されていないリコメンデーションなど)を表示します。 |
|
|
|
簡単なレポートに、アドバイザによって実行されるアクションに関する情報のみが表示されます。 |
表179-6 DBMS_SQLDIAGの定数 - レポート・セクション(設定可能な値)の定数
定数 | タイプ | 値 | 説明 |
---|---|---|---|
|
|
|
すべての文 |
|
|
|
エラーが発生した文 |
|
|
|
チューニングの結果 |
|
|
|
一般的な情報 |
|
|
|
EXPLAIN PLAN |
|
|
|
サマリー情報 |
表179-7 DBMS_SQLDIAGの定数 - 問題のタイプの定数
定数 | タイプ | 値 | 説明 |
---|---|---|---|
|
|
|
パフォーマンスに問題があるとユーザーが推定しています。 |
|
|
|
問合せの結果に一貫性がないとユーザーが推定しています。 |
|
|
|
コンパイル中にクラッシュしたことをユーザーが確認しました。 |
|
|
|
実行中にクラッシュしたことをユーザーが確認しました。 |
|
|
|
すべての代替計画を検索するユーザー。 |
表179-8 DBMS_SQLDIAGの定数 - 検索結果のフィルタの定数
定数 | タイプ | 値 | 説明 |
---|---|---|---|
|
|
|
検索可能なすべての結果を表示します。 |
|
|
|
構造に対する検証ルールのステータスを表示します。 |
|
|
|
問合せで使用される機能のみを表示します。 |
|
|
|
アドバイザによって生成された代替計画を表示します。 |
|
|
|
2つの計画の差異を表示します。 |
|
|
|
テスト用のマスク情報。 |
|
|
|
機能の使用履歴を表示します。 |
|
|
|
アドバイザによって生成された代替計画を表示します。 |
179.4 DBMS_SQLDIAGサブプログラムの要約
この表は、DBMS_SQLDIAG
サブプログラムを示し、簡単に説明しています。
表179-9 DBMS_SQLDIAGパッケージのサブプログラム
サブプログラム | 説明 |
---|---|
指定したSQL診断タスクで推奨されているとおりに、推奨されたSQLパッチを受け入れます。 |
|
既存のSQLパッチ・オブジェクトの特定の属性を変更します。 |
|
診断タスクを取り消します。 |
|
このファンクションは、1つのSQL文を診断するために診断タスクを作成します。 |
|
SQLテキストにより識別された特定の文に対して、一連のユーザー指定のヒントに基づいてSQLパッチを作成します。 |
|
システム間でのSQLパッチの転送に使用するステージング表を作成します。 |
|
診断タスクを削除します。 |
|
データベースから名前付きSQLパッチを削除します。 |
|
診断タスクを実行します。 |
|
SQLテスト・ケースについて記述します。 |
|
SQLテスト・ケースをディレクトリにエクスポートします。 |
|
引数として渡されるインシデントIDに対応するSQLテスト・ケースを生成します。 |
|
引数として渡されるSQLに対応するSQLテスト・ケースを生成します。 |
|
指定したバグ番号に対する修正制御の値を戻します。 |
|
SQLテスト・ケースをインポートします。 |
|
SQLテスト・ケースをスキーマにインポートします。 |
|
インシデントIDの |
|
診断タスクを中断します。 |
|
テスト・ケース・ビルダー(TCB)・ファイルから |
|
CREATE_STGTAB_SQLPATCHプロシージャによって作成されたステージング表へのSQLパッチ。 |
|
診断タスクをレポートします。 |
|
REPORT_SQLファンクション | 特定のSQL文の診断レポートをHTML形式で生成します。 |
診断タスクをレポートします。 |
|
診断タスクをリセットします。 |
|
診断タスクを再開します。 |
|
診断タスク・パラメータを設定します。 |
|
SQL_DIAGNOSE_AND_REPAIRファンクション |
特定の問題タイプについて、特定のSQL IDの特定のSQL文を診断します。 |
PACK_STGTAB_SQLPATCHプロシージャをコールして移入されたステージング表からアンパックし、ステージング表に格納されているパッチのデータを使用して、システムにパッチを作成します。 |
179.4.1 ACCEPT_SQL_PATCHファンクションおよびプロシージャ
このプロシージャは、指定したSQL診断タスクで推奨されているとおりに、推奨されたSQLパッチを受け入れます。
構文
DBMS_SQLDIAG.ACCEPT_SQL_PATCH ( task_name IN VARCHAR2, object_id IN NUMBER := NULL, name IN VARCHAR2 := NULL, description IN VARCHAR2 := NULL, category IN VARCHAR2 := NULL, task_owner IN VARCHAR2 := NULL, replace IN BOOLEAN := FALSE, force_match IN BOOLEAN := FALSE) RETURN VARCHAR2;
DBMS_SQLDIAG.ACCEPT_SQL_PATCH ( task_name IN VARCHAR2, object_id IN NUMBER := NULL, name IN VARCHAR2 := NULL, description IN VARCHAR2 := NULL, category IN VARCHAR2 := NULL, task_owner IN VARCHAR2 := NULL, replace IN BOOLEAN := FALSE, force_match IN BOOLEAN := FALSE);
パラメータ
表179-10 ACCEPT_SQL_PATCHファンクションおよびプロシージャのパラメータ
パラメータ | 説明 |
---|---|
|
SQL診断タスクの名前。 |
|
診断タスクに関連付けられているSQL文を示すアドバイザ・フレームワーク・オブジェクトの識別子。 |
|
パッチの名前。二重引用符を含むことはできません。この名前は大文字と小文字を区別します。指定しない場合は、システムによってSQLパッチに一意の名前が生成されます。 |
|
SQLパッチの目的を記述したユーザー指定の文字列。記述の最大サイズは |
|
カテゴリ名であり、このパッチを使用するセッションに対するセッションの |
|
診断タスクの所有者。これはオプションのパラメータで、他のユーザーが所有する診断タスクに関連付けられているSQLパッチを受け入れるためには指定する必要があります。現行のユーザーがデフォルト値です。 |
|
パッチがすでに存在する場合にこの引数を |
|
|
戻り値
SQLパッチの名前。
使用上のノート
CREATE
ANY
SQL
PROFILE
権限が必要です。
179.4.2 ALTER_SQL_PATCHプロシージャ
このプロシージャは、既存のSQLパッチ・オブジェクトの特定の属性を変更します。
構文
DBMS_SQLDIAG.ALTER_SQL_PATCH ( name IN VARCHAR2, attribute_name IN VARCHAR2, attribute_value IN VARCHAR2);
パラメータ
表179-11 ALTER_SQL_PATCHプロシージャのパラメータ
パラメータ | 説明 |
---|---|
|
変更するSQLパッチの名前。 |
|
変更するSQLパッチの名前。有効な値は、次のとおりです。
このパラメータは必須で、大/小文字が区別されます。 |
|
属性の新しい値。有効な属性値については、 |
使用上のノート
ALTER
ANY
SQL
PATCH
権限が必要です。
179.4.3 CANCEL_DIAGNOSIS_TASKプロシージャ
このプロシージャは、診断タスクを取り消します。
構文
DBMS_SQLDIAG.CANCEL_DIAGNOSIS_TASK ( taskname IN VARCHAR2);
パラメータ
表179-12 CANCEL_DIAGNOSIS_TASKプロシージャのパラメータ
パラメータ | 説明 |
---|---|
|
タスクの名前 |
179.4.4 CREATE_DIAGNOSIS_TASKファンクション
このファンクションは、1つのSQL文を診断するために診断タスクを作成します。これは、SQL診断タスクの一意の名前を戻します。
構文
テキストを指定して、単一の文の診断を準備します。
DBMS_SQLDIAG.CREATE_DIAGNOSIS_TASK ( sql_text IN CLOB, bind_list IN sql_binds := NULL, user_name IN VARCHAR2 := NULL, scope IN VARCHAR2 := SCOPE_COMPREHENSIVE, time_limit IN NUMBER := TIME_LIMIT_DEFAULT, task_name IN VARCHAR2 := NULL, description IN VARCHAR2 := NULL, problem_type IN NUMBER := PROBLEM_TYPE_PERFORMANCE) RETURN VARCHAR2;
識別子を指定して、カーソル・キャッシュ内の単一の文の診断を準備します。
DBMS_SQLDIAG.CREATE_DIAGNOSIS_TASK ( sql_id IN VARCHAR2, plan_hash_value IN NUMBER := NULL, scope IN VARCHAR2 := SCOPE_COMPREHENSIVE, time_limit IN NUMBER := TIME_LIMIT_DEFAULT, task_name IN VARCHAR2 := NULL, description IN VARCHAR2 := NULL, problem_type IN NUMBER := PROBLEM_TYPE_PERFORMANCE) RETURN VARCHAR2;
sqlsetの診断を準備します。
DBMS_SQLDIAG.CREATE_DIAGNOSIS_TASK ( sqlset_name IN VARCHAR2, basic_filter IN VARCHAR2 := NULL, object_filter IN VARCHAR2 := NULL, rank1 IN VARCHAR2 := NULL, rank2 IN VARCHAR2 := NULL, rank3 IN VARCHAR2 := NULL, result_percentage IN NUMBER := NULL, result_limit IN NUMBER := NULL, scope IN VARCHAR2 := SCOPE_COMPREHENSIVE, time_limit IN NUMBER := TIME_LIMIT_DEFAULT, task_name IN VARCHAR2 := NULL, description IN VARCHAR2 := NULL, plan_filter IN VARCHAR2 := 'MAX_ELAPSED_TIME', sqlset_owner IN VARCHAR2 := NULL, problem_type IN NUMBER := PROBLEM_TYPE_PERFORMANCE) RETURN VARCHAR2;
パラメータ
表179-13 CREATE_DIAGNOSIS_TASKファンクションのパラメータ
パラメータ | 説明 |
---|---|
|
SQL文のテキスト。 |
|
バインド値のセット。 |
|
診断対象の文またはsqlsetがあるユーザーの名前。 |
|
診断スコープ(制限付き/包括的)。 |
|
診断セッションの最大継続時間(秒)。 |
|
診断タスク名(オプション)。 |
description |
最大256文字のSQL診断セッションの記述。 |
|
タスクの目標を決定します。使用可能な値は次のとおりです。
|
|
文の識別子。 |
|
SQL実行計画のハッシュ値。 |
|
sqlset名 |
|
SQLチューニング・セット(STS)からSQLをフィルタするためのSQL述語。 |
|
オブジェクト・フィルタ |
|
選択したSQLのorder-by句。 |
|
ランキング・メジャーの合計のパーセント。 |
|
フィルタ処理またはランク付けが済んでいるSQLの先頭から数件取得されるSQL文。 |
|
計画フィルタ。計画(
|
|
sqlsetの所有者。現行のスキーマ所有者の場合はNULL。 |
179.4.5 CREATE_SQL_PATCHファンクション
このファンクションは、SQLテキストにより識別された特定の文に対して、一連のユーザー指定のヒントに基づいてSQLパッチを作成します。
SQLパッチは、通常、SQL文のコンパイル中または実行中のエラーを回避するためにSQL修復アドバイザによって自動的に作成されます。このファンクションは、エラーを解決する一連のヒントに基づいてSQLパッチを手動で作成する方法を提供します。
構文
DBMS_SQLDIAG.CREATE_SQL_PATCH ( sql_text IN CLOB, hint_text IN CLOB, name IN VARCHAR2 := NULL, description IN VARCHAR2 := NULL, category IN VARCHAR2 := NULL, validate IN BOOLEAN := TRUE) RETURN VARCHAR2;
DBMS_SQLDIAG.CREATE_SQL_PATCH ( sql_id IN VARCHAR2, hint_text IN CLOB, name IN VARCHAR2 := NULL, description IN VARCHAR2 := NULL, category IN VARCHAR2 := NULL, validate IN BOOLEAN := TRUE) RETURN VARCHAR2;
パラメータ
表179-14 CREATE_SQL_PATCHファンクションのパラメータ
パラメータ | 説明 |
---|---|
|
SQL文のテキスト |
|
SQL文のSQL識別子 |
|
SQLパッチに含めるヒント |
|
SQLパッチ名(オプション) |
|
SQLパッチの説明 |
|
カテゴリ名 |
|
提供されたヒントを検証するかどうか |
戻り値
両方のファンクションがSQLパッチ名を戻します。
179.4.6 CREATE_STGTAB_SQLPATCHプロシージャ
このプロシージャは、システム間でのSQLパッチの転送に使用するステージング表を作成します。
構文
DBMS_SQLDIAG.CREATE_STGTAB_SQLPATCH ( table_name IN VARCHAR2, schema_name IN VARCHAR2 := NULL, tablespace_name IN VARCHAR2 := NULL);
パラメータ
表179-15 CREATE_STGTAB_SQLPATCHプロシージャのパラメータ
パラメータ | 説明 |
---|---|
|
(必須)作成する表の名前(大/小文字区別)。 |
|
作成する表を格納するスキーマ(大/小文字区別)。現行のスキーマの場合は |
|
ステージング表を格納する表領域(大/小文字区別)。現行のユーザーのデフォルト表領域の場合は |
179.4.7 DROP_DIAGNOSIS_TASKプロシージャ
このプロシージャは、診断タスクを削除します。
構文
DBMS_SQLDIAG.DROP_DIAGNOSIS_TASK ( taskname IN VARCHAR2);
パラメータ
表179-16 DROP_DIAGNOSIS_TASKプロシージャのパラメータ
パラメータ | 説明 |
---|---|
|
タスクの名前 |
179.4.8 DROP_SQL_PATCHプロシージャ
このプロシージャは、データベースから名前付きSQLパッチを削除します。
構文
DBMS_SQLDIAG.DROP_SQL_PATCH ( name IN VARCHAR2, ignore IN BOOLEAN := FALSE);
パラメータ
表179-17 DROP_SQL_PATCHファンクションおよびプロシージャのパラメータ
パラメータ | 説明 |
---|---|
|
削除するパッチの名前。この名前は大文字と小文字を区別します。 |
|
オブジェクトが存在しないために起こるエラーは無視されます。 |
使用上のノート
DROP
ANY
SQL
PATCH
権限が必要です。
179.4.9 EXECUTE_DIAGNOSIS_TASKプロシージャ
このプロシージャは、診断タスクを実行します。
構文
DBMS_SQLDIAG.EXECUTE_DIAGNOSIS_TASK ( taskname IN VARCHAR2);
パラメータ
表179-18 EXECUTE_DIAGNOSIS_TASKプロシージャのパラメータ
パラメータ | 説明 |
---|---|
|
タスクの名前 |
179.4.10 EXPLAIN_SQL_TESTCASEファンクション
このプロシージャは、SQLテスト・ケースについて記述します。
構文
DBMS_SQLDIAG.EXPLAIN_SQL_TESTCASE ( sqlTestCase IN CLOB) RETURN CLOB;
パラメータ
表179-19 EXPLAIN_SQL_TESTCASEファンクションのパラメータ
パラメータ | 説明 |
---|---|
|
SQLテスト・ケースについて記述したXML文書。 |
179.4.11 EXPORT_SQL_TESTCASEプロシージャ
このプロシージャは、SQLテスト・ケースをディレクトリにエクスポートします。
構文
この変数は、SQL情報とともに指定する必要があります。
DBMS_SQLDIAG.EXPORT_SQL_TESTCASE ( directory IN VARCHAR2, sql_text IN CLOB, user_name IN VARCHAR2 := NULL, bind_list IN sql_binds := NULL, exportEnvironment IN BOOLEAN := TRUE, exportMetadata IN BOOLEAN := TRUE, exportData IN BOOLEAN := FALSE, exportPkgbody IN BOOLEAN := FALSE, samplingPercent IN NUMBER := 100, ctrlOptions IN VARCHAR2 := NULL, timeLimit IN NUMBER := 0, testcase_name IN VARCHAR2 := NULL, testcase IN OUT NOCOPY CLOB, preserveSchemaMapping IN BOOLEAN := FALSE, version IN VARCHAR2 := 'COMPATIBLE');
この変数は、インシデント・ファイルからSQL情報を抽出します。
DBMS_SQLDIAG.EXPORT_SQL_TESTCASE ( directory IN VARCHAR2, incident_id IN VARCHAR2, exportEnvironment IN BOOLEAN := TRUE, exportMetadata IN BOOLEAN := TRUE, exportData IN BOOLEAN := FALSE, exportPkgbody IN BOOLEAN := FALSE, samplingPercent IN NUMBER := 100, ctrlOptions IN VARCHAR2 := NULL, timeLimit IN NUMBER := DBMS_SQLDIAG.TIME_LIMIT_DEFAULT, testcase_name IN VARCHAR2 := NULL, testcase IN OUT NOCOPY CLOB, preserveSchemaMapping IN BOOLEAN := FALSE) version IN VARCHAR2 := 'COMPATIBLE');
この変数を使用すると、カーソル・キャッシュに存在するカーソルからSQLテスト・ケースを生成できます。SQL識別子およびSQLハッシュ値を取得するには、V$SQL
を使用します。
DBMS_SQLDIAG.EXPORT_SQL_TESTCASE ( directory IN VARCHAR2, sql_id IN VARCHAR2, plan_hash_value IN NUMBER := NULL, exportEnvironment IN BOOLEAN := TRUE, exportMetadata IN BOOLEAN := TRUE, exportData IN BOOLEAN := FALSE, exportPkgbody IN BOOLEAN := FALSE, samplingPercent IN NUMBER := 100, ctrlOptions IN VARCHAR2 := NULL, timeLimit IN NUMBER := DBMS_SQLDIAG.TIME_LIMIT_DEFAULT, testcase_name IN VARCHAR2 := NULL, testcase IN OUT NOCOPY CLOB, preserveSchemaMapping IN BOOLEAN := FALSE) version IN VARCHAR2 := 'COMPATIBLE');
パラメータ
表179-20 EXPORT_SQL_TESTCASEプロシージャのパラメータ
パラメータ | 説明 |
---|---|
|
生成された様々なファイルを保存するディレクトリ。 |
|
エクスポートするSQL文のテキスト。 |
|
違反SQLが含まれているインシデントID。 |
|
カーソル・キャッシュ内の文の識別子。 |
|
SQLの解析に使用されるユーザー・スキーマの名前。デフォルトは |
|
文に関連付けられているバインド値のリスト。 |
|
コンパイル環境をエクスポートする必要がある場合は、 |
|
SQLで参照されているオブジェクトの定義をエクスポートする必要がある場合は、 |
|
SQLで参照されているオブジェクトのデータをエクスポートする必要がある場合は、 |
|
SQLで参照されているパッケージの本体をエクスポートする場合は、 |
|
|
|
不透明な制御パラメータ。たとえば、3回実行するには、文字列
|
|
SQLテスト・ケースのエクスポートにかける時間。 |
|
SQLテスト・ケースの名前(オプション)。この名前は、生成されたすべてのスクリプトの接頭辞に使用されます。 |
|
結果として得られるテスト・ケース。 |
|
スキーマ(単数または複数)が元の環境からテスト環境に再マップされない場合は、 |
|
抽出されるデータベース・オブジェクトのバージョン。このオプションは、
|
使用上のノート
-
SQLテスト・ケースは、別のマシンでSQLの失敗を再現するために必要なファイルのセットを生成します。次のものが含まれます。
-
スキーマ・オブジェクトおよび統計情報を含むダンプ・ファイル(
.dmp
) -
文のEXPLAIN PLAN(拡張モード)
-
問題となる文で収集した診断情報
-
オブジェクトを再ロードするために実行する重要なスクリプト
-
ソースのシステム統計情報をリプレイするSQLスクリプト
-
SQLテスト・ケースについて記述したコンテンツ・ファイルの表
-
メタデータ(
xxxxmain.xml
) -
TCBの使用方法を説明する
README.txt
ファイル -
文(
ol.xml
)で使用されるアウトライン -
エクスポートするdb/env(
prmimp.sql
)内のパラメータ・セットのリスト -
SQL監視レポート(
smrpt.html
)(存在する場合) -
AWRレポート(
awrrpt.html
)(存在する場合) -
当該の文で使用されるバインドのリスト(
bndlst.xml
)
-
-
ユーザー
SYS
でテスト・ケース・ビルダー(TCB)を実行することはできません。かわりに、DBA
権限を付与できる別のユーザーを使用してください。 -
TCBのデフォルト設定では、データはエクスポートされません。ただし、最適ではない結果を診断するためなどにデータが必要な場合があります。データをエクスポートするには、
exportData=>TRUE
に設定してEXPORT_SQL_TESTCASE
をコールします(importData=>FALSE
でOFF
に設定しないかぎり、データはデフォルトでインポートされます)。 -
TCBはデフォルトでPL/SQLパッケージ仕様部を含みますが、PL/SQLパッケージ本体は含みません。しかし、PL/SQLファンクションを起動するため、またはパッケージでVirtual Private Database(VPD)機能が定義されているためパッケージ本体が必要になる場合もあります。PL/SQLパッケージ本体をエクスポートするには、
exportPkgbody=>TRUE
に設定して、EXPORT_SQL_TESTCASE
をコールします。PL/SQLパッケージ本体をインポートするには、importPkgbody=>TRUE
に設定して、IMPORT_SQL_TESTCASEプロシージャをコールします。 -
オブジェクトの統計履歴をエクスポートするには、データベース互換性を12.0以上に設定する必要があります。
-
このプロシージャでは、グローバル一時表(GTT)のデータおよび統計はエクスポートされません。
例
<parameters>
親タグを使用するか、またはその親タグを使用しないでカプセル化されたctrlOptions
で、ユーザーは複数のパラメータを指定できます。
<parameters>タグを使用する場合
<parameters> <parameter name="capture">with_runtime_info</parameter> <parameter name="mexec_count">1</parameter> </parameters>
<parameters>タグを使用しない場合
<parameter name="capture">with_runtime_info</parameter> <parameter name="mexec_count">1</parameter>'
ctrlOptions
パラメータで指定できるcompress
オプション。
opt := '<parameters> <parameter name="capture">with_runtime_info</parameter> <parameter name="compress">yes</parameter> </parameters>';
ctrlOptions
パラメータで指定できるdiag_event
オプション。
opt := '<parameters> <parameter name="capture">with_runtime_info</parameter> <parameter name="compress">yes</parameter> </parameters>';
ctrlOptions
パラメータで指定できるproblem_type
オプション。
opt := '<parameters> <parameter name="capture">with_runtime_info</parameter> <parameter name="compress">yes</parameter> </parameters>';
179.4.12 EXPORT_SQL_TESTCASE_DIR_BY_INCファンクション
このファンクションは、引数として渡されるインシデントIDに対応するSQLテスト・ケースを生成します。引数として渡されるディレクトリ内に、スクリプトおよびダンプ・ファイルのセットを作成します。
構文
DBMS_SQLDIAG.EXPORT_SQL_TESTCASE_DIR_BY_INC ( incident_id IN NUMBER, directory IN VARCHAR2, exportEnvironment IN VARCHAR2 := 'TRUE', exportMetadata IN VARCHAR2 := 'TRUE', exportData IN VARCHAR2 := 'FALSE', samplingPercent IN VARCHAR2 := '100', ctrlOptions IN VARCHAR2 := NULL version IN VARCHAR2 := 'COMPATIBLE') RETURN BOOLEAN;
パラメータ
表179-21 EXPORT_SQL_TESTCASE_DIR_BY_INCファンクションのパラメータ
パラメータ | 説明 |
---|---|
|
違反SQLが含まれているインシデントID。インシデントの詳細は、『Oracle Databaseパフォーマンス・チューニング・ガイド』を参照してください。 |
|
生成されたファイルのディレクトリ・パス |
|
コンパイル環境をエクスポートする必要がある場合は、 |
|
SQLで参照されているオブジェクトの定義をエクスポートする必要がある場合は、 |
|
SQLで参照されているオブジェクトのデータをエクスポートする必要がある場合は、 |
|
|
|
不透明な制御パラメータ。たとえば、3回実行するには、文字列
|
|
抽出されるデータベース・オブジェクトのバージョン。このオプションは、
|
179.4.13 EXPORT_SQL_TESTCASE_DIR_BY_TXTファンクション
このファンクションは、引数として渡されるSQLに対応するSQLテスト・ケースを生成します。引数として渡されるディレクトリ内に、スクリプトおよびダンプ・ファイルのセットを作成します。
構文
DBMS_SQLDIAG.EXPORT_SQL_TESTCASE_DIR_BY_TXT ( incident_id IN NUMBER, directory IN VARCHAR2, sql_text IN CLOB, user_name IN VARCHAR2 := 'SYS', exportEnvironment IN VARCHAR2 := 'TRUE', exportMetadata IN VARCHAR2 := 'TRUE', exportData IN VARCHAR2 := 'FALSE', samplingPercent IN VARCHAR2 := '100', ctrlOptions IN VARCHAR2 := NULL version IN VARCHAR2 := 'COMPATIBLE') RETURN BOOLEAN;
パラメータ
表179-22 EXPORT_SQL_TESTCASE_DIR_BY_TXTファンクションのパラメータ
パラメータ | 説明 |
---|---|
|
違反SQLが含まれているインシデントID。 |
|
生成された様々なファイルを保存するディレクトリ。 |
|
記述するSQL文のテキスト。 |
|
SQLの解析に使用されるユーザー・スキーマの名前。デフォルトは |
|
コンパイル環境をエクスポートする必要がある場合は、 |
|
SQLで参照されているオブジェクトの定義をエクスポートする必要がある場合は、 |
|
SQLで参照されているオブジェクトのデータをエクスポートする必要がある場合は、 |
|
|
|
不透明な制御パラメータ。たとえば、3回実行するには、文字列
|
|
抽出されるデータベース・オブジェクトのバージョン。このオプションは、
|
179.4.14 GET_FIX_CONTROLファンクション
このファンクションは、指定したバグ番号に対する固定制御の値を戻します。
構文
DBMS_SQLDIAG.GET_FIX_CONTROL ( bug_number IN NUMBER) RETURN NUMBER;
パラメータ
表179-23 GET_FIX_CONTROLファンクションのパラメータ
パラメータ | 説明 |
---|---|
|
バグ番号 |
179.4.15 GET_SQLファンクション
このファンクションは、指定したインシデントIDに関連付けられているトレース・ファイルからsql_setrow
をロードします。
構文
DBMS_SQLDIAG.GET_SQL ( incident_id IN VARCHAR2) RETURN SQLSET_ROW;
パラメータ
表179-24 GET_SQLファンクションのパラメータ
パラメータ | 説明 |
---|---|
|
インシデントの識別子。 |
179.4.16 IMPORT_SQL_TESTCASEプロシージャ
このプロシージャは、SQLテスト・ケースをスキーマにインポートします。
構文
この変数には、ソース・ディレクトリとSQLテスト・ケース・メタデータ・オブジェクト(XML形式)が必要です。
DBMS_SQLDIAG.IMPORT_SQL_TESTCASE ( directory IN VARCHAR2, sqlTestCase IN CLOB, importEnvironment IN BOOLEAN := TRUE, importMetadata IN BOOLEAN := TRUE, importData IN BOOLEAN := TRUE, importPkgbody IN BOOLEAN := FALSE, importDiagnosis IN BOOLEAN := TRUE, ignoreStorage IN BOOLEAN := TRUE, ctrlOptions IN VARCHAR2 := NULL, preserveSchemaMapping IN BOOLEAN := FALSE);
この変数には、SQLテスト・ケース・メタデータ・ファイルのソース・ディレクトリ名が必要です。
DBMS_SQLDIAG.IMPORT_SQL_TESTCASE ( directory IN VARCHAR2, filename IN VARCHAR2, importEnvironment IN BOOLEAN := TRUE, importMetadata IN BOOLEAN := TRUE, importData IN BOOLEAN := TRUE, importPkgbody IN BOOLEAN := FALSE, importDiagnosis IN BOOLEAN := TRUE, ignoreStorage IN BOOLEAN := TRUE, ctrlOptions IN VARCHAR2 := NULL, preserveSchemaMapping IN BOOLEAN := FALSE);
パラメータ
表179-25 IMPORT_SQL_TESTCASEプロシージャのパラメータ
パラメータ | 説明 |
---|---|
|
テスト・ケース・ファイルがあるディレクトリ。 |
|
SQLテスト・ケースについて記述したXML文書を含むファイルの名前。 |
|
コンパイル環境をインポートする必要がある場合は、 |
|
SQLで参照されているオブジェクトの定義をインポートする必要がある場合は、 |
|
SQLで参照されているオブジェクトのデータをインポートする必要がある場合は、 |
|
SQLで参照されているパッケージの本体をインポートする場合は、 |
|
タスクに関連付けられた診断情報をインポートする必要がある場合は、 |
|
記憶域の属性を無視する必要がある場合は、 |
|
不透明な制御パラメータであり、この
|
|
スキーマ(単数または複数)が元の環境からテスト環境に再マップされない場合は、 |
使用上のノート
-
SQLテスト・ケースは、別のマシンでSQLの失敗を再現するために必要なファイルのセットを生成します。次のものが含まれます。
-
スキーマ・オブジェクトおよび統計情報を含むダンプ・ファイル(
.dmp
) -
文のEXPLAIN PLAN(拡張モード)
-
問題となる文で収集した診断情報
-
オブジェクトを再ロードするために実行する重要なスクリプト
-
ソースのシステム統計情報をリプレイするSQLスクリプト
-
SQLテスト・ケースについて記述したコンテンツ・ファイルの表
-
メタデータ(
xxxxmain.xml
) -
TCBの使用方法を説明する
README.txt
ファイル -
文(
ol.xml
)で使用されるアウトライン -
エクスポートするdb/env(
prmimp.sql
)内のパラメータ・セットのリスト -
SQL監視レポート(
smrpt.html
)(存在する場合) -
AWRレポート(
awrrpt.html
)(存在する場合) -
当該の文で使用されるバインドのリスト(
bndlst.xml
)
-
-
ユーザー
SYS
でテスト・ケース・ビルダー(TCB)を実行することはできません。かわりに、DBA
権限を付与できる別のユーザーを使用してください -
TCBのデフォルト設定では、データはエクスポートされません。ただし、最適ではない結果を診断するためなどにデータが必要な場合があります。データをエクスポートするには、
exportData=>TRUE
に設定してEXPORT_SQL_TESTCASEプロシージャをコールします(importData=>FALSE
でOFF
に設定しないかぎり、データはデフォルトでインポートされます)。 -
TCBはデフォルトでPL/SQLパッケージ仕様部を含みますが、PL/SQLパッケージ本体は含みません。しかし、PL/SQLファンクションを起動するため、またはパッケージでVirtual Private Database(VPD)機能が定義されているためパッケージ本体が必要になる場合もあります。PL/SQLパッケージ本体をエクスポートするには、
exportPkgbody=>TRUE
に設定して、EXPORT_SQL_TESTCASEプロシージャをコールします。PL/SQLパッケージ本体をインポートするには、importPkgbody=>TRUE
に設定して、IMPORT_SQL_TESTCASE
プロシージャをコールします。 -
EXPORT_SQL_TESTCASEプロシージャの起動時に使用される
capture
値は、このプロシージャをコールする際に使用する必要があります。
179.4.17 INCIDENTID_2_SQLプロシージャ
このプロシージャは、インシデントIDのsql_setrow
を初期化します。
構文
DBMS_SQLDIAG.INCIDENTID_2_SQL ( incident_id IN VARCHAR2, sql_stmt OUT SQLSET_ROW, problem_type OUT NUMBER, err_code OUT BINARY_INTEGER, err_mesg OUT VARCHAR2);
パラメータ
表179-26 INCIDENTID_2_SQLプロシージャのパラメータ
パラメータ | 説明 |
---|---|
|
インシデントの識別子。 |
|
結果として得られるSQL |
|
SQL問題の暫定タイプ(現時点では、 |
|
エラー・コード。存在しない場合は |
|
エラー・メッセージ。存在しない場合は |
179.4.18 INTERRUPT_DIAGNOSIS_TASKプロシージャ
このプロシージャは、診断タスクを中断します。
構文
DBMS_SQLDIAG.INTERRUPT_DIAGNOSIS_TASK ( taskname IN VARCHAR2);
パラメータ
表179-27 INTERRUPT_DIAGNOSIS_TASKプロシージャのパラメータ
パラメータ | 説明 |
---|---|
|
タスクの名前 |
179.4.19 LOAD_SQLSET_FROM_TCBファンクション
このファンクションは、テスト・ケース・ビルダー・ファイルからSQLSET
をロードします。
構文
DBMS_SQLDIAG.LOAD_SQLSET_FROM_TCB ( directory IN VARCHAR2, filename IN VARCHAR2, sqlset_name IN VARCHAR2 DEFAULT NULL) RETURN VARCHAR2;
パラメータ
表179-28 LOAD_SQLSET_FROM_TCBファンクションのパラメータ
パラメータ | 説明 |
---|---|
|
ディレクトリの名前 |
|
ファイルの名前 |
|
|
179.4.20 PACK_STGTAB_SQLPATCHプロシージャ
このプロシージャは、CREATE_STGTAB_SQLPATCHプロシージャをコールして作成されたステージング表にSQLパッチをパックします。
構文
DBMS_SQLDIAG.PACK_STGTAB_SQLPATCH ( patch_name IN VARCHAR2 := '%', patch_category IN VARCHAR2 := 'DEFAULT', staging_table_name IN VARCHAR2, staging_schema_owner IN VARCHAR2 := NULL);
パラメータ
表179-29 PACK_STGTAB_SQLPATCHプロシージャのパラメータ
パラメータ | 説明 |
---|---|
|
パックするパッチの名前(%ワイルドカードを使用可、大/小文字区別)。 |
|
パックするパッチのカテゴリ(%ワイルドカードを使用可、大/小文字区別)。 |
|
(必須)使用する表の名前(大/小文字区別)。 |
|
表が存在するスキーマ(大/小文字区別)。現行のスキーマの場合は |
使用上のノート
-
ステージング表に対する
ADMINISTER
SQL
PLAN MANAGEMENT
OBJECT
権限およびINSERT
権限が必要です。 -
デフォルトでは、カテゴリ
DEFAULT
内のすべてのSQLパッチを移動します。このサブプログラムは各SQLパッチをパックした後にCOMMIT
を発行するため、実行中にエラーが発生した場合、ステージング表にいくつかのパッチが残る可能性があります。
179.4.21 REPLAY_SQL_TESTCASEファンクション
このファンクションは、SQLテスト・ケースの再生成を自動化します。
構文
DBMS_SQLDIAG.REPLAY_SQL_TESTCASE ( directory IN VARCHAR2, filename IN VARCHAR2, ctrlOptions IN VARCHAR2 := NULL, format IN VARCHAR2 := 'TEXT') RETURN CLOB; DBMS_SQLDIAG.REPLAY_SQL_TESTCASE ( directory IN VARCHAR2, sqlTestCase IN CLOB, ctrlOptions IN VARCHAR2 := NULL, format IN VARCHAR2 := 'TEXT') RETURN CLOB;
パラメータ
表179-30 REPLAY_SQL_TESTCASEファンクションのパラメータ
パラメータ | 説明 |
---|---|
|
テスト・ケース・ファイルがあるディレクトリ。 |
|
SQLテスト・ケースについて記述したXML文書を含むファイルの名前。 |
|
不透明な制御パラメータ。たとえば、3回実行するには、文字列
|
|
SQLテスト・ケース |
|
リプレイ・レポートの形式。使用可能な形式は、 |
例
TCB Replay Mode: Execute SELECT /* tcbdynpl_1 */ /*+ gather_plan_statistics */ * FROM (SELECT * FROM emp where emp.sal > 100) emp, dept WHERE emp.deptno = dept.deptno And emp.sal > 1000 /* tcbdynpl_1 */ Explain Plan Plan Hash Value : 2219294842 ----------------------------------------------------------------- | Id | Operation | Name | Rows | ----------------------------------------------------------------- | 0 | SELECT STATEMENT | | 13 | | * 1 | HASH JOIN | | 13 | | 2 | NESTED LOOPS | | | | 3 | NESTED LOOPS | | 13 | | 4 | STATISTICS COLLECTOR | | | | 5 | TABLE ACCESS FULL | DEPT | 4 | | * 6 | INDEX RANGE SCAN | EMP_IDX_DEPTNO | | | * 7 | TABLE ACCESS BY INDEX ROWID | EMP | 3 | | * 8 | TABLE ACCESS FULL | EMP | 13 | ----------------------------------------------------------------- Predicate Information (identified by operation id): ------------------------------------------ * 1 - access("EMP"."DEPTNO"="DEPT"."DEPTNO") * 6 - access("EMP"."DEPTNO"="DEPT"."DEPTNO") * 7 - filter("EMP"."SAL">1000) * 8 - filter("EMP"."SAL">1000) Runtime Plan Plan Hash Value : 2219294842 ------------------------------------------------------- | Id | Operation | Name | E-Card | A-Card | ------------------------------------------------------- | 0 | SELECT STATEMENT | | | 0 | | * 1 | HASH JOIN | | 13 | 0 | | 2 | TABLE ACCESS FULL | DEPT | 4 | 0 | | * 3 | TABLE ACCESS FULL | EMP | 13 | 0 | ------------------------------------------------------- Predicate Information (identified by operation id): ------------------------------------------ * 1 - access("EMP"."DEPTNO"="DEPT"."DEPTNO") * 3 - filter("EMP"."SAL">1000) REPLAY Note: ----------- - Replay used dynamic sampling - Replay forced Dynamic plan
179.4.22 REPORT_SQLファンクション
特定のSQL文の診断レポートをHTML形式で生成します。
構文
DBMS_SQLDIAG.REPORT_SQL ( sql_id IN VARCHAR2, directory IN VARCHAR2, level IN VARCHAR2 ) RETURN CLOB;
パラメータ
表179-31 DBMS_SQLDIAG.REPORT_SQLのパラメータ
パラメータ | 説明 | |
---|---|---|
|
SQL文のID。 |
|
|
レポートが書き込まれるディレクトリ・オブジェクト。デフォルトでは、このパラメータはNULLで、レポートはディスクに書き込まれずにCLOBとして返されます。 |
|
level | 3つのオプション: TYPICAL
|
使用上のノート
デフォルトでは、level
パラメータはNULLで、レポートはディスクに書き込まれずにCLOBとして返されます。
例179-1
この例では、SQL_ID 'gtckcpxmp3ry7'
が渡されていて、ディレクトリは標準のData Pumpディレクトリで、ALL
の詳細がレポートで返されます。
declare my_report clob; begin my_report := dbms_sqldiag.report_sql('gtckcpxmp3ry7',directory=>'DATA_PUMP_DIR',level=>'ALL'); end;/
179.4.23 REPORT_DIAGNOSIS_TASKファンクション
このファンクションは、診断タスクをレポートします。これは、必要なレポートが含まれているCLOB
を戻します。
構文
DBMS_SQLDIAG.REPORT_DIAGNOSIS_TASK ( taskname IN VARCHAR2, type IN VARCHAR2 := TYPE_TEXT, level IN VARCHAR2 := LEVEL_TYPICAL, section IN VARCHAR2 := SECTION_ALL, object_id IN NUMBER := NULL, result_limit IN NUMBER := NULL, owner_name IN VARCHAR2 := NULL) RETURN CLOB;
パラメータ
表179-32 REPORT_DIAGNOSIS_TASKファンクションのパラメータ
パラメータ | 説明 |
---|---|
|
レポートするタスクの名前。 |
|
レポートのタイプ。設定可能な値は、TEXT、HTML、XMLです(表179-4を参照)。 |
|
リコメンデーションの形式。設定可能な値は、TYPICAL、BASIC、ALLです(表179-5を参照)。 |
|
レポート内の特定のセクション。設定可能な値は、SUMMARY、FINDINGS、PLAN、INFORMATION、ERROR、ALLです(表179-6を参照)。 |
|
SQLチューニング・セット(STS)の特定の文を表すアドバイザ・フレームワーク・オブジェクトの識別子。 |
|
レポート生成の対象となる、STS内の文の数。 |
|
使用するタスク実行の名前。 |
179.4.24 RESET_DIAGNOSIS_TASKプロシージャ
このプロシージャは、診断タスクをリセットします。
構文
DBMS_SQLDIAG.RESET_DIAGNOSIS_TASK ( taskname IN VARCHAR2);
パラメータ
表179-33 RESET_DIAGNOSIS_TASKプロシージャのパラメータ
パラメータ | 説明 |
---|---|
|
タスクの名前 |
179.4.25 RESUME_DIAGNOSIS_TASKプロシージャ
このプロシージャは、診断パスを再開します。
構文
DBMS_SQLDIAG.RESUME_DIAGNOSIS_TASK ( taskname IN VARCHAR2);
パラメータ
表179-34 RESUME_DIAGNOSIS_TASKプロシージャのパラメータ
パラメータ | 説明 |
---|---|
|
タスクの名前 |
179.4.26 SET_DIAGNOSIS_TASK_PARAMETERプロシージャ
このプロシージャは、VARCHAR2
タイプのSQL診断パラメータの値を更新するためにコールします。
このプロシージャをコールする前に、タスクを初期状態に設定する必要があります。このプロシージャによって設定可能な診断パラメータは、次のとおりです。
-
MODE
: 診断スコープ(制限付き/包括的)。 -
_SQLDIAG_FINDING_MODE
: レポート内の検索結果(設定可能な値については表179-8を参照)
構文
DBMS_SQLDIAG.SET_DIAGNOSIS_TASK_PARAMETER ( taskname IN VARCHAR2, parameter IN VARCHAR2, value IN NUMBER);
パラメータ
表179-35 SET_DIAGNOSIS_TASK_PARAMETERプロシージャのパラメータ
パラメータ | 説明 |
---|---|
|
実行するタスクの識別子。 |
|
設定するパラメータの名前。 |
|
指定したパラメータの新しい値。 |
179.4.27 SQL_DIAGNOSE_AND_REPAIRファンクション
特定の問題タイプについて、特定のSQL IDの特定のSQL文を診断します。このファンクションでは、インシデントを作成して、インシデント・メタデータに必要な情報(SQL ID、SQLテキスト、コンパイル環境など)を移入します。また、診断タスクを作成して、そのタスクを実行し、特定のSQL IDに対する推奨SQL PATCHを受け入れます。
構文
DBMS_SQLDIAG.SQL_DIAGNOSE_AND_REPAIR ( sql_text IN CLOB, bind_list IN sql_binds := NULL, scope IN VARCHAR2 := SCOPE_COMPREHENSIVE, time_limit IN NUMBER := TIME_LIMIT_DEFAULT, problem_type IN NUMBER := PROBLEM_TYPE_PERFORMANCE, auto_apply_patch IN VARCHAR2 := YES) RETURN NUMBER; DBMS_SQLDIAG.SQL_DIAGNOSE_AND_REPAIR ( sql_id IN VARCHAR2, plan_hash_value IN NUMBER := NULL, scope IN VARCHAR2 := SCOPE_COMPREHENSIVE, time_limit IN NUMBER := TIME_LIMIT_DEFAULT, problem_type IN NUMBER := PROBLEM_TYPE_PERFORMANCE, auto_apply_patch IN VARCHAR2 := YES) RETURN NUMBER; DBMS_SQLDIAG.SQL_DIAGNOSE_AND_REPAIR ( incident_id IN VARCHAR2, scope IN VARCHAR2 := SCOPE_COMPREHENSIVE, time_limit IN NUMBER := TIME_LIMIT_DEFAULT, problem_type IN NUMBER := PROBLEM_TYPE_PERFORMANCE, auto_apply_patch IN VARCHAR2 := YES) RETURN NUMBER;
パラメータ
表179-36 SQL_DIAGNOSE_AND_REPAIRファンクションのパラメータ
パラメータ | 説明 |
---|---|
|
SQL文のテキスト |
|
SQL問合せのSQL ID。 |
|
診断に使用するプラン。デフォルト値は |
|
診断に使用するバインド。デフォルト値は |
|
診断アドバイザの範囲。 使用可能な値は次のとおりです。
デフォルト値は、 |
|
診断タスクの時間制限。デフォルト値は、 |
|
診断対象になる問題タイプ。次の問題タイプがサポートされています。
デフォルト値は、 |
|
推奨されたSQLパッチを受け入れる必要があるかどうかを決定する値。使用可能な値は次のとおりです。
デフォルト値は |
179.4.28 UNPACK_STGTAB_SQLPATCHプロシージャ
このプロシージャは、PACK_STGTAB_SQLPATCHプロシージャをコールして移入されたステージング表からアンパックします。これは、ステージング表に保存されているパッチ・データを使用して、システム上にパッチを作成します。パッチがすでに存在する場合、ユーザーは既存のパッチをパッチ・データに置き換えることも選択できます。この場合、同じ文を参照するパッチについては、名前が同じ場合にのみ置き換えることができます(「ACCEPT_SQL_PATCHファンクションおよびプロシージャ」を参照)。
構文
DBMS_SQLDIAG.UPPACK_STGTAB_SQLPATCH ( patch_name IN VARCHAR2 := '%', patch_category IN VARCHAR2 := '%', replace IN BOOLEAN, staging_table_name IN VARCHAR2, staging_schema_owner IN VARCHAR2 := NULL);
パラメータ
表179-37 UPPACK_STGTAB_SQLPATCHプロシージャのパラメータ
パラメータ | 説明 |
---|---|
|
アンパックするパッチの名前(%ワイルドカードを使用可、大/小文字区別)。 |
|
アンパックするパッチのカテゴリ(%ワイルドカードを使用可、大/小文字区別)。 |
|
すでに存在するパッチを置換します。ステージング表のパッチの名前と、別のSQLのアクティブなパッチの名前が同じ場合、パッチは置換できません。すでに存在するパッチを作成しようとすると、エラーが発生します。 |
|
(必須)使用する表の名前(大/小文字区別)。 |
|
表が存在するスキーマ(大/小文字区別)。現行のスキーマの場合は |
使用上のノート
-
ステージング表に対する
ADMINISTER
SQL
MANAGEMENT
OBJECT
権限およびSELECT
またはREAD
権限が必要です。 -
デフォルトでは、ステージング表内のすべてのSQLパッチが移動されます。このファンクションは、各パッチを正常にロードした後でコミットします。個々のパッチの作成に失敗すると、エラーが発生し、ステージング表に残っているパッチには進みません。