Oracle错误ORA-19502:在文件上写入错误

时间:2014-07-03 16:55:25

标签: oracle

我正在使用以下代码在oracle中创建一个表空间:

Create BIGFILE tablespace SPC_X
    Datafile 'SPC_X.dbf'
      size 200M
      AUTOEXTEND ON NEXT 50M 
  ONLINE;

到目前为止,我已经创建了几个表空间,没有任何问题。今天我创建了5个表空间(500 M)并将它们全部丢弃。现在我在执行代码之后面临这个错误,如上所述:

SQL-Error: ORA-19502: write error on file " SPC_X.dbf", block number 11136 (block size=8192)
ORA-27072: File I/O error
Additional information: 4
Additional information: 11136
Additional information: 708608
19502. 00000 -  "write error on file \"%s\", blockno %s (blocksize=%s)"
*Cause:    write error on output file
*Action:   check the file

以下信息可能会有所帮助:

  • 到目前为止已成功执行。
  • 我的数据库是SA。
  • 我有足够的地方
  • 尺寸应至少为200 M
  • 我用Google搜索超过1.5小时,没有成功:(

有人可以帮我解决这个问题吗?谢谢:))

-

update1:​​可能是我用掉放旧表格的drop语句不完整吗?

 DROP TABLESPACE SPC_A 
   INCLUDING CONTENTS 
      CASCADE CONSTRAINTS; 

-

update2:我尝试过这段代码但没有成功:

ALTER DATABASE DATAFILE 'SPC_A' OFFLINE DROP;

此代码无法解决,因为表空间已被删除

ALTER TABLESPACE example DROP DATAFILE 'SPC_A';

1 个答案:

答案 0 :(得分:1)

通常使用

删除表空间
drop tablespace x including contents and datafiles;

这可以防止需要使用OS命令从文件系统中删除数据文件,并且比使用OS命令删除不需要的文件更加安全,因为手动,输入错误比修复更容易。

在您的情况下,首先清理操作系统中的文件。我假设你得到的错误是当你尝试使用相同的数据文件[s]重新创建表空间时。