oracle中有一个表空间:demo 对应的数据文件为 E:\oracleDataFiles\demo\demo01.dbf
在管理员账号下
执行如下删除表空间的语句后,可以删除表空间
drop tablespace demo including contents cascade constraints;
删除表空间后再在 E:\oracleDataFiles\demo 下手工删除demo01.dbf就OK了,
可是我执行删除表空间的语句时忘了加上cascade constraints,只是执行了drop tablespace demo including contents;
删除成功后,再在 E:\oracleDataFiles\demo下手工删除demo01.d时,操作系统报错意思是某个用户正在使用该文件。
请高人指点,该怎么解决这个问题????

解决方案 »

  1.   

    1、先用以下语句查出有哪些用户使用这个表空间
    select username from dba_users where default_tablespace = 'demo';
    2、再去除他们的default tablespace 
      

  2.   

    你是window系统的话,可能有这个问题,停掉服务,在删除drop tablespace也可以写成drop tablespace tsname including contents and datafiles;
    ================================================================================================
    如果你需要我们的帮助或想和我一起学习的请联系我们. 联系方式QQ:370140387
    QQ群: 85837884(注明:数据库)
    电子邮件:[email protected] 
    [email protected]
    网站: http://www.inthirties.com 需要ERP和Oracle服务,找深圳Inthirties. 
      

  3.   

    select这步有些多余,tablespace已经删除了,如果还有用户的tablespace在这个上面的话,tablespace是删除不掉的。如果有使用offline的模式的话,那也不存在这个顾虑。
      

  4.   

    WINDOWS会锁定数据文件,如果表空间被删除,oracle重启之后就可以手动删除了。
    推荐使用:
    drop tablespace demo including contents and datafiles;来删除表空间,数据文件会自动删除。
      

  5.   

    主要是including contents and datafiles