拓扑园

  • O&M
    • Universal部署
    • PHP+VUE+Laravel相关
  • Oracle性能优化
  • Oracle项目案例
    • Oracle近期项目案例(目录)
    • Oracle实战问题解析(目录)
    • Oracle数据库名变更流程(2种方式)
    • Oracle数据库目录更换流程(使用Oracle的clone工具)
    • Oracle数据库迁移方案(目录)
    • 标准化文档系列
  • Oracle基础知识
    • LLL的Oracle培训(分类)
    • LLL的docker培训(分类)
    • 标准化文档系列--(分类)
    • Oracle核心经典分析(分类)
    • 图灵小队----(分类并包含以下文章)
    • --MySQL8.0/Oracle/Memcached/Redis等安装配置于RHEL/OL6/7/8.X系列-运行环境最优配置
    • --PG安装配置于RHEL/9X系列-运行环境最优配置
    • --自动维护任务详解-开启、关闭信息统计收集(统计信息)
    • --图灵小队—Oracle/PostgreSQL下创建一个用户测试表(自行定义数据行)
    • --图灵小队-Oracle存储过程导出表的明细_UTL_FILE(文章)
    • --图灵小队-Oracle数据库删除/卸载操作指南(文章)
    • --图灵小队-Oracle常用性能查询SQL语句(文章)
    • --图灵小队-Oracle数据库上线前检查(文章)
    • --图灵小队-Oracle常用SQL语句(文章)
    • --图灵小队—Linux/Oracle脚本/MySQL合集(持续更新)
    • --图灵小队-Oracle技巧记录(文章)
    • ADG
    • RAC
    • ASM
    • OGG
    • RMAN
    • EXPDP/IMPDP
    • 工厂数据导入导出系列
  • MySQL
    • MySQL数据库规范
    • MySQL项目案例
    • MySQL安装配置
    • MYSQL集群项目
    • MySQL常见处理
    • MySQL-Sysbench专题
    • MySQL-Percona Toolkit专题
  • Linux
    • Shell编程
    • kubernetes
    • docker
    • Linux
    • PHP
    • Nginx
    • haproxy
    • mail
    • 网站
    • 域名
    • 网址收藏
  • 数据中心
    • 新框架系统集合
    • 工作文档
    • EBS数据文件扩容
    • VMware虚拟化
    • EBS系列
    • 大数据
    • SVN
    • zabbix
    • SAP
    • 备份相关
    • FC交换机
    • SVN
  • K-Studing
    • D8-Python学习
    • Oracle/MySQl等面试题
    • LG-MySQL
    • LG-Docker/K8S
    • LG-PostgreSQL
    • LG-ORACLE_BBED
    • LG-ORACLE
    • LG-Elasticsearch(ES)+ELK
    • Oracle-19C-OCP
    • WERN_ORACLE培训
    • redis数据库
    • Nginx培训学习系列
  • 其他
    • 外研英语4年级下册-听力
    • 影视系列
    • 如何使用iTunes软件通过抓包下载旧版本的ios的app
天高任鸟飞
Oracle/MySQL数据库恢复/数据迁移/生产规范报告技术交流:TEL:18562510581(微信同号);加微信入群
  1. 首页
  2. Oracle项目案例
  3. Oracle实战问题解析
  4. 正文

第5个案例—青包—SQL AWR的execute to parse值低

2023年4月18日 585点热度 0人点赞 0条评论

目录

  • 一、问题现象:
    • 1、现象描述
    • 2、查看根据描述,基本断定和统计信息收集优化有关。查看日志。
    • 3、同时查看此期间的AWR日志
  • 二、解决问题
    • 1、调整ash大小
      • (1)查看当前(默认1m)
      • (2)建议为128M,一般我们设置128*1.5=192m
    • 2、调整更改硬解析模式
    • 3、更改tunning运行事件(一般默认是20分钟)
      • (1)查看默认时长20分钟(1200秒)
      • (2)调整为2小时(7200秒)
      • (3)查看是否已经完成

一、问题现象:

1、现象描述

有10分钟左右的时间报工不显示生产单元。还特别容易退,具体时间是周末的6点,工作日的11点40左右

2、查看根据描述,基本断定和统计信息收集优化有关。查看日志。

Sun Apr 16 06:00:00 2023
Setting Resource Manager plan SCHEDULER[0x32DF]:DEFAULT_MAINTENANCE_PLAN via scheduler window
Setting Resource Manager plan DEFAULT_MAINTENANCE_PLAN via parameter
Sun Apr 16 06:00:00 2023
Starting background process VKRM
Sun Apr 16 06:00:00 2023
VKRM started with pid=120, OS id=290809 
Sun Apr 16 06:00:01 2023
Begin automatic SQL Tuning Advisor run for special tuning task "SYS_AUTO_SQL_TUNING_TASK"
......
Sun Apr 16 14:19:07 2023
DBMS_STATS: GATHER_STATS_JOB encountered errors. Check the trace file.
Errors in file /oracle/app/oracle/diag/rdbms/mesorcl/mesorcl/trace/mesorcl_j000_12304.trc:
ORA-04021: timeout occurred while waiting to lock object
Mon Apr 17 11:49:34 2023
Active Session History (ASH) performed an emergency flush. 
This may mean that ASH is undersized. 
If emergency flushes are a recurring issue, you may consider increasing ASH size by setting the value of _ASH_SIZE to a sufficiently large value. 
Currently, ASH size is 134217728 bytes. Both ASH size and the total number of emergency flushes since instance startup can be monitored by running the following query:
select total_size,awr_flush_emergency_count from v$ash_info; 
Mon Apr 17 11:52:43 2023

3、同时查看此期间的AWR日志

发现存在pin的锁争夺。

二、解决问题

1、调整ash大小

(1)查看当前(默认1m)

select
x.ksppinm name,
y.ksppstvl value,
y.ksppstdf isdefault,
decode(bitand(y.ksppstvf,7),1,'MODIFIED',4,'SYSTEM_MOD','FALSE') ismod,
decode(bitand(y.ksppstvf,2),2,'TRUE','FALSE') isadj
from
sys.x$ksppi x,
sys.x$ksppcv y
where
x.inst_id = userenv('Instance') and
y.inst_id = userenv('Instance') and
x.indx = y.indx and
x.ksppinm ='_ash_size'
order by
translate(x.ksppinm, ' _', ' ');

(2)建议为128M,一般我们设置128*1.5=192m

SQL>alter system set "_ash_size"=201326592;

2、调整更改硬解析模式

alter system set cursor_sharing=force scope=both;

绑定变量和常量都可以进行软解析。

3、更改tunning运行事件(一般默认是20分钟)

(1)查看默认时长20分钟(1200秒)

select parameter_name, parameter_value
from dba_advisor_parameters
where task_name = ‘sys_auto_sql_tuning_task’
and parameter_name = ‘local_time_limit’;

(2)调整为2小时(7200秒)

begin
dbms_sqltune.set_tuning_task_parameter(‘sys_auto_sql_tuning_task’, ‘local_time_limit’, 7200);
end;
/

(3)查看是否已经完成

status是状态。可以查看开始运行时间和结束时间。

 select * from dba_advisor_tasks where task_name = 'SYS_AUTO_SQL_TUNING_TASK';
本作品采用 知识共享署名 4.0 国际许可协议 进行许可
标签: 暂无
最后更新:2023年9月16日

admin

这个人很懒,什么都没留下

打赏 点赞
< 上一篇
下一篇 >

COPYRIGHT © 2022 拓扑园. ALL RIGHTS RESERVED.

Theme Kratos Made By Seaton Jiang

鲁ICP备2021020523号

鲁ICP备2021020523号