- 博客(6)
- 收藏
- 关注
有关nologging和append提高插入效率的研究(一)
那天接到一个事情,我们的数据库表空间已经快用完了,我们需要将一个3GB的表里的数据转储到历史表里去,3天干完。但是我们因为是给运营商服务的,所以白天是绝对不能做这个事情的,只能晚上干,这就要求我们必须尽可能的提高效率。有同事提议使用nologging和append提高效率,但是nologging和append是不是能够提高效率呢。我查询了官方文档,有这么一个描述: Conv...
2011-12-07 22:25:18
511
原创 糊里糊涂的做了很久DBA,才知道安装到最后的两个脚本是干啥的
在linux下安装Oralce的时候,最后会让你以root的身份执行两个脚本,以前都不知道是干什么的,反正就执行了,最近读了一本书,才知道原来是这样: orainstRoot.sh:设置产品目录位置与拥有该目录的操作系统组,并产生/etc/oraInst.loc。 root.sh:用来设置必要的操作系统权限,并将orahome,oraenv,coraenv复制到/...
2011-12-05 22:57:15
229
原创 如何删除掉一个用户下的所有对象
这个存储过程可以一把删掉用户下几乎所有的对象。注释里的东西释放出来就能删除表空间了。这个过程不能回滚,绝对不要在生产环境或者有用的环境上使用。我不对这个过程执行的结果负任何责任。 这个脚本适合在那种删除用户不是很方便的时候使用。 更简单的办法就是删掉用户再重建用户。[code="sql"]create or replace procedure drop_al...
2011-12-04 21:52:18
129
原创 计算索引碎片的一个脚本
今天在网上看到了一个估计索引碎片的方法,所以写了个小过程,对用户下的所有索引进行一次计算,挑选二元高度大于4的或者碎片率大于10%的索引进行输出。 需要说明的是,这种估计索引碎片的方法来自网上,还没有查询官方文档上的相关部分,仅供参考,我不对分析出的结果负责。 我在一些OCP的教材上看到了有关analyze validate的说明,据称可以分析出碎片数,但是现在还没在官方...
2011-12-04 21:50:16
86
原创 索引不可用的情况
有一天我遇到了一个同事的求助,他让我帮忙优化一个SQL,这个SQL执行时间很长。于是我查询了执行计划,发现这个SQL竟然要进行一次全表扫描。当时我查看了表的定义,发现在where子句中的条件列上是建了索引的,那为什么执行计划会显示全表扫描呢。这个问题困扰了我很长时间,于是后来我又看了看表的定义,发现了问题的根本所在,作为条件的字段是varchar,而SQL语句中的条件是一串数字!这样的话...
2011-12-04 21:48:51
133
原创 如何理解oracle实例(instance)和数据库(database)的概念
今天群里有朋友问什么是instance,什么是database。于是群友七嘴八舌的说了很多很理论很理论的东西,这些东西网上很多,如果提问者能看懂的话也就不问我们了。很显然,提问者刚刚接触oracle,这个问题是困扰oracle新丁的一个常见问题。 我举个通俗易懂的例子,虽然不是很恰当,但是对于初学者理解instance和database很有帮助。 我的C:\下放了一个文...
2011-12-04 21:47:50
160
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人