SCOTT 用户开启autotrace 功能

想用SCOTT用户做执行计划的实验,发现无法使用;按理说任何可以使用sqlplus 的用户都可以在session下启用autotrace 功能,不过有的需要做下设置;

sys 用户

SQL> select * from v$version;

BANNER
--------------------------------------------------------------------------------
Oracle Database 11g Enterprise Edition Release 11.2.0.3.0 - 64bit Production
PL/SQL Release 11.2.0.3.0 - Production
CORE    11.2.0.3.0      Production
TNS for Linux: Version 11.2.0.3.0 - Production
NLSRTL Version 11.2.0.3.0 - Production

SQL> select username,account_status from dba_users where username=‘SCOTT‘;

USERNAME                       ACCOUNT_STATUS
------------------------------ --------------------------------
SCOTT                          EXPIRED & LOCKED

SQL> alter user scott account  unlock identified by tiger;

User altered.

SQL>
SQL> select username,account_status from dba_users where username=‘SCOTT‘;

USERNAME                       ACCOUNT_STATUS
------------------------------ --------------------------------
SCOTT                          OPEN

SCOTT 用户登录

SQL> set autotrace on     //提示检查PLUSTRACE角色是否开启,

SP2-0618: Cannot find the Session Identifier.  Check PLUSTRACE role is enabled
SP2-0611: Error enabling STATISTICS report

解决过程

1、以SYS用户登录,运行utlxplan.sql. 建立plan 表;

SQL> @?/rdbms/admin/utlxplan.sql           
Table created.

2、以sys用户登录,运行plustrce.sql,数据库启用autotrace功能的安装脚本,主要是创建plustrace角色,并且授权 ,拥有plustrace最主要的目的是为了访问下面几个VIEW :v_$sesstat;v_$statname;v_$mystat;

SQL> @?/sqlplus/admin/plustrce.sql
SQL>
SQL> drop role plustrace;
drop role plustrace
          *
ERROR at line 1:
ORA-01919: role ‘PLUSTRACE‘ does not exist

SQL> create role plustrace;

Role created.

SQL>
SQL> grant select on v_$sesstat to plustrace;

Grant succeeded.

SQL> grant select on v_$statname to plustrace;

Grant succeeded.

SQL> grant select on v_$mystat to plustrace;

Grant succeeded.

SQL> grant plustrace to dba with admin option;

Grant succeeded.

SQL>
SQL> set echo off

SQL> grant plustrace to scott;

Grant succeeded.

3、以SCOTT 登录

SQL> set autotrace on
SQL>
SQL> select * from dept;

DEPTNO DNAME          LOC
---------- -------------- -------------
        10 ACCOUNTING     NEW YORK
        20 RESEARCH       DALLAS
        30 SALES          CHICAGO
        40 OPERATIONS     BOSTON

Execution Plan
----------------------------------------------------------
Plan hash value: 3383998547

--------------------------------------------------------------------------
| Id  | Operation         | Name | Rows  | Bytes | Cost (%CPU)| Time     |
--------------------------------------------------------------------------
|   0 | SELECT STATEMENT  |      |     4 |    80 |     3   (0)| 00:00:01 |
|   1 |  TABLE ACCESS FULL| DEPT |     4 |    80 |     3   (0)| 00:00:01 |
--------------------------------------------------------------------------

Statistics
----------------------------------------------------------
          2  recursive calls
          0  db block gets
         10  consistent gets
          4  physical reads
          0  redo size
        802  bytes sent via SQL*Net to client
        523  bytes received via SQL*Net from client
          2  SQL*Net roundtrips to/from client
          0  sorts (memory)
          0  sorts (disk)
          4  rows processed

SQL>

 设置Autotrace的命令


序号


命令


解释


1


SET AUTOTRACE OFF


此为默认值,即关闭Autotrace


2


SET AUTOTRACE ON


产生结果集和解释计划并列出统计


3


SET AUTOTRACE ON EXPLAIN


显示结果集和解释计划不显示统计


4


SET AUTOTRACE TRACEONLY


显示解释计划和统计,尽管执行该语句但您将看不到结果集


5


SET AUTOTRACE TRACEONLY STATISTICS


只显示统计

PS:SET AUTOTRACE ON, set timing on, alter session set time_statistics=true;

Autotrace执行计划的各列的涵义


序号


列名


解释


1


ID_PLUS_EXP


每一步骤的行号


2


PARENT_ID_PLUS_EXP


每一步的Parent的级别号


3


PLAN_PLUS_EXP


实际的每步


4


OBJECT_NODE_PLUS_EXP


Dblink或并行查询时才会用到

Autotrace Statistics常用列解释


序号


列名


解释


1


db block gets


从buffer cache中读取的block的数量


2


consistent gets


从buffer cache中读取的undo数据的block的数量


3


physical reads


从磁盘读取的block的数量


4


redo size


DML生成的redo的大小


5


sorts (memory)


在内存执行的排序量


6


sorts (disk)


在磁盘上执行的排序量

时间: 2024-10-09 04:07:43

SCOTT 用户开启autotrace 功能的相关文章

WordPress主题开发:开启feed功能

开启feed功能 步骤一:在模版文件的<head></head>元素中添加wp_head()函数,且wp_head()函数要放在</head>标签之前,而且紧邻</head>标签,如: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd&

【测试】通过SYS用户,对SCOTT用户的会话进行跟踪,并分析此会话中性能消耗较高的SQL,分析并给出优化建议。

①连接到scott下,查询scott对应的sid,serial# SQL> select sid,serial#,username from v$session where username='SCOTT'; SID SERIAL# USERNAME ---------- ---------- ------------------------------ 133 15 SCOTT ②开启对scott用户的跟踪: SQL>exec dbms_system.set_sql_trace_in_ses

oracle高级查询(实例基于scott用户四张表)

oracle高级查询(实例基于scott用户四张表) 分组查询 多表查询 子查询 综合实例 ======================================================================= scott用户的四张表(emp,dept,bonus,salgrade) 没有这四张表的可参考http://blog.csdn.net/love_legain/article/details/54311040进行创建 -----------------------

YS修改用户绑定手机号码功能存在逻辑绕过漏洞,不需要旧手机号码即可绑定新手机号码【高】

YS修改用户绑定手机号码功能存在逻辑绕过漏洞,不需要旧手机号码即可绑定新手机号码[高] 问题描述:          此问题可作为以上横向越权漏洞问题的延伸,假设横向漏洞已修补,用户登录后的随机session id是作为用户身份的唯一标识,此时,用户虽然无法修改其他人的手机绑定号码,却可以修改自己绑定的手机号码,即不需要旧手机号也能重新绑定新的手机号. 测试步骤: 1.  开启burp拦截代理,并启用http请求拦截功能. 2.  假设测试账户当前绑定的手机号码如下图所示: 3.  在"用户注册

Linux系统下解锁Oracle的Scott用户

1).在Oracle用户下面输入命令:lsnrctl status查看监听是否开启,如果未开启则需要开启监听,输入命令:lsnrctl start; 2).如果没有设置监听的话需要先建立一个监听,然后开启监听,新建监听的时候图像化界面可能会出现乱码的情况,需要现在Oracle用户下面输入:LANG=C 来把字符转变为英文,就可以避免乱码了 .之后在Oracle用户下面输入命令行输入netca来创建监听.创建完成之后,开启监听. 3).在Oracle用户下面输入命令sqlplus / as sys

Oracle数据库中scott用户不存在的解决方法

SCOTT用户是我们学习Oracle过程中一个非常重要的实验对象,在我们建立数据库的时候,如果是选择定制模式的话,SCOTT用户是不会默认出现的,不过我们可以通过使用几个简单命令来使这个用户出现.以下是解决方法(基于windows): 1.开始--运行--cmd 输入:sqlplus / as sysdba 连接到数据库 SQL>conn scott/tiger 如果scott不存在,会报ORA-01017的错误,并会断开连接 2.我们以SYS用户重新连接 SQL>conn sys/密码 as

Oracle_11g_R2中解决scott用户被锁的方法

在安装完Oracle11g和创建完Oracle数据库之后,想用数据库自带的用户scott登录,看看能否连接成功. 1.Scott用户被锁 在cmd命令中,用"sqlplus scott/ tiger"登录时,老是提示如下信息: ERROR:ORA-28000:账户已被锁定. 2.解决方法 在cmd命令提示符中可直接登录oracle,输入如下命令:sqlplus / as sysdba; 接着执行如下命令:SQL> alteruser scott account unlock; 显

Oracle数据库scott用户创建view视图权限

以sysdba身份登陆, sqlplus / as sysdba 然后授权给scott用户 grant create view to scott

解决Oracle在scott用户下创建视图(VIEW)权限不足的方法

问题描述:在scott用户下创建视图的时候,报错:权限不足.(其他用户以此类推)解决方法: 以dba用户登录 [sql] view plain copy print? sqlplus / as sysdba 赋予scott用户创建VIEW的权限 [sql] view plain copy print? grant create view to scott 以scott用户登录oracle [sql] view plain copy print? conn scott/tiger 创建视图成功 [