`
职有财
  • 浏览: 6098 次
  • 性别: Icon_minigender_1
最近访客 更多访客>>
社区版块
存档分类
最新评论
文章列表
     那天接到一个事情,我们的数据库表空间已经快用完了,我们需要将一个3GB的表里的数据转储到历史表里去,3天干完。但是我们因为是给运营商服务的,所以白天是绝对不能做这个事情的,只能晚上干,这就要求我们必须尽可能的提高效率。有同事提议使用nologging和append提高效率,但是nologging和append是不是能够提高效率呢。我查询了官方文档,有这么一个描述:      Conventional INSERT is the default in serial mode. In serial mode, direct path can be used only if you in ...
     在linux下安装Oralce的时候,最后会让你以root的身份执行两个脚本,以前都不知道是干什么的,反正就执行了,最近读了一本书,才知道原来是这样:      orainstRoot.sh:设置产品目录位置与拥有该目录的操作系统组,并产生/etc/oraInst.loc。      root.sh:用来设置必要的操作系统权限,并将orahome,oraenv,coraenv复制到/usr/local/bin目录下。生成/etc/oratab,其中存放一些数据库相关信息。      于是OCP考试的题库里就有这样一道题:      这样一来就明晰很多了。      以前不 ...
  这个存储过程可以一把删掉用户下几乎所有的对象。注释里的东西释放出来就能删除表空间了。这个过程不能回滚,绝对不要在生产环境或者有用的环境上使用。我不对这个过程执行的结果负任何责任。       这个脚本适合在那种删除用户不是很方便的时候使用。       更简单的办法就是删掉用户再重建用户。 create or replace procedure drop_all as cursor cur_obj is select uo.OBJECT_NAME, uo.OBJECT_TYPE from user_objects uo where uo.OBJE ...
      今天在网上看到了一个估计索引碎片的方法,所以写了个小过程,对用户下的所有索引进行一次计算,挑选二元高度大于4的或者碎片率大于10%的索引进行输出。 需要说明的是,这种估计索引碎片的方法来自网上,还没有查询官方文档上的相关部分,仅供参考,我不对分析出的结果负责。       我在一些OCP的教材上看到了有关analyze validate的说明,据称可以分析出碎片数,但是现在还没在官方文档上找到确切的证据,希望知道的人给我讲一下,以下是我从官方文档上找到的一些关于analyze validate的说明:        For an index, Oracle Database ver ...
     有一天我遇到了一个同事的求助,他让我帮忙优化一个SQL,这个SQL执行时间很长。于是我查询了执行计划,发现这个SQL竟然要进行一次全表扫描。当时我查看了表的定义,发现在where子句中的条件列上是建了索引的,那为什么执行计划会显示全表扫描呢。这个问题困扰了我很长时间,于是后来我又看了看表的定义,发现了问题的根本所在,作为条件的字段是varchar,而SQL语句中的条件是一串数字!这样的话就会造成索引不可用,处理方法也很简单,加上一对单引号就可以了。      下面是语句和执行计划(这里做了简单化处理,只需要注意全表扫描就可以): 1 select * from TEST t where ...
    今天群里有朋友问什么是instance,什么是database。于是群友七嘴八舌的说了很多很理论很理论的东西,这些东西网上很多,如果提问者能看懂的话也就不问我们了。很显然,提问者刚刚接触oracle,这个问题是困扰oracle新丁的一个常见问题。     我举个通俗易懂的例子,虽然不是很恰当,但是对于初学者理解instance和database很有帮助。     我的C:\下放了一个文本文件:example.txt,这是个实际存在的物理文件,现在打开进程管理器,进程管理器中看不到什么和这儿文件有关系的进程。但是当我双击这个文本文件以后,进程管理器中就会出现notepad.exe。我可以通 ...
Global site tag (gtag.js) - Google Analytics