- 博客(27)
- 收藏
- 关注
转载 SQL Profile 总结(二)
紧接SQL Profile 总结(一),转自老熊的博客(sql profile的总结,老熊博客中,如下地址:
2014-09-18 16:01:29 1788
原创 Oracle 重建表(rename)注意事项总结
前一段时间,有一个DBA朋友在完成重建表(rename)工作后,第二天早上业务无法正常运行,出现数据无法插入的限制和错误,后来分析才发现,错误的原因是使用rename方式重建表以后,其它引用这个表的外键约束指向没有重新定义到这个重建的新表中,从而导致这些表在插入新数据时,违反数据完整性约束,导致数据无法正常插入。影响了业务大概有1个多小时,真是一次血淋淋的教训啊。使用rename方式重建表是我们日常DBA维护工作中经常使用的一种方法,因为CTAS+rename这种配合方式,非常实用和高效。很多DBA朋友应
2014-07-02 11:00:12 10970
原创 Oracle ErrorStack 使用和阅读详解
在Oracle数据库运行过程中,我们经常会遇到这样或那样的错误,但是错误的提示并不具体,加大了我们在诊断问题时的难度。ErrorStack是Oracle提供的一种对于错误堆栈进行跟踪的方法,通过设置跟踪可以将一些指定错误的后台信息详细的转储出来,写入跟踪文件,帮助我们诊断问题。备注:1、当oracle发生关键的错误诸如:ora-600,Errorstack是自动被oracle dump写入trace文件中。2、当你在alert.log里面看见这类错误,并提示已经产生trace文件。打开对应的trac
2014-07-01 13:22:42 6854 1
原创 enq: TX - row lock contention故障处理一则
一个很简单的问题,之所以让我对这个问题进行总结,一是因为没我想象的简单,在处理的过程中遇到了一些磕磕碰碰,甚至绕了一些弯路,二是引发了我对故障处理时的一些思考。
2014-06-20 14:18:54 7979
原创 Oracle dmp文件损坏恢复案例
前一段时间帮一个朋友的朋友恢复了一个损坏的dmp文件,大概100多个G,记录一下恢复过程并简单总结一下
2014-06-17 11:39:16 5582 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 10825 2
原创 Oracle Outline总结
Oracle Outline,中文也称为存储大纲,是最早的基于提示来控制SQL执行计划的机制,也是9i以及之前版本唯一可以用来稳定和控制SQL执行计划的工具。outline是一个hints(提示)的集合,更具体的讲,outline可以锁定一个给定SQL的执行计划,保持其执行计划稳定,不管数据库环境如何变更(如统计信息,部分参数等)注意:
2014-06-12 11:36:33 3639
原创 SQL Profile 总结(一)
在介绍SQL Profile之前,不得不说的一个工具就是SQL Tuning Advisor;这个工具是从Oracle 10g开始引入,它的任务就是分析一个指定的SQL语句,并建议如何使用一些方法来提高指定语句的性能,例如:收集缺失的对象统计信息、或者收集过时的对象统计信息、创建新的索引、调整SQL语句结构、采用SQL Profile等等方式。
2014-06-10 14:02:42 6497 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 3747
原创 RHEL5 X86-64上安装Oracle 11gR2示例与总结
进入Oracle DBA行业也有好几年了,但是说到安装Oracle的经验,我还真不是特别多,印象中刚开始每次安装都有点磕磕碰碰,随着接触Oracle的时间越来越长,各方面的原理、机制也都有一定的了解后,现在安装Oracle已经很少会遇到问题了。基本上我把自己安装Oracle的方式可以归为下面三个阶段
2014-05-28 14:47:42 1177 1
原创 Oracle手工生成段建议(Segment Advisor)
从oracle 10g开始,oracle引入了段顾问(Segment Advisor),用于检查数据库中是否有与存储空间相关的建议,并且从10gR2开始,oracle自动调度并运行一个段顾问作业,定时分析数据库中的段,并将分析结果放在内部表中。但是很多情况下,作为DBA,我们都会将oracle自带的各种调度作业(统计信息收集、段顾问、SQL顾问等等)禁用,进而通过手工进行控制执行类似作业(或者为了节省资源)。因此很多情况下,我们都没有用到段顾问这个非常实用的功能。这篇文章就是讲述在表对象和表空间级别通过手工
2014-05-19 09:19:25 2467 1
原创 oracle回滚机制深入研究
这篇文章主要描述oracle的回滚机制,篇幅可能较长,因为对于oracle的回滚机制来说,要讨论和描述的实在太多,只能刷选自己认为最有意义的一部分进行深入研究和分享
2014-05-14 10:43:24 3782 2
原创 ORA-01555错误总结(二)
这篇文章紧接着上一篇“ORA-01555错误总结(一)”,主要描述延迟块清除导致的ORA-01555错误。下面是一些简单介绍(上一遍已经介绍过)ORA-01555错误是一种在oracle数据库中非常常见的错误,甚至也可以说是一个非常经典的错误,只是由于oracle的发展越来越自动化(UNDO自动管理+加强),这个错误已经越来越少见,可能很多使用10g的DBA都没有遇到过这个错误。这
2014-05-13 09:29:01 1927 1
原创 ORA-01555错误总结(一)
这篇文章算是undo相关问题总结的补充,因为ORA-01555错误与undo有着直接的关系。ORA-01555错误是一种在oracle数据库中非常常见的错误,甚至也可以说是一个非常经典的错误,只是由于oracle的发展越来越自动化(UNDO自动管理+加强),这个错误已经越来越少见,可能很多使用10g的DBA都没有遇到过这个错误。这个错误在9i之前的版本(UNDO手工管理)出现的最多
2014-05-12 16:27:28 1219
原创 数据库开发规范
1.背景应用系统数据库方面设计水平的高低直接关系到应用系统运行的稳定、高效性,为保证数据库方面的设计质量和效率,必须建立标准、完备的开发规范。本规范从数据库维护技术角度及数据库设计规范性要求出发,给出了应用开发过程中数据库设计工作的具体要求。备注:a) 本规范主要指导应用系统数据库方面的设计,在项目上线后作为数据库维护交接验收的标准。b) 本规范是应用系统数据库设计方面的通
2014-05-10 10:29:53 4460
原创 UNDO相关问题总结(六)
本次主题也是undo相关问题的最后一篇,也可以归纳为数据库的非常规恢复,主要描述的数据库出现ORA-600 [4xxx]错误的处理方案。问题描述ORA-600 [4xxx] 错误基本都与回滚段相关,下面简单描述几种(仅供参考)ORA-600 [4000] [a] : 这个错误表示oracle尝试撤销数据字典表(数据字典表ITL中存在未提交事务),而根据ITL
2014-05-09 10:44:54 1531
原创 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 1635
原创 UNDO相关问题总结(四)
这次主题介绍undo数据文件丢失的处理示例(1),这次示例的处理方法简单,下一篇介绍更加复杂的处理示例。模拟环境os: linux x86-64db: oracle 11gr2mode: archivelog模拟过程1、用户发起事务(insert),未提交2、shutdown abort 数据库3、模拟undo数据文件
2014-05-06 13:16:23 2116
原创 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 2266
原创 UNDO相关问题总结(二)
这一次的主题总结单个session占用大量undo,导致数据库性能急剧下降的问题。关于“undo表空间不足的问题”详见我上一篇总结。注意:这类问题一般只发生在OLTP系统中,并发量少的业务系统中极少发生。问题现象数据库表现为“latch: undo global data”或者“wait for a undo record”等其它undo相关的等待事件CPU资源急剧上升
2014-04-29 13:27:23 1904
原创 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 774
原创 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 2961
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人