oracal数据库中表jd_jl_blatoconv中的数据我用delete from jd_jl_blatoconv t删除,显示正在执行,里面有1万4千条数据,但是过了7分钟还是在执行,取消之后再查数据还在,根据网上说的我又用purge table jd_jl_blatoconv,系统说没在回收站;又用drop table jd_jl_blatoconv purge,系统说‘ORA-00054:资源正忙,但指定以NOWAIT方式获取资源’,我已经重启机了,问题还在,请问高手如何应对?? 

解决方案 »

  1.   

    有人在对表中数据做修改,你是不能直接删除的.确保没有人做操作的时候再删除.
    或者重启电脑,以restrict方式启动,删除后再取消restrict限制.
    Typically, all users with the CREATE SESSION system privilege can connect to an open database. Opening a database in restricted mode allows database access only to users with both the CREATE SESSION and RESTRICTED SESSION system privilege. Only database administrators should have the RESTRICTED SESSION system privilege. Further, when the instance is in restricted mode, a database administrator cannot access the instance remotely through an Oracle Net listener, but can only access the instance locally from the machine that the instance is running on.The following command starts an instance (and mounts and opens the database) in restricted mode:STARTUP RESTRICTYou can use the RESTRICT clause in combination with the MOUNT, NOMOUNT, and OPEN clauses.Later, use the ALTER SYSTEM statement to disable the RESTRICTED SESSION feature:ALTER SYSTEM DISABLE RESTRICTED SESSION;
      

  2.   

    是重启oracle.使用restrict方式启动,用sys删除数据,然后再ALTER SYSTEM DISABLE RESTRICTED SESSION;取消限制
      

  3.   

    restrict方式启动,在哪?我新手!我用的10.2g版本
      

  4.   

    进入cmd窗口,然后执行
    sqlplus / as sysdba
    shutdown abort
    startup restrict
      

  5.   

    我不太明白你写的命令都是啥...我打开cmd, 敲sqlplus ,他让我输入用户名和密码,我要通过别人的数据库执行,所以我输入了他的用户名和密码,他说连接到:Oracal.....一推英文,貌似连接成功的意思,之后SQL>  
    从这我该写啥??
    或者说我前面哪错了?
      

  6.   

    你需要将数据库重启,然后启动的时候以restrict方式启动.
      

  7.   

    那应该怎么输入呢?SQL>这个出现之前,我输的有问题吗?那SQL>这之后  我应该怎么输?
    SQL>sqlplus / as sysdba shutdown abort startup restrict这样??应该不是吧...
      

  8.   

    但是过了7分钟还是在执行,取消之后再查数据还在。对于的当前操作的这个事务而言,你的整个事务是没有提交的。在数据库的里你此时是采取了事务的abort操作,事务将回滚到你操作前的记录,所以你的数据没有变化。后面的都是扯谈,不是一码事
      

  9.   

    你直接使用truncate table jd_jl_blatoconv 试下,这个效果可能比较好,因为DDL操作是不记录redo日志的。
      

  10.   

    如果确定要清空数据的话,不妨直接使用truncate table jd_jl_blatoconv
    速度要快很多
      

  11.   

    有人在更改的时候delete,truncate都是不成的.跟ddl不ddl没关系的.