Search results for: “cost”

  • 【12c新特性】CBO Optimizer优化器新特性列表

    【12c新特性】CBO Optimizer新隐藏参数,以下Optimizer优化器新特性列表,通过对比 12c R1 和 11gR2的10053 trace中有影响的优化器参数获得:   CLI_internal_cursor PMO_altidx_rebuild _adaptive_window_consolidator_enabled _arch_comp_dbg_scan _array_cdb_view_enabled _bloom_filter_size _bloom_predicate_offload _bloom_rm_filter _bloom_sm_enabled _cell_materialize_all_expressions _cell_materialize_virtual_columns _cell_offload_complex_processing _cell_offload_expressions _cell_offload_sys_context _common_data_view_enabled _dbg_scan _fast_index_maintenance _hashops_prefetch_size _long_varchar_allow_IOT _multi_commit_global_index_maint _oltp_comp_dbg_scan _optimizer_adaptive_plans _optimizer_ads_max_table_count _optimizer_ads_time_limit _optimizer_ads_use_result_cache _optimizer_ansi_join_lateral_enhance _optimizer_ansi_rearchitecture _optimizer_batch_table_access_by_rowid _optimizer_cluster_by_rowid _optimizer_cluster_by_rowid_control _optimizer_cube_join_enabled _optimizer_dsdir_usage_control _optimizer_gather_feedback _optimizer_gather_stats_on_load _optimizer_generate_transitive_pred _optimizer_hybrid_fpwj_enabled _optimizer_multi_table_outerjoin _optimizer_null_accepting_semijoin _optimizer_partial_join_eval _optimizer_performance_feedback _optimizer_proc_rate_level _optimizer_proc_rate_source _optimizer_strans_adaptive_pruning _optimizer_unnest_scalar_sq _optimizer_use_gtt_session_stats _optimizer_use_histograms                        ==>10g已有…

  • Oracle Exadata 存储服务器原理探究

    本文地址: https://www.askmac.cn/archives/oracle-exadata-存储服务器原理探究.html ‎     Exadata Storage Server的机制 Exadata的I/O流程 Exadata的抗故障性 –“Storage”故障时,DB的操作   Exadata的Patch Version –Grid Infrastructure / DB Patch : 11.2.0.3.8 等的5行 第1-4位 :PSR的Version 第5位 :Database Patch for Exadata的Version –Exadata Storage Server Software Patch : 11.2.3.1.1 等的5行 第1,2位 :表示Oracle Database的 “major release number” 例)与Oracle Database 11.2.0.3 的情况的「11.2」相同 第3位 :一般表示Oracle Database的 “component-specific release number”。 例)与Oracle Database 11.2.0.3…

  • Oracle BYPASS_UJVC HINT提示说明

    本文地址:https://www.askmac.cn/archives/bypass_ujvc.html     本资料中设计到的 BYPASS_UJVC 提示是没有在oracle公司的语句件中记载的提示语语句。 不支持使用BYPASS_UJVC提示,或者不能从安全性的角度来使用。 指定BYPASS_UJVC 提示,发生了不太恰当的操作时,也无法执行修正。 使用BYPASS_UJVC提示时,需要参考本资料,将其变更为不使用提示语语句的处理。 为了删除BYPASS_UJVC提示,需要在实际环境中进行充分的验证。   可以更新的结合视图与ORA-1779 [参考] 样本数据   create or replace view sample_v1 as   select empno,ename,d.deptno,dname,loc   from emp e,dept d   where e.deptno = d.deptno (+)   order by 1;     可以更新的结合视图 (Updatable Join View)   更新视图时的注意事项 对于视图的DML操作的限制中,应用如下基准。 视图的定义中使用包含SET或者DISTINCT运算符、GROUP BY语句或者group函数查询时,无法对其视图的实际表插入、更新、或者删除行。 视图的定义中使用了WITH CHECK OPTION,从实际表中无法选择行时,无法通过视图对实际表的行进行插入或者更新。 没有DEFAULT语句的NOT…

  • 【CBO Optimizer优化器】IX_SEL索引选择率

    ix_sel – Index selectivity 索引选择率是Oracle中CBO 基于成本优化器重要的参考指标 ,反应了符合谓词条件 通过索引主导列访问表上数据行的比例。(ix_sel – Index selectivity. Fraction of the table rows accessed by the indexes leading column in order to meet the predicate supplied. (10053)。   注意仅仅leading column即索引的主导列用作计算ix_sel 举一个简单的计算ix_sel的例子: SQL> create index ind_maclean on sh.sales( prod_id,CUST_ID,TIME_ID); Index created. SQL> exec dbms_stats.gather_table_stats(‘SH’,’SALES’,cascade=>true,method_opt=>’FOR ALL COLUMNS SIZE 1′); PL/SQL procedure successfully completed.  …

  • 已经几乎不需要修正应用了! 划时代的SQL调优方法

      https://www.askmac.cn/archives/sqltuning-sql-profile.html ‎   以前的SQL调优 SQL Profile是什么 调优执行顺序 经常被问到的问题 总结   <一般而言SQL的调优流程> 诊断/指定瓶颈 执行合适的调优 检查效果   根据需要进一步调优 ・Automatic Database Diagnostic Monitor(ADDM) ADDM是监视/诊断数据库性能的功能。 发现内存不足以及I/O问题、性能较差的SQL、Real Application Clusters(RAC)相关的问题等等各种问题,给数据库管理者提供建议。 那时,会为数据库管理者提供解决问题所需要进行的操作提出建议,数据库管理者就可以高效解决问题。 ADDM与其他建议相同都可以手动启动来诊断数据库,但一般而言是定期性地自动启动,监视数据库是否有性能问题。 ADDM自动启动的时机是在取得AWR的snapshot时,通过取得了snapshot的MMON进程来自动启动 手动启动ADDM的情况下,可以诊断过去任一时间点的数据库。 ADDM是从两个snapshot中取得数据库的负荷信息,进行诊断。 自动启动的情况下,使用最新取得的snapshot以及1个之前的snapshot,手动启动的情况下,用户可以指定任意两个snapshot。 要使用这个功能的话,需要将STATISTICS_LEVEL 初始化参数设定为TYPICAL(默认)或者ALL。   SQL较慢的时候,首先要寻找原因!   以前的SQL调优 <一般而言SQL的调优流程> 诊断/指定瓶颈 STATSPACK: 与DB整体的统计一起收集SQL统计 EXPLAIN PLAN: 在每个SQL中表示执行计划 SQL TRACE与TKPROF: 收集以session等单位来执行的SQL执行的统计信息,并且 总结结果报告。 SQL*Plus的AUTOTRACE機能: 在每个SQL中表示执行计划以及性能统计   2.执行合适的调优 优化的选择<到Oracle 9i 为止> RBO…

  • 【11g新特性】Cardinality Feedback基数反馈

    Cardinality Feedback基数反馈是版本11.2中引入的关于SQL 性能优化的新特性,该特性主要针对 统计信息陈旧、无直方图或虽然有直方图但仍基数计算不准确的情况, Cardinality基数的计算直接影响到后续的JOIN COST等重要的成本计算评估,造成CBO选择不当的执行计划。以上是Cardinality Feedback特性引入的初衷。     但是每一个Oracle新版本引入的新特性 都被一些老外DBA称之为buggy ,Cardinality Feedback基数反馈多少也造成了一些麻烦,典型的情况是测试语句性能时,第一次的性能最好,之后再运行其性能变差。   我们来看一下 Cardinality Feedback基数反馈是如何作用的: 注意使用普通用户来测试Cardinality Feedback,sys用户被默认禁用该特性     Oracle Database 11g Enterprise Edition Release 11.2.0.3.0 – 64bit Production With the Partitioning, OLAP, Data Mining and Real Application Testing options SQL> conn maclean/oracle 已连接。 SQL> show parameter dynamic NAME TYPE VALUE ———————————— ———————- ——————————…

  • Oracle 当更新表时生成ORA-1410: invalid ROWID

    如果自己搞不定可以找诗檀软件专业ORACLE数据库修复团队成员帮您恢复! 诗檀软件专业数据库修复团队 服务热线 : 13764045638 QQ号:47079569 邮箱:[email protected]     适用于: Oracle Database – Enterprise Edition – 版本7.3.4.0到10.2.0.5 [Release 7.3.4 to 10.2] 本文信息适用于任何平台。 *** 24-Sept-2014检查相关性*** 症状 当尝试更新表时,可能发生以下错误。 示例: update acd_person set CONTACT_MAIL_FLAG=’Y’ where PRS_CD_ID=’292177803′ ERROR at line 1: ORA-01410: invalid ROWID A select will work fine on the table. 实例未崩溃 错误是可重复出现 . 更改 对环境无更改 原因 Rowid是允许直接访问行的一个结构。Rowid包含对象号,数据文件所在位置,块号,块中slot号的信息。…

  • Oracle CBO术语大集合

    最近准备写点Histogram和density相关的文章,先把术语给大家理一理: cardinality (CDN) Legend CBQT – cost-based query transformation JPPD – join predicate push-down OJPPD – old-style (non-cost-based) JPPD FPD – filter push-down PM – predicate move-around CVM – complex view merging SPJ – select-project-join SJC – set join conversion SU – subquery unnesting OBYE – order by elimination OST – old style star transformation…

  • SQL Performance Analyzer SPA常用脚本汇总

    SPA常用脚本汇总 附件为 一个SPA报告 spa_buffergets_summary   SQL 性能分析器 SQL Performance Analyzer SPA Oracle Database 11g 引入了 SQL 性能分析器;使用该工具可以准确地评估更改对组成工作量的 SQL 语句的影响。SQL 性能分析器可帮助预测潜在的更改对 SQL 查询工作量的性能影响。这种功能可向 DBA 提供有关 SQL 语句性能的详细信息,例如,执行前后的统计信息,提高或降低性能的语句。这样一来,您就可以执行诸如以下操作的操作:在测试环境中进行更改,以确定数据库升级是否会改进工作量性能。   11g 的新增功能 目标用户:DBA、QA、应用程序开发人员 帮助预测系统更改对 SQL 工作量响应时间的影响 建立不同版本的 SQL 工作量性能(即 SQL 执行计划和执行统计信息) 以串行方式执行 SQL(不考虑并发性) 分析性能差异 提供对单个 SQL 的细粒度性能分析 与 SQL 优化指导集成在一起以优化回归 SQL 性能分析器:使用情形 SQL 性能分析器可用于预测和防止会影响 SQL 执行计划结构的任何数据库环境更改所带来的潜在性能问题。这些更改可以包括(但不限于)以下任何一种更改: 数据库升级 实施优化建议 更改方案 收集统计信息…

  • 为什么AWR中的DB TIME /DB CPU/ CPU TIME 过大 过小? 不准确?

    这是因为,oracle数据库实例作为一个操作系统用户始终需要使用操作系统提供的函数来给这些时间指标 DB TIME /DB CPU/ CPU TIME 测时, 而我们也说过 “自我观察总是容易出现问题”,例如自己给自己的短跑计时,那么可能总是不太准确。 其次由于不同的操作系统上不同的系统函数的表现不一样也会有区别。 对于CPU TIME 一般使用 getrusage() 函数来计时,该函数的粒度为10,000(10*1000) msec。 对于DB TIME 则会使用gettimeofday() 函数以外部计时的形式来计时。 在AIX 上存在 Bug 13846587  AIX: Unrealistic CPU Time / DB time with 11.2.0.3 for IBM AIX This problem is introduced in 11.2.0.3 on AIX systems by the change from This is an issue where the value of…