Oracle开发:AWR与SQL_TRACE深度解析
需积分: 9 55 浏览量
更新于2024-07-27
1
收藏 2.7MB DOCX 举报
"Oracle开发学习笔记,涵盖了常用的Oracle开发工具,如AWR(Auto Workload Repository)的使用,以及SQL_TRACE和10046跟踪事件的配置与分析方法。"
在Oracle数据库开发中,理解并掌握一些核心工具和技术是至关重要的。本学习笔记主要讨论了以下几个关键知识点:
1. **AWR (Autoworkload Repository)**: AWR是Oracle数据库的自动工作负载存储库,用于收集和存储数据库性能数据。通过查询`dba_hist_wr_control`表,我们可以查看AWR的当前设置,如收集间隔和数据保留时间。默认情况下,AWR可能会每隔一段时间(如1小时)收集一次快照,并保留最近的7天数据。在示例中,配置被修改为每30分钟收集一次,保留10天的数据。生成AWR报告通常使用`/rdbms/admin/awrrpt.sql`脚本。
2. **日志缓冲区(Log Buffer)**: 日志缓冲区用于存储事务的redo信息,影响着系统的写性能。通过查询`show parameter log_buffer`可以查看当前的日志缓冲区大小。对于读写操作频繁的系统,可能需要增大此参数以提升性能,如设置为15-30MB。
3. **SQL_TRACE和10046跟踪事件**: SQL_TRACE是Oracle提供的一种诊断工具,用于跟踪会话的执行情况。开启SQL_TRACE可通过`alter session set sql_trace=true`,关闭则使用`alter session set sql_trace=false`。10046事件提供了更详细的跟踪信息,包括绑定变量、执行计划等。开启10046事件的命令为`alter session set events '10046 trace name context forever, level 12'`。同时,笔记中还介绍了如何针对特定用户进行跟踪,涉及`dbms_system.set_ev`过程。
4. **Tkprof工具**: Tkprof是Oracle提供的一个分析工具,用于解析和格式化由SQL_TRACE或10046事件生成的跟踪文件。通过`tkprof tracefile outputfile [options]`命令,可以将跟踪文件转换为易于分析的格式。在找出跟踪文件时,可以通过查询`v$process`、`v$session`、`v$parameter`和`v$instance`视图来定位。
以上知识点是Oracle开发中的基础和重要组成部分,掌握它们有助于进行性能监控、问题诊断和优化工作。在实际应用中,还需要结合其他工具如ASH(Automatic Shared Memory Management)、ADDM(Automatic Database Diagnostic Monitor)等,以全面理解和优化数据库性能。
2018-01-30 上传
2018-11-14 上传
2008-03-21 上传
2011-06-17 上传
2011-09-04 上传
2009-11-10 上传
2012-04-24 上传
2012-04-07 上传
2019-02-13 上传
yangql8810122
- 粉丝: 0
- 资源: 1
最新资源
- 电子功用-平板电脑防近视装置及方法
- Python
- Nexus2021:NEXUS RND Aarohan2021
- grunt-isomorphic:从你的 js 源代码创建 amd、cjs、es6 和老派模块的 Grunt 插件
- 微信小程序-仿微信
- Firebase演示
- MonumentValley:纪念碑谷 WebGL版
- newton-faq:有关与Apple Newton平台有关的常见问题的社区资源
- marionette.bubble:[未维护] 从底层视图冒泡事件的布局和区域
- matlab-runner
- 电子功用-导电膜及其制备方法、阵列基板
- Natural-Scenery-Prediction-using-CNN:我建立的模型可以帮助我们对不同的自然风光图像进行分类,例如街道,山脉,冰川等。我使用了卷积神经网络来建立该模型并对图像进行分类
- Burger-Site-Bootstrap:我的投资组合的Bootstrap餐厅网站
- battleship-online:pygame和套接字制作的在线战舰游戏
- outdent-command:从 DOM 中删除最近的 BLOCKQUOTE 元素的命令实现
- CIDM_4382_Assignment1