用DROP TABLESPACE MIS INCLUDING CONTENTS AND DATAFILES CASCADE CONSTRAINTS 表空间删除了,怎么数据文件有时删不了;
并且我在批处理命令里,也写了del MIS.DBF,但没有用,还是删除不了.报"另一个进程正在使用此文件".
由于我要完全delete tablespace , 然后imp xxxxxxx full=y,而且是每天定时的!
OS:WINDOWS server2003
ORACLE:10G

解决方案 »

  1.   

    建议楼主查查哪个进程使用该文件,如果
    DROP TABLESPACE MIS INCLUDING CONTENTS AND DATAFILES CASCADE CONSTRAINTS
    都删不了,那一定是有某个oracle之外的进程正使用该文件
    找到该进程,查明原因再处理
      

  2.   

    看看你的drop tablespace的信息的结果有没有成功。 如果成功的话,是不会有这个问题的
      

  3.   

    这是我的原文件,请高人斧正:
    echo on
    cd e:\101
    echo "starting imp......................" %date% %time%   >>  e:\101\hello\2009.log
    //删除表空间的语句
    sqlplus system/tiger@ora  @deleteSql.sql   >>  e:\101\hello\2009.log
    cd e:\oracleData//删除数据文件,担心一次删除不了,所有删除两次.
    del MIS.DBF /f /a 
    ping /n 30 127.0.0.1
    del MIS.DBF /f /a cd e:\101
    //创建表空间的语句
    sqlplus system/tiger@125ora   @createSql.sql   >>  e:\101\hello\2009.log
    //导入数据
    imp system/tiger@125oracle  buffer=40960000 full=y file=ABC.DMP log=e:\101\hello\2009oracle.log  ignore=y
    echo "ended imp......................" %date% %time%   >>  e:\101\hello\2009.log
      

  4.   

    这是我的原文件,请高人斧正:
    echo on
    cd e:\101
    echo "starting imp......................" %date% %time%   >>  e:\101\hello\2009.log
    //删除表空间的语句
    sqlplus system/tiger@ora  @deleteSql.sql   >>  e:\101\hello\2009.log
    cd e:\oracleData//删除数据文件,担心一次删除不了,所有删除两次.
    del MIS.DBF /f /a 
    ping /n 30 127.0.0.1
    del MIS.DBF /f /a cd e:\101
    //创建表空间的语句
    sqlplus system/tiger@ora  @createSql.sql   >>  e:\101\hello\2009.log
    //导入数据
    imp system/tiger@ora  buffer=40960000 full=y file=ABC.DMP log=e:\101\hello\2009oracle.log  ignore=y
    echo "ended imp......................" %date% %time%   >>  e:\101\hello\2009.log
      

  5.   

    你的del的时候,有没有错误信息,
      

  6.   

    del MIS.DBF /f /a 
    ping /n 30 127.0.0.1 
    del MIS.DBF /f /a 你这里应该有一条是错误信息的。
      

  7.   

    del MIS.DBF /f /a 我没有往日志里写,所有未捕获到错误信息.请问怎么才能捕获del的错误信息?
      

  8.   

    问题解决了,我采用鼠标录制的功能.
    del MIS.DBF /f /a 这句无法删除掉MIS.DBF 的时候,那么自动运行鼠标录制脚本,调用强制删除软件unlocker,把MIS.DBF 删除.