Oracle 10g
上个星期六做Housekeeping,想删除掉一些数据让系统快一点。
几个公司用同一个database,我只是用一个user的schema.
两个session,一个A从一组表里创建一个新表,再把表导出成一个txt文件
另外一个B创建表,从一个12million行数据按条件选出约1-2million行数据,一个一个创建5个这样的表
到第5个表的时候User Space只剩下700多M,这时原来login进去的Object Browser自动退出,据说大概在这个时间,系统也发生了一个错误,不知道是由于我的这个原因还是别的原因。等这个第5个表创建好的时候,user table space回到1点几个G。
接下来,在B session里我要从这个12million行数据的表里(表有大约30个列,8个unique index )删除数据,删除2.6million条数据的时候,一直跑了2个多小时没完成,于是关掉sqlplusw.现在开始发现好象另外一个session A里的速度也变慢了。
接下来想换成创建表的方法,把要的数据弄到新表里,再把原来的表truncate掉,但是速度似乎变得比以前慢一倍多,时间不够,于是放弃这个方法。再回到删除一些数据的办法,这次准备删除480,000条数据,结果跑了近3个小时,还是没有完成,没有时间了,只得又关掉sqlplusw.
今天大家都开始用系统了,发现其慢,所有的公司都觉得慢,创建一个简单的只有一行数据的表,要40秒钟,正常情况下不到1秒就完成的。于是试图reset database instance之类的,结果开始一下,还好的,结果用的用户多了,就又开始慢起来了。请大家帮我看一下,是不是因为我星期6删除的时候关掉sqlplusw造成的原因呢,还是别的原因?
要真是我的原因,那我真是要郁闷死了。

解决方案 »

  1.   

    删除2million的数据。
    我已经disconnect了这个delete的session了的。
    当时的undo好像多用了1G多,但是现在好像已经回来了的。
      

  2.   

    怎么清除回收站?
    我用的是IBM AIX (UNIX)
      

  3.   

    it seems that when the created table reached 10, the system begin to be very slow. 
      

  4.   

    8个 ui 有点可怖。
    如果确信没有逻辑问题,可以先禁用这些UI,等完成之后再逐个启用。
    至少从这个方面来看,是可以节约不少时间的。
      

  5.   

    看看是不是锁没有释放? DELETE没有提交或者回滚
      

  6.   

    i don't have system account. 
    how to check the system log?
    how to check delete commit or not?
      

  7.   

    今天IBM终于重启了下那个数据库的Server,回复正常了。