本篇内容主要讲解“SQLT使用方法是什么”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“SQLT使用方法是什么”吧!在使用SQLT
提供的主要方法之前,须确保SQLT
已经被正确
安装,并且使用SQLT
的用户被赋予了SQLT_USER_ROLE
角色。假如 SQLT 安装绕过了 SQL*Net (意味着您并没有在安装期间没有指定连接符),那么在从远端客户端执行任何 SQLT 主要方法前,您将需要手动设置连接符参数。即,假如您连接使用 sqlplus scott/tiger@myprod 那么您需要执行: EXEC sqltxadmin.sqlt$a.set_sess_param(‘connect_identifier’, ‘@myprod’);SQLT
为一个 SQL 语句提供了下面 7种主要方法来生成诊断详细信息
XTRACT,
XECUTE,
XTRXEC,
XTRSBY,
XPLAIN,
XPREXT和
XPREXC。
XTRACT,
XECUTE,
XTRXEC,
XTRSBY,
XPREXT和
XPREXC处理绑定变量和会做 bind peeking(绑定变量窥视),但是
XPLAIN不会。这是因为
XPLAIN是基于EXPLAIN PLAN FOR
命令执行的,该命令不做 bind peeking。因此,如果可能请避免使用
XPLAIN.除了
XPLAIN的 bind peeking 限制外,所有这 7种主要方法都可以提供足够的诊断详细信息,对性能较差或产生错误结果集的 SQL 进行初步评估。如果该 SQL 仍位于内存中或者 Automatic Workload Repository (AWR
) 中,请使用
XTRACT或
XTRXEC,其他情况请使用
XECUTE。对于 Data Guard 或备用只读数据库,请使用
XTRSBY。仅当其他方法都不可行时,再考虑使用
XPLAIN。
XPREXT和
XPREXC是类似于
XTRACT和
XECUTE,但为了提高SQLT
的性能它们禁了一些SQLT
的特性。如果您知道待分析 SQL 的SQL_ID
或HASH_VALUE
,请使用该方法,否则请使用
XECUTE。您可以在AWR
report 中找到SQL_ID
,在 SQL trace 中找到HASH_VALUE
(在 SQL 文本上面,通过 “hv=” 标记进行标识)。如果该 SQL 仍位于内存中,或其已被AWR
捕获,那么使用 XTRACT 可发现该 SQL 并提供一组诊断文件,否则 XTRACT 将输出错误。如果对 SQL 进行硬分析时将参数STATISTICS_LEVEL
设置为ALL
,将可以得到重要的性能统计信息(如每步操作的实际行数)。您也可以通过在 SQL 中包括以下 CBO 提示来生成同样有用的性能统计信息:/*+ GATHER_PLAN_STATISTICS */
。在 11g 中,您可以在 SQL 中包含以下 CBO 提示以获得增强的诊断信息:/*+ GATHER_PLAN_STATISTICS MONITOR */
使用此方法时,它会要求提供SQLTXPLAIN
密码,这个在导出与该XTRACT
执行所对应的SQLT
Repository 时会被使用。该方法需要对执行SQLT
的应用程序用户授予SQLT_USER_ROLE
角色。要使用该XTRACT
方法,首先确保已
安装了SQLT
,然后以已执行待分析 SQL 的应用程序用户身份连接到 SQL*Plus,并执行sqlt/run/sqltxtract.sql
脚本,传递SQL_ID
或HASH_VALUE
。与
XTRACT方法相比免费主机域名,该方法提供的信息更为详细。正如名称 XECUTE 所指示的,它将执行正在分析的 SQL,然后生成一组诊断文件。它的主要缺点是如果正在分析的 SQL 需要很长时间来执行,那么该方法也要花费很长的时间。根据经验法则,仅当 SQL 执行少于 1 小时的情况下,才考虑使用此方法,否则请使用
XTRACT。使用此 XECUTE 方法之前,必须创建一个包含 SQL 文本的文本文件。如果 SQL 包括绑定变量,则您的文件必须包含绑定变量声明和赋值。以sqlt/input/sample/script1.sql
为例。您的 SQL 应该包含标记/* ^^unique_id */
(强烈建议)。如果您的 SQL 需要与 SQL*Plus 无法使用的数据类型绑定,或者它使用了集合,您可能需要将 SQL 嵌入到匿名 PL/SQL 块中。在这种情况下,请使用sqlt/input/sample/plsql1.sql
作为此方法的输入示例。对于修改数据的语句,例如 INSERT/UPDATE/DELETE,工具会在语句执行之前创建一个保存点,这样在会话结束时事务处理可以回退到该保存点。关于 SAVEPOINT(保存点)的更多信息,请参阅《Oracle Concepts》参考手册。使用此方法时,它会要求提供SQLTXPLAIN
密码,这个在导出与该 XECUTE 执行所对应的SQLT
Repository 时会被使用。该方法需要对执行SQLT
的应用程序用户授予SQLT_USER_ROLE
角色。要使用该 XECUT 方法,首先确保已
安装了SQLT
,然后以已执行待分析 SQL 的应用程序用户身份连接到 SQL*Plus,并执行sqlt/run/sqltxecute.sql
脚本,传递包含 SQL 文本及其绑定变量的文本文件名称。您需要将该文件放置到sqlt/input
目录下,并在位于 sqlt 主目录时运行 XECUTE,如下所示:该方法合并了
XTRACT和
XECUTE的功能。实际上,XTRXEC 连续执行了这两种方法。针对所请求 SQL 语句找到的开销较大的计划,
XTRACT阶段将生成一个包含提取的 SQL 以及绑定声明和赋值的脚本。然后,XTRXEC 使用第一阶段创建的脚本执行
XECUTE阶段。SQLT 根据在内存中生成开销最大的执行计划时窥视到的值,创建脚本的绑定变量的以供
XTRACT使用。判断计划的开销大小的标准是基于这个计划的平均执行时免费主机域名间。如果 XTRXEC 仅执行了第一个阶段(
XTRACT) 后就输出错误,您可能需要检查在第二阶段(
XECUTE)使用的脚本并相应调整绑定变量。使用不常用数据类型时尤其需要进行调整。使用此方法时,它会要求提供SQLTXPLAIN
密码,这个在导出与该 XTRXEC 执行所对应的SQLT
Repository 时会被使用。该方法需要对执行SQLT
的应用程序用户授予SQLT_USER_ROLE
角色。要使用该 XTRXEC 方法,首先确保已
安装了SQLT
,然后以执行待分析 SQL 的应用程序用户身份连接到 SQL*Plus,并执行sqlt/run/sqltxtrxec.sql
脚本,传递SQL_ID
或HASH_VALUE
。如果需要分析在 Data Guard 或备用只读数据库上执行的 SQL,请使用该方法。您需要知道要分析的 SQL 的SQL_ID
或HASH_VALUE
。在主库上创建一个到备库的database link,连接到的用户需要有访问数据字典的权限,通常都是使用有 DBA 权限的用户。CREATE PUBLIC DATABASE LINK V1123 CONNECT TO mydba IDENTIFIED by mydba_password
如果该 SQL 仍位于只读数据库中的内存中,那么使用 XTRSBY 可发现该 SQL 并提供一组诊断文件,否则 XTRSBY 将输出错误。如果对只读数据库中的 SQL 进行硬分析时将参数
USING '(DESCRIPTION = (ADDRESS=(PROTOCOL=TCP)
(HOST=coesrv14.us.oracle.com)(PORT=1521))(CONNECT_DATA=(SID = V1123)))';STATISTICS_LEVEL
设置为ALL
,将可以得到重要的性能统计信息(如每个执行计划操作的实际行数)。您也可以通过在 SQL 中包括以下 CBO 提示来生成同样有用的性能统计信息:/*+ GATHER_PLAN_STATISTICS */
。在 11g 中,您可以在 SQL 中包含以下 CBO 提示以获得改进的诊断信息:/*+ GATHER_PLAN_STATISTICS MONITOR */
使用此方法时,它会要求提供SQLTXPLAIN
密码,这个在导出与该 XTRSBY 执行所对应的SQLT
Repository 时会被使用。XTRSBY 需要 3 个参数: SQL id,DB_LINK的 ID,以及SQLTXPLAIN
的密码。该方法需要对执行SQLT
的应用程序用户授予SQLT_USER_ROLE
角色。要使用该XTRSBY
方法,首先确保在主数据库上已安装了SQLT
,并且已复制到该只读数据库中。然后连接到主要数据库中的 SQL*Plus 并执行sqlt/run/sqltxtrsby.sql
脚本,传递SQL_ID
或HASH_VALUE
,然后是 DB_LINK。除了 XTRSBY,还可以从只读数据库直接执行sqlt/utl/sqlhc.sql
或sqlt/utl/sqlhcxec.sql
。这两个只读脚本不在数据库上安装任何东西,也不执行 DML 命令。它们提供在 XTRSBY 中没有的其他信息。该方法是基于EXPLAIN PLAN FOR
命令执行的,因此它将无视您的 SQL 语句引用的绑定变量。仅当无法使用
XTRACT或
XECUTE时才使用该方法。使用此 XPLAIN 方法之前,必须创建一个包含 SQL 文本的文本文件。如果 SQL 包括绑定变量,您有两个选择:保持 SQL 文本“不变”,或谨慎使用相同数据类型的字面值替换该绑定。以sqlt/input/sample/sql1.sql
为例。使用此方法时,它会要求提供SQLTXPLAIN
密码,这个在导出与该 XPLAIN 执行所对应的SQLT
Repository 时会被使用。该方法需要对执行SQLT
的应用程序用户授予SQLT_USER_ROLE
角色。要使用该 XPLAIN 方法,首先确保已
安装了SQLT
,然后以已执行待分析 SQL 的应用程序用户的身份连接到 SQL*Plus,并执行sqlt/run/sqltxplain.sql
脚本,传递包含 SQL 文本的文本文件名称。您需要将该文件放置到 sqlt/input 目录下,并在位于 sqlt 主目录时运行 XPLAIN,如下所示:假如您想使用
XTRACT同时希望禁用一些SQLT
的特性使之 执行更快,请使用这个方法。脚本sqlt/run/sqltcommon11.sql
显示了哪些特性被禁用。假如您知道要被分析的 SQL 的SQL_ID
或者HASH_VALUE
,使用这个方法,否则请使用
XPREXC.您可以在 AWR report 中找到SQL_ID
,在 SQL trace 中找到HASH_VALUE
(在 SQL 文本上面,通过 “hv=” 标记进行标识)。使用此方法时,它会要求提供SQLTXPLAIN
密码,这个在导出与该 XPREXT 执行所对应的SQLT
Repository 时会被使用。该方法需要对执行SQLT
的应用程序用户授予SQLT_USER_ROLE
角色。要使用该XPREXT
方法,首先确保已
安装了SQLT
,然后以已执行待分析 SQL 的应用程序用户身份连接到 SQL*Plus,并执行sqlt/run/sqltxprext.sql
脚本,传递SQL_ID
或HASH_VALUE
。假如您想使用
XECUTE同时希望禁用一些SQLT
的特性使之执行更快,请使用这个方法。脚本sqlt/run/sqltcommon11.sql
显示哪些特性被禁用根据经验法则,仅当 SQL 执行少于 1 小时的情况下,才考虑使用此方法,否则请使用
XPREXT。使用此 XPREXC 方法之前,必须创建一个包含 SQL 文本的文本文件。如果 SQL 包括绑定变量,则您的文件必须包含绑定变量声明和赋值。以sqlt/input/sample/script1.sql
为例。您的 SQL 应该包含标记/* ^^unique_id */
,这个标记应该拼写准确,换句话说请不要改变它。如果您的 SQL 需要与 SQL*Plus 无法使用的数据类型绑定,或者它使用了集合,您可能需要将 SQL 嵌入到匿名 PL/SQL 块中。在这种情况下,请使用sqlt/input/sample/plsql1.sql
作为此方法的输入示例。对于修改数据的语句,例如 INSERT/UPDATE/DELETE,工具会在语句执行之前创建一个保存点,这样在会话结束时事务处理可以回退到该保存点。关于 SAVEPOINT(保存点)的更多信息,请参阅《Oracle Concepts》参考手册。用此方法时,它会要求提供SQLTXPLAIN
密码,这个在导出与该 XPREXC 执行所对应的SQLT
Repository 时会被使用。该方法需要对执行SQLT
的应用程序用户授予SQLT_USER_ROLE
角色。要使用该 XPREXC 方法,首先确保已
安装了SQLT
,然后以已执行待分析 SQL 的应用程序用户身份连接到 SQL*Plus,并执行sqlt/run/sqltxprexc.sql
脚本,传递包含 SQL 文本及其绑定变量的文本文件名称。您需要将该文件放置到sqlt/input
目录下,并在位于 sqlt 主目录时运行 XPREXC,如下所示:除了
主要方法,SQLT
还提供了一些特殊方法。最常用的特殊方法是
COMPARE。该方法将SQLT
先前的两次执行(
主要方法中的任何一个)作为输入并生成差异分析的报告。其他特殊方法包括:
TRCANLZR,
TRCAXTR,
TRCASPLIT和
XTRSET。前三种方法基于一个单独的 SQL trace 执行操作,最后一种对一组 SQL trace 执行操作。当您具有两个相似的系统 (SOURCES),但是相同 SQL 语句在其中一个系统中执行正常而在另一个系统中不正常时,请使用该 COMPARE 方法。该方法可以帮助确定两个 SOURCES 之间在计划、元数据、CBO 统计信息、初始化参数以及问题修复控制方面的区别。前提是必须在这两个系统中
安装SQLT
,并且必须在两个系统中的相同 SQL 上使用了
主要方法中的任何一个。这种比较可以在任何两个 SOURCES 数据库的其中一个或第三个 COMPARE 数据库执行。后者应包含两个 SOURCES 的SQLT
Repoitory。要导入SQLT
Repository,请使用由任何
主要方法生成的 sqlt_99999_readme.html 文件中提供的语法。一旦 COMPARE 系统包含来自两个 SOURCES 的资源库,执行sqlt/run/sqltcompare.sql
,以SYS
或应用程序用户身份连接。系统将显示STATEMENT_ID
的列表,您可以从中选择要比较的两个SQLT
存储的执行程序。输入两个STATEMENT_ID
后,会要求您提供来自两个 SOURCES 的特定PLAN_HASH_VALUE
。该方法将 SQL 跟踪文件名作为输入并分析该文件。实际 trace 必须位于TRCA$INPUT1
目录中,其在
安装期间默认为USER_DUMP_DEST
目录。TRCANLZR 方法还可以将多个相关 trace 作为一组同时进行分析。当分析 PX trace 时将需要用到该功能。在这种情况下,需要创建一个包含 trace 列表的control.txt
文件(每行一个文件名,不包括路径指定),并将此control.txt
放置到TRCA$INPUT1
或TRCA$INPUT2
目录中。这两个目录在
安装。期间分别默认为USER_DUMP_DEST
和BACKGROUND_DUMP_DEST
。然后,TRCANLZR 将从两个输入目录之一读取control.txt
文件,并在这两个目录的任何一个中查找 trace 集。TRCANLZR 类似于TKPROF
,但它具有扩展功能。当它分析一个 trace (或 trace 集)时,它还包括类似 CBO 统计信息的 Schema 对象特征以及一些其他重要的性能度量。要使用此TRCANLZR
方法,请确保首先已经
安装了SQLT
。然后,以生成 trace 的应用程序用户身份启动 SQL*Plus,并执行sqlt/run/sqltrcanlzr.sql
脚本,传递待分析 trace 的名称或者填充了文件名的control.txt
文件名称。不用包括任何路径指定。该方法执行的操作与
TRCANLZR相同,但是当 trace 分析完成时,它会针对在 trace 中发现的顶级 SQL 继续执行
XTRACT。该方法基本上自动调用并合并
TRCANLZR和
XTRACT生成的所有报告。要使用此 TRCAXTR 方法,请确保首先已经
安装了SQLT
。然后,进入到sqlt/run
目录并启动 SQL*Plus,以生成 trace 的应用程序用户身份连接。接着,执行sqlt/run/sqltrcaxtr.sql
脚本,传递待分析 trace 的名称或者填充了文件名的control.txt
文件名称。不用包括任何路径指定。该方法将 EVENT 10046 和其他 EVENT(通常是 10053)创建的 SQL trace 文件名作为输入。然后,它继续将此输入 trace 文件分为两个输出文件。一个包含与 EVENT 10046 对应的 trace 行,另一个包含其补充信息。换句话说,第二个文件包含不属于 EVENT 10046 语法部分的那些 trace 行。所以,如果输入 trace 是同时使用 EVENT 10046 和 EVENT 10053 创建的,得到的输出文件将是 10046 trace 和 10053 trace 。实际输入 trace 必须位于TRCA$INPUT1
目录中,其在
安装期间默认为USER_DUMP_DEST
目录。要使用此 TRCASPLIT 方法,请确保首先已经
安装了SQLT
。然后,启动 SQL*Plus(以任何 SQLT 用户身份连接)并执行sqlt/run/sqltrcasplit.sql
脚本,传递待分割 trace 的名称。不用包括任何路径指定。XTRSET 从内存或AWR
提取由SQL_ID
或HASH_VALUE
标识的 SQL 语句列表,然后对其中每个 SQL 语句执行
XTRACT。最后它将所有SQLT
文件合并到一个压缩文件中。通过一系列测试确定相同 SQL 语句集的基准时需要使用此 XTRSET 方法。使用此方法时,它只要求提供一次SQLTXPLAIN
密码,将在对 SQL 语句列表的每个
XTRACT执行导出SQLT
Repository 时需要。要使用此 XTRSET 方法,必须首先
安装了SQLT
。导航到sqlt/run
目录并启动 SQL*Plus,以发出所有或大部分 SQL 语句的应用程序用户身份连接。然后,执行sqlt/run/sqltxtrset.sql
脚本。出现提示时,传递由SQL_ID
或HASH_VALUE
标识的 SQL 语句列表(以逗号分隔),以及SQLTXPLAIN
的密码。除了
主要方法和
特殊方法,SQLT 还提供了一些其他功能。仅当 Oracle Support 要求时才使用这些高级方法和模块:
PROFILE,
XGRAM,
XPLORE和
XHUME。最后一个仅供 Oracle Support 使用,仅用于内部测试环境中。当性能较差的 SQL 语句正好有已知的更好的计划时,在 10g 使用该 PROFILE 方法可以提供一个快速修复。这个更好的计划可以位于相同或不同系统中的内存中,或者位于相同或不同系统的AWR
中。换句话说,如果有更好的计划,该方法允许使用自定义 SQL Profile “固定”该计划。使用该方法之前,必须对您要为其提取和固定此计划的 SQL 使用
主要方法中的任何一个。在 11g 或更高的版本你可以使用 SQL Plan Management (SPM) 来代替这个方法。请注意,PROFILE 使用了DBMS_SQLTUNE
API,其是“SQL Tuning Advisor”的一部分,因此需要 Oracle Tuning Pack 的使用许可。仅当您的数据库具有 Oracle Tuning Pack 的许可时才使用该 PROFILE 方法。要使用该 PROFILE 方法,请确保 SQLT 已经
安装并在 SOURCE 系统中使用,然后以SYS
或SQLTXPLAIN
身份连接到 SQL*Plus,执行sqlt/utl/sqltprofile.sql
脚本。它将要求提供先前 SQLT 执行的列表中的STATEMENT_ID
。选择STATEMENT_ID
后,它将要求提供可用计划列表中的PLAN_HASH_VALUE
。这些执行计划是在对 SQL 使用
XTRACT或
XECUTE时捕获和存储的。在需要实施自定义 SQL Profile 的 TARGET 系统中,不需要安装SQLT
。该 PROFILE 方法基本上包含 4 个步骤。在 SOURCE 系统上使用
XTRACT或
XECUTE。在 SOURCE 中执行sqlt/utl/sqltprofile.sql
,以生成自定义 SQL Profile 的脚本。查看生成的脚本并根据需要调整 SQL 文本。例如,在使用
XECUTE时要移除由/* ^^unique_id */
生成的注释。在要固定计划的 TARGET 系统中执行生成的脚本。由该方法创建的自定义 SQL Profile 是基于计划大纲数据完成的,因此它更稳定。如果您稍后要删除此自定义 SQLProfile,您可以在 PROFILE 生成的脚本内找到删除命令。如果尚未在 SOURCE 系统中安装 SQLT 或者无法为有关 SQL 执行
XTRACT或
XECUTE您可以使用sqlt/utl/coe_xfr_sql_profile.sql
实现 PROFILE 方法提供的相同功能。该脚本也使用了DBMS_SQLTUNE
;因此,需要 Oracle Tuning Pack 的许可。如果您的系统为 11g 并且在考虑使用该 PROFILE 方法,请查看由任何
主要方法生成的动态 Readme 文件,并查找 “Create SQL Plan Baseline from SQL Set” 部分内容。如动态 Readme 文件中所述,您可以考虑通过 SQL Set 使用“SQL Plan Management SPM”。XGRAM 模块提供了修改 CBO 直方图的功能,用以增强某些列的 CBO 统计信息或作为测试用例的一部分。通过该模块,可以插入、更新或删除直方图或单个存储桶。实施 XGRAM 模块的脚本的按字母排序列表:sqlt/utl/xgram/sqlt_delete_column_hgrm.sql
sqlt/utl/xgram/sqlt_delete_hgrm_bucket.sql
sqlt/utl/xgram/sqlt_delete_schema_hgrm.sql
sqlt/utl/xgram/sqlt_delete_table_hgrm.sql
sqlt/utl/xgram/sqlt_display_column_stats.sql
sqlt/utl/xgram/sqlt_insert_hgrm_bucket.sql
sqlt/utl/xgram/sqlt_set_bucket_size.sql
sqlt/utl/xgram/sqlt_set_column_hgrm.sql
sqlt/utl/xgram/sqlt_set_min_max_values.sql
XGRAM 是在 SQLT 安装过程中自动安装的。如果您想在SQLT
以外使用这个模块,您只需要安装一个单独的 package 并使用以上脚本(不依赖于SQLTXADMIN
)。如果在数据库升级后 SQL 开始性能变差或者它可能产生明显的错误结果,那么使用 XPLORE 模块将有所帮助。如果将optimizer_features_enable
OFE 切换到升级之前的数据库版本,SQL 重新执行正常或者产生不同的结果,您可以使用此 XPLORE 模块尝试标识哪个特定 Optimizer 功能或修复引入了未预期的行为。确定特定故障有助于进一步故障排除或者对此特定功能和(或)修复执行更详细的研究。此模块通过切换初始化参数和 fix control 参数来搜索计划。仅当满足以下所有条件时才使用 XPLORE:当使用“差”计划时,SQL 执行性能差或者返回错误结果。可以在测试系统上重新生成差计划(最好没有真实数据)。可以通过切换 OFE 在测试系统上重新生成“好”计划。您需要将原因范围缩小到特定参数或 bug fix control。您对测试系统具有完全访问权限,包括SYS
访问权限。当符合以下任一条件时不要使用 XPLORE:SQL 语句可能导致数据损坏或被更新。在 SQL 引用的表中存在大量数据。执行 SQL 需要的时间可能超过几秒钟。要安装和使用该 XPLORE 模块,请阅读相应的sqlt/utl/xplore/readme.txt
。该模块仅供 Oracle Support 使用,且只能在 Oracle 内部系统中使用。因为它会更新数据字典,而且 Oracle 不支持此操作。XHUME 可用于搜索仅旧版本的 Schema 对象统计信息(与一个 SQL 相关)可以产生的计划。使用SQLT
创建测试用例 (TC
) 后,该 XHUME 模块将系统地还原先前版本的统计信息,并通过执行正在研究的 SQL 来生成计划。它将捕获统计信息的每个版本可以生成的计划。然后生成报告,可用于了解执行计划不稳定性的原因,或者查找可用于创建 SQL Profile 或 SQL Plan Baseline 的执行计划。该模块永远不能应用于生产系统,因为它会修改数据字典。仅能用于 Oracle 内部测试环境。作为修改测试用例 (TC
) Schema 对象的创建日期的替代方案,可以在TC
实施之前更改服务器上的日期并在创建TC
后重置为当前日期。这个临时的先前日期至少要早一个月,这样 Schema 对象统计信息的所有历史记录的保存时间均将新于TC
对象创建时间。仅当满足以下所有下列条件时才使用 XHUME:已知 SQL 有多个计划并且其中一个或多个性能较差。Bind peeking 已经被排除不是导致计划不稳定的故障。对 CBO 参数的更改已经被排除不是导致计划不稳定的故障。您具有能产生已知计划的SQLT
TC
(“好”或“差”计划)。您需要了解计划的不稳定性或者正在查找专用的已知“好”计划。您对 Oracle 内部测试系统具有完全访问权限,包括SYS
访问权限。当符合以下任一条件时不要使用 XHUME:SQL 语句可能导致数据损坏或被更新。您只有一个生产环境中可以运行TC
。您没有使用SQLT
创建TC
。您对包含您TC
的 Oracle 内部测试系统没有SYS
访问权限。Bind peeking
或CBO
参数尚未被排除不是导致计划不稳定的故障。要安装和使用此 XHUME 模块,请阅读相应的sqlt/utl/xhume/readme.txt
。在SQLT运行后,它会产生一个zip格式的输出文件(这个文件包含了SQLT相关的各种输出)。这个文件的文件名一般为:如果您已经使用一个特定的方法执行完一个SQLT,那么您可以根据方法的名称来找到输出文件。比如,下面的文件就是使用XTRACT方法执行SQLT后产生的::
如果输出文件的文件名是类似下面的格式:那么SQLT很可能并未成功执行,请检查log文件中的错误日志.
一个正常的SQLT zip文件一般包含下面的文件(仅作参考) :
到此,相信大家对“SQLT使用方法是什么”有了更深的了解,不妨来实际操作一番吧!这里是云技术网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!
这篇文章主要讲解了“PostgreSQL数据库实现原理是什么”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“PostgreSQL数据库实现原理是什么”吧!PostgreSQL的FSM文件,其数据结构基础是最大堆二…