实战:ORACLE SQL性能分析仪的使用


通过水疗中心,您可以根据各种更改类型(如初始化参数更改,优化器统计刷新和数据库升级)播放特定的

SQL或整个SQL负载,然后生成比较报告,帮助您评估它们的影响。



在Oracle数据库11 g之前的版本中,我必须捕获所有SQL语句,通过跟踪运行这些语句,

然后得到执行计划——这是一项极其耗时又极易出错的任务。有了新版本之后,我不需要再那样做了,

我改用非常简单而有效的SQL性能分析器。


- - -使用场景


1。数据库升级

2。实施优化建议

3。更改方案

4。收集统计信息

5。更改数据库参数

6。更改操作系统和硬件




创建表空间测试数据文件' E: \ APP \管理员\ ORADATA \ ORCL \ test01。DBF '

5000

大小autoextend在

下一个100最大容量无限的

程度管理当地autoallocate

部分,空间管理汽车;




create table t1

(

sid int not null,

sname varchar2 (10)

)

表空间测试;






-2. -循环导入数据

声明,,,,maxrecords常数int:=1000000;

,,,,我int:=1;

,,开始

,,,,因为我在1 . .maxrecords循环

,,,,,插入t1值(我ocpyang);

,,,,结束循环;

,,dbms_output。put_line(“成功录入数据!”);

,,提交;

,,结束,,

/



更新t1组sname=八罩莸膕id=500001;


更新t1组sname=澳暇┑膕id=600001;



——3。收集统计信息


exec dbms_stats.gather_table_stats(用户、T1的级联=祝辞真的)



改变系统冲洗shared_pool;


——4。执行查询


select count(*)从t1 sid<=100;



select count(*)从t1 sid<=500;



select count(*)从t1 sid> 50000;



——5。新建STS


开始,DBMS_SQLTUNE.DROP_SQLSET (

,,sqlset_name=比;“OCPYANG_STS”

,,);

,

/


开始,DBMS_SQLTUNE.CREATE_SQLSET (

,,sqlset_name=比;“OCPYANG_STS”,

,,sqlset_owner=比;“SYS”,

,,描述,=比;“ocpyangtest”);

,

/



——6。加载sql优化集


上设置serveroutput DECLARE 

cur01 dbms_sqltune.sqlset_cursor;

BEGIN 

开放cur01从表(dbms_sqltune选择价值(a)。select_cursor_cache

(

basic_filter=比;“sql_text“% t1%”和parsing_schema_name=癝YS”,

attribute_list=比;“所有”

),,

dbms_sqltune。load_sqlset (

sqlset_name=比;“OCPYANG_STS”,

populate_cursor=比;cur01);

关闭cur01;

,,

/


/* * * * * * * * *有两个参数值得特别说明:


1) SELECT_CURSOR_CACHE的第一个参数是basic_filter,它可以取的值有:


,sql_id,,,,,,,,,VARCHAR (13),

,force_matching_signature号码,

,sql_text,,,,,,,,CLOB,

,object_list,,,,,,sql_objects,

,bind_data,,,,,,,,生(2000),

,parsing_schema_name,,VARCHAR2 (30),

,模块,,,,,,,,,VARCHAR2 (48),

,行动,,,,,,,,,VARCHAR2 (32),

,elapsed_time,,,,,,数,

,cpu_time,,,,,,,,数,

,buffer_gets,,,,,,,数字,

,disk_reads,,,,,,,数,

,direct_writes,,,,,,数字,

,rows_processed,,,,,数,

,获取,,,,,,,,,数字,

,死刑,,,,,,,数,

,end_of_fetch_count,,,数,

,optimizer_cost,,,,,数,

,optimizer_env,,,,,,生(1000),

,优先级,,,,,,,,数,

,command_type,,,,,,数,

,first_load_time,,,,,VARCHAR2 (19),

,stat_period,,,,,,,数字,

,active_stat_period,,,数,

,null

实战:ORACLE SQL性能分析仪的使用