Oracle 手动生成快照 生成AWR报告及简单分析

此操作在windows 10 上操作,Linux系统类似。

  1. 登录有dba权限的账号:
    $ su - oracle
    $ sqlplus / as sysdba

  2. 如果有多个数据库,用以下登录:
    使用命令“sqlplus”,命令格式:sqlplus 用户名/口令@数据库名 as sysdba
    $ sqlplus sys/sys@localhost:1521/orcl as sysdba
    登录成功

  3. 手动生成快照,账号须有dba权限。正常情况下默认1小时生成一个。
    SQL>exec dbms_workload_repository.create_snapshot();
    生成成功

  4. 查看快照,比较多,一般忽略这步。
    SQL>select * from dba_hist_snapshot;

  5. 生成awr报告:
    windows:D:\app\admin\product\11.2.0\dbhome_1 是Oracle的安装路径。
    SQL>@D:\app\admin\product\11.2.0\dbhome_1\RDBMS\ADMIN\awrrpt.sql;
    linux:
    SQL> @$ORACLE_HOME/rdbms/admin/awrrpt.sql;
    或者
    SQL> @/u01/oracle/product/10.2.0/db_1/rdbms/admin/awrrpt.sql;
    /u01/oracle/product/10.2.0/db_1 是Oracle的安装路径(不知道或找不到的执行命令 whereis oracle 或 which oracle)。
    在这里插入图片描述

  6. 输入 report_type 的值:直接回车则为默认的 html 格式
    在这里插入图片描述

  7. 输入 num_days 的值:看今天的则输入:1 。可以看到今天的快照列表,Snap Id 为 6679和6680是手动生成的快照,待会就可以用这两个相邻的id来生成awr报告。也可以使用其他的id,但两个id必须是相邻的,隔一空行也不行,如 6673和6674。
    在这里插入图片描述

  8. 输入 begin_snap 的值:6679
    在这里插入图片描述

  9. 输入 end_snap 的值:6680
    在这里插入图片描述

  10. 输入 report_name 的值:awrrpt_20220214_1530.html
    这里为输入报告的名称,爱写啥写啥。
    或者直接回车则使用默认名称:awrrpt_1_6679_6680.html,开始id和结束id。
    然后就哗啦哗啦一大片…
    出现 Report written to … 字样就好了。
    在这里插入图片描述

  11. 生成的报告在连接数据库之前的路径。
    比如连接之前在路径 C:\Users\admin,那报告就在下面。
    Linux 默认在oracle用户的根目录下,执行命令 cd 到根目录,pwd 查看当前路径,用ftp工具下载文件。
    在这里插入图片描述
    在这里插入图片描述

简单分析

  1. Top 5 Timed Events,等待时间在前五位的事件,基本上可以判断出问题在哪。
    当 CPU time 出现在这个列表,说明cpu空闲时间较大,基本上就没什么问题。
    在这里插入图片描述
  2. SQL Statistics,sql 统计,一般查看 SQL ordered by CPU Time
    在这里插入图片描述
  3. SQL ordered by CPU Time,查看耗时靠前的20个sql。点击 SQL id 就能查看具体sql。
    在这里插入图片描述
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值