启用 AUTOTRACE 功能

简介: --======================= -- 启用 AUTOTRACE 功能 --=======================       AUTOTRACE是一个SQL*Plus工具,用于跟踪SQL的执行计划,收集执行时所耗用资源的统计信息,是SQL优化工具之一,下面给出启用 AUTOTRACE 功能步骤。

--=======================

-- 启用 AUTOTRACE 功能

--=======================

 

    AUTOTRACE是一个SQL*Plus工具,用于跟踪SQL的执行计划,收集执行时所耗用资源的统计信息,SQL优化工具之一,下面给出启用

AUTOTRACE 功能步骤。

   

一、创建基础表

    运行$ORACLE_HOME/rdbms/admin/utlxplan脚本来创建plan_table

   

    scott@ORCL> conn system/redhat   --使用system帐户登陆

    Connected.

    system@ORCL> start $ORACLE_HOME/rdbms/admin/utlxplan  --执行utlxplan脚本

 

    Table created.

       

    system@ORCL> create public synonym plan_table for plan_table;  --为表plan_table创建公共同义词

 

    Synonym created.

 

    system@ORCL> grant all on plan_table to public;   --将同义词表plan_table授予给所有用户

 

    Grant succeeded.

 

二、创建角色

    运行$ORACLE_HOME/sqlplus/admin/plustrce.sql脚本

   

    system@ORCL> conn / as sysdba   --使用sysdba帐户登陆

    onnected.

   

    sys@ORCL> start $ORACLE_HOME/sqlplus/admin/plustrce.sql   --执行创建角色的脚本

        sys@ORCL>

        sys@ORCL> drop role plustrace;

        drop role plustrace

                  *

        ERROR at line 1:

        ORA-01919: role 'PLUSTRACE' does not exist

 

        sys@ORCL> create role plustrace;

 

        Role created.

 

        sys@ORCL>

        sys@ORCL> grant select on v_$sesstat to plustrace;

 

        Grant succeeded.

 

        sys@ORCL> grant select on v_$statname to plustrace;

 

        Grant succeeded.

 

        sys@ORCL> grant select on v_$mystat to plustrace;

 

        Grant succeeded.

 

        sys@ORCL> grant plustrace to dba with admin option;

 

        Grant succeeded.

       

三、角色的授予

    在创建角色后,DBA首先被授予了该角色,且可以将角色授予其它组和用户。可以手工把plustrace授予给public,

    则该数据库内所有的用户都将拥有plustrace角色的权限。也可以单独授予给某个组和用户

   

        授予给所有用户

            sys@ORCL> grant plustrace to public;

        授予给单独用户

            sys@ORCL> grant plustrace to scott;

           

    完成上述设置之后即可使用autotrace 功能

 

四、AUTOTRACE的几个选项

        sql提示符下输入set autot后将会给出设置autotrace的提示,如下

       

        scott@ORCL> set autot

        Usage: SET AUTOT[RACE] {OFF | ON | TRACE[ONLY]} [EXP[LAIN]] [STAT[ISTICS]]

       

        set autotrace off :缺省值,将不生成autotrace 报告

        set autotrace on :包含执行计划和统计信息

        set autotrace traceonly :等同于set autotrace on,但不显示查询输出的结果

        set autotrace on explain :只显示优化器执行路径报告

        set autotrace on statistics :只显示执行统计信息

       

        scott@ORCL> set autotrace on;

        scott@ORCL> select * from emp where ename='SCOTT';

 

             EMPNO ENAME      JOB              MGR HIREDATE         SAL       COMM     DEPTNO

        ---------- ---------- --------- ---------- --------- ---------- ---------- ----------

              7788 SCOTT      ANALYST         7566 19-APR-87       3000                    20

 

 

        Execution Plan

        ----------------------------------------------------------

        Plan hash value: 3956160932

 

        --------------------------------------------------------------------------

        | Id  | Operation         | Name | Rows  | Bytes | Cost (%CPU)| Time     |

        --------------------------------------------------------------------------

        |   0 | SELECT STATEMENT  |      |     1 |    37 |     3   (0)| 00:00:01 |

        |*  1 |  TABLE ACCESS FULL| EMP  |     1 |    37 |     3   (0)| 00:00:01 |

        --------------------------------------------------------------------------

 

        Predicate Information (identified by operation id):

        ---------------------------------------------------

 

           1 - filter("ENAME"='SCOTT')

 

 

        Statistics

        ----------------------------------------------------------

                  0  recursive calls

                  0  db block gets

                  8  consistent gets

                  0  physical reads

                  0  redo size

                824  bytes sent via SQL*Net to client

                385  bytes received via SQL*Net from client

                  2  SQL*Net roundtrips to/from client

                  0  sorts (memory)

                  0  sorts (disk)

                  1  rows processed    

 

五、更多参考

 

Oracle 冷备份

 

SPFILE错误导致数据库无法启动

 

Oracle 用户、对象权限、系统权限

 

Oracle 角色、配置文件

 

  Oracle 联机重做日志文件(ONLINE LOG FILE)

 

  Oracle 控制文件(CONTROLFILE)

 

  Oracle 表空间与数据文件

 

Oracle 归档日志

 

 

目录
相关文章
|
存储 编译器 C++
C++初阶之一篇文章让你掌握string类(了解和使用)
1.我们为什么要学习string类 学习 string 类是在 C++ 中非常重要的一步,string 类是 C++ 标准库提供的用于处理字符串的类,它相比 C 语言中的字符串处理函数更为高级、灵活和安全。以下是学习 string 类的一些重要理由:
|
域名解析 Ubuntu Linux
Docker 镜像基本操作
本文介绍 Docker 镜像最常用的三个基本操作 login、pull、push以及如何登录子账户。通过认识镜像的基本操作,您可以更熟练地使用容器镜像服务 ACR。
8637 0
Docker 镜像基本操作
|
Java iOS开发 MacOS
8 种 Java- 内存溢出之四 -Metaspace
8 种 Java- 内存溢出之四 -Metaspace
|
机器学习/深度学习 人工智能 算法
FinRobot:开源的金融专业 AI Agent,提供市场预测、报告分析和交易策略等金融解决方案
FinRobot 是一个开源的 AI Agent 平台,专注于金融领域的应用,通过大型语言模型(LLMs)构建复杂的金融分析和决策工具,提供市场预测、文档分析和交易策略等多种功能。
1454 13
FinRobot:开源的金融专业 AI Agent,提供市场预测、报告分析和交易策略等金融解决方案
webpack——通过webpack-bundle-analyzer分析项目包占比情况
webpack——通过webpack-bundle-analyzer分析项目包占比情况
244 2
webpack——通过webpack-bundle-analyzer分析项目包占比情况
|
缓存 Java 对象存储
配置自己的 阿里OSS 环境,但在引入自己创建的依赖时出现报错。
配置自己的 阿里OSS 环境,但在引入自己创建的依赖时出现报错。
|
数据安全/隐私保护 Windows
只知道camtasia?其实还有更多录屏软件可选择!
为了凑齐三张封面图,我特意制作了视频来试试。
367 0
|
安全 区块链 Python
币安永续合约加杠杆交易系统开发功能搭建(Python源码)
币安永续合约加杠杆交易系统开发功能搭建(Python源码)
|
数据可视化 计算机视觉
【计算机视觉】DINOv2的四种模型代码示范(含源代码)
DINOv2利用最大模型ViT-g的知识蒸馏,而不是从头开始训练,从而提高了性能。这个过程包括将知识从更大、更复杂的模型(教师)转移到更小的模型(学生)。学生模型被训练来模仿教师的输出,从而继承其优越的能力。这个过程提高了小型模型的性能,使它们更有效率。
4983 0
|
存储 弹性计算 监控
阿里邮箱_阿里企业邮箱_阿里邮箱企业版详细介绍
阿里邮箱_阿里企业邮箱_阿里邮箱企业版详细介绍
983 0

热门文章

最新文章