oracle update excuting,Oracle数据库遇到性能问题处理方法

项目:

某**Boss项目

问题:

查询报表慢无法验收

分析及处理方法:

1:通过awr发现pga命中率很低

PGA Cache Hit %

W/A MB Processed

Extra W/A MB Read/Written

74.97

108,656

36,272

解决过程:

查看系统总内存为32G,SGA为22G,PGA只有2G

更改数据内存:

alter system set sga_max_size=18G  scope=spfile;

alter system set sga_target=18G scope=spfile;

alter system set pga_aggregate_target=8G  scope=spfile;

2:通过trace 发现Bug 9772888 (查询报表慢,应该跟它没关,但是发现了问题,顺便解决)WARNING:Could not lower the asynch I/O limit to 160

for SQL direct I/O. It is set to -1

解决过程:

(1):下载patch 9772888

(2):解压补丁:进入9772888目录 执行$ORACLE_HOME/OPatch/opatch apply

$ORACLE_HOME/OPatch/opatch lsinventory detail (查看命令)

3:在应用端查询报表,通过jboss后台抓取相应sql或使用sql语句抓取后台sql,查看执行计划,发现执行计划没有什么异常。再通过 中的优化工具找出等价最优sql语句,之后让开发更新程序。

4:再通过Oracle本身自带的SQL Tuning Advisor 自动优化一下相应sql

具体步骤:

(1):进入Boss系统应用用户

DECLARE

task_name VARCHAR2(200);

my_sqltext CLOB;

user_name VARCHAR2(30);

sql_text VARCHAR2(5000);

description VARCHAR2(200);

my_task_name VARCHAR2(200);

BEGIN

my_sqltext :='sql语句';

my_task_name := DBMS_SQLTUNE.CREATE_TUNING_TASK(

sql_text => my_sqltext,

user_name => 'SMS3',

scope => 'COMPREHENSIVE',

time_limit => 600,

task_name => 'test_sql_tuning_task1',

description => 'Task to tune a query');

DBMS_SQLTUNE.EXECUTE_TUNING_TASK(task_name => 'test_sql_tuning_task1');

END;

/

(2):通过select task_name,ADVISOR_NAME,STATUS from user_advisor_tasks; 查看是否执行完成,如果status是EXECUTING,则表示任务正在执行,如果为completed,则任务已执行完成。

(3):查看语句优化建议

set long 999999

set LONGCHUNKSIZE 999999

set serveroutput on size 999999

set linesize 200

select dbms_sqltune.report_tuning_task('test_sql_tuning_task1') from dual;

DBMS_SQLTUNE.REPORT_TUNING_TASK('TEST_SQL_TUNING_TASK1')

(4):根据建议,优化语句。

(5):删除任务

exec dbms_sqltune.drop_tuning_task('TEST_SQL_TUNING_TASK1');

5:将优化后的sql提供给开发,打完补丁,更新到Boss应用系统后,查询时间从之前的15-20分钟,提高到1分钟以下。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值