千家信息网

SQLT 概要和安装

发表于:2026-11-02 作者:千家信息网编辑
千家信息网最后更新 2026年11月02日,SQLT 概览安全模式安装 SQLT卸载 SQLT升级 SQLT常见问题上传SQLT文件给Oracle技术支持主要方法XTRACTXECUTEXTRXECXPLAINXTRSBYXPREXTXPREX
千家信息网最后更新 2026年11月02日SQLT 概要和安装

  • SQLT 概览
  • 安全模式
  • 安装 SQLT
  • 卸载 SQLT
  • 升级 SQLT
  • 常见问题
  • 上传SQLT文件给Oracle技术支持

主要方法
  • XTRACT
  • XECUTE
  • XTRXEC
  • XPLAIN
  • XTRSBY
  • XPREXT
  • XPREXC

特殊方法
  • COMPARE
  • TRCANLZR
  • TRCAXTR
  • TRCASPLIT
  • XTRSET

高级方法和模块
  • PROFILE
  • XGRAM
  • XPLORE
  • XHUME

SQLT 概览

SQLTXPLAIN,也称为 SQLT,是 Oracle Server Technologies Center of Expertise - ST CoE 提供的一款工具。 SQLT 主要方法 通过输入的一个 SQL 语句,可输出一组诊断文件。这些文件通常用于诊断性能不佳或者产生错误结果的 SQL 语句。

对于sql语句的调优,SQLT 需要您有一些专业的知识来进行分析。对于许多问题来说我们推荐首先使用SQL Health Check 来检查您的SQL,假如不能解决再尝试使用SQLT。SQLHC的详细介绍请看:

Document 1366133.1 SQL Tuning Health-Check Script (SQLHC)

一旦 安装,便可通过向 SQLT 传递一个包含 SQL 语句脚本(包括绑定变量)的文本文件或者其 SQL_ID,对 SQL 语句进行分析。SQL_ID 可在 AWR 和 ASH 的报告中找到,HASH_VALUE 出现在 SQL_TRACE 的输出中(SQL 文本的上面以"hv="的标志来识别)。您也能在 V$SQL 视图中发现这些字段。请参照接下来的文档:

Document 1627387.1 How to Determine the SQL_ID for a SQL Statement

SQLT 主要方法 会连接到数据库,收集执行计划、基于成本的 Optimizer CBO 统计信息、Schema 对象元数据、性能统计信息、配置参数和会影响正在分析的 SQL 性能的其他元素。这些方法会对有问题的SQL_ID产生一揽子输出,包括一个html格式的"main"报表。关于如何使用"main"报表,您可以参考下面的文档:

Document 1922234.1 SQLT Main Report: Usage Suggestions

SQLT 可以使用 Oracle Diagnostic 和(或)Oracle Tuning Packs,前提是您的数据库需要具有这两个软件包的许可证。这两个软件包向 SQLT 工具提供了增强的功能。在 SQLT 安装期间,您可以指定是否其中一个软件包在您的数据库被授权使用。如果一个都没有, SQLT 仍会提供一些基本信息,用于最开始的 SQL 性能诊断。


安全模式

SQLT 在 安装的过程中会创建两个用户和一个角色。这些用户和角色的名字都是固定的。

SQLT repository 是由用户 SQLTXPLAIN管理的。 SQLT 的使用者每次使用 SQLT 提供的 主要方法时都要提供 SQLTXPLAIN 的密码。 SQLTXPLAIN 用户被赋予了以下系统权限:

  • CREATE SESSION
  • CREATE TABLE

SQLT 包含的 PL/SQL 程序包以及视图都是由用户 SQLTXADMIN 管理的。 SQLTXADMIN 用户处于锁定状态并且由一个随机产生的密码保护。 SQLTXADMIN 用户被赋予了以下系统权限:

  • ADMINISTER SQL MANAGEMENT OBJECT
  • ADMINISTER SQL TUNING SET
  • ADVISOR
  • ALTER SESSION
  • ANALYZE ANY
  • SELECT ANY DICTIONARY
  • SELECT_CATALOG_ROLE

所有 SQLT 的使用者在使用 SQLT 提供的 主要方法之前必须被赋予 SQLT_USER_ROLE 这个角色。 SQLT_USER_ROLE 角色被赋予了以下系统权限:

  • ADVISOR
  • SELECT_CATALOG_ROLE

12c 在缺省情况下 SYS 用户不能作为 SQLT 的用户,因为 PL/SQL 安全模型上改变的原因。
为了处理这个改变, SQLTADMIN 需要在 SYS 上被授予 INHERIT PRIVILEGES 权限。
GRANT INHERIT PRIVILEGES ON USER SYS TO SQLTXADMIN
更多详细的内容请参见 Oracle? Database PL/SQL Language Reference 12c Release 1 (12.1) - Invoker's Rights and Definer's Rights (AUTHID Property) and in Oracle? Database Security Guide 12c Release 1 (12.1) - Managing Security for Definer's Rights and Invoker's Rights


安装 SQLT

SQLT 安装在其自己的 schema SQLTXPLAIN 和 SQLTXADMIN 下。它不会将任何对象安装到应用程序 schema 中。您可以在 UNIX、Linux 或 Windows 平台,Oracle DB 10.2、11.1、11.2 及更高版本中安装此版本的 SQLT。对于所有"应用于:"的信息,请参照文档215187.1。

安装步骤:

  1. 卸载先前版(可选)。
  2. 该可选步骤将删除所有废弃的 SQLTXPLAIN/SQLTXADMIN schema 对象,并为全新安装准备环境。如果要保留 SQLT Repository 的现有内容,请跳过此步骤(推荐)。

    # cd sqlt/install# sqlplus / as sysdbaSQL> START sqdrop.sql
  3. 以 SYS 身份连接数据库并执行安装脚本 sqlt/install/sqcreate.sql。
  4. # cd sqlt/install# sqlplus / as sysdbaSQL> START sqcreate.sql

在安装期间,系统将要求您输入以下参数值:

  1. 可选连接标识符(当安装在一个可插拔数据库上时是必须的)
  2. 在一些受限访问的系统中,您可能需要指定连接标识符,例如 @PROD。如果不需要连接标识符,则不要输入任何数据,只需单击回车键。什么也不键入是最常使用的安装方法。
    当安装在一个可插拔数据库上时连接标识符是必须提供的。

  3. SQLTXPLAIN 密码。
  4. 在大多数系统中区分大小写。

  5. SQLTXPLAIN 默认表空间。
  6. 从可用的永久表空间列表中,选择 SQLT Repository 的 SQLTXPLAIN 应使用的表空间。它必须具有 50MB 以上的可用空间。

  7. SQLTXPLAIN 临时表空间。
  8. 从可用的临时表空间列表中,选择 SQLTXPLAIN 临时操作和临时对象应使用的表空间。

  9. 可选应用程序用户。
  10. 这是发出要分析 SQL 语句的用户。例如,在 EBS 系统上,指定为 APPS;在 Siebel 上,应指定为 SIEBEL;在 People Soft 上,应指定为 SYSADM。系统不会要求您输入此用户的密码。也可以在安装该工具后添加其他的 SQLT 用户,方法为:授予他们角色 SQLT_USER_ROLE。

  11. 授权的 Oracle Pack。(T,D 或 N)
  12. 可以指定 T 表示 Oracle Tuning; D 表示 Oracle Diagnostic,或 N 表示都没有。如果选择 T 或 D,SQLT 可以在它生成的诊断文件中包含授权的内容。默认值为 T。如果选择 N,SQLT 将只安装限定的功能。

如果需要静默安装,可以使用下面三个选项来传递所有 6 个安装参数:

  1. 在文件中。
  2. 首先使用一个脚本进行值的预先定义,类似于示例脚本 sqlt/install/sqdefparams.sql。然后使用 sqlt/install/sqcsilent.sql,而不是 sqlt/install/sqcreate.sql。

    # cd sqlt/install# sqlplus / as sysdbaSQL> START sqdefparams.sqlSQL> START sqcsilent.sql
  3. 命令行。
  4. 执行 sqlt/install/sqcsilent2.sql,而不是 sqlt/install/sqcreate.sql。前者以内嵌形式输入 6 个安装参数。

    # cd sqlt/install# sqlplus / as sysdbaSQL> START sqcsilent2.sql '' sqltxplain USERS TEMP '' T
  5. 在 Oracle 内部安装。
  6. 执行 sqlt/install/sqcinternal.sql,而不是 sqlt/install/sqcreate.sql。前者首先执行 sqlt/install/sqdefparams.sql,然后是 sqlt/install/sqcsilent.sql。

    # cd sqlt/install# sqlplus / as sysdbaSQL> START sqcinternal.sql

假如您需要更多关于安装问题的帮助,您能从下面的论坛得到帮助: SQLTXPLAIN: SQLT Installation Issues


卸载 SQLT

卸载 SQLT 会同时移除 SQLT Repository 以及所有 SQLTXPLAIN/SQLTXADMIN schema 对象。另外还会删除 SQLTXPLAIN 和 SQLTXADMIN 用户。要卸载 SQLT,只需以 SYS 身份连接,执行 sqlt/install/sqdrop.sql。

# cd sqlt/install# sqlplus / as sysdbaSQL> START sqdrop.sql

升级 SQLT

如果在系统中已安装先前版本的 SQLT,则可以将 SQLT 升级到其最新版本,同时部分保留现有 SQLT Repository 的一些对象。然后可以使用新迁移的 SQLT Repository 来恢复 CBO 统计信息,或者在 SQLT 的新旧执行程序之间执行 COMPARE。

要升级 SQLT,只需执行 安装,而不用执行可选 卸载步骤。

如果升级失败,可能是先前的 SQLT 版本太旧而无法升级。在这种情况下,请先继续 卸载 SQLT,然后执行全新 安装。

用户 方法 系统 数据 空间 对象 数据库 文件 语句 升级 信息 版本 角色 输入 参数 密码 性能 权限 标识 标识符 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 南京欣网互联网络科技 互联网科技会 互联网科技社 互联网公司 科技公司 互联网金融 金融科技 上海卓越科技 互联网 美国互联网前沿科技 滨湖区互联网智能科技产品供应 随着互联网科技发展 宁夏科技产业互联网案例 厦门比较好的科技互联网公司 佛山市翊博互联网络科技有限公司 卓翼科技产业互联网合作 恒生互联网科技业指数调整周期 华中科技大学互联网的牛人 产业互联网科技服务公司 国产互联网科技公司 互联网科技大佬云集 科技美学互联网 艺术 山东亿川互联网科技有限责任公司 广州互联网科技公司 成都互联网科技公司 广州恒生互联网科技有限 电子科技大学互联网创业大赛 科技赋能视角下互联网保险发展 北京市互联网新科技 广东工业互联网大赛深圳学泰科技 互联网与数字科技关系 广州三三互联网科技有限公司 现代科技的标志之一的互联网
0