ORACLE 通过SPM为SQL语句加HINT
一个SQL,通过SPM固定它的执行计划,可以通过DBMS_SPM.LOAD_PLANS_FROM_CURSOR_CACHE实现。也可以通地此功能在不修改原SQL的情况下对其加HINT来固定执行计划。DB VERSION:ORACLE 11.2.0.4OS:CENTOS 6.6例如:原SQL走索引:SELECT * FROM SCOTT.TB_SPM WHERE OBJECT_ID=10;想通过加HINT让其走全表扫描:SELECT /*+...
Oracle 物化视图快速刷新对性能的影响
一个表上存在物化视图日志和基于物化视图日志快速刷新的物化视图,如果对这个表进行DML操作,则Redolog产生量将翻数倍,并且执行时间加长,影响并发操作。下面主要通过在Redolog产生量和执行时间上做对比:DB Version:12.1.0.2.0OS:CentOS 6.6[oracle@ct6603 ~]$ sqlplus system/systemSQL*Plus: Release 12.1.0.2....
oracle update操作的优化一例
客户的每小时redolog日志量大,配合AWR和LOGMINER检查发现是由一条update语句引起。这条语句大概每小时执行80次左右,不仅产生了大量的重做日志,而且逻辑读也很高。 语句类似update tb_test_log set object_id=1 where owner='SYS',是对表tb_test_log按一定的频率,把满...
Oracle文档转载 博客
http://blog.itpub.net/31393455/
通过STANDBY数据库实现读写分离时索引过多的问题
ORACLE 11G的物理STANDBY数据库可以只读打开并实时应用,可以满足很多应用更改为读写分离的架构。但业务上将主库主要做DML操作,备库上做SELECT操作,可能存在的一个问题就是,备库上的SELECT可能需要大量的索引,而这些索引在主库上实际是没有意义的,并且还影响主库DML操作的性能和日志量。但物...
ORACLE SQL过滤条件是IS NULL or !=的优化
通常情况下is null或者!=这些条件如果不是具有很强的过滤性,可以先关注其它的过滤条件。但有些SQL这两种条件具有很强的过滤性,就可以考虑用以下方法。下面先讨论is null的优化,再讨论!=的优化,最后讨论is null or !=一起使用的优化。以下测试:oracle version:11.2.0.4#新建测试表create table scott.tb_s...
普通索引转HASH分区索引报ORA-01408
ORA-01408:such column list already indexed问题的原因是当新建一个索引时,索引对应的字段和字段顺序和已经存在的索引相同。 最近一个需求,是将主键索引转成HASH分区的主键索引,需要新建一个索引,然后将现有的主键索引去掉。如果直接新建...
oracle dataguard 备库参数db_file_name_convert/db_create_file_dest注意事项
在dataguard的配置中,db_file_name_convert/log_file_name_convert是比较常用的参数。如果备库中参数db_create_file_dest未设置,则数据文件路径转换是由参数db_file_name_convert决定。但如果参数db_file_name_convert和db_create_file_dest都设置时,要注意:测试环境:oracle version:11.2.0...
oracle实用sql(11)--收集一周各时段的load profile
工作中需要对近一周每小时的db time,db cpu,logical read,physical read,transactions等信息做成EXCEL图表的形式,如果这些数据从awr报告中一个一个产生来收集就有些浪费时间了.可以通过以下查询,直接获取数据库各实例中按默认快照间隔的load profile,然后将查询...
oracle本地分区索引跨分区对成本的影响
分区索引分为本地索引和全局索引,但对于在分区表上建索引,一般用的比较多的还是普通索引和本地分区索引,而全局分区索引相对用的比较少.以下测试为验证:分区表上的本地分区索引因为查询条件引起跨分区,是否改为普通索引更合适.以下测试:oracle version:11.2.0.4建测试表:drop table SCOTT.TB_TEST01;create table SC...
oracle实用sql(10)--用statspack收集备库性能数据
从oracle 10g开始,statspack报告已经被dbms_workload_repository中的awr报告取代.随着oracle 11g的ative dataguard越来越多的被当作读库使用,对于adg的监控和分析,awr就无能为力了.因为备库上基于awr报告的dba_hist_*视图对应的底层表实际上是主库同步过来的,如果产生报告,则产生的是主库的报告.虽然可以产生对于adg的ash...
oracle实用sql(9)--批量生成一天的ash报告或awr报告
工作中可能需要某一天各个时间段的ash报告或awr报告,手动一个一个生成太费力了.利用dbms_workload_repository包再配合sqlplus的spool可以使这件事情简单一些.以下示例:一.批量生成一天的ash报告1.生成查询语句#此处是按照15分钟的间隔时间,生成前一天所有的ash报告 的查询语句select'spool ash_'||db_unique_...
oracle分区表在线重定义字段not null问题
oracle通过DBMS_REDEFINITION进行在线重定义表,是基于物化视图的方式将数据同步到新结构的中间表中,然后通过改名实现。其中DBMS_REDEFINITION.COPY_TABLE_DEPENDENTS存储过程实现将相关依赖信息也复制到中间表,但如果源表中有not null这种约束,就要注意。以下测试:环境:os:centos 6.6db:11.2.0.4--建测试表...
oracle实用sql(8)--segment show space
点击(此处)折叠或打开declare --输入段信息 p_owner varchar2(255):='SCOTT'; p_seg_name varchar2(255):='T_TEST01'; p_type varchar2(255):='TABLE'; p_partit...
oracle实用sql(7)--单个会话或会话间statistics对比
点击(此处)折叠或打开--初始化建表declare v_count number;begin select count(1) into v_count from dba_tables where owner='SCOTT' and table_name='T_STAT_TEMP'; if v_count=1 the...
oracle实用sql(6)--tablespace/datafile resize
点击(此处)折叠或打开 --tablespace size select a.tablespace_name,???????round(a.bytes_alloc / 1024 / 1024 /1024,2) Size_G,???????round(nvl(b.bytes_free, 0) / 102...
oracle实用sql(5)--session相关信息
点击(此处)折叠或打开--SessionsSELECT round(bitand(s.ownerid, 65535)) parent_session_sid, round(bitand(s.ownerid,16711680)/65536) parent_session_instid, rawtohex(SADDR) as saddr,s.SID, s.SERIAL#, s.AUDSID, rawtohex(PADDR) as paddr,s.USER#, s.USERNAME, s.COMM...
oracle实用sql(4)--undo advisor
点击(此处)折叠或打开DECLARE v_tbs_name varchar2(30); v_tbs_size number; v_auto_extend boolean; v_undo_retention number; v_retention_guarantee boolean;...
oracle实用sql(3)--sql tuning advisor
点击(此处)折叠或打开--以下是sql tuning advisor调优sql常用脚本,通过coe_xfr_sql_profile调优参见:http://blog.itpub.net/28539951/viewspace-1603192/--os:centos 6.6--db:11.2.0.4--建测试表create tabl...
oracle实用sql(2)--segment advisor
segment advisor可以帮助分析表或索引的碎片,行链接问题.通过对问题表或索引收缩,移动或重建后减少存储空间提高查询速度.点击(此处)折叠或打开--os:centos 6.6--db:oracle 11.2.0.4--建测试表create table scott.t_test01 as select *...