【发布时间】:2014-09-09 14:29:05
【问题描述】:
我有一个 Derby 数据库,它给了我一个只读错误。数据库工作正常,直到上周磁盘空间不足:
Caused by: java.io.IOException: No space left on device
at java.io.RandomAccessFile.writeBytes0(Native Method)
at java.io.RandomAccessFile.writeBytes(RandomAccessFile.java:520)
at java.io.RandomAccessFile.write(RandomAccessFile.java:550)
at org.apache.derby.impl.store.raw.log.LogAccessFile.writeToLog(Unknown Source)
at org.apache.derby.impl.store.raw.log.LogAccessFile.flushDirtyBuffers(Unknown Source)
... 23 more
我清理了磁盘并且有 80% 的磁盘被释放用于 derby。但德比仍处于只读模式:
java.sql.SQLException: An SQL data change is not permitted for a read-only connection, user or database.
org.apache.derby.impl.jdbc.EmbedSQLException: An SQL data change is not permitted for a read-only connection, user or database.
org.apache.derby.iapi.error.StandardException: An SQL data change is not permitted for a read-only connection, user or database.
我发现那里有一个 db.lck 文件(文件大小为 0),我可以删除那个文件吗?有没有其他方法可以改变它的读/写模式? 谢谢!
【问题讨论】: