是这张表里的数据太多了吧,看看有没有被锁住
drop table s_rep_361 purge

解决方案 »

  1.   


    1)可能表的数据量太大,事务单位稠密,可一段时间commit,减小事务单位
    2)或者,如果表不要了,直接truncate掉吧
    3)再或者,通过重命名的方式:
      create table temp as select * from 表 where 不想删的数据;
      rename 表 to 其它;
      rename temp to 表;
      通过重命名的方法快点
    4)又或者,可以建个分区,把数据flush进去,把整个分区干掉
    5).....好了不说了
      

  2.   

    现在这个表不要了,数据也不多,当初建表时就加了1000+ 行数据,现在全部delete了,表空了 ,就是drop不掉,  truncate 也不行    
      

  3.   

    truncate 是删除数据,dorp才能删掉表
    弱弱问一下,你有没有删除标的权限?
      

  4.   

    可能是别的会话在这个表上进行了更新,又没有commit吧。
    show parameter DDL_LOCK_TIMEOUT
    看看这个参数。
      

  5.   

    权限肯定有,一直都正常的 , show parameter DDL_LOCK_TIMEOUT  这个我怎么执行不了啊 
      

  6.   

    到sqlplus里面执行。
    或者
     select value from v$parameter where name='ddl_lock_timeout';
    可能需要DBA权限。
      

  7.   

    DDL_LOCK_TIMEOUT    这个参数  是不是oracle 11G 才有的啊   我们公司用的是 9i
      

  8.   


    这个查询结果是 no rows selected
      

  9.   

    select b.owner,b.object_name,a.session_id,a.locked_mode
    from v$locked_object a,dba_objects b
     where b.object_id = a.object_id;执行查询,想看是不是表被锁了,查询的结果也是空的
      

  10.   

    如果数据都删除光了,还是无法drop掉table,那就太奇怪了。
      

  11.   

    我这里也碰到了,无法drop ,truncate,rename  ,在PLSQL中执行,也不报错
     Release 10.2.0.4.0   
    ddl_wait_for_locks                   boolean     FALSE
      

  12.   

    这可能是因为是表被锁住了,你要drop表一直等待的话
    可能其他还有事物在进行中,还没有提交事物。
    你可以提交一下delete或者其他的事物看看。
      

  13.   

    兄弟,有没有结论了呢?有没有报错信息,退出ORACLE服务,然后再进入直接执行drop呢?
      

  14.   

    如果允许,你可以尝试着把 ORACLE 的服务重启一下。可能是其他会的锁还没被释放。