oracle update操作的优化一例
客户的每小时redolog日志量大,配合AWR和LOGMINER检查发现是由一条update语句引起。这条语句大概每小时执行80次左右,不仅产生了大量的重做日志,而且逻辑读也很高。 语句类似update tb_test_log set object_id=1 where owner='SYS',是对表tb_test_log按一定的频率,把满...
insert into 优化测试
1.测试准备 ----从1分15秒优化到31秒 ----create public database link dblinknameconnect to username identified by passwd using 'tnsname'; ----select count(1) fromuser_tables@dl_11g2; ----SQL> set timing on ----SQL> create table t_zhong ...
dblink连接优化
分布式查询可能一条SQL语句中有不同远程库的表,优化分布式查询要达到3点效果: 1.访问同一个远程库的次数要尽量少,也就是同一远程库的对象应该尽量转为一条SQL运算,一次运算,运算后将结果返回给本地库 2.从远程库上返回到本地库的结果要尽量少,只访问远程对象需要的字段 3....
监控索引使用次数及使用时间
我们都知道索引监控,但是索引监控只能知道监控的索引是否被使用,并不能得到索引使用率。其实我们可以利用执行计划来得到索引使用率,只是,如果语句使用了绑定变量,执行了语句多次,都的的确确使用了索引,但是因为执行计划是一致的,且一直放在库缓存中,因此统计的索引使用次数为1...
找出未创建索引的外键
1.环境准备sys@ORCL>create table p(x int primarykey);sys@ORCL>create table c(x references p); 2.利用脚本查找为创建索引的外键set linesize 999 SELECT table_name, constraint_name, cname1 &n...
AWR报告指标解析——reference Maclean_liu
1.什么是AWR1> 生成单实例AWR报告:@?/rdbms/admin/awrrpt.sql2> 生成Oracle RAC AWR报告:@?/rdbms/admin/awrgrpt.sql3> 生成RAC 环境中特定数据库实例的 AWR 报告:@?/rdbms/admin/awrrpti.sql4> 生成OracleRAC环境中多个数据库实例的AWR报告的方法:@?/rdbms/admin/awrgrpti.sql5> 生成SQL语句的...
使用SQL Plan Baselines影响已加入hints的SQL执行计划
reference DBA手记2 1.SQL Plan Baseline(执行计划基线)概论 &n...
SQL Profile介绍
1.概念 SQLProfile是10g中的新特性,作为自动SQL调整过程的一部分,由Oracle企业管理器来管理。除了OEM,SQL Profile可以通过DBMS_SQLTUNE包来进行管理。 查询优化器有时候会因为缺乏足够的信息,而对一条SQL语句做出错误的估计,生成糟糕的执行计划。而自动SQL...
SQL Plan Baseline执行计划基线总结
1.SQL Plan Baseline(执行计划基线)概论 如果应用程序中强行加了hints(提示),可以使用SQLProfile来稳定执行计划,除了使用SQL Profile方式,还可以使用SQL Plan Baseline(执行计划基线),该特性从11g开始支持,同时取代了10g之前的stored outline功能,因为stored outline(存储...
使用SQL Profiles影响已经加入hints的SQL执行计划
1.创建测试表,并收集统计信息sys@ORCL>create table big_table asselect rownum as id,t.* from all_objects t;Table created.sys@ORCL>create index idx_big_table_idon big_table(id);Index created.sys@ORCL>execdbms_stats.gather_table_stats(user,'big_table')PL/SQL proced...
使用SQL Tuning Advisor(STA)优化SQL语句
在Oracle10g之前,优化SQL是个比较费力的技术活,不停的分析执行计划,加hint,分析统计信息等等。在Oracle10g中推出了自己的SQL优化辅助工具: SQL优化器(SQL Tuning Advisor :STA),它是新的DBMS_SQLTUNE包。一定要保证你的优化器是CBO模式。...
授权普通用户autotrace
做测试时,用普通用户查看ORACLE执行计划时发现普通用户没有autotrace权限,报错如下:SQL> setautotrace traceSP2-0618: Cannot find the SessionIdentifier. Check PLUSTRACE role isenabledSP2-0611: Error enabling STATISTICS report缺少plustrace权限,记录一下处理过程。 ...
oracle10053事件
1.什么是10053事件10053事件是oracle提供的用于跟踪sql语句成本计算的内部事件,它能记载CBO模式下oracle优化器如何计算sql成本,生成相应的执行计划。 如何设置10053事件设置本session的10053:开启:alter session set events ’10053 trace namecontext forever,level {1/2}’;关...
执行计划的cardinality基数(rows)评估
执行计划的cardinality基数(rows)评估: 执行计划的cardinality列(基数)是说从数据表结果集或者索引返回多少行数据。基数=表行数据*选择率。所以讲基数重点是讲选择率,选择率的计算! Cardinal...
10046跟踪事件
1.什么是10046事件 10046是一个oracle的内部事件(event),是用来进行sql跟踪的强有力工具,可以跟踪解析过程,执行计划, 绑定变量,递归调用等 2.1046事件等级等级 二进制 ...