设置SQL*Plus 的AUTOTRACE

AUTOTRACE 是SQL*Plus 中一个工具,可以显示所执行查询的解释计划(explain plan)以及所用的
资源。这本书中大量使用了AUTOTRACE 工具。
配置AUTOTRACE 的方法不止一种,以下是我采用的方法:
(1)cd [ORACLE_HOME]/rdbms/admin;
(2)作为SYSTEM 登录SQL*Plus;
(3)运行@utlxplan;
(4)运行CREATE PUBLIC SYNONYM PLAN_TABLE FOR PLAN_TABLE;
(5)运行GRANT ALL ON PLAN_TABLE TO PUBLIC。

如果愿意,可以把GRANT TO PUBLIC 中的PUBLIC 替换为某个用户。通过将PLAN_TABLE 置为public,
任何人都可以使用SQL*Plus 进行跟踪(在我看来这并不是件坏事)。这么一来,就不需要每个用户都安装
自己的计划表。还有一种做法是,在想要使用AUTOTRACE 的每个模式中分别运行@utlxplan。

下一步是创建并授予PLUSTRACE 角色:
(1)cd [ORACLE_HOME]/sqlplus/admin;
(2)作为SYS 或SYSDBA 登录SQL*Plus;
(3)运行@plustrce;
(4)运行GRANT PLUSTRACE TO PUBLIC。
重申一遍,如果愿意,可以把GRANT 命令中PUBLIC 替换为每个用户。

关于AUTOTRACE
你会自动得到一个AUTOTRACE 报告,其中可能列出SQL 优化器所用的执行路径,以及语句的执行统计
信息。成功执行SQL DML(即SELECT、DELETE、UPDATE、MERGE 和INSERT)语句后就会生成这个报告。它
对于监视并调优这些语句的性能很有帮助。

控制报告
通过设置AUTOTRACE 系统变量可以控制这个报告:

? SET AUTOTRACE OFF:不生成AUTOTRACE 报告,这是默认设置。
? SET AUTOTRACE ON EXPLAIN:AUTOTRACE 报告只显示优化器执行路径。
? SET AUTOTRACE ON STATISTICS:AUTOTRACE 报告只显示SQL 语句的执行统计信息。
? SET AUTOTRACE ON:AUTOTRACE 报告既包括优化器执行路径,又包括SQL 语句的执行统计信息。
? SET AUTOTRACE TRACEONLY:这与SET AUTOTRACE ON 类似,但是不显示用户的查询输出(如果有的话)。

《Oracle9i10g编程艺术》

设置SQL*Plus 的AUTOTRACE,布布扣,bubuko.com

时间: 2024-11-13 22:46:52

设置SQL*Plus 的AUTOTRACE的相关文章

设置SQL Azure防火墙规则来允许SSMS管理SQL Azure

SQL Server Management Studio可以用来管理SQL Azure 但SQL Azure是云端的关系型数据库,也就是说任何一台连接到Internet的机器都能够连接到SQL Azure数据库.但是在某些情况下这是不安全的,作为用户来说,我只希望我自己企业内部能够连接到我创建的SQL Azure数据库:除我企业之外的其他人都无法连接到这台SQL Azure数据库.这个功能可以功过设置SQL Azure的防火墙规则来进行. 我这里设置任何地址都可以访问 设置SQL Azure防火

设置 SQL*Plus 的运行环境

SQL*Plus 的运行环境是用来输入.执行 SQL*Plus 命令和显示返回结果的场所,设置合适的 SQL*Plus 运行环境,可以使 SQL*Plus 按照用户的要求运行和执行各种操作.set 命令也称 set 变量或维护系统变量,利用它可为 SQL*Plus 交互建立一个特殊的环境. 一.set 命令概述 用户可以使用 set 命令设置 SQL*Plus 的运行环境 语法: set system_variable value system_variable:变量名 value:变量值 se

设置Sql Agent运行Job时的执行账户

相信使用过Sql Server的人都应该知道,使用Sql Agent可以建立一些自动化Job来帮我们周期性地执行一些任务,其中执行SSIS包就是其中一个任务.而在SSIS包中有时候会去做读取文件等一些本地化操作,如果执行Sql Agent任务的执行账户权限不够有可能造成SSIS包无法读取文件执行失败.所以我们有时候需要去指定用哪一个账户去执行Sql Agent的任务. 1.要指定Sql Agent任务的执行账户首先要建立一个数据库凭证,如下图所示: 2.建立凭证时选择的标识(下图红色框指定的账户

SQL2012设置SQL Server身份验证过程

修改SQL 2008R2的登陆状态window身份验证变成window和sqlserver身份验证登陆 一.打开SQL2012 二.选择属性后 三.选择好了之后,点击确定就OK 了 修改sql server身份验证登陆名的方法 一,选择数据库单击右键 二,修改密码 三,选择下面的[状态],选择[授予],[启用].

设置SQL server服务器的dbo架构

服务器登录名,指有权限登录到某服务器的用户: 服务器角色,指一组固定的服务器用户,默认有9组: 登录名一定属于某些角色,默认为public 服务器角色不容许更改 登录后也不一定有权限操作数据库 数据库用户,指有权限能操作数据库的用户: 数据库角色,指一组固定的有某些权限的数据库角色: 数据库架构,指数据库对象的容器: 数据库用户对应于服务器登录名以便登录者可以操作数据库 数据库角色可以添加,可以定制不同权限 数据库架构,类似于数据库对象的命名空间,用户通过架构访问数据库对象 而通过下图可以让这些

设置Sql server用户对表、视图、存储过程、架构的增删改查权限

根据数据库Schema限制用户对数据库的操作行为 授予Shema dbo下对象的定义权限给某个用户(也就是说该用户可以修改架构dbo下所有表/视图/存储过程/函数的结构) use [Your DB NAME] GRANT VIEW DEFINITION ON SCHEMA :: dbo to [THE USER NAME] 回收某个用户对Shema dbo下对象的定义权限(也就是说该用户不可以修改架构dbo下所有表/视图/存储过程/函数的结构) use [Your DB NAME] DENY V

plsql developer中如何设置sql window显示行号

转自:https://blog.csdn.net/qq_31302091/article/details/74931828 英文版的plsql developer中,很多时候,很多功能不去用,都不知道那个英语单词儿在哪儿,正好用到了显示行号,分享一下: 1,在plsql developer主页面 ---> 顶部菜单栏 ---> 找到Tools ---> Preferences: 2,找到Sql Window ---> show gutter: 好了,到此行号显示完毕,点击ok后,回

[转] SQL SERVER 2008 R2 安装中的账户设置问题

故纸堆 原文:SQL SERVER 2008安装中设置账户的问题,2013-7 在安装SQL Server 2008数据库服务器的时候,服务器有可能处于以下几种环境中: ①工作组环境下的服务器 (WorkGroup) ②域环境下的域控制器  (Domain Controller) ③域环境下的成员服务器 (Domain Member) ④群集环境 (cluster)   在实际应用中,开发人员或者实施人员很少有机会接触到基于域控制器的网络环境的应用,绝大多数应用都是针对工作组环境的. 比如:配置

SQL server数据库内置账户SA登录设置

SQL server数据库内置账户SA登录不了 设置SQL Server数据库给sa设置密码的时候  提示18456 解决步骤: 第二步:右击sa,选择属性: 第三步:点击状态选项卡:勾选授予和启用.然后确定. 第四步:右击实例名称(就是下图画红线的部分),选择属性 第五步:点安全性,确认选择了SQL SERVER 和Windows身份验证模式. 最后验证sa用户登录  成功~