oracle 9i&10g编程艺术-读书笔记1

根据书中提供的下载代码链接地址,从github上找到源代码下载地址。

https://github.com/apress

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

下载好代码后,开始一段新的旅行。

设置 SQL*Plus 的 AUTOTRACE

设置 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

utlxplan是Oracle提供的查看SQL语句执行计划的工具,该工具位于 [ORACLE_HOME]/rdbms/admin路径下,所以先要进入到该路径中。在该路径下启动cmd,sqlplus
在这里插入图片描述
在这里插入图片描述

运行

运行 @utlxplan

运行 create public SYNONYM synonym_plan_table for plan_table;

运行 grant all on synonym_plan_table to public;

在这里插入图片描述

查看执行计划

运行 explain plan for select * from emp;
运行 select * from table(dbms_xplan.display);

在这里插入图片描述

当我们执行如下sql,会报错。

set autotrace on;

在这里插入图片描述

创建plustrace角色

此时需要创建plustrace角色,登录sys系统用户,创建plustrace角色,并赋予相应的权限(下面的权限)。

  SQL> drop role plustrace;
   角色已删除。
  SQL> create role plustrace;
   角色已创建。
  SQL> grant select on v_$sesstat to plustrace;
   授权成功。
  SQL> grant select on v_$statname to plustrace;
   授权成功。
  SQL> grant select on v_$mystat to plustrace;
   授权成功。
  SQL> grant plustrace to dba with admin option;
   授权成功。
  SQL> 
  SQL> grant plustrace to scott; 
  SQL>  

重新执行set autotrace on; 即可。

当用户密码快过期时,执行set autotrace on; 会报如下错误。
在这里插入图片描述

SQL> set autotrace on;
ERROR:
ORA-28002: 4 天之后口令将过期


SP2-0619: 连接时出错
SP2-0611: 启用 STATISTICS 报告时出错

修改密码即可。

alter user scott identified by 123456;

在这里插入图片描述
重新使用scott登录,重新执行set autotrace on; 正确执行,结果如下:
在这里插入图片描述

相关推荐

  1. Oracle 10g字符编码

    2024-01-01 06:28:02       40 阅读
  2. 办事的艺术读书笔记

    2024-01-01 06:28:02       46 阅读
  3. 《爱的艺术读书笔记

    2024-01-01 06:28:02       37 阅读
  4. RMAN oracle 11g

    2024-01-01 06:28:02       29 阅读
  5. Oracle 11g体系结构整理-明日科技编著

    2024-01-01 06:28:02       53 阅读
  6. 读书笔记——《高质量 C++/C 编程指南》(1

    2024-01-01 06:28:02       33 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-01-01 06:28:02       94 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-01-01 06:28:02       100 阅读
  3. 在Django里面运行非项目文件

    2024-01-01 06:28:02       82 阅读
  4. Python语言-面向对象

    2024-01-01 06:28:02       91 阅读

热门阅读

  1. QT(C++)-QTableWight添加行和删除空行

    2024-01-01 06:28:02       53 阅读
  2. burpsuite模块介绍之dashboard(仪表板)

    2024-01-01 06:28:02       65 阅读
  3. [NOIP2002 普及组] 级数求和

    2024-01-01 06:28:02       58 阅读
  4. php接口优化 使用curl_multi_init批量请求

    2024-01-01 06:28:02       63 阅读
  5. Python编程-实现对自定义类对象排序

    2024-01-01 06:28:02       70 阅读
  6. 常见算法面试题目

    2024-01-01 06:28:02       66 阅读
  7. 2023年人工智能行业总结

    2024-01-01 06:28:02       61 阅读
  8. C++ 基本MyString实现

    2024-01-01 06:28:02       53 阅读
  9. B3610 [图论与代数结构 801] 无向图的块 题解

    2024-01-01 06:28:02       52 阅读