自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(22)
  • 收藏
  • 关注

原创 Oracle优化器

Oracle优化器的作用就是为查询语句选择更有效的返回结果的路径。优化器分为两种:RBO和CBO。即分别是基于规则的和基于成本的优化器。本文的主要目的介绍CBO是如何计算成本的以及其算法的缺陷。从而理解为什么看似已经非常完善的CBO,在统计信息准确的情况下,也会发生选错执行计划的现象。RBO顾名思义,基于规则的优化器,在选择语句的执行路径时,是基于一系列带有优先级的规则来做决定。使用R

2016-06-06 12:35:08 6440

原创 批量生成awr报告

输入起止时间批量生成awr报告set echo off;set veri off;set feedback off;set serverout on;set heading off;set linesize 1500;SET AUTOPRINT OFF;variable

2016-06-06 12:21:36 403

原创 Oracle查询转换

概述Oracle查询转换器的作用是把原始sql重写为语义相同的语句,目的是为了获得更高效的sql。查询转换主要有四种技术:子查询展开,视图合并,谓词推入,星型转换。了解查询转换是掌握SQL优化的基础,本文将对这四种技术做一些简单的介绍。子查询展开子查询展开是指优化器不再把子查询作为独立的单元处理,而是转换成等价的join方式。转换有两种方式:一是将子查询的结果集作为视图

2016-02-18 21:16:58 460

原创 hint不生效怎么找原因

给客户调优,使用pre_push,希望发生谓词推入,但不生效。 去查看sql的10053 trace时,看到客户将优化器版本设置为10.2.0.4. 在自己机器的11.2.0.4版本数据库测试时,hint是生效的;设置成10.2.0.4以后确实不生效。 那怎么找到触发这种改变的罪魁祸首呢: 首先,修改优化器版本后,查看会话值与实例值不同的隐含参数: 这些值发生的变化,肯定是修改优化器版本造

2017-01-05 14:59:21 1123

原创 ASM磁盘状态为forcing

结论:如果一个diskgroup有一个failgroup offline,超出disk_repair_time定义的时间后,asm会对该failgroup做drop操作。如果drop之后剩余的failgroup少于冗余策略的最低要求(normal为2,high为3)或者剩余空间不足以满足冗余的空间需求,也就是rebalance无法正常进行,就会出现forcing状态的磁盘。

2016-12-05 15:05:35 3090

原创 数据块损坏修复数据相关工具

DBV全称DBVERIFY,用来检测数据文件数据块的逻辑损坏。用法: dbv file=xxx blocksize=8192 dbv检测数据块的头部和尾部,如果第一次发现两者不匹配,会再读取一次;如果匹配了,那么就报出这个数据块是influx,如果第二次校验还是不匹配,那么就认为这个块是corrupted。之所以重复检查,是在某些请况下,比如dbw0进程在写入一个新版本的块,而dbv这时候读取了

2016-08-25 17:30:15 1453

翻译 redo结构

Block Changes数据块从当前物理的一致状态变换到下一个物理一致状态,这个原子性操作成为Block Change。 Block Change包括数据写入,指针变化和计数器更新。 一致状态意味着指针和计数器共同正确描述了数据块的内容。Block Version当数据块发生变化时,会把当前redo产生的scn写入块头,由于一个scn中可能会产生多个change,还会在块头存入一个序列号。当在

2016-08-24 16:28:23 628

原创 硬件及OS知识培训List

服务器基本概念服务器厚度单位pc服务器概念服务器各种接口识别常见服务器品牌和型号,稳定性和流行度比较CPU主频,外频,倍频,前端总线频率缓存常见CPU型号及型号含义物理CPU,逻辑CPU,超线程概念top命令,load的含义,何时需要关注内存DDR含义内存频率的含义内存条损坏,松动的现象及解决方法。内存使用率,确认内存使用率高的进程,free,top,ps和topas命

2016-07-26 13:38:17 451

原创 CBO相关原理--统计信息

CBO相关原理–统计信息Oracle优化器Oracle优化器的作用就是为查询语句选择更有效的返回结果的路径。优化器分为两种:RBO和CBO。即分别是基于规则的和基于成本的优化器。 顾名思义,基于规则的优化器,在选择语句的执行路径时,是基于一系列带有优先级的规则来做决定。使用RBO时,许多新特性将不可用,比如hint。这也导致了使用了RBO之后人工难以参与到查询优化中。RBO在10g仍然可用,但是不

2016-07-20 17:29:34 844

原创 从rman全备恢复数据库的步骤

1.1 恢复spfile 根据rman备份的log确认dbid以及spfile在哪个备份中set dbid=2494162093RMAN> startup nomountRMAN> restore spfile from /home/oracle/rman11204/RAC_20160311_11_1_dbfull;生成pfile,修改sga,pga,audit_trail,instance_

2016-06-13 10:00:37 1316

原创 rman全备份恢复缺少归档解决方法

在一次给客户做测试的工作中,需要迁移5T的数据。商讨的方案是使用rman备份恢复到目标端。 晚上开始执行备份脚本,坑爹的客户没有把每天删除归档的crontab停掉,导致第二天一早备份完成时没有归档的备份。我开始恢复时也没有认真查看rman的log, 一直做到recover阶段时,才发现没有归档。 解决的方法是在所有数据文件头的scn号中取最小值: select min(checkpoint_

2016-06-13 09:53:14 3717 2

原创 全备脚本

#!/bin/bashexport ORACLE_SID=SID1export ORACLE_BASE=/opt/oracleexport ORACLE_HOME=$ORACLE_BASE/products/11.2.0export PATH=$PATH:$ORACLE_HOME/bin:$ORACLE_HOME/oracm/bin:$ORACLE_HOME/OPa

2016-06-12 15:55:50 267

原创 长sql通过比较执行计划快速定位问题

下面的sql,2000多条数据,3分钟出结果。不加workshop_id秒出结果。比较两者的执行计划,发现慢sql对MTL_ORGANIZATIONS做了merge,通过修改CUX_INV_ITEM_REQ_SOURCE_V的定义,加hint:no_merge(mo)禁止视图合并解决问题。SELECT COUNT(1) FROM CUX_INV_ITEM_REQ_SOURCE_V TWHERE T

2016-06-12 11:33:41 559

翻译 收集扩展统计信息

参数依次是用户名,表明,列名SQL> SELECT DBMS_STATS.CREATE_EXTENDED_STATS(USER, 'OPT_ACCT_FDIM', '(BUS_UNIT_SKID, ACCT_SKID)') FROM DUAL;DBMS_STATS.CREATE_EXTENDED_STATS(USER,'OPT_ACCT_FDIM','(BU

2016-06-12 11:26:07 810

转载 MegaCli常用命令

根据enclosure id和slot number定位盘(亮灯):megcli -PdLocate -physdrv[encl_dev_id:encl_slot] -a -NoLog 准备: 新版本的 MegaCli-1.01.24-0.i386.rpm (下载地址:http://www.lsi.com/downloads/Public/MegaRAID%20Co

2016-06-12 11:23:06 1896

原创 使用calibrate包测试oracle吞吐和iops

查询有多少物理盘:select group_number, name, total_mb, free_mb, total_mb-free_mb used_mb from v$asm_disk_stat;执行calibrate io包:set timing onset serveroutput ondeclare       v_max_iops BINARY_I

2016-06-06 12:30:32 715

原创 rowid切片,模拟oracle并行

create or replace procedure para_update(v_jno in number) as  v_rec job_info%rowtype;begin  update JOB_INFO set START_TIM=sysdate where jobno=v_jno;  COMMIT;  select * into v_rec from job_inf

2016-06-06 12:25:54 1013

原创 查看数据库所有参数脚本

--File name : param.sql--Purpose : View the description, session value and instance value of an explicit/implicit parameterset pagesize 9999 linesize 300col Parameter for a50 col

2016-06-06 12:25:04 434

原创 获取执行计划对象信息

先用explain解释sql执行计划,然后执行下面的脚本获取执行计划里相关对象的信息----File name : execplan_stat.sql----Purpose : view table stats in a plan_tablecol object_owner for a10col object_owner for a10col object_

2016-06-06 12:22:38 330

原创 归档爆满处理

oracle用户rman target / CONFIGURE ARCHIVELOG DELETION POLICY TO APPLIED ON STANDBY;run{backup archivelog all format '/home/oracle/rmanbak/arch_%d_%T_%s_%p' delete input;}

2016-06-06 12:20:46 313

原创 dbwr调优

dbwr:1、db_io_slaves 设置为大于0的数;2、fast_start_mttr_target设置为较小的数(0表示oracle自动调整);3、_high_priority_processes      string    LMS*|VKTM|LGWR|DBW*

2016-06-06 12:19:27 931

原创 ASM磁盘容量改变的故障处理

今天在做产品升级,由于软件需要,将原来JBOD的磁盘因此做成了RAID0。RAC节点正常识别了这些磁盘。然而在asm磁盘组中要把这些盘online上来时报了下面这个错误:初步一看,我以为磁盘在另一个节点没有load,才会报“磁盘不是集群范围可见”的错误;但检查了/dev下的路径之后,可以确认这些盘都正常加载了。下一步,只能去asm的alert日志看看是否有更具体

2016-06-06 12:18:27 1079 1

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除