Oracle AWR学习之二-利用ChatGPT编写一键获取AWR报告的脚本

oracle,awr,学习,之二,利用,chatgpt,编写,一键,获取,报告,脚本 · 浏览次数 : 60

小编点评

**# 一键获取最近6个小时的AWR报告** ```sqlplus #!/bin/bash # 设置数据库参数 ORACLE_SID=oradb ORACLE_HOME='/u01/app/oracle/product/19.0.0/dbhome_1' ORACLE_USER=system ORACLE_PASSWORD=YourPasswordnow=`date +%Y%m%d%H` # 创建新的AWR报告文件名 sqlplus -S ${ORACLE_USER}/${ORACLE_PASSWORD}@${ORACLE_SID} << EOF set pagesize 0 feedback off verify off heading off echo off; spool awr_report_${now}.html; # 获取最近6个小时的AWR报告 select DBMS_WORKLOAD_REPOSITORY.AWR_REPORT_HTML((select max(snap_id)-1 from dba_hist_snapshot), (select max(snap_id) from dba_hist_snapshot)) from dual; # 关闭连接 spool off; exit; ``` **注意:** * 将 `YourPasswordnow` 替换为您的 Oracle 密码。 * `now` 代表最近 6 小时的发布时间,可以根据需要进行修改。 * 此脚本将生成一个名为 `awr_report_${now}.html` 的 HTML 文件,其中包含最近 6 个小时的 AWR 报告。

正文

Oracle AWR学习之二-ChatGPT提升效率之n


背景

之前生成awr报告比较麻烦, 想着能够一键生成.
再辅以部分shell或者是python处理就可以进行细致的分析.

这一块其实还是比较简单的, 在ChatGPT加持下的确能够极大的提高自己的工作效率. 
但是怀疑国内的学习资料太low了, 需要处理很多研发错误才可以继续进行下一步的操作

ChatGPT的答复

问题为: shell一键获取awr报告
回答为: 
#!/bin/bash

# Oracle数据库信息
ORACLE_SID=<SID>
ORACLE_HOME=<ORACLE_HOME>
ORACLE_USER=<USERNAME>
ORACLE_PASSWORD=<PASSWORD>

# 连接数据库获取AWR报告
sqlplus -S ${ORACLE_USER}/${ORACLE_PASSWORD}@${ORACLE_SID} << EOF
  set pagesize 0 feedback off verify off heading off echo off;
  spool awr_report.txt;
  select DBMS_WORKLOAD_REPOSITORY.AWR_REPORT_HTML((select max(snap_id)-1 from dba_hist_snapshot), (select max(snap_id) from dba_hist_snapshot)) from dual;
  spool off;
  exit;
EOF

echo "AWR report has been generated in awr_report.txt"

存在的问题

1. DBMS_WORKLOAD_REPOSITORY.AWR_REPORT_HTML 的语法不正确
2. 没有采取文件变量.

修改后的一键获取awr报告的SQL为:

#!/bin/bash
# 注意这个SQL获取的是最近6个小时的awr报告.  
ORACLE_SID=oradb
ORACLE_HOME='/u01/app/oracle/product/19.0.0/dbhome_1'
ORACLE_USER=system
ORACLE_PASSWORD=YourPassword
now=`date +%Y%m%d%H`

sqlplus -S ${ORACLE_USER}/${ORACLE_PASSWORD}@${ORACLE_SID} << EOF
  set pagesize 0 feedback off verify off heading off echo off;
  spool awr_report_${now}.html;
  select DBMS_WORKLOAD_REPOSITORY.AWR_REPORT_HTML((select dbid from v\$database),(select instance_number from v\$instance),(select min(snap_id) from dba_hist_snapshot where begin_interval_time >trunc(sysdate) - 6/24),(select max(snap_id) from dba_hist_snapshot where begin_interval_time >trunc(sysdate) - 6/24)) from dual ;
  spool off;
  exit;
EOF

echo "AWR report has been generated in awr_report_${now}.html"

与Oracle AWR学习之二-利用ChatGPT编写一键获取AWR报告的脚本相似的内容:

Oracle AWR学习之二-利用ChatGPT编写一键获取AWR报告的脚本

# Oracle AWR学习之二-ChatGPT提升效率之n ## 背景 ``` 之前生成awr报告比较麻烦, 想着能够一键生成. 再辅以部分shell或者是python处理就可以进行细致的分析. 这一块其实还是比较简单的, 在ChatGPT加持下的确能够极大的提高自己的工作效率. 但是怀疑国内的学

Oracle的awr的学习与整理

# Oracle的awr的学习与整理 ## 背景 ``` 本来想上周末进行一下总结和汇总 因为周末两天进行了一次长时间的培训.所以没有成行. 只能在工作之余找时间进行总结. 数据库部分自己一个不是很强. 其实也比较抗拒学习数据库相关的内容. 哎.. ``` ## 创建awr的snapshot以及生成

[转帖]Oracle如何重启mmon/mmnl进程(AWR自动采集)

https://www.cnblogs.com/jyzhao/p/10119854.html 学习一下 环境:Oracle 11.2.0.4 RAC现象:sysaux空间满导致无法正常生成快照,清理空间后,手工生成快照可以成功,但是观察自动生成快照依然是不成功。之前了解到awr对应的相关后台进程是m

[转帖]Oracle AWR报告提取方法

https://www.cnblogs.com/jyzhao/p/4030022.html 本文旨在用来指导项目人员自行提取Oracle数据库的AWR报告. 1.当前连接实例的AWR报告提取:@?/rdbms/admin/awrrpt 2.RAC的其他实例AWR报告提取:@?/rdbms/admin

[转帖]人大金仓- KWR 报告初体验

【本文正在参与炫"库"行动-人大金仓有奖征文】 开发者请集结丨炫“库”行动——2021人大金仓征文大赛悬赏万元等你来! 最近一直在研究 Oracle 的 AWR 报告,觉得它功能很强大,尤其是 DB Time 模型和等待事件能够让性问题的分析变得十分方便,再也不需要依赖大量的运维脚本去分析和定位问题

验证ADG的坏块检测和自动修复

环境: Oracle 19c ADG(主库:单实例;备库:RAC) 1.主库新建测试文件 2.主库创建测试表 3.查询表对应数据文件信息 4.模拟数据文件物理坏块 5.查询对应测试表 6.进一步查询日志信息 7.确认当前参数设置 1.主库新建测试文件 主库在AWR的PDB中做测试,为了不影响其他测试

[转帖]openGauss的WDR报告解读

文章目录 1.执行以下SQL命令,查询已经生成的快照信息。2.生成WDR报告。3.手工创建快照信息4.WDR涉及的数据表5.WDR报告解读 在Oralce数据库中,遇到性能问题,我们通常会查看有无对应时间段的快照,生成awr报告并进一步分析(AWR是Automatic Workload Reposi

oracle并发与多版本控制

1 相关概念 1.1 并发控制 数据库对多个用户同时查询或者操作数据的管理。 1.2 多版本控制 oracle能物化多个版本的数据,使在一个时间点读一个表,保证在这个时间点读到的表数据是一致的。oracle的多版本控制机制是oracle提供读一致性的基础。 1.3 事务的作用 事务使数据库从一种一致

Oracle优化神技之临时表

Oracle临时表在处理临时数据、会话数据隔离和复杂查询优化方面非常有用。 其底层逻辑是通过Oracle特殊的临时表来减少I/O操作和日志开销,提高了数据库性能和查询效率。开发者可以根据具体需求和场景,合理使用临时表来简化数据处理逻辑和提高系统性能。 早期开发人员在使用Oracle数据库时,经常因为

Oracle修改字段长度及属性

首发微信公众号:SQL数据库运维 原文链接:https://mp.weixin.qq.com/s?__biz=MzI1NTQyNzg3MQ==&mid=2247486117&idx=1&sn=02e2cd05e5db7eaa5758c70e81cf3972&chksm=ea375ed5dd40d7c