自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 SQL Profile 总结(四)--使用示例

使用sql profile稳定SQL执行计划的使用示例

2014-09-18 16:09:02 6208

转载 SQL Profile 总结(三)

继续转载老熊的博客,地址:

2014-09-18 16:05:51 2142

转载 SQL Profile 总结(二)

紧接SQL Profile 总结(一),转自老熊的博客(sql profile的总结,老熊博客中,如下地址:

2014-09-18 16:01:29 1745

原创 数据库监控体系建设(一)

这篇文章先总结一下数据库监控体系建设那些事儿,下一篇文章描述具体的详细部署过程

2014-07-09 10:08:10 5203

原创 Oracle 重建表(rename)注意事项总结

前一段时间,有一个DBA朋友在完成重建表(rename)工作后,第二天早上业务无法正常运行,出现数据无法插入的限制和错误,后来分析才发现,错误的原因是使用rename方式重建表以后,其它引用这个表的外键约束指向没有重新定义到这个重建的新表中,从而导致这些表在插入新数据时,违反数据完整性约束,导致数据无法正常插入。影响了业务大概有1个多小时,真是一次血淋淋的教训啊。使用rename方式重建表是我们日常DBA维护工作中经常使用的一种方法,因为CTAS+rename这种配合方式,非常实用和高效。很多DBA朋友应

2014-07-02 11:00:12 10720

原创 Oracle ErrorStack 使用和阅读详解

在Oracle数据库运行过程中,我们经常会遇到这样或那样的错误,但是错误的提示并不具体,加大了我们在诊断问题时的难度。ErrorStack是Oracle提供的一种对于错误堆栈进行跟踪的方法,通过设置跟踪可以将一些指定错误的后台信息详细的转储出来,写入跟踪文件,帮助我们诊断问题。备注:1、当oracle发生关键的错误诸如:ora-600,Errorstack是自动被oracle dump写入trace文件中。2、当你在alert.log里面看见这类错误,并提示已经产生trace文件。打开对应的trac

2014-07-01 13:22:42 6643 1

原创 enq: TX - row lock contention故障处理一则

一个很简单的问题,之所以让我对这个问题进行总结,一是因为没我想象的简单,在处理的过程中遇到了一些磕磕碰碰,甚至绕了一些弯路,二是引发了我对故障处理时的一些思考。

2014-06-20 14:18:54 7922

原创 Oracle dmp文件损坏恢复案例

前一段时间帮一个朋友的朋友恢复了一个损坏的dmp文件,大概100多个G,记录一下恢复过程并简单总结一下

2014-06-17 11:39:16 5445 2

原创 Oracle SQL执行计划基线总结(SQL Plan Baseline)

Oracle 11g开始,提供了一种新的固定执行计划的方法,即SQL plan baseline,中文名SQL执行计划基线(简称基线),可以认为是OUTLINE(大纲)或者SQL PROFILE的改进版本,基本上它的主要作用可以归纳为如下两个:1、稳定给定SQL语句的执行计划,防止执行环境或对象统计信息等等因子的改变对SQL语句的执行计划产生影响!2、减少数据库中出现SQL语句性能退化的概率,理论上不允许一条语句切换到一个比已经执行过的执行计划慢很多的新的执行计划上!注意:1、从Oracle的发展角

2014-06-13 09:36:38 10554 2

原创 Oracle Outline总结

Oracle Outline,中文也称为存储大纲,是最早的基于提示来控制SQL执行计划的机制,也是9i以及之前版本唯一可以用来稳定和控制SQL执行计划的工具。outline是一个hints(提示)的集合,更具体的讲,outline可以锁定一个给定SQL的执行计划,保持其执行计划稳定,不管数据库环境如何变更(如统计信息,部分参数等)注意:

2014-06-12 11:36:33 3564

原创 SQL Profile 总结(一)

在介绍SQL Profile之前,不得不说的一个工具就是SQL Tuning Advisor;这个工具是从Oracle 10g开始引入,它的任务就是分析一个指定的SQL语句,并建议如何使用一些方法来提高指定语句的性能,例如:收集缺失的对象统计信息、或者收集过时的对象统计信息、创建新的索引、调整SQL语句结构、采用SQL Profile等等方式。

2014-06-10 14:02:42 6427 1

原创 optimizer_index_caching和optimizer_index_cost_adj两个参数说明

一、optimizer_index_cost_adj参数优化器计算通过索引扫描访问表数据的cost开销,可以通过这个参数进行调整。参数可用值的范围为1到10000。默认值为100,超过100后越大则越会使索引扫描的COST开销越高(计算的),从而导致查询优化器更加倾向于使用全表扫描。相反,值越小于100,计算出来的索引扫描的开销就越低。

2014-06-09 14:39:57 3668

原创 RHEL5 X86-64上安装Oracle 11gR2示例与总结

进入Oracle DBA行业也有好几年了,但是说到安装Oracle的经验,我还真不是特别多,印象中刚开始每次安装都有点磕磕碰碰,随着接触Oracle的时间越来越长,各方面的原理、机制也都有一定的了解后,现在安装Oracle已经很少会遇到问题了。基本上我把自己安装Oracle的方式可以归为下面三个阶段

2014-05-28 14:47:42 1152 1

原创 Oracle手工生成段建议(Segment Advisor)

从oracle 10g开始,oracle引入了段顾问(Segment Advisor),用于检查数据库中是否有与存储空间相关的建议,并且从10gR2开始,oracle自动调度并运行一个段顾问作业,定时分析数据库中的段,并将分析结果放在内部表中。但是很多情况下,作为DBA,我们都会将oracle自带的各种调度作业(统计信息收集、段顾问、SQL顾问等等)禁用,进而通过手工进行控制执行类似作业(或者为了节省资源)。因此很多情况下,我们都没有用到段顾问这个非常实用的功能。这篇文章就是讲述在表对象和表空间级别通过手工

2014-05-19 09:19:25 2398 1

原创 oracle回滚机制深入研究

这篇文章主要描述oracle的回滚机制,篇幅可能较长,因为对于oracle的回滚机制来说,要讨论和描述的实在太多,只能刷选自己认为最有意义的一部分进行深入研究和分享

2014-05-14 10:43:24 3677 2

原创 ORA-01555错误总结(二)

这篇文章紧接着上一篇“ORA-01555错误总结(一)”,主要描述延迟块清除导致的ORA-01555错误。下面是一些简单介绍(上一遍已经介绍过)ORA-01555错误是一种在oracle数据库中非常常见的错误,甚至也可以说是一个非常经典的错误,只是由于oracle的发展越来越自动化(UNDO自动管理+加强),这个错误已经越来越少见,可能很多使用10g的DBA都没有遇到过这个错误。这

2014-05-13 09:29:01 1879 1

原创 ORA-01555错误总结(一)

这篇文章算是undo相关问题总结的补充,因为ORA-01555错误与undo有着直接的关系。ORA-01555错误是一种在oracle数据库中非常常见的错误,甚至也可以说是一个非常经典的错误,只是由于oracle的发展越来越自动化(UNDO自动管理+加强),这个错误已经越来越少见,可能很多使用10g的DBA都没有遇到过这个错误。这个错误在9i之前的版本(UNDO手工管理)出现的最多

2014-05-12 16:27:28 1169

原创 数据库开发规范

1.背景应用系统数据库方面设计水平的高低直接关系到应用系统运行的稳定、高效性,为保证数据库方面的设计质量和效率,必须建立标准、完备的开发规范。本规范从数据库维护技术角度及数据库设计规范性要求出发,给出了应用开发过程中数据库设计工作的具体要求。备注:a)   本规范主要指导应用系统数据库方面的设计,在项目上线后作为数据库维护交接验收的标准。b)   本规范是应用系统数据库设计方面的通

2014-05-10 10:29:53 4409

原创 UNDO相关问题总结(六)

本次主题也是undo相关问题的最后一篇,也可以归纳为数据库的非常规恢复,主要描述的数据库出现ORA-600 [4xxx]错误的处理方案。问题描述ORA-600 [4xxx] 错误基本都与回滚段相关,下面简单描述几种(仅供参考)ORA-600 [4000] [a] : 这个错误表示oracle尝试撤销数据字典表(数据字典表ITL中存在未提交事务),而根据ITL

2014-05-09 10:44:54 1465

原创 UNDO相关问题总结(五)

这次主题介绍undo数据文件丢失的处理示例(2),紧接着上一篇,不过较上篇处理过程更加复杂,步骤也要更多。模拟环境os: linux x86-64db: oracle 11gr2mode: archivelog模拟过程1、用户发起事务(insert),未提交2、shutdown abort 数据库3、模拟undo数据文件丢失4、数据库mount状态下

2014-05-06 13:24:57 1610

原创 UNDO相关问题总结(四)

这次主题介绍undo数据文件丢失的处理示例(1),这次示例的处理方法简单,下一篇介绍更加复杂的处理示例。模拟环境os: linux x86-64db: oracle 11gr2mode: archivelog模拟过程1、用户发起事务(insert),未提交2、shutdown abort 数据库3、模拟undo数据文件

2014-05-06 13:16:23 2076

原创 UNDO相关问题总结(三)

过完5.1假期回来后,发现关于undo相关问题中还有一个常见问题没有涉及和总结,那就是enq: US – contention,本次主题简单描述一下enq: US – contention这类问题问题描述This event indicates the session is currently waiting on the Undo Segments ,即该等待表示会话进行的事

2014-05-04 11:03:57 2165

原创 UNDO相关问题总结(二)

这一次的主题总结单个session占用大量undo,导致数据库性能急剧下降的问题。关于“undo表空间不足的问题”详见我上一篇总结。注意:这类问题一般只发生在OLTP系统中,并发量少的业务系统中极少发生。问题现象数据库表现为“latch: undo global data”或者“wait for a undo record”等其它undo相关的等待事件CPU资源急剧上升

2014-04-29 13:27:23 1859

原创 undo基础内容

关于undo的基础知识,建议参考oracle官方文档中的Administrator's Guide中的undo部分一、什么是undo(引用官方文档)Every Oracle Database must have a method of maintaining information that is used to roll back, or undo, changes to the

2014-04-28 11:50:42 750

原创 自我简介

进入oracle dba圈子已有4年,感慨一下时间,

2014-04-28 11:46:37 623

原创 UNDO相关问题总结(一)

第一个主题介绍undo表空间不足问题:1.通过下面语句查询当前实例undo空间的使用情况(active、unexpired类型段的占比)select b.tablespace_name,       nvl(used_undo,0) "USED_UNDO(M)",       total_undo "Total_undo(M)",       trunc(nvl(used_

2014-04-28 11:34:51 2858

原创 oracle 联机日志文件损坏的几种场景和恢复方法

oracle 日志文件记录数据库运行过程中发生d

2014-04-25 16:39:24 2180

空空如也

空空如也

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

TA关注的人

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