Confluence Operations Fail Due to ORA-01536 or ORA-01653
症状
A page cannot be saved with Confluence throwing this error message in the UI, for example:
An error occurred while trying to save the requested page.
Operations that require database update may fail with the following exception in the log:
Caused by: java.sql.SQLException: ORA-01536: space quota exceeded for Tablespace 'CONFLUENCE_PROD'
at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:439)
at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:395)
at oracle.jdbc.driver.T4C8Oall.processError(T4C8Oall.java:802)
at oracle.jdbc.driver.T4CTTIfun.receive(T4CTTIfun.java:436)
at oracle.jdbc.driver.T4CTTIfun.doRPC(T4CTTIfun.java:186)
at oracle.jdbc.driver.T4C8Oall.doOALL(T4C8Oall.java:521)
at oracle.jdbc.driver.T4CPreparedStatement.doOall8(T4CPreparedStatement.java:205)
at oracle.jdbc.driver.T4CPreparedStatement.executeForRows(T4CPreparedStatement.java:1008)
at oracle.jdbc.driver.OracleStatement.doExecuteWithTimeout(OracleStatement.java:1307)
at oracle.jdbc.driver.OraclePreparedStatement.executeInternal(OraclePreparedStatement.java:3449)
at oracle.jdbc.driver.OraclePreparedStatement.executeUpdate(OraclePreparedStatement.java:3530)
at oracle.jdbc.driver.OraclePreparedStatementWrapper.executeUpdate(OraclePreparedStatementWrapper.java:1350)
at com.mchange.v2.c3p0.impl.NewProxyPreparedStatement.executeUpdate(NewProxyPreparedStatement.java:105)
at net.sf.hibernate.impl.NonBatchingBatcher.addToBatch(NonBatchingBatcher.java:22)
at net.sf.hibernate.persister.EntityPersister.insert(EntityPersister.java:462)
または
2010-08-19 18:56:19,826 ERROR [http-8843-3] [atlassian.confluence.user.ConfluenceLoginInterceptor] afterLogin
Can not retrieve the user ('zyap') to set the Last-Login-Date for!
org.springframework.jdbc.UncategorizedSQLException: Hibernate operation: could not insert:
[bucket.user.propertyset.BucketPropertySetItem#bucket.user.propertyset.BucketPropertySetItem@c23f8426];
uncategorized SQLException for SQL []; SQL state [72000]; error code [1653]; ORA-01653: unable to extend table
CONFLUENCE.OS_PROPERTYENTRY by 128 in tablespace CONFLUENCE
; nested exception is java.sql.SQLException: ORA-01653: unable to extend table CONFLUENCE.OS_PROPERTYENTRY by 128 in tablespace CONFLUENCE
Caused by: java.sql.SQLException: ORA-01653: unable to extend table CONFLUENCE.OS_PROPERTYENTRY by 128 in tablespace CONFLUENCE
at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:112)
at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:331)
at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:288)
...
原因
There is a problem with the Oracle tablespace in used. Refer to the exception code for more details.
ORA-01536
The space quota for the segment owner in the tablespace has been exceeded and the operation attempted the creation of a new segment extent in the tablespace. Refer to this page for more information.
ORA-01653
The database failed to allocate an extent of the required number of blocks for a table segment in the tablespace indicated. Refer to this page for more information.
ソリューション
データベースの変更を行う場合は必ず事前にバックアップを取得してください。可能な場合は、まずステージング サーバーで SQL コマンドの変更、挿入、更新、または削除を行うようにします。
ORA-01536
Either drop unnecessary objects in the tablespace to reclaim space or have a privileged user increase the quota on this tablespace for the segment owner.
ORA-01653
Use ALTER TABLESPACE ADD DATAFILE
statement to add one or more files to the tablespace indicated.